揭秘阿里小蜜:基于检索模型和生成模型相结合的聊天引擎 | PaperDaily #25

简介:

面向 open domain 的聊天机器人无论在学术界还是工业界都是个有挑战的课题,目前有两种典型的方法:一是基于检索的模型,二是基于 Seq2Seq 的生成式模型。前者回复答案可控但无法处理长尾问题,后者则难以保证一致性和合理性。

本期推荐的论文笔记来自 PaperWeekly 社区用户 @britin本文结合检索模型和生成模型各自的优势,提出了一种新的融合模型 — AliMe Chat。

阿里小蜜首先采用检索模型从 QA 知识库中找出候选答案集合,然后利用带注意力的 Seq2Seq 模型对候选答案进行排序,如果第一候选的得分超过某个阈值,则作为最终答案输出,否则利用生成模型生成答案。

如果你对本文工作感兴趣,点击底部的阅读原文即可查看原论文。

关于作者:Britin,中科院物理学硕士,研究方向为自然语言处理和计算机视觉。

■ 论文 | AliMe Chat: A Sequence to Sequence and Rerank based Chatbot Engine

■ 链接 | https://www.paperweekly.site/papers/1302

■ 作者 | britin

论文动机

目前商用的 Chatbot 正在大量兴起,这种可以自然语言对话的方式来帮助用户解答问题比传统死板的用户界面要更友好。通常 Chatbot 包括两个部分:IR 模块和生成模块。针对用户的问题,IR 模块从 QA 知识库中检索到对应的答案,生成模块再用预训练好的 Seq2Seq 模型生成最终的答案。

但是已有的系统面临的问题是,对于一些长问句或复杂问句往往无法在 QA 知识库中检索到匹配的条目,并且生成模块也经常生成不匹配或无意义的答案。

本文给出的方法将 IR 和生成模块聚合在一起,用一个 Seq2Seq 模型来对搜索结果做评估,从而达到优化的效果。

模型介绍

整个方案如图所示:

3774a384b2b6dbbb7aa6eb622336341d753fe4ed

首先利用 IR 模型从知识库中检索到 k 个候选 QA 对,再利用 rerank 模型的打分机制计算出每个候选答案和问题的匹配程度。如果得分最高的那个大于预设好的阈值,就将其当作答案,如果小于阈值,就用生成模型生成答案。

整个系统是从单词层面上去分析的。

1. QA知识库

本文从在线的真人用户服务 log 里提取问答对作为 QA 知识库。过滤掉不包含相关关键词的 QA,最后得到 9164834 个问答对。

2. IR模块

利用倒排索引的方法将每个单词隐射到包含这个单词的一组问句中,并且对这些单词的同义词也做了索引,然后利用 BM25 算法来计算搜索到的问句和输入问句的相似度,取最相似问句的答案。

3. 生成模型

生成模型是一个 attentive seq2seq 的结构,如图所示:

c09e8a13f0a9a90f223d2e2055e21680d28f4f1f

采用了一个 GRU,由 question 生成 answer,计算生成单词的概率:

74c34d07083421a0af4c8c81de7a6b1386e2a584

其中加了 context 向量,他是由图中的 α 求得的,α 表示的是当前步的输入单词,和上一步的生成单词之间的匹配度,用了一个 alignment 模型计算。

要注意,对于各个 QA 长度不等的情况,采用了 bucketing 和 padding 机制。另外用了 softmax 来随机采样词汇表中的单词,而不使用整个词汇表,从而加速了训练过程。还是用了 beam search decoder,每次维护 top-k 个输出,来取代一次一个输出的贪心搜索。

4. rerank 模块

使用的模型和上面是一样的,根据输入问题来为候选答案打分,使用平均概率作为评分函数:

d47e75958f6604cf914740c90cbdbbdd66ac1a5a

实验结果

本文对结果做了详细的评估,首先评估了 rerank 模块平均概率的结果。然后分别对 IR,生成,IR+rerank,IR+rerank+ 生成这些不同组合的系统做了性能评测。并对该系统和 baseline 的 Chatbot 做了在线 A/B 测试。最后比较了这个系统和已经上市的 Chatbot 之间的差别。

不同 rerank 模型的效果:

7a8c758c7d108b3e60ce8562c5e5f8822aca4ebc

不同模块组合的结果:

ae77e9752d621314060abe7071bcb3ba0f806713

和 baseline 对比的结果:

95d0f3e553349cbd8fe763081686c24b67278957

文章评价

本文给出了一种 attentive Seq2Seq 的模型来结合 IR 和生成模块,从而对原结果进行 rerank 优化。阿里已经把这个投入了阿里小蜜的商用。

