[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-axa-group--nlp.js":3,"tool-axa-group--nlp.js":65},[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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[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":62,"last_commit_at":63,"category_tags":64,"status":16},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[13,37],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":10,"env_os":104,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":108,"github_topics":109,"view_count":123,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":157},490,"axa-group\u002Fnlp.js","nlp.js","An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more","nlp.js 是一个基于 Node.js 的自然语言处理工具包，专为构建智能对话系统（如聊天机器人）设计。它提供语言识别、情感分析、实体提取、文本归类等核心功能，支持 40 种语言原生处理，通过 BERT 模型扩展后可覆盖 104 种语言，甚至允许自定义幻想语言的处理规则。\n\n这个工具解决了传统 NLP 开发中常见的多语言适配复杂、功能模块耦合度高、扩展性差等问题。开发者无需从零搭建基础能力，即可快速实现跨语言的意图识别、对话理解与生成。其模块化架构允许按需组合功能组件，例如通过插件系统替换特定语言处理模块，或自定义文本预处理流程。\n\nnlp.js 特别适合需要构建多语言对话应用的开发者和研究人员使用。其版本 4 引入的管道机制（pipeline）将文本处理流程拆解为可配置的线性步骤（如标准化→分词→词干提取），配合连接器系统（支持控制台、微软 Bot Framework 等接口），使开发者能灵活构建从输入解析到响应生成的完整对话链路。技术亮点包括支持相似语句的模糊匹配、否定词处理的情感分析，以及通过独立语言包实现的轻量化部署能力。","![NLPjs logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_2b61844f3d1c.gif)\n\n# NLP.js\n\n[![](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Factions\u002Fworkflows\u002Fnode.js.yml\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Factions\u002Fworkflows\u002Fnode.js.yml)\n[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Faxa-group\u002Fnlp.js\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Faxa-group\u002Fnlp.js?branch=master)\n[![NPM version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnode-nlp.svg?style=flat)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnode-nlp)\n[![NPM downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnode-nlp.svg?style=flat)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnode-nlp)\n[![Sonarcloud Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![Maintainability Rating](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![Reliability Rating](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![Security Rating](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n\n*If you're looking for the version 3 docs, you can find them here* [Version 3](docs\u002Fv3\u002FREADME.md)\n\n\"NLP.js\" is a general natural language utility for nodejs. Currently supporting:\n\n- Guess the language of a phrase\n- Fast _Levenshtein_ distance of two strings\n- Search the best substring of a string with less _Levenshtein_ distance to a given pattern.\n- Get stemmers and tokenizers for several languages.\n- Sentiment Analysis for phrases (with negation support).\n- Named Entity Recognition and management, multi-language support, and acceptance of similar strings, so the introduced text does not need to be exact.\n- Natural Language Processing Classifier, to classify an utterance into intents.\n- NLP Manager: a tool able to manage several languages, the Named Entities for each language, the utterances, and intents for the training of the classifier, and for a given utterance return the entity extraction, the intent classification and the sentiment analysis. Also, it is able to maintain a Natural Language Generation Manager for the answers.\n- 40 languages natively supported, 104 languages supported with BERT integration\n- Any other language is supported through tokenization, even fantasy languages\n\n![Hybrid bot](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_aa3a12bf5f69.gif)\n\n## New in version 4`!`\n\nVersion 4 is very different from previous versions. Before this version, NLP.js was a monolithic library. The big changes:\n\n- Now the library is split into small independent packages.\n- So every language has its own package\n- It provides a plugin system, so you can provide your own plugins or replace the existing ones.\n- It provides a container system for the plugins, settings for the plugins and also pipelines\n- A pipeline is code defining how the plugins interact. Usually it is linear: there is an input into the plugin, and this generates the input for the next one. As an example, the preparation of a utterance (the process to convert the utterance to a hashmap of stemmed features) is now a pipeline like this: `normalize -> tokenize -> removeStopwords -> stem -> arrToObj`\n- There is a simple compiler for the pipelines, but they can also be built using a modified version of javascript and python (compilers are also included as plugins, so other languages can be added as a plugin).\n- NLP.js now includes connectors, a connector is understood to be something that has at least 2 methods: `hear` and `say`. Examples of connectors included: Console Connector, Microsoft Bot Framework Connector and a Direct Line Offline Connector (this one allows you to build a web chatbot using the Microsoft Webchat, but without having to deploy anything in Azure).\n- Some plugins can be registered by language, so for different languages different plugins will be used. Also some plugins, like NLU, can be registered not only by language but also by domain (a functional set of intents that can be trained separately)\n- As an example of per-language\u002Fdomain plugins, a Microsoft LUIS NLU plugin is provided. You can configure your chatbot to use the NLU from NLP.js for some languages\u002Fdomains, and LUIS for other languages\u002Fdomains.\n- Having plugins and pipelines makes it possible to write chatbots by only modifying the configuration and the pipelines file, without modifying the code.\n\n### TABLE OF CONTENTS\n\n\u003C!--ts-->\n\n- [Installation](#installation)\n- [QuickStart](docs\u002Fv4\u002Fquickstart.md)\n  - [Install the library](docs\u002Fv4\u002Fquickstart.md#install-the-library)\n  - [Create the code](docs\u002Fv4\u002Fquickstart.md#create-the-code)\n  - [Extracting the corpus into a file](docs\u002Fv4\u002Fquickstart.md#extracting-the-corpus-into-a-file)\n  - [Extracting the configuration into a file](docs\u002Fv4\u002Fquickstart.md#extracting-the-configuration-into-a-file)\n  - [Creating your first pipeline](docs\u002Fv4\u002Fquickstart.md#creating-your-first-pipeline)\n  - [Console Connector](docs\u002Fv4\u002Fquickstart.md#adding-your-first-connector)\n  - [Extending your bot with the pipeline](docs\u002Fv4\u002Fquickstart.md#extending-your-bot-with-the-pipeline)\n  - [Adding multiple languages](docs\u002Fv4\u002Fquickstart.md#adding-multilanguage)\n  - [Adding API and WebChat](docs\u002Fv4\u002Fquickstart.md#adding-api-and-webchat)\n  - [Using Microsoft Bot Framework](docs\u002Fv4\u002Fquickstart.md#using-microsoft-bot-framework)\n  - [Recognizing the bot name and the channel](docs\u002Fv4\u002Fquickstart.md#recognizing-the-bot-name-and-the-channel)\n  - [One bot per connector](docs\u002Fv4\u002Fquickstart.md#one-bot-per-connector)\n  - [Different port for Microsoft Bot Framework and Webchat](docs\u002Fv4\u002Fquickstart.md#different-port-for-microsoft-bot-framework-and-webchat)\n  - [Adding logic to an intent](docs\u002Fv4\u002Fquickstart.md#adding-logic-to-an-intent)\n  - [Mini FAQ](docs\u002Fv4\u002Fmini-faq.md)\n- [Web and React Native](docs\u002Fv4\u002Fwebandreact.md)\n  - [Preparing to generate a bundle](docs\u002Fv4\u002Fwebandreact.md#preparing-to-generate-a-bundle)\n  - [Your first web NLP](docs\u002Fv4\u002Fwebandreact.md#your-first-web-nlp)\n  - [Creating a distributable version](docs\u002Fv4\u002Fwebandreact.md#creating-a-distributable-version)\n  - [Load corpus from URL](docs\u002Fv4\u002Fwebandreact.md#load-corpus-from-url)\n- [QnA](docs\u002Fv4\u002Fqna.md)\n  - [Install the library and the qna plugin](docs\u002Fv4\u002Fqna.md#install-the-library-and-the-qna-plugin)\n  - [Train and test a QnA file](docs\u002Fv4\u002Fqna.md#train-and-test-a-qna-file)\n  - [Extracting the configuration into a file](docs\u002Fv4\u002Fqna.md#extracting-the-configuration-into-a-file)\n  - [Exposing the bot with a Web and API](docs\u002Fv4\u002Fqna.md#exposing-the-bot-with-a-web-and-api)\n- [NER Quickstart](docs\u002Fv4\u002Fner-quickstart.md)\n  - [Install the needed packages](docs\u002Fv4\u002Fner-quickstart.md#install-the-needed-packages)\n  - [Create the conf.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-confjson)\n  - [Create the corpus.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-corpusjson)\n  - [Create the heros.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-herosjson)\n  - [Create the index.js](docs\u002Fv4\u002Fner-quickstart.md#create-the-indexjs)\n  - [Start the application](docs\u002Fv4\u002Fner-quickstart.md#start-the-application)\n  - [Stored context](docs\u002Fv4\u002Fner-quickstart.md#stored-context)\n- [NeuralNetwork](docs\u002Fv4\u002Fneural.md)\n  - [Introduction](docs\u002Fv4\u002Fneural.md#introduction)\n  - [Installing](docs\u002Fv4\u002Fneural.md#installing)\n  - [Corpus Format](docs\u002Fv4\u002Fneural.md#corpus-format)\n  - [Example of use](docs\u002Fv4\u002Fneural.md#example-of-use)\n  - [Exporting trained model to JSON and importing](docs\u002Fv4\u002Fneural.md#exporting-trained-model-to-json-and-importing)\n  - [Options](docs\u002Fv4\u002Fneural.md#options)\n- [Logger](docs\u002Fv4\u002Flogger.md)\n  - [Introduction](docs\u002Fv4\u002Flogger.md#introduction)\n  - [Default logger in @nlpjs\u002Fcore](docs\u002Fv4\u002Flogger.md#default-logger-in-nlpjscore)\n  - [Default logger in @nlpjs\u002Fbasic](docs\u002Fv4\u002Flogger.md#default-logger-in-nlpjsbasic)\n  - [Adding your own logger to the container](docs\u002Fv4\u002Flogger.md#adding-your-own-logger-to-the-container)\n- [@nlpjs\u002Femoji](docs\u002Fv4\u002Femoji.md)\n  - [Introduction](docs\u002Fv4\u002Femoji.md#introduction)\n  - [Installing](docs\u002Fv4\u002Femoji.md#installing)\n  - [Example of use](docs\u002Fv4\u002Femoji.md#example-of-use)\n- [@nlpjs\u002Fconsole-connector](docs\u002Fv4\u002Fconsole-connector.md)\n  - [Installation](docs\u002Fv4\u002Fconsole-connector.md#installation)\n  - [Example of use inside NLP.js](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-inside-nlpjs)\n  - [Example of use of the package](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-of-the-package)\n  - [Example of use with @nlpjs\u002Fbasic](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-with-nlpjsbasic)\n- [@nlpjs\u002Fsimilarity](docs\u002Fv4\u002Fsimilarity.md)\n  - [Installation](docs\u002Fv4\u002Fsimilarity.md#installation)\n  - [leven](docs\u002Fv4\u002Fsimilarity.md#leven)\n  - [similarity](docs\u002Fv4\u002Fsimilarity.md#similarity)\n  - [SpellCheck](docs\u002Fv4\u002Fsimilarity.md#spellcheck)\n  - [SpellCheck trained with words trained from a text](docs\u002Fv4\u002Fsimilarity.md#spellcheck-trained-with-words-trained-from-a-text)\n- [@nlpjs\u002Fnlu](docs\u002Fv4\u002Fnlu.md)\n  - [Installation](docs\u002Fv4\u002Fnlu.md#installation)\n  - [NluNeural](docs\u002Fv4\u002Fnlu.md#nluneural)\n  - [DomainManager](docs\u002Fv4\u002Fnlu.md#domainmanager)\n  - [NluManager](docs\u002Fv4\u002Fnlu.md#nlumanager)\n- [React Native](#react-native)\n- [Example of use](#example-of-use)\n- [False Positives](#false-positives)\n- [Log Training Progress](#log-training-progress)\n- [Benchmarking](docs\u002Fv3\u002Fbenchmarking.md)\n- [Language Support](docs\u002Fv4\u002Flanguage-support.md)\n  - [Supported languages](docs\u002Fv4\u002Flanguage-support.md#supported-languages)\n  - [Sentiment Analysis](docs\u002Fv4\u002Flanguage-support.md#sentiment-analysis)\n  - [Comparision with other NLP products](docs\u002Fv4\u002Flanguage-support.md#comparision-with-other-nlp-products)\n  - [Example with several languages](docs\u002Fv4\u002Flanguage-support.md#example-with-several-languages)\n- [Language Guesser](docs\u002Fv3\u002Flanguage-guesser.md)\n- [Similar Search](docs\u002Fv3\u002Fsimilar-search.md)\n- [NLU](docs\u002Fv3\u002Fnlu-manager.md)\n  - [NLU Manager](docs\u002Fv3\u002Fnlu-manager.md)\n  - [Brain NLU](docs\u002Fv3\u002Fbrain-nlu.md)\n  - [Bayes NLU](docs\u002Fv3\u002Fbayes-nlu.md)\n  - [Binary Relevance NLU](docs\u002Fv3\u002Fbinary-relevance-nlu.md)\n  - [Logistic Regression NLU](docs\u002Fv3\u002Flogistic-regression-nlu.md)\n- [NER Manager](docs\u002Fv4\u002Fner-manager.md)\n  - [Enum Named Entities](docs\u002Fv4\u002Fner-manager.md#enum-entities)\n  - [Regular Expression Named Entities](docs\u002Fv4\u002Fner-manager.md#regex-entities)\n  - [Trim Named Entities](docs\u002Fv4\u002Fner-manager.md#trim-entities)\n  - [Utterances with duplicated Entities](docs\u002Fv4\u002Fner-manager.md#enum-entities)\n- [Integration with Duckling](docs\u002Fv3\u002Fbuiltin-duckling.md)\n  - [Language support](docs\u002Fv3\u002Fbuiltin-duckling.md#language-support)\n  - [How to integrate with duckling](docs\u002Fv3\u002Fbuiltin-duckling.md#how-to-integrate-with-duckling)\n  - [Email Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#email-extraction)\n  - [Phone Number Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#phone-number-extraction)\n  - [URL Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#url-extraction)\n  - [Number Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#number-extraction)\n  - [Ordinal Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#ordinal-extraction)\n  - [Dimension Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#dimension-extraction)\n  - [Quantity Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#quantity-extraction)\n  - [Amount of Money Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#amount-of-money-extraction)\n  - [Date Extraction](docs\u002Fv3\u002Fbuiltin-duckling.md#date-extraction)\n- [Builtin Entity Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md)\n  - [Email Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#email-extraction)\n  - [IP Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#ip-extraction)\n  - [Hashtag Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#hashtag-extraction)\n  - [Phone Number Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#phone-number-extraction)\n  - [URL Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#url-extraction)\n  - [Number Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#number-extraction)\n  - [Ordinal Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#ordinal-extraction)\n  - [Percentage Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#percentage-extraction)\n  - [Age Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#age-extraction)\n  - [Currency Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#currency-extraction)\n  - [Date Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#date-extraction)\n  - [Duration Extraction](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#duration-extraction)\n- [Sentiment Analysis](docs\u002Fv3\u002Fsentiment-analysis.md)\n- [NLP Manager](docs\u002Fv4\u002Fnlp-manager.md)\n  - [Load\u002FSave](docs\u002Fv4\u002Fnlp-manager.md#loadsave)\n  - [Import\u002FExport](docs\u002Fv4\u002Fnlp-manager.md#importexport)\n  - [Context](docs\u002Fv4\u002Fnlp-manager.md#context)\n  - [Intent Logic (Actions, Pipelines)](docs\u002Fv4\u002Fnlp-intent-logics.md)\n- [Slot Filling](docs\u002Fv4\u002Fslot-filling.md)\n- [Loading from Excel](docs\u002Fv3\u002Floading-from-excel.md)\n- [Microsoft Bot Framework](docs\u002Fv3\u002Fmicrosoft-bot-framework.md)\n  - [Introduction](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#introduction)\n  - [Example of use](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#example-of-use)\n  - [Recognizer and Slot filling](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#recognizer-and-slot-filling)\n- Languages\n  - [English](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-en\u002FREADME.md)\n  - [Indonesian](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-id\u002FREADME.md)\n  - [Italian](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-it\u002FREADME.md)\n  - [Spanish](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-es\u002FREADME.md)\n- [Contributing](#contributing)\n- [Contributors](#contributors)\n- [Code of Conduct](#code-of-conduct)\n- [Who is behind it](#who-is-behind-it)\n- [License](#license)\n  \u003C!--te-->\n\n## Installation\n\nIf you're looking to use NLP.js in your Node application, you can install via NPM like so:\n\n```bash\n    npm install node-nlp\n```\n\n## React Native\n\nThere is a version of NLP.js that works in React Native, so you can build chatbots that can be trained and executed on the mobile even without the internet. You can install it via NPM:\n\n```bash\n    npm install node-nlp-rn\n```\n\nSome limitations:\n\n- No Chinese\n- The Japanese stemmer is not the complete one\n- No Excel import\n- No loading from a file, or saving to a file, but it can still import from JSON and export to JSON.\n\n## Example of use\n\nYou can see a great example of use in the folder [`\u002Fexamples\u002F02-qna-classic`](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Ftree\u002Fmaster\u002Fexamples\u002F02-qna-classic). This example is able to train the bot and save the model to a file, so when the bot is started again, the model is loaded instead of being trained again.\n\nYou can start to build your NLP from scratch with a few lines:\n\n```javascript\nconst { NlpManager } = require('node-nlp');\n\nconst manager = new NlpManager({ languages: ['en'], forceNER: true });\n\u002F\u002F Adds the utterances and intents for the NLP\nmanager.addDocument('en', 'goodbye for now', 'greetings.bye');\nmanager.addDocument('en', 'bye bye take care', 'greetings.bye');\nmanager.addDocument('en', 'okay see you later', 'greetings.bye');\nmanager.addDocument('en', 'bye for now', 'greetings.bye');\nmanager.addDocument('en', 'i must go', 'greetings.bye');\nmanager.addDocument('en', 'hello', 'greetings.hello');\nmanager.addDocument('en', 'hi', 'greetings.hello');\nmanager.addDocument('en', 'howdy', 'greetings.hello');\n\n\u002F\u002F Train also the NLG\nmanager.addAnswer('en', 'greetings.bye', 'Till next time');\nmanager.addAnswer('en', 'greetings.bye', 'see you soon!');\nmanager.addAnswer('en', 'greetings.hello', 'Hey there!');\nmanager.addAnswer('en', 'greetings.hello', 'Greetings!');\n\n\u002F\u002F Train and save the model.\n(async() => {\n    await manager.train();\n    manager.save();\n    const response = await manager.process('en', 'I should go now');\n    console.log(response);\n})();\n```\n\nThis produces the following result in a console:\n\n```bash\n{ utterance: 'I should go now',\n  locale: 'en',\n  languageGuessed: false,\n  localeIso2: 'en',\n  language: 'English',\n  domain: 'default',\n  classifications:\n   [ { label: 'greetings.bye', value: 0.698219120207268 },\n     { label: 'None', value: 0.30178087979273216 },\n     { label: 'greetings.hello', value: 0 } ],\n  intent: 'greetings.bye',\n  score: 0.698219120207268,\n  entities:\n   [ { start: 12,\n       end: 14,\n       len: 3,\n       accuracy: 0.95,\n       sourceText: 'now',\n       utteranceText: 'now',\n       entity: 'datetime',\n       resolution: [Object] } ],\n  sentiment:\n   { score: 1,\n     comparative: 0.25,\n     vote: 'positive',\n     numWords: 4,\n     numHits: 2,\n     type: 'senticon',\n     language: 'en' },\n  actions: [],\n  srcAnswer: 'Till next time',\n  answer: 'Till next time' }\n```\n\n## False Positives\n\nBy default, the neural network tries to avoid false positives. To achieve that, one of the internal processes is that words never seen by the network are represented as a feature that gives some weight to the `None` intent. So, if you try the previous example with \"_I have to go_\" it will return the `None` intent because 2 of the 4 words have never been seen while training.\nIf you don't want to avoid those false positives, and you feel more comfortable with classifications into the intents that you declare, then you can disable this behavior by setting the `useNoneFeature` to false:\n\n```javascript\nconst manager = new NlpManager({ languages: ['en'], nlu: { useNoneFeature: false } });\n```\n\n## Log Training Progress\n\nYou can also add a log progress, so you can trace what is happening during the training.\nYou can log the progress to the console:\n\n```javascript\nconst nlpManager = new NlpManager({ languages: ['en'], nlu: { log: true } });\n```\n\nOr you can provide your own log function:\n\n```javascript\nconst logfn = (status, time) => console.log(status, time);\nconst nlpManager = new NlpManager({ languages: ['en'], nlu: { log: logfn } });\n```\n\n## Contributing\n\nYou can read the guide for how to contribute at [Contributing](CONTRIBUTING.md).\n\n## Contributors\n\n[![Contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_94af781052cf.png)](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fgraphs\u002Fcontributors)\n\nMade with [contributors-img](https:\u002F\u002Fcontributors-img.firebaseapp.com).\n\n## Code of Conduct\n\nYou can read the Code of Conduct at [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Who is behind it`?`\n\nThis project is developed by AXA Group Operations Spain S.A.\n\nIf you need to contact us, you can do it at the email opensource@axa.com\n\n## License\n\nCopyright (c) AXA Group Operations Spain S.A.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and\u002For sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","![NLPjs logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_2b61844f3d1c.gif)\n\n# NLP.js\n\n[![](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Factions\u002Fworkflows\u002Fnode.js.yml\u002Fbadge.svg?branch=master)](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Factions\u002Fworkflows\u002Fnode.js.yml)\n[![覆盖率状态](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Faxa-group\u002Fnlp.js\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Faxa-group\u002Fnlp.js?branch=master)\n[![NPM 版本](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnode-nlp.svg?style=flat)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnode-nlp)\n[![NPM 下载量](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnode-nlp.svg?style=flat)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnode-nlp)\n[![Sonarcloud 状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![可维护性评级](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![可靠性评级](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n[![安全性评级](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_4ac0c62b2671.png)](https:\u002F\u002Fsonarcloud.io\u002Fdashboard?id=axa-group_nlp.js)\n\n*如果你正在寻找版本 3 的文档，你可以在这里找到* [版本 3](docs\u002Fv3\u002FREADME.md)\n\n\"NLP.js\" 是一个适用于 Node.js 的自然语言通用工具。目前支持：\n\n- 猜测短语的语言\n- 两个字符串之间的快速 _Levenshtein_ 距离（一种衡量字符串差异的算法）\n- 搜索与给定模式具有最小 _Levenshtein_ 距离的最佳子串。\n- 获取多种语言的词干提取器 (stemmers) 和分词器 (tokenizers)。\n- 情感分析 (Sentiment Analysis)，支持否定。\n- 命名实体识别 (Named Entity Recognition) 与管理，支持多语言，并接受相似字符串，因此输入文本无需完全精确。\n- 自然语言处理 (Natural Language Processing) 分类器，用于将话语 (utterance) 分类为意图 (intents)。\n- NLP 管理器：一个能够管理多种语言、每种语言的命名实体、话语和意图以训练分类器的工具，并为给定话语返回实体提取、意图分类和情感分析。此外，它还能维护一个自然语言生成管理器来处理回答。\n- 原生支持 40 种语言，集成 BERT 后支持 104 种语言\n- 任何其它语言都可以通过分词支持，甚至是幻想语言\n\n![Hybrid bot](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_aa3a12bf5f69.gif)\n\n## 版本 4 新功能！\n\n版本 4 与之前的版本有很大不同。在此版本之前，NLP.js 是一个单体库 (monolithic library)。主要变化如下：\n\n- 现在库被拆分为多个小型独立包。\n- 因此每种语言都有其自己的包。\n- 它提供插件系统 (plugin system)，你可以提供自己的插件或替换现有插件。\n- 它为插件、插件设置以及管道 (pipelines) 提供容器系统。\n- 管道是定义插件如何交互的代码。通常是线性的：有一个输入进入插件，然后生成下一个插件的输入。例如，话语的准备（将话语转换为词干特征哈希表 (hashmap) 的过程）现在是一个这样的管道：`normalize -> tokenize -> removeStopwords -> stem -> arrToObj`\n- 有一个简单的管道编译器，但它们也可以使用修改版的 JavaScript 和 Python 构建（编译器也作为插件包含在内，因此可以添加其他语言作为插件）。\n- NLP.js 现在包含连接器 (connectors)，连接器被理解为至少具有 2 个方法：`hear` 和 `say` 的东西。包括的连接器示例：控制台连接器 (Console Connector)、Microsoft Bot Framework 连接器和 Direct Line 离线连接器（后者允许你使用 Microsoft Webchat 构建网络聊天机器人，而无需在 Azure 上部署任何内容）。\n- 一些插件可以按语言注册，因此对于不同的语言会使用不同的插件。此外，一些插件（如自然语言理解 (NLU)）不仅可以按语言注册，还可以按领域 (domain) 注册（一组可以单独训练的意图的功能集合）。\n- 作为按语言\u002F域插件的一个示例，提供了一个 Microsoft LUIS NLU 插件。你可以配置你的聊天机器人对某些语言\u002F域使用 NLP.js 的 NLU，对其他语言\u002F域使用 LUIS。\n- 拥有插件和管道使得仅通过修改配置文件和管道文件即可编写聊天机器人成为可能，而无需修改代码。\n\n### 目录\n\n\u003C!--ts-->\n\n- [安装](#installation)\n- [快速入门](docs\u002Fv4\u002Fquickstart.md)\n  - [安装库](docs\u002Fv4\u002Fquickstart.md#install-the-library)\n  - [创建代码](docs\u002Fv4\u002Fquickstart.md#create-the-code)\n  - [将语料库提取到文件中](docs\u002Fv4\u002Fquickstart.md#extracting-the-corpus-into-a-file)\n  - [将配置提取到文件中](docs\u002Fv4\u002Fquickstart.md#extracting-the-configuration-into-a-file)\n  - [创建您的第一个处理流程](docs\u002Fv4\u002Fquickstart.md#creating-your-first-pipeline)\n  - [控制台连接器](docs\u002Fv4\u002Fquickstart.md#adding-your-first-connector)\n  - [使用处理流程扩展您的机器人](docs\u002Fv4\u002Fquickstart.md#extending-your-bot-with-the-pipeline)\n  - [添加多种语言](docs\u002Fv4\u002Fquickstart.md#adding-multilanguage)\n  - [添加 API 和 Web 聊天](docs\u002Fv4\u002Fquickstart.md#adding-api-and-webchat)\n  - [使用 Microsoft Bot Framework](docs\u002Fv4\u002Fquickstart.md#using-microsoft-bot-framework)\n  - [识别机器人名称和渠道](docs\u002Fv4\u002Fquickstart.md#recognizing-the-bot-name-and-the-channel)\n  - [每个连接器一个机器人](docs\u002Fv4\u002Fquickstart.md#one-bot-per-connector)\n  - [Microsoft Bot Framework 和 Webchat 使用不同端口](docs\u002Fv4\u002Fquickstart.md#different-port-for-microsoft-bot-framework-and-webchat)\n  - [向意图添加逻辑](docs\u002Fv4\u002Fquickstart.md#adding-logic-to-an-intent)\n  - [常见问题解答](docs\u002Fv4\u002Fmini-faq.md)\n- [Web 和 React Native](docs\u002Fv4\u002Fwebandreact.md)\n  - [准备生成打包文件](docs\u002Fv4\u002Fwebandreact.md#preparing-to-generate-a-bundle)\n  - [您的第一个 Web 自然语言处理 (NLP)](docs\u002Fv4\u002Fwebandreact.md#your-first-web-nlp)\n  - [创建可分发版本](docs\u002Fv4\u002Fwebandreact.md#creating-a-distributable-version)\n  - [从 URL 加载语料库](docs\u002Fv4\u002Fwebandreact.md#load-corpus-from-url)\n- [问答 (QnA)](docs\u002Fv4\u002Fqna.md)\n  - [安装库和 QnA 插件](docs\u002Fv4\u002Fqna.md#install-the-library-and-the-qna-plugin)\n  - [训练和测试 QnA 文件](docs\u002Fv4\u002Fqna.md#train-and-test-a-qna-file)\n  - [将配置提取到文件中](docs\u002Fv4\u002Fqna.md#extracting-the-configuration-into-a-file)\n  - [通过 Web 和 API 暴露机器人](docs\u002Fv4\u002Fqna.md#exposing-the-bot-with-a-web-and-api)\n- [命名实体识别 (NER) 快速入门](docs\u002Fv4\u002Fner-quickstart.md)\n  - [安装所需包](docs\u002Fv4\u002Fner-quickstart.md#install-the-needed-packages)\n  - [创建 conf.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-confjson)\n  - [创建 corpus.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-corpusjson)\n  - [创建 heros.json](docs\u002Fv4\u002Fner-quickstart.md#create-the-herosjson)\n  - [创建 index.js](docs\u002Fv4\u002Fner-quickstart.md#create-the-indexjs)\n  - [启动应用程序](docs\u002Fv4\u002Fner-quickstart.md#start-the-application)\n  - [存储的上下文](docs\u002Fv4\u002Fner-quickstart.md#stored-context)\n- [神经网络 (NeuralNetwork)](docs\u002Fv4\u002Fneural.md)\n  - [介绍](docs\u002Fv4\u002Fneural.md#introduction)\n  - [安装](docs\u002Fv4\u002Fneural.md#installing)\n  - [语料库格式](docs\u002Fv4\u002Fneural.md#corpus-format)\n  - [使用示例](docs\u002Fv4\u002Fneural.md#example-of-use)\n  - [导出训练好的模型到 JSON 并导入](docs\u002Fv4\u002Fneural.md#exporting-trained-model-to-json-and-importing)\n  - [选项](docs\u002Fv4\u002Fneural.md#options)\n- [日志记录器 (Logger)](docs\u002Fv4\u002Flogger.md)\n  - [介绍](docs\u002Fv4\u002Flogger.md#introduction)\n  - [@nlpjs\u002Fcore 中的默认日志记录器](docs\u002Fv4\u002Flogger.md#default-logger-in-nlpjscore)\n  - [@nlpjs\u002Fbasic 中的默认日志记录器](docs\u002Fv4\u002Flogger.md#default-logger-in-nlpjsbasic)\n  - [将自定义日志记录器添加到容器](docs\u002Fv4\u002Flogger.md#adding-your-own-logger-to-the-container)\n- [表情符号 (@nlpjs\u002Femoji)](docs\u002Fv4\u002Femoji.md)\n  - [介绍](docs\u002Fv4\u002Femoji.md#introduction)\n  - [安装](docs\u002Fv4\u002Femoji.md#installing)\n  - [使用示例](docs\u002Fv4\u002Femoji.md#example-of-use)\n- [控制台连接器 (@nlpjs\u002Fconsole-connector)](docs\u002Fv4\u002Fconsole-connector.md)\n  - [安装](docs\u002Fv4\u002Fconsole-connector.md#installation)\n  - [在 NLP.js 内部的使用示例](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-inside-nlpjs)\n  - [包的使用示例](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-of-the-package)\n  - [与 @nlpjs\u002Fbasic 配合使用的示例](docs\u002Fv4\u002Fconsole-connector.md#example-of-use-with-nlpjsbasic)\n- [相似度 (@nlpjs\u002Fsimilarity)](docs\u002Fv4\u002Fsimilarity.md)\n  - [安装](docs\u002Fv4\u002Fsimilarity.md#installation)\n  - [编辑距离 (Leven)](docs\u002Fv4\u002Fsimilarity.md#leven)\n  - [相似度计算](docs\u002Fv4\u002Fsimilarity.md#similarity)\n  - [拼写检查 (SpellCheck)](docs\u002Fv4\u002Fsimilarity.md#spellcheck)\n  - [使用文本训练的单词进行训练的拼写检查](docs\u002Fv4\u002Fsimilarity.md#spellcheck-trained-with-words-trained-from-a-text)\n- [自然语言理解 (NLU) (@nlpjs\u002Fnlu)](docs\u002Fv4\u002Fnlu.md)\n  - [安装](docs\u002Fv4\u002Fnlu.md#installation)\n  - [NluNeural](docs\u002Fv4\u002Fnlu.md#nluneural)\n  - [领域管理器 (DomainManager)](docs\u002Fv4\u002Fnlu.md#domainmanager)\n  - [NLU 管理器 (NluManager)](docs\u002Fv4\u002Fnlu.md#nlumanager)\n- [React Native](#react-native)\n- [使用示例](#example-of-use)\n- [假阳性](#false-positives)\n- [记录训练进度](#log-training-progress)\n- [基准测试](docs\u002Fv3\u002Fbenchmarking.md)\n- [语言支持](docs\u002Fv4\u002Flanguage-support.md)\n  - [支持的语言](docs\u002Fv4\u002Flanguage-support.md#supported-languages)\n  - [情感分析](docs\u002Fv4\u002Flanguage-support.md#sentiment-analysis)\n  - [与其他 NLP 产品的比较](docs\u002Fv4\u002Flanguage-support.md#comparision-with-other-nlp-products)\n  - [多语言示例](docs\u002Fv4\u002Flanguage-support.md#example-with-several-languages)\n- [语言猜测器](docs\u002Fv3\u002Flanguage-guesser.md)\n- [相似搜索](docs\u002Fv3\u002Fsimilar-search.md)\n- [自然语言理解 (NLU)](docs\u002Fv3\u002Fnlu-manager.md)\n  - [NLU 管理器](docs\u002Fv3\u002Fnlu-manager.md)\n  - [Brain NLU](docs\u002Fv3\u002Fbrain-nlu.md)\n  - [贝叶斯 NLU](docs\u002Fv3\u002Fbayes-nlu.md)\n  - [二元相关性 NLU](docs\u002Fv3\u002Fbinary-relevance-nlu.md)\n  - [逻辑回归 NLU](docs\u002Fv3\u002Flogistic-regression-nlu.md)\n- [命名实体识别 (NER) 管理器](docs\u002Fv4\u002Fner-manager.md)\n  - [枚举命名实体](docs\u002Fv4\u002Fner-manager.md#enum-entities)\n  - [正则表达式命名实体](docs\u002Fv4\u002Fner-manager.md#regex-entities)\n  - [修剪命名实体](docs\u002Fv4\u002Fner-manager.md#trim-entities)\n  - [包含重复实体的话语](docs\u002Fv4\u002Fner-manager.md#enum-entities)\n- [与 Duckling 集成](docs\u002Fv3\u002Fbuiltin-duckling.md)\n  - [语言支持](docs\u002Fv3\u002Fbuiltin-duckling.md#language-support)\n  - [如何与 Duckling 集成](docs\u002Fv3\u002Fbuiltin-duckling.md#how-to-integrate-with-duckling)\n  - [邮箱提取](docs\u002Fv3\u002Fbuiltin-duckling.md#email-extraction)\n  - [电话号码提取](docs\u002Fv3\u002Fbuiltin-duckling.md#phone-number-extraction)\n  - [URL 提取](docs\u002Fv3\u002Fbuiltin-duckling.md#url-extraction)\n  - [数字提取](docs\u002Fv3\u002Fbuiltin-duckling.md#number-extraction)\n  - [序数词提取](docs\u002Fv3\u002Fbuiltin-duckling.md#ordinal-extraction)\n  - [维度提取](docs\u002Fv3\u002Fbuiltin-duckling.md#dimension-extraction)\n  - [数量提取](docs\u002Fv3\u002Fbuiltin-duckling.md#quantity-extraction)\n  - [金额提取](docs\u002Fv3\u002Fbuiltin-duckling.md#amount-of-money-extraction)\n  - [日期提取](docs\u002Fv3\u002Fbuiltin-duckling.md#date-extraction)\n- [内置实体提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md)\n  - [邮箱提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#email-extraction)\n  - [IP 地址提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#ip-extraction)\n  - [话题标签提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#hashtag-extraction)\n  - [电话号码提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#phone-number-extraction)\n  - [URL 提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#url-extraction)\n  - [数字提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#number-extraction)\n  - [序数词提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#ordinal-extraction)\n  - [百分比提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#percentage-extraction)\n  - [年龄提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#age-extraction)\n  - [货币提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#currency-extraction)\n  - [日期提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#date-extraction)\n  - [时长提取](docs\u002Fv3\u002Fbuiltin-entity-extraction.md#duration-extraction)\n- [情感分析](docs\u002Fv3\u002Fsentiment-analysis.md)\n- [自然语言处理 (NLP) 管理器](docs\u002Fv4\u002Fnlp-manager.md)\n  - [加载\u002F保存](docs\u002Fv4\u002Fnlp-manager.md#loadsave)\n  - [导入\u002F导出](docs\u002Fv4\u002Fnlp-manager.md#importexport)\n  - [上下文](docs\u002Fv4\u002Fnlp-manager.md#context)\n  - [意图逻辑（动作、处理流程）](docs\u002Fv4\u002Fnlp-intent-logics.md)\n- [槽位填充](docs\u002Fv4\u002Fslot-filling.md)\n- [从 Excel 加载](docs\u002Fv3\u002Floading-from-excel.md)\n- [Microsoft Bot Framework](docs\u002Fv3\u002Fmicrosoft-bot-framework.md)\n  - [介绍](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#introduction)\n  - [使用示例](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#example-of-use)\n  - [识别器和槽位填充](docs\u002Fv3\u002Fmicrosoft-bot-framework.md#recognizer-and-slot-filling)\n- [语言]\n  - [英语](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-en\u002FREADME.md)\n  - [印度尼西亚语](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-id\u002FREADME.md)\n  - [意大利语](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-it\u002FREADME.md)\n  - [西班牙语](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fblob\u002Fmaster\u002Fpackages\u002Flang-es\u002FREADME.md)\n- [贡献指南](#contributing)\n- [贡献者](#contributors)\n- [行为准则](#code-of-conduct)\n- [项目幕后人员](#who-is-behind-it)\n- [许可证](#license)\n  \u003C!--te-->\n\n## 安装\n\n如果你想在 Node 应用程序中使用 NLP.js（自然语言处理），可以通过 NPM 如下安装：\n\n```bash\n    npm install node-nlp\n```\n\n## React Native\n\n有一个适用于 React Native 的 NLP.js 版本，因此你可以构建聊天机器人，即使在没有网络的情况下也能在移动设备上训练和执行。你可以通过 NPM 安装它：\n\n```bash\n    npm install node-nlp-rn\n```\n\n一些限制：\n\n- 不支持中文\n- 日语词干提取器不完整\n- 不支持 Excel 导入\n- 不支持从文件加载或保存到文件，但仍可以从 JSON 导入并导出到 JSON。\n\n## 使用示例\n\n你可以在 [`\u002Fexamples\u002F02-qna-classic`](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Ftree\u002Fmaster\u002Fexamples\u002F02-qna-classic) 文件夹中看到一个很好的使用示例。此示例能够训练机器人并将模型保存到文件中，因此当再次启动机器人时，会加载模型而不是重新训练。\n\n你可以用几行代码从头开始构建你的 NLP（自然语言处理）：\n\n```javascript\nconst { NlpManager } = require('node-nlp');\n\nconst manager = new NlpManager({ languages: ['en'], forceNER: true });\n\u002F\u002F Adds the utterances and intents for the NLP\nmanager.addDocument('en', 'goodbye for now', 'greetings.bye');\nmanager.addDocument('en', 'bye bye take care', 'greetings.bye');\nmanager.addDocument('en', 'okay see you later', 'greetings.bye');\nmanager.addDocument('en', 'bye for now', 'greetings.bye');\nmanager.addDocument('en', 'i must go', 'greetings.bye');\nmanager.addDocument('en', 'hello', 'greetings.hello');\nmanager.addDocument('en', 'hi', 'greetings.hello');\nmanager.addDocument('en', 'howdy', 'greetings.hello');\n\n\u002F\u002F Train also the NLG\nmanager.addAnswer('en', 'greetings.bye', 'Till next time');\nmanager.addAnswer('en', 'greetings.bye', 'see you soon!');\nmanager.addAnswer('en', 'greetings.hello', 'Hey there!');\nmanager.addAnswer('en', 'greetings.hello', 'Greetings!');\n\n\u002F\u002F Train and save the model.\n(async() => {\n    await manager.train();\n    manager.save();\n    const response = await manager.process('en', 'I should go now');\n    console.log(response);\n})();\n```\n\n这将在控制台中产生以下结果：\n\n```bash\n{ utterance: 'I should go now',\n  locale: 'en',\n  languageGuessed: false,\n  localeIso2: 'en',\n  language: 'English',\n  domain: 'default',\n  classifications:\n   [ { label: 'greetings.bye', value: 0.698219120207268 },\n     { label: 'None', value: 0.30178087979273216 },\n     { label: 'greetings.hello', value: 0 } ],\n  intent: 'greetings.bye',\n  score: 0.698219120207268,\n  entities:\n   [ { start: 12,\n       end: 14,\n       len: 3,\n       accuracy: 0.95,\n       sourceText: 'now',\n       utteranceText: 'now',\n       entity: 'datetime',\n       resolution: [Object] } ],\n  sentiment:\n   { score: 1,\n     comparative: 0.25,\n     vote: 'positive',\n     numWords: 4,\n     numHits: 2,\n     type: 'senticon',\n     language: 'en' },\n  actions: [],\n  srcAnswer: 'Till next time',\n  answer: 'Till next time' }\n```\n\n## 误报\n\n默认情况下，神经网络试图避免误报。为了实现这一点，其中一个内部过程是将网络从未见过的单词表示为一个特征，该特征给予 `None` 意图一定的权重。因此，如果你尝试之前的示例\"_I have to go_\"，它将返回 `None` 意图，因为在训练过程中 4 个单词中有 2 个从未被见过。\n如果你不想避免这些误报，并且更倾向于将你声明的意图进行分类，那么你可以通过将 `useNoneFeature` 设置为 false 来禁用此行为：\n\n```javascript\nconst manager = new NlpManager({ languages: ['en'], nlu: { useNoneFeature: false } });\n```\n\n## 记录训练进度\n\n你还可以添加日志进度，以便跟踪训练期间发生的事情。\n你可以将进度记录到控制台：\n\n```javascript\nconst nlpManager = new NlpManager({ languages: ['en'], nlu: { log: true } });\n```\n\n或者你可以提供自己的日志函数：\n\n```javascript\nconst logfn = (status, time) => console.log(status, time);\nconst nlpManager = new NlpManager({ languages: ['en'], nlu: { log: logfn } });\n```\n\n## 贡献\n\n你可以在 [贡献指南](CONTRIBUTING.md) 中阅读如何贡献。\n\n## 贡献者\n\n[![Contributors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_readme_94af781052cf.png)](https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fgraphs\u002Fcontributors)\n\n由 [contributors-img](https:\u002F\u002Fcontributors-img.firebaseapp.com) 制作。\n\n## 行为准则\n\n你可以在 [行为准则](CODE_OF_CONDUCT.md) 中阅读相关内容。\n\n## 谁在背后支持？\n\n本项目由 AXA Group Operations Spain S.A. 开发。\n\n如果需要联系我们，可以通过邮箱 opensource@axa.com 联系。\n\n## 许可证\n\n版权所有 (c) AXA Group Operations Spain S.A.\n\n特此免费授予任何获得本软件及其相关文档文件副本（以下简称“软件”）的人不受限制地处理本软件的权利，包括但不限于使用权、复制权、修改权、合并权、出版权、发行权、再许可权和\u002F或出售软件副本的权利，并允许向其提供本软件的人员这样做，但须符合下列条件：\n\n上述版权声明和本许可声明应包含在所有软件副本或重要部分中。\n\n本软件按“原样”提供，不提供任何形式的保证，无论是明示的还是暗示的，包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下，作者或版权持有人均不对因合同、侵权行为或其他原因引起的任何索赔、损害或其他责任负责，无论是在合同诉讼、侵权行为还是其他方面，源于软件的使用或其他方式使用软件。","# nlp.js 快速上手指南\n\n**nlp.js** 是一个基于 Node.js 的通用自然语言处理（NLP）工具库。最新版本（v4）采用模块化设计，支持多语言、情感分析、实体识别及意图分类等功能。\n\n## 1. 环境准备\n\n*   **系统要求**: 推荐使用 Node.js LTS 版本（如 v16 或更高）。\n*   **包管理器**: npm, yarn 或 pnpm。\n*   **网络优化**: 由于依赖包较多，建议配置国内镜像源以加快下载速度。\n\n```bash\nnpm config set registry https:\u002F\u002Fregistry.npmmirror.com\n```\n\n## 2. 安装步骤\n\nnlp.js v4 已拆分为多个独立包。对于快速构建基础聊天机器人，建议安装核心模块：\n\n```bash\nnpm install @nlpjs\u002Fcore @nlpjs\u002Fnlp-manager @nlpjs\u002Fsimilarity @nlpjs\u002Fbasic\n```\n\n如需在浏览器端使用，可参考文档中的 Web 打包指南；若需集成 Microsoft Bot Framework，请额外安装对应连接器。\n\n## 3. 基本使用\n\n以下示例演示如何初始化 NLP Manager，加载语料并识别用户输入。\n\n**创建文件 `index.js`:**\n\n```javascript\nconst { NlpManager } = require('@nlpjs\u002Fnlp-manager');\nconst { Similary } = require('@nlpjs\u002Fsimilarity');\nconst { Basic } = require('@nlpjs\u002Fbasic');\n\nasync function main() {\n  \u002F\u002F 1. 初始化管理器\n  const manager = new NlpManager({ languages: ['zh'] });\n  \n  \u002F\u002F 2. 加载语料数据 (corpus.json)\n  \u002F\u002F 确保目录下存在训练数据文件，格式为 JSON\n  await manager.load('.\u002Fdata\u002Fcorpus.json');\n  \n  \u002F\u002F 3. 训练模型\n  await manager.train();\n  \n  \u002F\u002F 4. 保存模型到磁盘\n  await manager.save();\n  \n  \u002F\u002F 5. 处理用户输入\n  const result = await manager.process('你好，我想查询订单');\n  \n  console.log(result);\n}\n\nmain().catch(console.error);\n```\n\n**运行程序：**\n\n```bash\nnode index.js\n```\n\n**说明：**\n*   **语料准备**: 在使用前需准备 `corpus.json` 文件，包含意图（intents）和对应的例句（utterances）。\n*   **管道系统**: v4 版本引入了 Pipeline 机制，可通过配置文件定义文本预处理流程（如分词、去停用词等），无需修改代码即可调整。\n*   **多语言支持**: 通过 `languages` 参数配置所需语言，默认支持 40+ 种语言。","某跨境电商的技术团队正在构建智能客服系统，旨在自动化处理来自欧美及亚洲市场的订单咨询与售后投诉。\n\n### 没有 nlp.js 时\n- 针对不同语言需单独编写正则匹配逻辑，代码冗余且难以维护更新。\n- 用户口语化表达或拼写错误常导致意图识别失败，机器人频繁答非所问。\n- 缺乏情感感知能力，面对愤怒客户的投诉时无法及时升级至人工服务。\n- 订单号、时间等关键信息提取困难，需大量硬编码逻辑来解析非结构化文本。\n\n### 使用 nlp.js 后\n- nlp.js 原生支持 40 种语言，配合 BERT 模型可覆盖百种语言，统一了多语处理逻辑。\n- 利用自然语言分类器，系统能精准理解“查快递”、“退款”等意图，容错率大幅提升。\n- 集成情感分析模块，自动标记负面评价并触发预警机制，优化客户服务体验。\n- 通过命名实体识别自动抽取订单 ID 和日期，直接对接数据库完成业务闭环。\n\nnlp.js 以模块化架构实现了多语言意图识别与情感分析的无缝集成，极大降低了智能客服的开发门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Faxa-group_nlp.js_2b61844f.gif","axa-group","AXA","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Faxa-group_c3659ed1.png","The AXA Group is a worldwide leader in insurance and asset management, with 154,000 employees serving 95 million clients in 50 countries.",null,"opensource@axa.com","https:\u002F\u002Fwww.axa.com","https:\u002F\u002Fgithub.com\u002Faxa-group",[85,89,93,97],{"name":86,"color":87,"percentage":88},"JavaScript","#f1e05a",99.9,{"name":90,"color":91,"percentage":92},"WebAssembly","#04133b",0.1,{"name":94,"color":95,"percentage":96},"CSS","#663399",0,{"name":98,"color":99,"percentage":96},"HTML","#e34c26",6560,634,"2026-04-05T16:26:24","MIT","未说明",{"notes":106,"python":104,"dependencies":107},"工具基于 Node.js 环境构建，采用模块化架构（如 @nlpjs\u002Fcore, @nlpjs\u002Fnlu 等独立包）。支持插件系统与管道（Pipeline）自定义，无需修改代码即可调整逻辑。BERT 集成支持 104 种语言，但具体硬件资源需求未在文档中详述。",[104],[37,15],[110,111,112,113,114,115,116,117,118,119,120,121,122],"nlp","nlu","nodejs","sentiment-analysis","natural-language-processing","bot","bots","chatbot","conversational-ai","javascript","entity-extraction","classifier","hacktoberfest",4,"2026-03-27T02:49:30.150509","2026-04-06T08:40:54.080087",[127,132,137,142,147,152],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},1940,"使用 findEntities 处理大量实体（如 10000 个）时性能很差，如何优化？","该问题已被维护者解决。在处理大量实体时，添加同义词会显著增加处理时间（例如从 15 秒增加到 40 秒以上）。建议联系维护者获取针对特定场景的优化建议，或检查是否使用了最新版本的库以获取性能修复。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F337",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},1941,"训练大量数据（如 40 万输入）耗时过长怎么办？","维护者指出通常不需要处理过大的单一数据集。建议将大数据集按领域（domains）进行拆分，类似于微软 LUIS（限制约 499 意图）或 DialogFlow（限制 2000 意图）的做法。如果必须处理大量数据，请提供具体数据集以便研究优化方案。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F213",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},1942,"运行 NlpManager.process 时报错‘Cannot destructure property intent...'，如何解决？","这通常是因为定义了多种语言但只提供了部分语言的数据，导致语言检测失败且神经网络未训练。解决方法：1. 初始化 NlpManager 时仅指定实际使用的语言；2. 升级到最新版本（新版本会在没有感知器时返回 { None: 1 } 而不是 undefined）。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F684",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},1943,"如何在语料库文件中正确训练实体和槽位？","直接在语料库中使用 %entity% 标记可能会破坏意图识别。维护者表示已在最近的 PR 中进行了修复并大幅增强了文档支持。建议查阅最新的官方文档或示例代码，以了解语料库中实体标注的正确格式。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F561",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},1944,"nlp.js 是否支持在浏览器环境（如 Angular 应用）中使用？","是的，支持浏览器环境。虽然某些分词工具（如 novel-segment）最初不兼容浏览器，但社区正在讨论使其兼容的方案。维护者确认支持浏览器端使用，建议确认当前版本是否已包含相关的浏览器兼容性修复。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F43",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},1945,"如何检测并处理用户的乱码（gibberish）输入？","这是一个功能需求，维护者建议通过更新库版本来解决。尝试升级到版本 4.19.0 或更高，该版本应包含了对乱码检测问题的修复或支持。","https:\u002F\u002Fgithub.com\u002Faxa-group\u002Fnlp.js\u002Fissues\u002F768",[158,163,168,172,176,180,184,188,192,197,201,205,210,215,219,224,229,233,237,242],{"id":159,"version":160,"summary_zh":161,"released_at":162},111137,"3.10.0","## [3.10.0] - 2019-10-07\r\n### Added\r\n- Traverse for handlebars, so answers now can be arrays or objects\r\n- Automatic stemmer: is able to learn rules from languages without stemmer when the languages are inflected.\r\n- Tests of the automatic stemmer in polish \r\n- Spell checking: now users can write with small typos\r\n- Changelog\r\n- Portuguese sentiment analysis\r\n- Contributor pictures to the readme\r\n- Bengali sentiment analysis\r\n\r\n### Changed\r\n- Faster Levenshtein implementation\r\n- Now the browser version is generated with terser\r\n\r\n### Fixed\r\n- Extended NER to support datetimerange\r\n- Sort classifications in the NER manager\r\n- Use performance.now instead of process.hrtime for browser compatibility\r\n","2019-10-07T20:43:11",{"id":164,"version":165,"summary_zh":166,"released_at":167},111138,"3.9.0","- Integration with duckling\r\n- Ukrainian support\r\n- Update dependencies","2019-09-15T20:36:01",{"id":169,"version":170,"summary_zh":80,"released_at":171},111139,"3.8.0","2019-09-11T22:50:32",{"id":173,"version":174,"summary_zh":80,"released_at":175},111140,"3.7.2","2019-09-11T22:49:59",{"id":177,"version":178,"summary_zh":80,"released_at":179},111141,"3.7.1","2019-09-07T18:55:05",{"id":181,"version":182,"summary_zh":80,"released_at":183},111142,"3.7.0","2019-09-07T18:54:42",{"id":185,"version":186,"summary_zh":80,"released_at":187},111143,"3.5.2","2019-08-20T21:21:52",{"id":189,"version":190,"summary_zh":80,"released_at":191},111144,"3.5.1","2019-08-18T16:42:25",{"id":193,"version":194,"summary_zh":195,"released_at":196},111145,"3.5.0","Support for emojis","2019-08-09T08:13:11",{"id":198,"version":199,"summary_zh":80,"released_at":200},111146,"3.4.0","2019-07-24T15:44:49",{"id":202,"version":203,"summary_zh":80,"released_at":204},111147,"3.2.1","2019-07-16T21:00:57",{"id":206,"version":207,"summary_zh":208,"released_at":209},111148,"3.1.1","Performance, performance, performance","2019-05-06T10:23:41",{"id":211,"version":212,"summary_zh":213,"released_at":214},111149,"3.1.0","- Actions\r\n- Japanese\r\n- Update dependencies\r\n- Tweek hyperparameters for best performance","2019-05-05T20:46:08",{"id":216,"version":217,"summary_zh":80,"released_at":218},111150,"3.0.2","2019-04-22T17:11:10",{"id":220,"version":221,"summary_zh":222,"released_at":223},111151,"3.0.1","The version 3 comes with some important changes, mainly focused on improve performance:\r\n- NlpClassifier no longer exists, in favor of NluManager as the manager of several NLU classes, and is able to manage several languages and several domains inside each language.\r\n- Now by default, each domain of a language has it's own neural network classifier. When a language has more than 1 domain, a master neural network is trained that instead of classifying into the intent, classify into de domain. That way the models are faster to train and have a better score.\r\n- The language guesser is now trained with the trigrams from the utterances used to train. That means that has a best guessing, and also that non-existing languages are guessed (example, klingon).\r\n- Added Tagalog and Galician languages.\r\n- The console-bot example training time in version 2.x in my laptop was 108 seconds, in the version 3.x the training time went down to 3 seconds, so the improvement in performance is notable.\r\n- Also the size of the model.nlp files is decreased, the console-bot example went from 1614KB down to 928KB.\r\n- The browser version has decreased from 5.08MB down to 2.3MB\r\n","2019-04-17T17:22:24",{"id":225,"version":226,"summary_zh":227,"released_at":228},111152,"2.5.2","- When using LRC and Neural, give some different ways to calculate the score, by default average.","2019-03-26T11:52:35",{"id":230,"version":231,"summary_zh":80,"released_at":232},111153,"2.5.1","2019-03-07T13:10:37",{"id":234,"version":235,"summary_zh":80,"released_at":236},111134,"4.14.2","2020-10-20T18:16:39",{"id":238,"version":239,"summary_zh":240,"released_at":241},111135,"3.10.2","- Fix Czech Stemmer","2019-10-30T19:57:40",{"id":243,"version":244,"summary_zh":245,"released_at":246},111136,"3.10.1","- Add spanish corpus for benchmark\r\n- Improves in spanish stemmer\r\n- logic in process actions\r\n- Update docs\r\n- Fix duplicated stem method in several stemmers","2019-10-20T19:16:39"]