问答系统总结

最近在研究问答系统,但是在查找资料的过程中一直处于懵逼状态,因为问答系统分类比较多,根据不同的依据可以分为不同种类,总是搞混,也没有找到资料详细全面的介绍,所以在一边学习查找资料的同时,自己也整理出一份总结,用于以后学习过程不至于思路混乱,如有错误请帮忙指出.

19世纪60年代最早:基于模板和规则

19世纪90年代:基于检索(IR)匹配-从问题中提取关键词,根据关键词在文本库中搜索相关文档,并进行降序排序,然后从文档中提取答案.
        主要模型有:
            单轮:DSSM,CLSM
            多轮:Multi-Viem,DAM(state-of-art),Memory-Network

2010年,知识图谱(结构化文本),基于知识库(KB-QA)-对问题进行解析,根据解析内容从知识库中推理出答案.
         基于知识库的三大传统方法:语义解析,信息提取,向量建模.
        1. 语义解析:
        2. 信息提取:用实体命名技术获取到问题中的实体,然后在知识库中进行查询,得到关于问题实体的中心子图,子图的边和结点就是候选答案的集合.进一步,可以通过分析,规则模板提取除特征,将问题和答案的特征结合送入二分类器中,将答案分为正确答案和错误答案进行建模.
        3. 向量建模:获取问题和答案的表示向量,然后做点乘求得分.
        其他:Memory-Network也可用于KB-QA

基于阅读理解的问答(MRC机器阅读理解):适用数据类型为-(给定一个问题 Q 和一个与 Q 相关的文档 D,自动得到 Q 对应的答案 A)非结构化文本,主要的方法有匹配式,抽取式和生成式
        1.匹配式:给出文章,问题和答案集,从答案集中选出最高得分的答案,像选择题.
            1)LSTM-reader(最简单的方法):把文档d和问题q合并建模后,喂到双向LSTM中,得到向量g
            2)Attentive-reader:先使用LSTM对问题建模得到向量q,再对文档建模,然后用q对文档使用attention匹配得到向量r,结合q和r,相当于带着问题读文档.
            3)Impatient-reader:同上,只不过是对每个token去计算attention,相当于先读每个字或者词,然后带着字或者词去读文档.
            4)Gated-Attention Reader:相当于带着一个问题,反复读文档,读k遍。
        2.抽取式:顾名思义就是从文档中抽取出答案,前提是文档中包括问题答案.
           这样的数据集有:斯坦福的SQuAD数据集,难度比较高的 TriviaQA数据集.
           抽取式的一般框架是,Embedder+Encoder+Interaction-layer+Answer
                Embedder:将输入embedding
                Encoder:分别对问题和文档用LSTM建模(也可以用其他方法)
                Interaction-layer:使用attention将问题和文档结合起来,对问题和文档进行交互,得到query-aware的文章表示.(个模型只要差别所在)
                Answer:对上面得到的query-aware文章表示进行抽取答案,通常有两种方法:一是使用两个模型分别预测出答案的起始和终止位置.二是把当然当成label序列(序列标注),预测出label.
            抽取式主要模型有:
                1).Match-LSTM:比较基础的模型,结构如下图(没看懂@_@),Machine Comprehension Using Match-LSTM and Answer Pointer
                    Match-Lstm是由三部分组成:
                    1.预处理层:使用lstm对passage和question编码
                    2.match-lstm层:
                        1).先求passage对question的attention向量,也就是权重得分ai
                        2).然后将ai与question编码做点乘,得到passage中第i个词对于question的信息向量.
                        3).再将该向量与passage中第i个词的隐藏状态合并,和question的编码向量hi输入到一个lstm模型中(decoder)
                        4).反过来再来一次,将正反两个方向得到的结果合并,就是match-lstm层的输出.整个过程跟seq2seq中的attention encoder-decoder 结构很像,黑体部分为主要区别部分.
                    3.answer-pointer层:
                        1).sequence model:序列模型,预测的结果可以是连续的也可以是不连续的,结果形式为answer中每个词在passage中的index.需要在answer结尾加上结尾符.
                        2).boundary model:边界模型,预测结果是连续的,形式为答案起始index,和答案结束index.不需要结尾符.实验证明,该方法比序列模型效果要好.
                    总结:Match-Lstm适合处理答案不是很长的问题,适合处理'是什么'形式问题,不适合处理'为什么'形式问题.答案长度限制为9(其他人做的实验结果).

                2).BiDAF:比较出名的模型,论文地址:Bidirectional Attention Flow for Machine Comprehension
                    模型结构:
                    原理:
                3).R-Net:近似state-of-art的模型,论文地址:没找到--.
                4).FastQAExt(轻量级),FastQA: A Simple and Efficient Neural Architecture for Question Answering
                5).GA-Reader,论文地址:Gated-Attention Readers for Text Comprehension
                6).QA-Net(使用CNN),论文地址:QANET: COMBINING LOCAL CONVOLUTION WITH GLOBAL SELF-ATTENTION FOR READING COMPREHENSION
        3.生成式:目前只有MSRA的MS MARCO数据集,答案形式是这样的:1)答案完全在某篇原文.2)答案分别出现在多篇文章中.3答案一部分出现在原文,一部分出现在问题中.4)答案的一部分出现在原文,另一部分是生成的新词.5)答案完全不在原文出现(Yes / No 类型)
            常见模型:
                1).改进R-Net
                2).S-Net,论文地址:S-NET: FROM ANSWER EXTRACTION TO ANSWER GENERATION FOR MACHINE READING COMPREHENSION
                3).R3-Net:集文档检索与答案生成于一身的模型,论文地址:R 3 : Reinforced Ranker-Reader for Open-Domain Question Answering  