总的系统还是比较简单的,符合商用的需求。但由于函数设计过于简单,不排除是靠数据堆起来的系统,毕竟阿里有大量的真实用户数据,所以算法价值层面比较一般,没有合适的数据恐怕很难达到预期的效果。


原文发布时间为:2017-12-13

本文作者:Britin

本文来自云栖社区合作伙伴“PaperWeekly”,了解相关信息可以关注“PaperWeekly”微信公众号

相关文章
|
1月前
|
存储 算法 搜索推荐
LLM, RAG 背后的支持技术
本文主要说明向量相似性搜索的必要性、经典的ANN算法、当前业界的解决方案,和前沿的ANN算法。
|
4月前
|
存储 自然语言处理 搜索推荐
ChatGPT 文本Embedding融合Qdrant向量数据库:构建智能问答系统的技术探索
向量数据库结合ChatGPT带来了什么 1. **语义搜索:** 使用向量数据库进行语义搜索,可以更准确地找到与查询相关的信息。ChatGPT可以理解用户的自然语言查询,而向量数据库可以根据语义相似性返回匹配的向量数据。 2. **智能推荐:** 结合ChatGPT的智能理解和向量数据库的相似性搜索,可以实现更智能的推荐系统。系统可以根据用户的历史行为和语境,向用户推荐相似的向量数据,如文章、产品或其他内容。 3. **自然语言处理与向量表示结合:** ChatGPT可以将自然语言转换为向量表示,这样就可以在向量数据库中进行更高效的查询。这种集成使得自然语言处理和向量数据库可以相互补充等
357 0
|
5月前
|
SQL 人工智能 分布式计算
基于阿里云PAI平台搭建知识库检索增强的大模型对话系统
基于原始的阿里云计算平台产技文档,搭建一套基于大模型检索增强答疑机器人。本方案已在阿里云线上多个场景落地,将覆盖阿里云官方答疑群聊、研发答疑机器人、钉钉技术服务助手等。线上工单拦截率提升10+%,答疑采纳率70+%,显著提升答疑效率。
|
机器学习/深度学习 自然语言处理 算法
跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA
本⽂简要介绍我们在电商下对CLIP模型的优化,以及上述模型在公开数据集上的评测结果。最后,我们介绍如何在EasyNLP框架中调用上述电商CLIP模型。
|
自然语言处理 BI 数据处理
【数据对比】综合分析百度情感分析以及华为情感分析的差异,我有了如下结果
【数据对比】综合分析百度情感分析以及华为情感分析的差异,我有了如下结果
280 0
|
3月前
|
人工智能 自然语言处理 Cloud Native
向量检索服务在语义检索、知识库搭建、AI多模态搜索等场景中有着广泛的应用
向量检索服务在语义检索、知识库搭建、AI多模态搜索等场景中有着广泛的应用
74 0
|
2月前
|
自然语言处理 搜索推荐 算法
UniMS-RAG:用于个性化对话的统一多源RAG框架
RAG领域已经取得了相当大的发展,这篇论文的是如何分解RAG过程,加入多文件检索、记忆和个人信息等定制化的元素。
118 1
|
3月前
|
Linux 异构计算 Docker
QAnything本地知识库问答系统:基于检索增强生成式应用(RAG)两阶段检索、支持海量数据、跨语种问答
QAnything本地知识库问答系统:基于检索增强生成式应用(RAG)两阶段检索、支持海量数据、跨语种问答
QAnything本地知识库问答系统:基于检索增强生成式应用(RAG)两阶段检索、支持海量数据、跨语种问答
|
3月前
|
人工智能
全方位解析PAI:数据准备、模型开发、模型训练一网打尽
全方位解析PAI:数据准备、模型开发、模型训练一网打尽 随着人工智能技术的飞速发展,越来越多的企业开始关注并投入到AI的研发中。然而,AI的研发并非易事,从数据准备、模型开发、模型训练到模型服务,每一个环节都需要专业的工具和平台来支持。阿里云的PAI(Powered by AI)正是一个涵盖了数据准备、模型开发、模型训练、模型服务全流程的AI工作平台。本文将为您详细介绍PAI的各个子产品的产品线上规格及使用指引。
41 2
|
8月前
|
存储 前端开发 API
使用大型语言模型进行自主视觉信息搜索
在调整大型语言模型(LLM)以适应任务的多模态输入方面取得了很大进展,包括图像标题,可视问答 (VQA)和开放词汇识别.尽管取得了这些成就,但当前最先进的视觉语言模型(VLM)在视觉信息搜索数据集上表现不佳,例如信息搜索和OK-VQA,需要外部知识才能回答问题。
112 0