AliMe Chat: A Sequence to Sequence and Rerank based Chatbot Engine论文笔记
摘要
阿里小蜜是开放域的问答系统,是检索式问答系统和生成式问答系统的结合体。
框架
直接上流程图,比较清晰
用户输入一个问题q,先采用IR(Information Retrieval)模型检索出一些数据库中的QA对作为候选,然后采用attentive Seq2Seq模型对上述检索出的候选答案进行重新排序,如果排名第一的候选答案的得分高于某个阈值,将此答案作为标准答案输出,否则输出基于attentive Seq2Seq模型生产的答案。
此框架包含三个模型:1)IR模型;2)生成式模型; 3)重排模型(对候选答案进行重排)
模块讲解
IR模型
采用的算法为BM25,主要是计算用户问题和语料库中问题的相似度,将最相似k个(论文中k=10)QA对作为候选集。在采用BM25之前,对语料库中的所有问题进行分词(不做word embedding),然后通过将每个次映射到包含该词的方式对所有问题建立倒序索引(原文:we build an inverted index for the set of all 9,164,834 questions by mapping each word to a set of questions that contain that word,PS:具体做法和这么做得目的我还没想清楚,希望知道的留下自己的idea);对于用户的问题,进行分词、去停用词、利用近义词扩展相关性,然后采用BM25算法找回k个最相似的QA对。
生成式模型
采用的是 attentive Seq2Seq框架。假设,在位置i产生词yi的概率为
其中f为计算概率的非线性函数,si-1为输出位置i-1处的隐含层状态,ci为取决于的上下文向量,为输入序列的隐含层状态,,,下图所示为i=3,m=4时的情况
循环网络单元选用的是GRU,输入数据处理采用Bucketing和pading,定义五个(5,5)(5,10)(10,15)(20,30)(45,60)五个buckets,假如问题为4个词,答案为8个词,要采用(5,10),即通过添加“_PAD”符号,将问题扩展为5个词,将答案扩展为10个词放到Attentive Seq2Seq中处理
Attentive Seq2Seq的输出采用Beam search,每time step包含top-k(k=10)
重排模型
还是采用Attentive Seq2Seq模型,采用平均概率作为得分如下,将每个候选答案当作词序列
实验
实验就不细讲了,比较简单,无非就是以某些标准和现有的chatbot进行pk然后赢了的故事,直接上一张图
AliMe Chat: A Sequence to Sequence and Rerank based Chatbot Engine论文笔记相关推荐
- AliMe Assist: An Intelligent Assistant for Creating an Innovative E-commerce Experience论文笔记
ABSTRACT KEYWORDS 1 INTRODUCTION 2 SYSTEM OVERVIEW 3 SYSTEM FEATURES 3.1 Intention Identification 3. ...
- Attentive Sequence to Sequence Networks
转载自 Attentive Sequence to Sequence Networks Attentive Sequence to Sequence Networks 1.Encoder-Decod ...
- NLP经典论文:Sequence to Sequence、Encoder-Decoder 、GRU 笔记
NLP经典论文:Sequence to Sequence.Encoder-Decoder.GRU 笔记 论文 介绍 特点 模型结构 整体结构 输入 输出 整体流程 流程维度 GRU 模型结构 GRU单 ...
- Towards Two-Dimensional Sequence to Sequence Model和Two-Way Neural Machine Translation两篇论文简单分析
第一篇是:发布于2018年Towards Two-Dimensional Sequence to Sequence Model in NeuralMachine Translation 第二篇是:与第 ...
- 《Sequence to Sequence Learning with Neural Networks》阅读笔记
Abstract DNNs 可用于各种复杂的学习任务并取得很好的效果,但是 DNNs 不能用于序列到序列的映射.这篇论文提出了一种端到端(end-to-end)的神经网络模型,来学习这种映射关系.作者 ...
- Sequence to Sequence Learning with Neural Networks论文翻译
Sequence to Sequence Learningwith Neural Networks论文翻译 摘要 深度神经网络是在困难的学习任务中取得卓越性能的强大模型.尽管拥有大量的标记训练集,DN ...
- oracle复制sequence,oracle sequence语句重置方介绍
在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 DECL ...
- 【论文笔记】Towards Universal Sequence Representation Learning for Recommender Systems
论文详细信息 题目:Towards Universal Sequence Representation Learning for Recommender Systems 作者:Yupeng Hou a ...
- 【论文笔记】GeDi:Generative Discriminator Guided Sequence Generation
GeDi: Generative Discriminator Guided Sequence Generation 文章目录 GeDi: Generative Discriminator Guided ...
最新文章
- R语言ggplot2可视化柱状图(条形图)可视化中保留没有用到的因子水平(占位保留)
- python常用内置模块-Python常用内置模块之xml模块(详解)
- PF_PACKET和AF_PACKET
- libpcap 源代码分析(二)
- 如果在安装32位oracle 客户端组件时的情况下以64位模式运行,将出现问题
- 指令集及流水线基本概念
- flowable背压 取消_使用Flowable.generate()生成可感知背压的流– RxJava常见问题解答...
- Charles使用备注[1]
- Linux音频驱动-IIS总线标准
- php卡盟主站_《卡盟源码秒卡购》运营级别卡盟系统源码支持API站对接站[带有SUP+商户+支持秒搭建主站]...
- android热修复原理总结
- 北风:头条号自媒体平台怎么运营赚钱?
- 图片下载_二维码生成
- 正太分布函数和反函数 标量值函数 (借鉴)
- 揭秘分享 | 汽车金融细分风控场景和反欺诈策略
- html消除行间距,HTML:如何从PRE标记中删除行间距
- php写后台轮播图,dedecms图片相关问题—后台上传图片实现图片轮播
- 解决执行`sudo apt-get install`命令出现`Could not get lock`错误
- win10访问共享文件夹提示:引用的账户当前已锁定,且当前可能无法登陆
- YOLOv3训练自己的数据集