其他知识:
        1.transE模型:知识表示模型,最后训练出来的向量e符合如下规则:e(object)=e(subject)+e(relation),损失函数是最小正例距离最大负样本距离
        2.IRGAN模型:检索
        3.OpenIE:关系抽取工具
        4.实体/关系链接:将OpenIE抽取的关系链接到知识库
        5.检查关系是否正确,使用transE模型的思想e(object)和e(relation)+e(subject)的余弦距离小于阀值
        6.pointer network

参考文章:

https://www.zhihu.com/people/susht/posts    一份问答系统的小结

https://zhuanlan.zhihu.com/p/41217854    基于深度神经网络的自动问答系统概述

https://github.com/dapurv5/awesome-question-answering     领域经典论文,项目及数据集

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于网络答疑系统 的设计 看看有需要的吗 呵呵 题 目 基于网络的答疑系统的设计 1、 设计的具体内容及要求 (1)基本内容:  系统对解答的问题有统计、分析归类的功能,以便教师有选择性、定向性地来进行回答。  系统可选择一对一、一对多的答疑方式以及实时答疑模块,从而完全达到了互动教学的目的。  系统采用学生、教师两种用户机制,实现提出问题,回答问题,答疑预约,预约响应,消息提示等基本功能。  基于网络的答疑系统应具备自动答疑数据库,使有问题待答的学生可通过查询答疑数据库信息来获得解答。如果答疑数据库不能使待答学生满意时再选择参加答疑活动。  教师模块则根据系统提示,显示有没有等待自己答复的问题而进行教师答疑活动。 (2)基本要求: 采用模块化设计,学员功能模块,提供学员提问、查看、收藏的功能,包括以下几个主要的功能模块:提出问题、查看所有的问题、查看我提的问题、热点问题查看、学员收藏夹、学员短消息、预约列表等。教师功能模块,主要提供问题的回答和一些简单的科目管理功能。包括以下几个内容:回答问题、管理问题、查看待我回答的问题、查看所有回答的问题、热点问题管理、发布栏目公告、教师短消息、收到的预约列表等。管理员功能模块,主要提供对这个系统环境变量的设置、学员和教师资料的审核和分类管理,包括以下几个方面:学员、教师资料的管理、系统环境参数设置、分类管理、系统公告的发布、群体消息发送等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值