Chatbot NER 是一个定制的开源框架,用于支持文本消息中的实体识别。在对现有 NER 系统进行深入研究后,Haptik 团队强烈需要构建一个专为对话式 AI 量身定制并支持印度语言的框架。目前Chatbot-ner支持英语、印地语、古吉拉特语、马拉地语、孟加拉语和泰米尔语及其代码混合形式。目前,该框架使用常见模式以及少量 NLP 技术从稀疏数据的语言中提取必要的实体。 Chatbot ner的API结构在设计时考虑到对话式AI应用程序的可用性。 Haptik 团队正在不断努力将该框架移植到所有印度语言及其各自的当地方言。
有关如何使用 docker 在系统上设置 Chatbot NER 的详细文档,请参阅此处。
实体类型 | 代码参考 | 描述 | 例子 | 支持的语言 - ISO 639-1代码 |
---|---|---|---|---|
时间 | 时间检测器 | 从给定文本中检测时间。 | 明天早上 5 点,कल सुबह ५ बजे,kal subah 5 baje | 'en'、'嗨'、'gu'、'bn'、'先生'、'ta' |
日期 | 日期高级探测器 | 从给定文本中检测日期 | 下周一,agle somvar,अगलेसोमवार | 'en'、'嗨'、'gu'、'bn'、'先生'、'ta' |
数字 | 数字检测器 | 检测给定文本中的数字和各自单位 | 每人 50 卢比,५ किलो चावल, मुझे एक लीटर ऑइल चाहिए | 'en'、'嗨'、'gu'、'bn'、'先生'、'ta' |
电话号码 | 电话探测器 | 检测给定文本中的电话号码 | 9833530536, +91 9833530536, 电话 | 'en'、'嗨'、'gu'、'bn'、'先生'、'ta' |
电子邮件 | 电子邮件检测器 | 检测文本中的电子邮件 | 你好@haptik.co | '恩' |
文本 | 文本检测器 | 使用数据存储中的全文搜索或基于上下文模型检测文本字符串中的自定义实体 | 给我订一份披萨, मुंबईमेंमौसमकैसाहै | 支持搜索“en”、“hi”、“gu”、“bn”、“mr”、“ta”,仅支持“en”的上下文模型 |
订座记录 | PNR检测器 | 检测给定文本中的 PNR(序列号)代码。 | 我的航班 PNR 是 4SGX3E | '恩' |
正则表达式 | 正则表达式检测器 | 使用自定义正则表达式模式检测实体 | 我的航班 PNR 是 4SGX3E | 不适用 |
还有其他自定义检测器,例如城市、预算购物尺寸,这些检测器源自上述主要检测器,但目前仅支持英语,并且仅限印度用户。我们目前正在重组它们,以跨语言和地域扩展它们,它们当前的版本将来可能会被弃用。因此,对于已经投入生产的应用,我们建议您仅使用上表中提到的主探测器。
此处提供了所有实体类型的 API 的详细文档。当前的 API 结构是为了方便从对话式 AI 应用程序访问它而构建的。然而,它也可以用于其他应用程序。
在任何会话式人工智能应用程序中,都需要识别多个实体,并且一个实体的检测逻辑可能与其他实体不同。我们组织了这个存储库,如下所示
我们将实体分为四种主要类型,即数字、模式、时间和文本。
numeric:该类型将包含所有处理数字的实体。例如数量检测、预算检测、尺寸检测等。
模式:这将包含可以使用模式或正则表达式进行识别的所有检测逻辑。例如,电子邮件、电话号码、pnr 等。
时间:它将包含用于检测时间和日期的检测逻辑。
文本:它通过查看字典来识别实体。该检测主要包含文本(如美食、菜肴、餐馆等)、城市名称、用户位置等的检测。
数字、时间和模式已移至 ner_v2,以实现语言可移植性和更灵活的检测逻辑。在ner_v1中,目前只有文本实体具有语言支持。我们将把它转移到 ner_v2,而不进行任何重大的 API 更改。
目前,您可以通过添加训练数据或以正则表达式的形式贡献检测模式,为 Chatbot NER 中的 ner_v2 做出贡献。我们将致力于消除一些架构限制,这将简化未来添加机器学习模型和新实体的过程。
请参阅此处提到的贡献、批准和编码指南的一般步骤。