赞
踩
问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用。
经典应用场景包括:智能语音交互、在线客服、知识获取、情感类聊天等。
常见的分类有:生成型、检索型问答系统;单轮问答、多轮问答系统;面向开放领域、特定领域的问答系统。
本文涉及的主要是在检索型、面向特定领域的问答系统**——智能客服机器人。**
传统客服机器人的搭建流程
通常需要将相关领域的知识(Domain Knowledge),转化为一系列的规则和知识图谱。构建过程中重度依赖“人工”智能,换个场景,换个用户都需要大量的重复劳动。
深度学习-智能问答机器人
深度语言模型会将问题和文档转化为语义向量,从而找到最后的匹配答案。本文借助Google开源的Bert模型结合Faiss开源向量搜索引擎,快速搭建基于语义理解的对话机器人。
案例分享:FAQ问答机器人
FAQ是Frequently Asked Questions的简称。假定我们有一个常见问题和答案的数据库,现在用户提出了一个新问题,能不能自动从常见问题库中抽取出最相关的问题和答案来作答呢?在这个项目中,我们会探索如何构建这样问答机器人。
项目核心技术点:
结合Faiss和bert提供的模型实现了一个中文问答系统。旨在提供一个用Faiss结合各种AI模型实现语义相似度匹配的解决方案。最后通过项目案例实现:文本语义相似度文本检索系统和FAQ问答机器人。
项目实现以一种平台化思路建议系统,是一个通用的解决方案。开发者只需要按照数据规范即可,不需要修改代码就可以运行系统了
对话系统可以根据人的输入自动选择或者生成出相应的回复,来达到帮助人们在特定领域或者开放域解决一定的问题。(最后,通过医疗数据提供FAQ智能问答: aiwen2100)
用户希望得到某个问题的答案,机器人回复来自于特定知识库,以特定的回复回答用户
用户希望完成特定任务,机器人通过语义执行后台已对接能力,帮用户完成指定任务
用户没有明确目的,机器人回复也没有标准答案,以趣味性的回复回答用户
基于检索的模型不会产生新的文字,只能从预先定义的“回答集”中挑选出一个较为合适的回答。
检索式对话系统不会产生新的回复,其能够回复类型与内容都由语料库所决定。一旦用户的问话超脱了语料库的范围,那么对话系统将无法准确回答用户。
相对严谨可靠,可控性强,不会回复令人厌恶或违法法规的文本。
一般处理流程:
1.问答对数据集的清洗
2.Embedding(tfidf,word2ec,doc2vec,elmo,bert…)
3.模型训练
4.计算文本相似度
5.在问答库中选出与输入问题相似度最高的问题
6.返回相似度最高的问题所对应的答案
基于自然语言理解生成式对话策略:即通过机器学习算法构建深层语义模型,结合句词分析
等统计规律提取特征,让模型从大量的已有对话中学习对话规则,利用训练好的模型预测结果。
评估问题,需要依赖人工评定;生成内容,控制不好会回复令人厌恶或违反法规的文本。
智能对话,回复内容丰富。
任务型对话的最终目标是完成指定任务,比如小度智能音箱,需要在每一轮对话都采取合适的决策,保证自己执行正确的指令(即识别出用户的正确意图)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r5W9MrmV-1606198473806)(https://uploader.shimo.im/f/iOwhzmol8N1oJdI5.png!thumbnail)]
多轮对话是一种在人机对话中初步明确用户意图之后,获取必要信息以最终得到明确用户指令的方式。
这里介绍一种对话管理的一种方式:Frame-Based Dialogue Control,预先指定了一张表格 (Frame),聊天机器人的目标就是把这张表格填满。
通过一个实际场景的案例来解释上述实现具体执行过程:
我:『去北京大兴机场多少钱』
意图:行程花费计算
槽位:【起始地:当前位置;目的地:北京大兴机场;使用货币:???】)
智能客服:『您好,请问是使用人民币吗』
我:『是的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。