检索问答模型

作者: hiyoung | 来源:发表于2018-11-09 16:31 被阅读4次

前言

检索回答系统一般过程:1)构建好候选回答索引集,2)收到quary后,初步选出一些候选回答,3)quary和回答做matching,然后reranking,4)最后返回topk个回答.

排序reranking根据不同任务类型有不同方法.

matching操作有如下模型使用:

单轮问答

1. DSSM( Deep Structured Semantic Models ) 深度结构语义模型

DSSM结构图

原理:将quary和document(使用document的标题)转换成bow向量形式,然后通过word hash变换得到低维向量,喂给MLP后得到的向量就代表quary和document的语义向量,然后计算两个向量的相似度,最后一层使用softmax做归一化计算概率,说白了就是用神界网络得到quary和document的表示向量,然后计算相似度.(相当于阿里小蜜比赛用的模型).

2. CLSM(convolutional latent semantic model) 卷积潜在语义模型

CLSM结构图

原理:为了改进DSSM输入向量没有词序特征这一问题,CLSM的输入使用了n-gram,然后对n-gram后的bow做hashword降维操作,得到 letter-trigram 向量形式,然后使用卷积+maxpool+tanh将 letter-trigram 转变为一维固定维度的向量,表示该文本的语义向量.(个人感觉跟TextCNN的原理相同,TextCNN是使用n-gram size的卷积,这里是先取n-gram,然后在对各个 letter-trigram做卷积)

3. DeepMatch 深度匹配A Deep Architecture for Matching Short Texts

DeepMatch结构图

通过使用LDA模型查看两个文本的共现情况,从而得出两个文本的匹配score.用于短文本匹配.

4. An Information Retrieval Approach to Short Text Conversation

用于短文本匹配或者检索系统,通过多特征进行matching,常用的特征如下:

1)Query-ResponseSimilarity;2)Query-Post Similarity;3)Query-Response Matching in Latent Space;4)Translation-based Language Model;5)Deep MatchingModel;6)Topic-Word Model;7)其它匹配特征。

(作者阿里小蜜比赛就是这么做的,除了文本本身的词向量,还提取了120+的特征)

5. A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems

对偶encoder结构图

原理:使用对偶rnn对quary和response编码成语义向量,然后通过M矩阵计算向量相似度,最后通过softmax得到匹配得分.

多轮问答

1. Multi-view model 

图1

该模型是从单轮扩展出来的,他的办法就是将所有历史对话收尾相连合成一个大的单轮对话,这里将每轮对话的文本使用'__SOS__'相连,以每轮对话的文本为单轮对话中的word(通常nlp任务中是以词word为单位构成词向量,这里我们使用句子构成向量),使用CNN+Pooling将对话文本句转为语义向量,将得到的所有轮对话的语义向量合在一起,这样就有个类似Embedding的矩阵,其中矩阵的每一列表示每个历史对话文本的语义向量.

图2

这个矩阵的每一列是有时序关系的(因为都是历史对话按时序合在一起的),所以接下来使用RNN模型(GRU/LSTM)处理,过滤掉无用的对话语义向量,最后一个时刻也就是最后一句对话的隐状态就是我们要的context embedding,接着将该向量与response的语义向量做matching,计算matching得分. 

总结与猜想:

以上是对https://zhuanlan.zhihu.com/p/26879507和https://zhuanlan.zhihu.com/p/44539292这两篇文章学习的一些记录,不过发现很多模型的思想都是一样的,只不过是顺序或者方法改变了一下,比如CLSM我个人就觉得是用TextCNN分别对quary和response构建语义向量,然后匹配两个语义向量.所以我在想是不是可以用fasttext对quary和response分别求类别,然后在匹配两个类别是否一致呢?有空在实验吧.

相关文章

  • 检索问答模型

    前言 检索回答系统一般过程:1)构建好候选回答索引集,2)收到quary后,初步选出一些候选回答,3)quary和...

  • NLP 学习 - 5常见应用2

    一、常见应用 1.问答系统 (QA) 问答系统的目的是直接提供用户的答案 二问答系统和检索系统的区别:检索系统返回...

  • Question Answering System 基础篇--中

    1.问答系统简介 问答系统(QuestionAnswering,QA):问答属于计算机科学的信息检索和自然语言处理...

  • 文本向量化表示方法一(词袋模型)

    词袋(Bag-of-words)模型简介 Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索...

  • 检索模型与检索排序

    1. 用户查询与返回结果相关度度量 1.1 相似性计算:空间向量余弦夹角 https://www.jianshu....

  • 读书笔记:《Information filtering and

    该论文的研究目的: 基于已存在的信息检索模型提出一个信息过滤模型,并使用这个模型对信息检索和信息过滤进行比较,以便...

  • Bag-of-words模型入门

    总括 Bag-of-words模型是信息检索领域常用的文档表示方法。在信息检索中,BOW模型假定对于一个文档,忽略...

  • 阅读《认知天性》收获

    【关键词】 检索 穿插练习 心智模型 反思习惯 【正文】1.什么是检索练习?检索式练习是回想事实、概念...

  • NLP的应用

    1 信息摘要 2 机器翻译 3 统计型机器翻译 4 信息检索 布尔检索向量空间模型概率模型 5 语音识别 6 文本...

  • 需要整理的材料

    一. 项目概述 (1) 科研项目 1. 基于Sketch的三维CAD模型检索 一般的Sketch检索是先把模型库的...

网友评论

    本文标题:检索问答模型

    本文链接:https://www.haomeiwen.com/subject/taloxqtx.html