nlp_xiaojiang

中文NLP一站式工具箱,开箱即用搞定相似度、NER和数据增强

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 387 🐛 待处理 2 👀 关注 40
GitHub ↗
GitHub 星标 ★ 1533
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

nlp_xiaojiang 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队yongzhuo
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型bert,chatbot,chinese,data-augmentation,distance,enhance,feature,nlp,text-augment,text-classification,xlnet
GitHub 星标★ 1533
上线时间2019-04-09 00:00:00
代码更新2021-09-23
仓库体积23.9 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数3

项目介绍

nlp_xiaojiang 是一个面向中文自然语言处理的多功能工具集,由小姜机器人项目衍生而来。它集成了闲聊检索式聊天机器人、基于 BERT 和 XLNet 的句向量相似度计算、文本分类、命名实体识别(BERT+BiLSTM+CRF)、数据增强、同义句生成、句子主干提取等能力。项目旨在为中文 NLP 研究和应用提供开箱即用的模块,解决中文文本处理中常见的数据稀疏、语义相似度判断和特征工程等问题。其核心能力包括:利用预训练模型生成高质量句向量,支持多种相似度度量;提供多种数据增强策略以扩充训练数据;集成实体识别和文本分类等基础任务;并支持通过 keras-http-service 进行 HTTP 服务化部署,便于快速集成到实际系统中。整体上,该项目是一个面向中文场景的 NLP 工具箱,适合快速原型开发和教学实验。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1533

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 15 分钟 部署方式:命令行工具 8 步

环境要求

  • Python 环境(README 未给出具体版本,建议 Python 3)
  • Windows 10 + PyCharm 可直接运行(README 明确说明)
  • 已准备好 BERT/XLNet 预训练模型文件(用于句向量与特征提取,README 未给下载地址)
  • 已安装运行脚本所需的第三方依赖(README 未提供依赖清单)

安装与启动步骤

  1. 1获取项目代码

    从 GitHub 克隆项目到本地,之后所有脚本都在项目目录下运行。

    git clone https://github.com/yongzhuo/nlp_xiaojiang.git
  2. 2生成 tf-idf 文件

    这是执行相似度计算的前置步骤,README 明确说明跑 sentence_sim_feature.py 前必须先跑本脚本。

    python cut_td_idf.py
  3. 3计算句子相似度

    先计算预定义句子的多种相似度,随后可输入自定义句子进行测试。需先完成上一步。

    python sentence_sim_feature.py
  4. 4启动 fuzzy 检索机器人

    独立运行,基于 fuzzywuzzy 做字面匹配的检索式 ChatBot,输入句子可返回匹配问答。

    python chatbot_fuzzy.py
  5. 5启动句向量检索机器人

    独立运行,按“词”构造句向量检索问答库,可检索带同义词的句子。

    python chatbot_sentence_vec_by_word.py
  6. 6运行 EDA 数据增强

    使用同义词替换、插入、交换和删除策略扩充中文训练数据,README 称效果还行。

    python enhance_eda.py
  7. 7提取 BERT 句向量特征

    提取 BERT 句向量特征,脚本位于 FeatureProject 的 bert 子目录,README 原命令写作 run。

    python extract_keras_bert_feature.py
  8. 8测试 BERT 相似度

    用提取出的 BERT 句向量计算余弦相似度,验证句向量特征是否可用。

    python tet_bert_keras_sim.py

关键配置

配置项必填说明示例
args.py否NER(BERT+BiLSTM+CRF)模块的参数配置入口,用于调整参数python args.py

如何确认成功

运行 chatbot_fuzzy.py 或 chatbot_sentence_vec_by_word.py 后出现交互提示,输入句子能返回匹配答案即表示成功。

常见问题

Q:sentence_sim_feature.py 报错找不到 tf-idf 文件?

A:README 说明运行第 2 项前必须先运行第 1 项 python cut_td_idf.py 生成 tf-idf 文件,按顺序执行即可。

Q:缺少 Python 依赖包怎么办?

A:README 未提供依赖清单和安装命令,请按报错自行安装对应包,如 keras、fuzzywuzzy 等,并确认环境与脚本兼容。

Q:生成式 ChatBot 为什么没有对应脚本?

A:README 中生成式 ChatBot(seq2seq、GAN)标注为 todo,尚未实现,目前只能使用检索式 ChatBot。

Q:句向量特征提取脚本放在哪里运行?

A:脚本位于 FeatureProject 的 bert、xlnet 子目录,README 的 run 列表中的提取与相似度脚本需在对应子目录下执行。

注意事项

  • README 未提供 pip 依赖安装说明和预训练模型下载地址,运行前需自行准备 BERT/XLNet 模型与依赖。
  • 脚本之间存在顺序依赖,如 sentence_sim_feature.py 依赖 cut_td_idf.py 生成的文件。
  • README 第 12 项命令写作 run extract_keras_bert_feature.py,Windows 下请用 python 执行。
  • 项目 README 明确说明可在 Win10 + PyCharm 下运行。

核心亮点

  • 集成 BERT 和 XLNET 双模型句向量,相似度计算更灵活
  • 覆盖 NER、文本分类、数据增强等多个高频 NLP 任务,省去重复造轮子
  • 提供 HTTP 服务封装,可直接部署调用,降低集成门槛

不足之处

  • 文档和示例相对简略,上手需要自行摸索
  • 部分模块依赖较重的深度学习框架,部署资源要求较高

适用场景

  • 中文闲聊机器人开发,快速搭建检索式对话响应
  • 文本相似度匹配场景,如问答系统、去重、推荐
  • NLP 教学实验,快速验证 BERT/XLNET 在中文任务上的效果

替代项目

HanLP、LTP、FastText

上一篇:ChatLM-mini-Chinese

下一篇:Ovis

同类项目推荐

NExT-GPT 开源

一个模型搞定文本、图像、音频、视频的任意输入输出

Code and models for ICML 2024 paper, NExT-GPT: Any-to-Any Multimodal Large Language ···

★ 3633 2026-08-09
chatgpt-share-web 开源

一个平台还原多款AI官网,自带用户和变现系统

chatgpt、claude、midjourney,grok和gemini官网完整还原,以及Claude Code和Codex完整镜像···

★ 363 2026-08-09
flux-action 开源

7B 开源世界动作模型,让机器人看视频学动作

FLUX 3 Action: open weights 7B world action model from Black Forest Labs. Train, fin···

★ 215 2026-10-09
EVE 开源

去掉视觉编码器,直接用像素训练多模态模型,更简单高效。

EVE Series: Encoder-Free Vision-Language Models from BAAI

★ 376 2026-08-09
LLMRank 开源

用大模型零样本给推荐结果排序,无需训练直接提升效果

[ECIR'24] Implementation of "Large Language Models are Zero-Shot Rankers for Recomme···

★ 327 2026-08-09
FinGPT 开源

开源金融大模型,低成本微调,快速落地投研分析

FinGPT: Open-Source Financial Large Language Models! Revolutionize We release t···

★ 21541 2026-08-09
coedit 开源

用一句话指令,让AI帮你改稿、纠错、换风格

Official implementation of the paper "CoEdIT: Text Editing by Task-Specific Instruct···

★ 147 2026-08-09
StartLux-Decision 开源

给每个选项打分,让 AI 决策可量化

Open decision models from 0.8B to 27B: a calibrated probability for every option in ···

★ 1706 2026-10-07