
nlp_xiaojiang
中文NLP一站式工具箱,开箱即用搞定相似度、NER和数据增强
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1533
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(README 未给出具体版本,建议 Python 3)
- Windows 10 + PyCharm 可直接运行(README 明确说明)
- 已准备好 BERT/XLNet 预训练模型文件(用于句向量与特征提取,README 未给下载地址)
- 已安装运行脚本所需的第三方依赖(README 未提供依赖清单)
安装与启动步骤
-
1获取项目代码
从 GitHub 克隆项目到本地,之后所有脚本都在项目目录下运行。
git clone https://github.com/yongzhuo/nlp_xiaojiang.git -
2生成 tf-idf 文件
这是执行相似度计算的前置步骤,README 明确说明跑 sentence_sim_feature.py 前必须先跑本脚本。
python cut_td_idf.py -
3计算句子相似度
先计算预定义句子的多种相似度,随后可输入自定义句子进行测试。需先完成上一步。
python sentence_sim_feature.py -
4启动 fuzzy 检索机器人
独立运行,基于 fuzzywuzzy 做字面匹配的检索式 ChatBot,输入句子可返回匹配问答。
python chatbot_fuzzy.py -
5启动句向量检索机器人
独立运行,按“词”构造句向量检索问答库,可检索带同义词的句子。
python chatbot_sentence_vec_by_word.py -
6运行 EDA 数据增强
使用同义词替换、插入、交换和删除策略扩充中文训练数据,README 称效果还行。
python enhance_eda.py -
7提取 BERT 句向量特征
提取 BERT 句向量特征,脚本位于 FeatureProject 的 bert 子目录,README 原命令写作 run。
python extract_keras_bert_feature.py -
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
下一篇:Ovis
同类项目推荐
awesome-ai
开源
一张清单,快速找到靠谱 AI 工具
Awesome AI
NExT-GPT
开源
一个模型搞定文本、图像、音频、视频的任意输入输出
Code and models for ICML 2024 paper, NExT-GPT: Any-to-Any Multimodal Large Language ···
chatgpt-share-web
开源
一个平台还原多款AI官网,自带用户和变现系统
chatgpt、claude、midjourney,grok和gemini官网完整还原,以及Claude Code和Codex完整镜像···
flux-action
开源
7B 开源世界动作模型,让机器人看视频学动作
FLUX 3 Action: open weights 7B world action model from Black Forest Labs. Train, fin···
EVE
开源
去掉视觉编码器,直接用像素训练多模态模型,更简单高效。
EVE Series: Encoder-Free Vision-Language Models from BAAI
LLMRank
开源
用大模型零样本给推荐结果排序,无需训练直接提升效果
[ECIR'24] Implementation of "Large Language Models are Zero-Shot Rankers for Recomme···
FinGPT
开源
开源金融大模型,低成本微调,快速落地投研分析
FinGPT: Open-Source Financial Large Language Models! Revolutionize We release t···
coedit
开源
用一句话指令,让AI帮你改稿、纠错、换风格
Official implementation of the paper "CoEdIT: Text Editing by Task-Specific Instruct···
StartLux-Decision
开源
给每个选项打分,让 AI 决策可量化
Open decision models from 0.8B to 27B: a calibrated probability for every option in ···