seq搜索引擎优化至少包括那几步?(面向opendomain的聊天机器人)
优采云 发布时间: 2021-11-18 19:12seq搜索引擎优化至少包括那几步?(面向opendomain的聊天机器人)
面向开放领域的聊天机器人在学术界和工业界都是一个具有挑战性的话题。目前有两种典型的方法:一种是基于检索的模型,另一种是基于Seq2Seq的生成模型。前者以可控的答案回应,但无法处理长尾问题,而后者无法保证一致性和合理性。
本期推荐的纸质笔记来自PaperWeekly社区用户@britin。本文结合检索模型和生成模型各自的优点,提出了一种新的融合模型——AliMe Chat。
阿里小米首先使用检索模型从QA知识库中寻找候选答案集合,然后使用attention-focused Seq2Seq模型对候选答案进行排序。如果第一个候选的分数超过某个阈值,则将其作为最终答案输出,否则使用生成模型生成答案。
作者简介:英国人,中国科学院物理学硕士,研究兴趣为自然语言处理和计算机视觉。
■纸| AliMe Chat:基于序列到排序和重新排名的聊天机器人引擎
■ 链接 |
■ 作者 | 英国人
论文动机
目前,商业聊天机器人正在大量涌现。这种帮助用户回答问题的自然语言对话方式比传统死板的用户界面更加友好。通常Chatbot由两部分组成:IR模块和生成模块。针对用户的问题,IR模块从QA知识库中检索对应的答案,生成模块使用预先训练好的Seq2Seq模型生成最终答案。
然而,现有系统的问题在于,对于一些较长的问题或复杂的问题,在 QA 知识库中无法检索到匹配项,并且生成模块经常生成不匹配或无意义的答案。
本文给出的方法聚合了IR和生成模块,并使用Seq2Seq模型对搜索结果进行评估,从而达到优化效果。
型号介绍
整个方案如图所示:
首先使用IR模型从知识库中检索k个候选QA对,然后使用rerank模型的评分机制计算每个候选答案与问题的匹配程度。如果得分最高的大于预设阈值,则将其作为答案,如果小于阈值,则由生成模型生成答案。
整个系统是从单词层面来分析的。
1. QA 知识库
本文从在线直播用户服务日志中提取QA对作为QA知识库。过滤掉不收录相关关键词的QA,最终得到9,164834个问答对。
2. 红外模块
使用倒排索引法将每个词推断为收录该词的一组问题,并索引这些词的同义词,然后使用BM25算法计算搜索到的问题和输入问题的相似度,取最相似的答案题。
3. 生成模型
生成模型是一个细心的seq2seq结构,如图:
GRU 用于从问题中生成答案并计算生成单词的概率:
添加上下文向量,由图中的α得到。α 表示当前步骤的输入词与上一步生成的词的匹配度,由对齐模型计算得到。
需要注意的是,当每个QA的长度不等时,使用bucketing和padding机制。另外,使用softmax对词汇表中的单词进行随机采样,而不是使用整个词汇表,从而加快了训练过程。波束搜索*敏*感*词*仍然用于一次维护前 k 个输出,而不是一次贪婪地搜索一个输出。
4.重新排名模块
使用的模型与上述相同。根据输入的问题对候选答案进行评分,以平均概率作为评分函数:
实验结果
本文对结果进行了详细的评估,首先评估rerank模块的平均概率的结果。然后,对IR、生成、IR+rerank、IR+rerank+生成的不同组合的系统进行性能评估。并对系统和基线聊天机器人进行了在线 A/B 测试。最后比较了这个系统和已经上架的Chatbot的区别。
不同重排模型的效果:
不同模块组合的结果:
与基线比较的结果:
文章评价
本文提出了一个细心的 Seq2Seq 模型,将 IR 和生成模块结合起来,对原创结果进行重新排序和优化。阿里已将此纳入阿里小米的商业用途。
整个系统比较简单,满足商业需求。但由于功能设计过于简单,不排除系统被数据堆砌。毕竟阿里有大量的真实用户数据,所以算法的价值还是比较一般的。如果没有合适的数据,可能很难达到预期的结果。