摘要

阿里小蜜是开放域的问答系统,是检索式问答系统和生成式问答系统的结合体。

框架

直接上流程图,比较清晰

用户输入一个问题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论文笔记相关推荐

  1. 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. ...

  2. Attentive Sequence to Sequence Networks

    转载自  Attentive Sequence to Sequence Networks Attentive Sequence to Sequence Networks 1.Encoder-Decod ...

  3. NLP经典论文:Sequence to Sequence、Encoder-Decoder 、GRU 笔记

    NLP经典论文:Sequence to Sequence.Encoder-Decoder.GRU 笔记 论文 介绍 特点 模型结构 整体结构 输入 输出 整体流程 流程维度 GRU 模型结构 GRU单 ...

  4. Towards Two-Dimensional Sequence to Sequence Model和Two-Way Neural Machine Translation两篇论文简单分析

    第一篇是:发布于2018年Towards Two-Dimensional Sequence to Sequence Model in NeuralMachine Translation 第二篇是:与第 ...

  5. 《Sequence to Sequence Learning with Neural Networks》阅读笔记

    Abstract DNNs 可用于各种复杂的学习任务并取得很好的效果,但是 DNNs 不能用于序列到序列的映射.这篇论文提出了一种端到端(end-to-end)的神经网络模型,来学习这种映射关系.作者 ...

  6. Sequence to Sequence Learning with Neural Networks论文翻译

    Sequence to Sequence Learningwith Neural Networks论文翻译 摘要 深度神经网络是在困难的学习任务中取得卓越性能的强大模型.尽管拥有大量的标记训练集,DN ...

  7. oracle复制sequence,oracle sequence语句重置方介绍

    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 DECL ...

  8. 【论文笔记】Towards Universal Sequence Representation Learning for Recommender Systems

    论文详细信息 题目:Towards Universal Sequence Representation Learning for Recommender Systems 作者:Yupeng Hou a ...

  9. 【论文笔记】GeDi:Generative Discriminator Guided Sequence Generation

    GeDi: Generative Discriminator Guided Sequence Generation 文章目录 GeDi: Generative Discriminator Guided ...

最新文章

  1. R语言ggplot2可视化柱状图(条形图)可视化中保留没有用到的因子水平(占位保留)
  2. python常用内置模块-Python常用内置模块之xml模块(详解)
  3. PF_PACKET和AF_PACKET
  4. libpcap 源代码分析(二)
  5. 如果在安装32位oracle 客户端组件时的情况下以64位模式运行,将出现问题
  6. 指令集及流水线基本概念
  7. flowable背压 取消_使用Flowable.generate()生成可感知背压的流– RxJava常见问题解答...
  8. Charles使用备注[1]
  9. Linux音频驱动-IIS总线标准
  10. php卡盟主站_《卡盟源码秒卡购》运营级别卡盟系统源码支持API站对接站[带有SUP+商户+支持秒搭建主站]...
  11. android热修复原理总结
  12. 北风:头条号自媒体平台怎么运营赚钱?
  13. 图片下载_二维码生成
  14. 正太分布函数和反函数 标量值函数 (借鉴)
  15. 揭秘分享 | 汽车金融细分风控场景和反欺诈策略
  16. html消除行间距,HTML:如何从PRE标记中删除行间距
  17. php写后台轮播图,dedecms图片相关问题—后台上传图片实现图片轮播
  18. 解决执行`sudo apt-get install`命令出现`Could not get lock`错误
  19. win10访问共享文件夹提示:引用的账户当前已锁定,且当前可能无法登陆
  20. YOLOv3训练自己的数据集

热门文章

  1. 少年之文明与国之文明——---从奥运会看国人素质之飞跃
  2. 【历史上的今天】11 月 25 日:P2P 鼻祖 Napster 被收购;机械计算器之父诞生;高春辉的个人网站
  3. myeclipse 6.5 注册码 myeclipse 6.0 注册码
  4. 【毕设】基于HTML的零食商城网站大前端开发设计(含文档)
  5. 清空KindEditor编辑器内容
  6. ARM Cortex M3M4处理器复位流程
  7. ffmpeg安装教程(支持10bit编码)
  8. 杰理AC692X---AD按键介绍
  9. (一)大数据学习引言——大数据概述
  10. 一文详解 URLEncode