https://v.qq.com/x/page/z0549hgvx7i.html
Chatbots简史三个火枪手:三个Bot框架IR-Bot:智能检索机器人
智能检索的框架和搜索引擎差不多。第一步的问题分析包括了实体识别、问题分类、指代消解、关系抽取和情感分析。
第一步完成后进行检索,将对应的问题检索到库里的相关问题。这里最传统的方式就是用词,如果一个词在用户问题和库里的问题都出现过,我认为它们是相关的。更复杂的可以用词向量做检索。检索就是把库里和用户问题相关的对应问题或答案检索出来。很多时候会用到和领域、所在应用相关的知识库或知识图谱,这个会在问题分析和检索里做对应。
检索出来的候选级会进行排序,排序最简单的是TF-IDF。现在有更多的技术,比如基于排序方式还有LtR以及深度学习的CNN/RNN相关。
最后排序完给出的就是最终答案。
基于CNN/RNN,把一个问题或答案变成一种向量化的表示。上图中左边框架是把CNN用到一个句子上,将句子变成一个向量的表达。这样理论上来说可以做到词之间的长效关系。
在获得问题和答案的向量代表之后,我们可以用其它的框架进行匹配。例如上图中右边的框架,X是问题,Y是答案。通过CNN的抽取得到两个向量,再把它变成相似度的分数计算,最后如果分数高,我们认为这两个是比较匹配的。
检索问题和问题间的相关性。上图左边框架中,两个问题都做词向量,然后判断它们的相似性。右边框架相对复杂一些,可以判断两个向量的距离以及它们之间的点击。
这些是问题和问题或问题和答案之间匹配的常用框架,在这一块深度学习已经做得比较成熟。
Task-Bot:任务对话机器人
做多人对话或者任务型多人对话常用的对话叫做任务型机器人,全称是基于任务导向的机器人。
基于任务导向的常用框架第一部分,用户输入后会进入理解模块。理解模块里主要包括语音识别和语言理解。语音识别是把用户的语音识别成文字,语言理解是把语音识别出来的自然语言解析成结构化数据。
语言理解的结果会输出到对话理解模块,对话理解模块里包含了对话状态追踪和策略优化两个模块。
因为任务型的这套框架主要是做多人对话,所以多人对话的时候我们需要记住用户在前几轮说的话或者系统前几轮给的回答,对话状态追踪做的就是把用户和系统历史上的交互相关信息记录下来。
策略优化是根据当前所处的状态去给出系统应该怎样回答用户最近一次提问的方法。策略优化的输出就是一个结构化的表示。对话状态应该包含持续对话所需要的各种信息,依据系统最新的系统和用户动作,更新对话状态。
产生模块中有语言产生和语音合成。语言产生是把结构化的信息翻译成自然语言,返回给用户的是一种容易理解的东西。语言合成是把文字合成为语音。
从去年开始到现在,已经出现其它很多端到端的框架。这些就是常用的基于多元对话的任务型技术框架。
Chitchat-Bot:开域闲聊机器人
开域闲聊机器人在深度学习中发展最快的方向,常用的框架就是翻译模型。
但是直接把翻译模型放进来以后并没有想象中那么好,最大的问题是它容易产生安全的答案。
目标函数中有三个考虑:
对话容易继续进行,降低“我不知道”这类答案的可能性。
带来新的信息,让产生的答复与之前的不同。
语义要连贯。加入互信息:同时考虑从answer到question的概率。
还有其它的因素就是要小心数据训练,以及如何引入上下文信息、如何加入外部信息、如何产生个性化答复。
总结:三个Bot框架
如果IR-Bot的成熟度有五分,那么Task-Bot的成熟度就是三分,Chitchat-Bot的成熟度只有一分。
IR-Bot基于检索/排序的流程,历史悠久,技术成熟。引入深度学习,计入长效依赖,生成更好的语句表达。
Task-Bot是一个适合去做解决任务型的框架,它强调的是多轮问答的逻辑。
Chitchat-Bot是一个新的领域,是深度学习在NLP的新舞台。它目前的完善度还很低,还有很长的路要走。但它的发展也是很快的,每年都有非常多的论文在开域聊天这块发表出来。
爱因互动EIN+:深度定制对话服务
爱因互动EIN+是一个为其它企业提供人工智能对话解决方案的小型创业公司,把对话作为一种服务输出。
Bot应用场景
有清晰的知识结构和边界。
应用场景是一个非标准化服务,信息不对称。
能够通过数据积累提升服务质量。
能够建立知识和技术壁垒。
对话作为粘合剂,连接用户和对应的产品,提高用户到产品的转化率。
爱因互动:API in,API out
爱因互动合作模式基本都是API的方式。合作方只需提供原始数据,我们会建立对应的知识库和问答语料,再把它放入EinBot算法的后台框架里,最后生成对应的系统API,合作方只要调用我们的API就可以了。
各路API快速对接
爱因互动提供了很多API的方式,比如Ein API、Wechat、BearyChat以及其它的。只要合作方有一定的开发能力,只要一周左右就能上线一个可用的聊天机器人。
启示
如果无法理解问题,那就尽可能给出正确答案。如果可以识别出焦点词,就能获得更为人性化的答案;定型词则是依据给定的一段话,回答对应的提问。
根据不同的问题使用不同的方法。
合作方式总结
快速部署,深度定制。持续迭代,价值优先。
总结:一个崭新的世界趋势
现在智能设备越来越多,从人迁就机器变为了机器迁就人。GUI的发展非常高效,但是给我们带来的孤独感也很强。CUI能否为我们带回幸福感,还是一个需要探索的话题。
对话交互的价值:在哪儿/在那儿
对话交互目前还处于行业早期阶段,除了技术比较成熟,还有很多不成熟的方面,它的价值还有待验证。
现在的技术有限,需要界定合理的需求,降低合作方的相关需求。
对话设计要更优雅地达到目的。
我们希望在现在的基础上做能做且有价值的事,努力把不能做的变成可做的。