[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yongzhuo--nlp_xiaojiang":3,"tool-yongzhuo--nlp_xiaojiang":64},[4,17,25,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":26,"name":27,"github_repo":28,"description_zh":29,"stars":30,"difficulty_score":10,"last_commit_at":31,"category_tags":32,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[33,34,35,36,14,37,15,13,38],"图像","数据工具","视频","插件","其他","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[14,33,13,15,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":45,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[15,33,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":45,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[15,14,13,36],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":79,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":107,"github_topics":108,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":120,"updated_at":121,"faqs":122,"releases":162},2081,"yongzhuo\u002Fnlp_xiaojiang","nlp_xiaojiang","自然语言处理（nlp），小姜机器人（闲聊检索式chatbot），BERT句向量-相似度（Sentence Similarity），XLNET句向量-相似度（text xlnet embedding），文本分类（Text classification）， 实体提取（ner，bert+bilstm+crf），数据增强（text augment, data enhance），同义句同义词生成，句子主干提取（mainpart），中文汉语短文本相似度，文本特征工程，keras-http-service调用","nlp_xiaojiang 是一个功能全面的中文自然语言处理开源工具箱，旨在为开发者提供从数据预处理到模型部署的一站式解决方案。它重点解决了中文短文本理解中的核心难题，包括智能闲聊机器人构建、高精度文本相似度计算、命名实体识别（NER）以及文本分类等任务。\n\n该工具特别适合从事 NLP 应用的软件工程师、算法研究人员以及需要快速搭建原型的技术团队使用。其独特亮点在于灵活融合了传统机器学习方法与前沿深度学习模型：不仅支持基于 BERT 和 XLNet 的句向量提取与相似度匹配，还实现了\"BERT+BiLSTM+CRF\"的高精度实体抽取架构。此外，nlp_xiaojiang 提供了丰富的数据增强策略，如回译、EDA（同义词替换、插入等）及句法生成，有效缓解训练数据不足的问题。项目还封装了 Keras HTTP 服务接口，并针对微众银行客服问答场景进行了优化验证，用户可在 Windows 环境下通过 PyCharm 轻松运行各项模块，快速实现从特征工程到模型调用的完整流程。","# nlp_xiaojiang\n\n\n# AugmentText\n    - 回译（效果比较好）\n    - EDA（同义词替换、插入、交换和删除）（效果还行）\n    - HMM-marko（质量较差）\n    - syntax（依存句法、句法、语法书）（简单句还可）\n    - seq2seq（深度学习同义句生成，效果不理想，seq2seq代码大都是 [https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq] 的，效果不理想）\n    - 预训练(UNILM生成、开源模型回译)\n    \n# ChatBot\n    - 检索式ChatBot\n        - 像ES那样直接检索(如使用fuzzywuzzy)，只能字面匹配\n        - 构造句向量，检索问答库，能够检索有同义词的句子\n    - 生成式ChatBot（todo）\n        - seq2seq\n        - GAN\n\n# ClassificationText\n    - bert+bi-lstm(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition\n    - bert + text-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition\n    - bert + r-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition\n    - bert + avt-cnn(keras) approach 0.78~0.79% acc of weBank Intelligent Customer Service Question Matching Competition\n\n# Ner\n    - bert命名实体提取(bert12层embedding + bilstm + crf)\n        - args.py(配置一些参数)\n        - keras_bert_embedding.py(bert embedding)\n        - keras_bert_layer.py(layer层, 主要有CRF和NonMaskingLayer)\n        - keras_bert_ner_bi_lstm.py(主函数, 定义模型、数据预处理和训练预测等)\n        - layer_crf_bojone.py(CRF层, 未使用)\n\n# FeatureProject\n    - bert句向量、文本相似度\n        - bert\u002Fextract_keras_bert_feature.py:提取bert句向量特征\n        - bert\u002Ftet_bert_keras_sim.py:测试xlnet句向量cosin相似度\n    - xlnet句向量、文本相似度\n        - xlnet\u002Fextract_keras_xlnet_feature.py:提取bert句向量特征\n        - xlnet\u002Ftet_xlnet_keras_sim.py:测试bert句向量cosin相似度\n    - normalization_util指的是数据归一化\n        - 0-1归一化处理\n        - 均值归一化\n        - sig归一化处理\n    - sim feature（ML）\n        - distance_text_or_vec:各种计算文本、向量距离等\n        - distance_vec_TS_SS：TS_SS计算词向量距离\n        - cut_td_idf：将小黄鸡语料和gossip结合\n        - sentence_sim_feature：计算两个文本的相似度或者距离，例如qq（问题和问题），或者qa（问题和答案）\n\n# run(可以在win10下,pycharm下运行)\n  - 1.创建tf-idf文件等（运行2需要先跑1）:      \n                                       ```\n                                       python cut_td_idf.py\n                                       ```\n  - 2.计算两个句子间的各种相似度，先计算一个预定义的，然后可输入自定义的（先跑1）:  \n                                       ```\n                                       python sentence_sim_feature.py\n                                       ```\n  - 3.chatbot_1跑起来(fuzzy检索-没)（独立）：    \n                                       ```\n                                       python chatbot_fuzzy.py\n                                       ```\n  - 4.chatbot_2跑起来(句向量检索-词)（独立）：    \n                                       ```\n                                       python chatbot_sentence_vec_by_word.py\n                                       ```\n  - 5.chatbot_3跑起来(句向量检索-字)（独立）：    \n                                       ```\n                                       python chatbot_sentence_vec_by_char.py\n                                       ```\n  - 6.数据增强（eda)：                     python enhance_eda.py\n  - 7.数据增强（marko）:                   python enhance_marko.py\n  - 8.数据增强（translate_account）:       python translate_tencent_secret.py\n  - 9.数据增强（translate_tools）:         python translate_translate.py\n  - 10.数据增强（translate_web）:          python translate_google.py\n  - 11.数据增强（augment_seq2seq）:        先跑 python extract_char_webank.py生成数据，\n                                          再跑 python train_char_anti.py\n                                          然后跑 python predict_char_anti.py\n  - 12.特征计算(bert)（提取特征、计算相似度）: \n                      ```\n                      run extract_keras_bert_feature.py\n                      run tet_bert_keras_sim.py\n                      ```\n                      \n# Data\n    - chinese_L-12_H-768_A-12（谷歌预训练好的模型）\n       github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n       解压后就可以啦\n    - chinese_xlnet_mid_L-24_H-768_A-12(哈工大训练的中文xlnet, mid, 24层, wiki语料+通用语料)\n        - 下载地址[https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-PreTrained-XLNet](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-PreTrained-XLNet)\n    - chinese_vector\n        github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n        - 截取的部分word2vec训练词向量（自己需要下载全效果才会好）\n        - w2v_model_wiki_char.vec、w2v_model_wiki_word.vec都只有部分，词向量w2v_model_wiki_word.vec可以用这个下载地址的替换[https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14JP1gD7hcmsWdSpTvA3vKA](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14JP1gD7hcmsWdSpTvA3vKA)\n\n    - corpus\n        github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n        - ner(train、dev、test----人民日报语料)\n        - webank(train、dev、test)\n        - 小黄鸡和gossip问答预料（数据没清洗）,chicken_and_gossip.txt\n        - 微众银行和支付宝文本相似度竞赛数据， sim_webank.csv\n    - sentence_vec_encode_char\n        - 1.txt（字向量生成的前100000句向量）\n    - sentence_vec_encode_word\n        - 1.txt（词向量生成的前100000句向量）\n    - tf_idf（chicken_and_gossip.txt生成的tf-idf）\n    \n# requestments.txt\n    - python_Levenshtei\n        - 调用Levenshtein，我的python是3.6，\n        - 打开其源文件: https:\u002F\u002Fwww.lfd.uci.edu\u002F~gohlke\u002Fpythonlibs\u002F\n        - 查找python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl下载即可\n    - pyemd\n    - pyhanlp\n        - 下好依赖JPype1-0.6.3-cp36-cp36m-win_amd64.whl\n  \n# 参考\u002F感谢\n* eda_chinese：[https:\u002F\u002Fgithub.com\u002Fzhanlaoban\u002Feda_nlp_for_Chinese](https:\u002F\u002Fgithub.com\u002Fzhanlaoban\u002Feda_nlp_for_Chinese)\n* 主谓宾提取器：[https:\u002F\u002Fgithub.com\u002Fhankcs\u002FMainPartExtractor](https:\u002F\u002Fgithub.com\u002Fhankcs\u002FMainPartExtractor)\n* HMM生成句子：[https:\u002F\u002Fgithub.com\u002FtakeToDreamLand\u002FSentenceGenerate_byMarkov](https:\u002F\u002Fgithub.com\u002FtakeToDreamLand\u002FSentenceGenerate_byMarkov)\n* 同义词等：[https:\u002F\u002Fgithub.com\u002Ffighting41love\u002FfunNLP\u002Ftree\u002Fmaster\u002Fdata\u002F](https:\u002F\u002Fgithub.com\u002Ffighting41love\u002FfunNLP\u002Ftree\u002Fmaster\u002Fdata\u002F)\n* 小牛翻译：[http:\u002F\u002Fwww.niutrans.com\u002Findex.html](http:\u002F\u002Fwww.niutrans.com\u002Findex.html)\n    \n# 其他资料\n* bert(keras):[https:\u002F\u002Fgithub.com\u002FCyberZHG\u002Fkeras-bert](https:\u002F\u002Fgithub.com\u002FCyberZHG\u002Fkeras-bert)\n* NLP数据增强汇总:[https:\u002F\u002Fgithub.com\u002Fquincyliang\u002Fnlp-data-augmentation](https:\u002F\u002Fgithub.com\u002Fquincyliang\u002Fnlp-data-augmentation)\n* 知乎NLP数据增强话题:[https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F305256736\u002Fanswer\u002F550873100](https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F305256736\u002Fanswer\u002F550873100)\n* chatbot_seq2seq_seqGan（比较好用）：[https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq](https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq)\n* 自己动手做聊天机器人教程: [https:\u002F\u002Fgithub.com\u002Fwarmheartli\u002FChatBotCourse](https:\u002F\u002Fgithub.com\u002Fwarmheartli\u002FChatBotCourse)\n\n","# nlp_xiaojiang\n\n\n# 文本增强\n    - 回译（效果比较好）\n    - EDA（同义词替换、插入、交换和删除）（效果还行）\n    - HMM-marko（质量较差）\n    - syntax（依存句法、句法、语法书）（简单句还可）\n    - seq2seq（深度学习同义句生成，效果不理想，seq2seq代码大都是 [https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq] 的，效果不理想）\n    - 预训练(UNILM生成、开源模型回译)\n    \n# 聊天机器人\n    - 检索式聊天机器人\n        - 像ES那样直接检索(如使用fuzzywuzzy)，只能字面匹配\n        - 构造句向量，检索问答库，能够检索有同义词的句子\n    - 生成式聊天机器人（待办）\n        - seq2seq\n        - GAN\n\n# 文本分类\n    - bert+bi-lstm(keras) 方法在微众银行智能客服问题匹配竞赛中达到0.78~0.79%的准确率\n    - bert + text-cnn(keras) 方法在微众银行智能客服问题匹配竞赛中达到0.78~0.79%的准确率\n    - bert + r-cnn(keras) 方法在微众银行智能客服问题匹配竞赛中达到0.78~0.79%的准确率\n    - bert + avt-cnn(keras) 方法在微众银行智能客服问题匹配竞赛中达到0.78~0.79%的准确率\n\n# 命名实体识别\n    - bert命名实体提取(bert12层embedding + bilstm + crf)\n        - args.py(配置一些参数)\n        - keras_bert_embedding.py(bert embedding)\n        - keras_bert_layer.py(layer层, 主要有CRF和NonMaskingLayer)\n        - keras_bert_ner_bi_lstm.py(主函数, 定义模型、数据预处理和训练预测等)\n        - layer_crf_bojone.py(CRF层, 未使用)\n\n# 特征工程\n    - bert句向量、文本相似度\n        - bert\u002Fextract_keras_bert_feature.py:提取bert句向量特征\n        - bert\u002Ftet_bert_keras_sim.py:测试xlnet句向量cosin相似度\n    - xlnet句向量、文本相似度\n        - xlnet\u002Fextract_keras_xlnet_feature.py:提取bert句向量特征\n        - xlnet\u002Ftet_xlnet_keras_sim.py:测试bert句向量cosin相似度\n    - normalization_util指的是数据归一化\n        - 0-1归一化处理\n        - 均值归一化\n        - sig归一化处理\n    - sim feature（ML）\n        - distance_text_or_vec:各种计算文本、向量距离等\n        - distance_vec_TS_SS：TS_SS计算词向量距离\n        - cut_td_idf：将小黄鸡语料和gossip结合\n        - sentence_sim_feature：计算两个文本的相似度或者距离，例如qq（问题和问题），或者qa（问题和答案）\n\n# 运行（可在win10下,pycharm下运行）\n  - 1.创建tf-idf文件等（运行2需要先跑1）:      \n                                       ```\n                                       python cut_td_idf.py\n                                       ```\n  - 2.计算两个句子间的各种相似度，先计算一个预定义的，然后可输入自定义的（先跑1）:  \n                                       ```\n                                       python sentence_sim_feature.py\n                                       ```\n  - 3.chatbot_1跑起来(fuzzy检索-没)（独立）：    \n                                       ```\n                                       python chatbot_fuzzy.py\n                                       ```\n  - 4.chatbot_2跑起来(句向量检索-词)（独立）：    \n                                       ```\n                                       python chatbot_sentence_vec_by_word.py\n                                       ```\n  - 5.chatbot_3跑起来(句向量检索-字)（独立）：    \n                                       ```\n                                       python chatbot_sentence_vec_by_char.py\n                                       ```\n  - 6.数据增强（eda)：                     python enhance_eda.py\n  - 7.数据增强（marko）:                   python enhance_marko.py\n  - 8.数据增强（translate_account）:       python translate_tencent_secret.py\n  - 9.数据增强（translate_tools）:         python translate_translate.py\n  - 10.数据增强（translate_web）:          python translate_google.py\n  - 11.数据增强（augment_seq2seq）:        先跑 python extract_char_webank.py生成数据，\n                                          再跑 python train_char_anti.py\n                                          然后跑 python predict_char_anti.py\n  - 12.特征计算(bert)（提取特征、计算相似度）: \n                      ```\n                      run extract_keras_bert_feature.py\n                      run tet_bert_keras_sim.py\n                      ```\n                      \n# 数据\n    - chinese_L-12_H-768_A-12（谷歌预训练好的模型）\n       github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n       解压后就可以啦\n    - chinese_xlnet_mid_L-24_H-768_A-12(哈工大训练的中文xlnet, mid, 24层, wiki语料+通用语料)\n        - 下载地址[https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-PreTrained-XLNet](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-PreTrained-XLNet)\n    - chinese_vector\n        github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n        - 截取的部分word2vec训练词向量（自己需要下载全效果才会好）\n        - w2v_model_wiki_char.vec、w2v_model_wiki_word.vec都只有部分，词向量w2v_model_wiki_word.vec可以用这个下载地址的替换[https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14JP1gD7hcmsWdSpTvA3vKA](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14JP1gD7hcmsWdSpTvA3vKA)\n\n    - corpus\n        github项目中只是上传部分数据，需要的前往链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q 提取码: rket\n        - ner(train、dev、test----人民日报语料)\n        - webank(train、dev、test)\n        - 小黄鸡和gossip问答预料（数据没清洗）,chicken_and_gossip.txt\n        - 微众银行和支付宝文本相似度竞赛数据， sim_webank.csv\n    - sentence_vec_encode_char\n        - 1.txt（字向量生成的前100000句向量）\n    - sentence_vec_encode_word\n        - 1.txt（词向量生成的前100000句向量）\n    - tf_idf（chicken_and_gossip.txt生成的tf-idf）\n    \n# requestments.txt\n    - python_Levenshtei\n        - 调用Levenshtein，我的python是3.6，\n        - 打开其源文件: https:\u002F\u002Fwww.lfd.uci.edu\u002F~gohlke\u002Fpythonlibs\u002F\n        - 查找python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl下载即可\n    - pyemd\n    - pyhanlp\n        - 下好依赖JPype1-0.6.3-cp36-cp36m-win_amd64.whl\n  \n# 参考\u002F感谢\n* eda_chinese：[https:\u002F\u002Fgithub.com\u002Fzhanlaoban\u002Feda_nlp_for_Chinese](https:\u002F\u002Fgithub.com\u002Fzhanlaoban\u002Feda_nlp_for_Chinese)\n* 主谓宾提取器：[https:\u002F\u002Fgithub.com\u002Fhankcs\u002FMainPartExtractor](https:\u002F\u002Fgithub.com\u002Fhankcs\u002FMainPartExtractor)\n* HMM生成句子：[https:\u002F\u002Fgithub.com\u002FtakeToDreamLand\u002FSentenceGenerate_byMarkov](https:\u002F\u002Fgithub.com\u002FtakeToDreamLand\u002FSentenceGenerate_byMarkov)\n* 同义词等：[https:\u002F\u002Fgithub.com\u002Ffighting41love\u002FfunNLP\u002Ftree\u002Fmaster\u002Fdata\u002F](https:\u002F\u002Fgithub.com\u002Ffighting41love\u002FfunNLP\u002Ftree\u002Fmaster\u002Fdata\u002F)\n* 小牛翻译：[http:\u002F\u002Fwww.niutrans.com\u002Findex.html](http:\u002F\u002Fwww.niutrans.com\u002Findex.html)\n    \n# 其他资料\n* bert(keras):[https:\u002F\u002Fgithub.com\u002FCyberZHG\u002Fkeras-bert](https:\u002F\u002Fgithub.com\u002FCyberZHG\u002Fkeras-bert)\n* NLP数据增强汇总:[https:\u002F\u002Fgithub.com\u002Fquincyliang\u002Fnlp-data-augmentation](https:\u002F\u002Fgithub.com\u002Fquincyliang\u002Fnlp-data-augmentation)\n* 知乎NLP数据增强话题:[https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F305256736\u002Fanswer\u002F550873100](https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F305256736\u002Fanswer\u002F550873100)\n* chatbot_seq2seq_seqGan（比较好用）：[https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq](https:\u002F\u002Fgithub.com\u002Fqhduan\u002Fjust_another_seq2seq)\n* 自己动手做聊天机器人教程: [https:\u002F\u002Fgithub.com\u002Fwarmheartli\u002FChatBotCourse](https:\u002F\u002Fgithub.com\u002Fwarmheartli\u002FChatBotCourse)","# nlp_xiaojiang 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Windows 10 (推荐在 PyCharm 中运行)\n- **Python 版本**: Python 3.6\n\n### 前置依赖\n本项目依赖多个 NLP 库和预训练模型，部分依赖需手动下载 `.whl` 文件安装。\n\n1. **基础依赖安装**\n   ```bash\n   pip install pyemd\n   ```\n\n2. **手动安装特定轮子包 (Windows)**\n   由于 `python-Levenshtein` 和 `pyhanlp` 的依赖 `JPype1` 在部分环境下编译困难，建议前往 [UCI Gohlke 库](https:\u002F\u002Fwww.lfd.uci.edu\u002F~gohlke\u002Fpythonlibs\u002F) 下载对应 Python 3.6 版本的 `.whl` 文件后本地安装：\n   - 下载 `python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl`\n   - 下载 `JPype1-0.6.3-cp36-cp36m-win_amd64.whl` (pyhanlp 依赖)\n   \n   安装命令示例：\n   ```bash\n   pip install python_Levenshtein-0.12.0-cp36-cp36m-win_amd64.whl\n   pip install JPype1-0.6.3-cp36-cp36m-win_amd64.whl\n   pip install pyhanlp\n   ```\n\n3. **预训练模型与数据下载**\n   GitHub 仓库仅包含部分示例数据，完整功能需下载以下资源并解压至项目目录：\n   - **BERT 模型 & 词向量 & 语料数据**: \n     - 地址: [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1I3vydhmFEQ9nuPG2fDou8Q) (提取码: `rket`)\n     - 内容: `chinese_L-12_H-768_A-12` (谷歌 BERT), `chinese_vector` (Word2Vec), `corpus` (NER\u002F问答\u002F相似度数据集)\n   - **XLNet 模型**:\n     - 地址: [Chinese-PreTrained-XLNet](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-PreTrained-XLNet)\n     - 推荐下载: `chinese_xlnet_mid_L-24_H-768_A-12`\n   - **全量词向量 (可选，提升效果)**:\n     - 地址: [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F14JP1gD7hcmsWdSpTvA3vKA) (替换项目中不完整的 `w2v_model_wiki_word.vec`)\n\n---\n\n## 安装步骤\n\n1. 克隆或下载本项目代码到本地。\n2. 按照“环境准备”章节安装所有 Python 依赖包。\n3. 下载所需的预训练模型和数据集，确保目录结构与代码中引用的路径一致（通常放在项目根目录或 `data` 文件夹下）。\n4. 确认 `requirements.txt` 中的其他常规依赖已安装（如有缺失可尝试 `pip install -r requirements.txt`，但需注意上述手动安装的包）。\n\n---\n\n## 基本使用\n\n本项目模块化程度较高，不同功能对应独立的脚本。以下是核心功能的快速启动示例：\n\n### 1. 文本相似度计算\n先构建 TF-IDF 索引，再计算句子相似度。\n```bash\n# 第一步：创建 tf-idf 文件\npython cut_td_idf.py\n\n# 第二步：计算句子相似度（支持预设测试和自定义输入）\npython sentence_sim_feature.py\n```\n\n### 2. 聊天机器人 (检索式)\n提供三种检索策略，可独立运行：\n```bash\n# 方案 A: 基于模糊匹配 (FuzzyWuzzy)\npython chatbot_fuzzy.py\n\n# 方案 B: 基于句向量检索 (按词粒度)\npython chatbot_sentence_vec_by_word.py\n\n# 方案 C: 基于句向量检索 (按字粒度)\npython chatbot_sentence_vec_by_char.py\n```\n\n### 3. 数据增强 (Data Augmentation)\n支持多种增强策略，根据需求选择脚本：\n```bash\n# EDA (同义词替换、插入、交换、删除)\npython enhance_eda.py\n\n# Markov 链生成\npython enhance_marko.py\n\n# 回译增强 (需配置翻译接口密钥或使用在线工具)\npython translate_tencent_secret.py   # 腾讯翻译\npython translate_translate.py        # 通用翻译工具\npython translate_google.py           # Google 翻译\n```\n*注：Seq2Seq 增强需依次运行 `extract_char_webank.py` -> `train_char_anti.py` -> `predict_char_anti.py`。*\n\n### 4. 特征提取与命名实体识别 (NER)\n基于 BERT 的特征提取和 NER 任务：\n```bash\n# 提取 BERT 句向量特征\npython extract_keras_bert_feature.py\n\n# 测试 BERT 句向量余弦相似度\npython tet_bert_keras_sim.py\n\n# 运行 NER 模型 (需在 keras_bert_ner_bi_lstm.py 中配置数据路径后运行)\n# 主逻辑位于: keras_bert_ner_bi_lstm.py\n```\n\n> **提示**: 运行前请检查各脚本内部的参数配置（如数据路径、模型路径），部分脚本依赖 `args.py` 进行统一配置。","某电商初创团队正在搭建智能客服系统，急需处理大量用户咨询并自动匹配标准问答库中的答案。\n\n### 没有 nlp_xiaojiang 时\n- **语义理解能力弱**：仅能依靠关键词或模糊字符串匹配（如 fuzzywuzzy），用户稍微换个说法或使用同义词，系统就无法识别意图。\n- **训练数据匮乏**：面对冷启动场景，缺乏足够的标注数据进行模型训练，人工编写变体问法效率极低且覆盖不全。\n- **实体提取困难**：无法从用户冗长的描述中精准提取订单号、商品名等关键实体，导致后续流程无法自动化。\n- **开发门槛高**：若要实现基于 BERT 或 XLNet 的深度语义相似度计算，需从零搭建复杂的深度学习环境及推理服务。\n\n### 使用 nlp_xiaojiang 后\n- **精准语义检索**：利用 BERT 和 XLNet 句向量技术构建检索式聊天机器人，即使用户提问措辞不同，也能通过余弦相似度精准匹配到标准答案。\n- **高效数据增强**：调用回译、EDA（同义词替换、插入等）功能，快速将少量种子问题扩展为丰富的训练集，显著提升模型泛化能力。\n- **自动化实体识别**：部署内置的\"BERT+BiLSTM+CRF\"模型，自动从对话中提取关键业务实体，准确率媲美微众银行竞赛水平。\n- **一站式服务部署**：直接通过 Keras HTTP Service 接口调用预训练模型特征，无需重复造轮子，大幅缩短从算法验证到上线的周期。\n\nnlp_xiaojiang 通过集成先进的预训练模型与实用的数据增强工具，让中小团队也能低成本拥有具备深度语义理解能力的智能客服系统。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyongzhuo_nlp_xiaojiang_e17ccd25.png","yongzhuo","Macropodus","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyongzhuo_5529e6c4.png","NLPer, do something valuable.",null,"Guilin【桂林】","https:\u002F\u002Fblog.csdn.net\u002Frensihui","https:\u002F\u002Fgithub.com\u002Fyongzhuo",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,1538,391,"2026-03-31T11:50:45","MIT",4,"Windows","未说明 (项目基于 Keras\u002FTensorFlow 运行 BERT\u002FXLNet，通常建议 GPU 加速，但 README 未明确指定型号或显存)","未说明 (加载 BERT-12 层或 XLNet-24 层模型及词向量通常需要 8GB+ RAM)",{"notes":97,"python":98,"dependencies":99},"1. 明确支持在 Windows 10 和 PyCharm 下运行。2. 需手动下载预训练模型（BERT、XLNet）和词向量文件，README 提供了百度网盘链接。3. python-Levenshtein 和 JPype1 需要下载特定的 .whl 文件进行安装以兼容 Python 3.6 Windows 环境。4. 部分功能依赖腾讯、谷歌等翻译 API，可能需要配置密钥。","3.6",[100,101,102,103,104,105,106],"tensorflow (隐含，因使用 keras-bert)","keras","keras-bert","python-Levenshtein==0.12.0","pyemd","pyhanlp","JPype1==0.6.3",[15,34],[109,110,111,112,113,114,115,116,117,118,119],"chatbot","feature","data-augmentation","text-augment","enhance","chinese","nlp","distance","bert","xlnet","text-classification","2026-03-27T02:49:30.150509","2026-04-06T07:24:47.712354",[123,128,133,138,143,148,153,158],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},9482,"运行代码时遇到 'ModuleNotFoundError: No module named conf.path_config' 错误怎么办？","这是因为执行脚本的位置不对，导致无法找到项目根目录下的 conf 文件夹。解决方法是在报错的脚本（如 keras_bert_classify_bi_lstm.py）头部添加以下代码，将项目根目录加入系统路径：\nimport sys\nimport os\n# base dir\npath_root = os.path.abspath(os.path.join(os.path.dirname(__file__), \"..\u002F..\"))\ndir_project = path_root.replace('\\\\', '\u002F')\nsys.path.append(dir_project)","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F9",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},9483,"遇到 'AttributeError: module keras.backend has no attribute tf' 或版本兼容性报错如何解决？","这是 Keras 或 TensorFlow 版本不兼容导致的。项目依赖特定版本，请确保安装以下版本：\ntensorflow-gpu==1.12.0 到 1.15.0 之间\nkeras==2.2.4\nkeras-bert==0.41.0\n高版本的 Keras (如 2.2.5+) 或 TensorFlow 2.x 会导致此错误，建议严格按照 requirements.txt 中的版本号（使用 ==）进行安装。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F6",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},9484,"运行 Google 翻译脚本时报 'ConnectResetError: 远程主机强迫关闭了一个现有连接' 是怎么回事？","这通常是因为访问量过大触发了 Google 的防火墙限制，或者网络原因导致连接被重置。Google 免费翻译接口对单个 IP 有访问频率限制（每天几千次）。解决方案包括：更换 IP 地址、注册账号使用付费接口，或者改用国内免费的在线翻译服务。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F5",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},9485,"NER 模型预测结果的第一位为什么一直是 'O'？","这是正常现象。原因是 BERT 编码时在输入序列前添加了 [CLS] 标记，该标记对应的位置没有实际的实体标签，因此预测结果为 'O'。实际的有效标签从第二个位置开始对应原始文本的第一个字。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F8",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},9486,"运行 chatbot_sentence_vec_by_word.py 时出现 RuntimeWarning 且不同输入得到相同答案怎么办？","出现警告是因为代码中已修复除零错误，请更新最新代码。得到相同答案的原因是项目中默认自带的词向量文件只有 500 条，大部分词都是未登录词 (OOV)。解决方法是：1. 下载完整的词向量模型；2. 删除 Data\u002Fsentence_vec_encode_word 目录下生成的缓存文件（如 1.txt），或者删除代码中判断文件存在的逻辑，以便重新生成向量。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F2",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},9487,"回译功能中的 app_key 和 app_secret 指的是什么？","app_key 和 app_secret 指的是腾讯翻译云（或其他使用的翻译服务商）API 的账号凭证。你需要去相应的云平台注册账号，创建应用后获取这两个密钥，填入配置文件中即可使用回译功能。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F11",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},9488,"使用回译功能时，长文本输出结果丢失或被截断怎么办？","这是因为调用的 Google 翻译接口有长度限制，会自动截断长句进行分句翻译，导致部分内容丢失。这是一个已知的外部接口限制问题。建议参考其他开源项目（如 skywind3000\u002Ftranslator）的实现来优化分句逻辑，或者限制单次输入的文本长度。","https:\u002F\u002Fgithub.com\u002Fyongzhuo\u002Fnlp_xiaojiang\u002Fissues\u002F4",{"id":159,"question_zh":160,"answer_zh":161,"source_url":142},9489,"NER 训练中 loss 变为负数是什么原因？","这是由于使用的 CRF 层实现版本（keras-team 版本）与 BERT embedding 结合时存在的已知问题。苏剑林版本的 CRF 可能表现正常，但当前项目使用的版本在特定条件下会导致 loss 异常。建议参考 Kashgari 项目中的 CRF 实现作为替代方案。",[]]