常见问题解答 聊天机器人
自动获得答案真是太神奇了!它是真正的人工智能(还记得图灵测试吗?)
该项目是一个基于简单问答(原子查询)的聊天机器人框架。使用基于不同向量化器的相似性来找到匹配的问题,然后用相应的答案进行响应。
应用范围:
- 处理日常查询的巨大需求
- 秤(杠杆、自动化、被动)
- 白话聊天机器人没有太多工作(服务人类)
笔记:
- 该聊天机器人首先基于类别分类,然后基于所选类别内的相似性。
- 与流行的开源聊天机器人框架 Rasa 不同,Rasa 的 NLU 基于意图和实体,而对话管理基于序列/LSTM 预测。
- 从概念上讲,它类似于 Microsoft 的 QnA Maker。但最大的区别在于,如果你获得整个 github 代码库,你的模型将是本地的。服务器上什么都没有。因此,更好的安全性尤其适用于人力资源或财务等敏感数据聊天机器人。
版权所有 (C) 2019 Yogesh H Kulkarni
待办事项
- 通过 HuggingFace 或 Spacy 实现句子嵌入
- 使用可切换嵌入构建完整的常见问题解答聊天机器人平台
- 【新增】LangChain + Vector Db(如GPT-Index或Pinecone(云))可用于执行FAQ
它的工作原理:
- 您以 csv(逗号分隔文件)的形式提供常见问题解答,每行都有问题-答案类别(例如“牙膏的 GST 税率是多少?,12,费率”)
- 问题与分类器模型一起进行矢量化并准备好进行匹配 [X=向量(问题),y=类]
- 一旦用户查询到来,它的“类”就会使用分类器模型进行预测,并且在类内,矢量化查询将与现有的矢量化问题进行匹配。
- 无论哪个最相似,它的答案都会呈现给用户。
脚本:
- app.py:使用 Flask 构建的聊天机器人 UI,使用 templates/*.html
- bankfaqs.py:聊天机器人核心逻辑以及知识库。
其他数据:
- 常见问题解答:包含问题和答案的 csv 文件
- 静态和模板:Flask UI 相关文件
运行:
- 执行app.py
- 在浏览器中打开http://127.0.0.1:8080/
- 开始聊天
依赖项:
- 需要 Python 3.6、numpy、scipy、sklearn
参考
- Bhavani Ravi 的事件机器人代码,Youtube 视频
- 银行常见问题机器人代码
免责声明: