问答系统总结

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

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     领域经典论文,项目及数据集

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文写作葵花宝典

一只小狐狸带你解锁NLP/DL/ML秘籍作者:小鹿鹿鹿论文写作套路老板说:写论文是有套路的老板说:introduction写好了,论文就成功了一半老板说:你的motivation是什么,contribution又是啥?小夕说&…

李涓子 | 机器智能加速器:大数据环境下知识工程的机遇和挑战

本文转载自公众号:数据派THU。 导读:知识图谱已经成为推动人工智能发展的核心驱动力之一。本文选自清华大学计算机科学与技术系教授、清华-青岛数据科学研究院科技大数据研究中心主任李涓子老师于201…

【HTML/CSS】CSS盒模型及其理解

1 盒模型 概念:CSS盒模型本质是一个盒子,包括:外边距margin、边框border、内边距padding、内容content 分类:标准盒模型(W3C)和怪异盒模型(IE) 标准盒模型:width的值就是…

Netty异步非阻塞事件驱动及原理详解

本文基于 Netty 4.1 展开介绍相关理论模型、使用场景、基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。 Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服…

文本预处理跑得慢?抱抱脸团队又放福利,1GB文本语料分词只需20s!

一只小狐狸带你解锁NLP/DL/ML秘籍正文素材来源:量子位缘起BERTBERT带来的并不是只有一大波paper和嗷嗷上线,还带火了一个NLP团队——Huggingface(中文译作抱抱脸)。抱抱脸团队是一个创业团队。他们的Transformers是github上最火的…

基于深度学习的FAQ问答系统

| 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎,问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用…

【HTML/CSS】定位方式及区别

1 文档流 文档流是浏览器默认的排版方式 文档流的排版方式是块级元素垂直排布,行内元素和行内块元素水平排布。 2 脱离文档流 脱离文档流是不按照文档流的排版方式进行排版,脱离后,元素不在布局中,不在流中占有位置&#xff0c…

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba的企业级微服务敏捷开发系统架构

一、项目总体架构图 二、功能介绍 2.1、统一认证功能 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 支持手机号加密码登录 支持openId登录 支持第三方系统单点登录 2.2、分布式系统基础支撑 服务注册发现、路由与负载均衡 服务降级与熔断 服务限流(url/方法级别…

征文通知 | 2018年全国知识图谱与语义计算大会

2018年全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing (CCKS 2018)2018年8月15日-18日,天津征稿截止: 2018年5月18日全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Comp…

如何让聊天机器人懂情感?这是一篇来自清华的论文

原载:Paperweekly作者:黄民烈,清华大学老师关注自然语言处理、人机对话情感分析等方向aihuangtsinghua.edu.cn当你悲伤的时候,机器人可以安慰你;当你高兴的时候,机器人为你高兴。悲你所悲,喜你所…

戴着口罩也要开心过年吖!

一只小狐狸带你解锁NLP/ML/DL秘籍素材来源于网络新的一年????就要到来了作为超(bu)高(shan)智(yan)商(ci)的程序员如何向亲朋好友证明我们是人群中最靓的仔呢小夕为你准备了专属程序员的新春祝福~~普天同庆for (;;) { print("鼠年快乐"); }(满屏的新年…

【HTML/CSS】margin塌陷和合并问题

1 margin塌陷问题 1.1 示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>margin塌陷</title…

集群、分布式、微服务的概念及异同

一、什么是集群&#xff1f; 集群是指将多台服务器集中在一起&#xff0c;每台服务器都实现相同的业务&#xff0c;做相同的事&#xff1b;但是每台服务器并不是缺一不可&#xff0c;存在的主要作用是缓解并发能力和单点故障转移问题。 集群主要具有以下特征&#xff1a;&…

论文浅尝 | Complex Embeddings for Simple Link Prediction

The ́o Trouillon, Johannes Welb, Sebastian Riedel, ÉricGaussier, Guillaume Bouchard . Complex Embeddings for Simple Link Prediction. In Proceedings of the 33ndInternational Conference on Machine Learning, pages 2071– 2080 (ICML2016)论文链接&#xff1a;…

详解医学顶刊《柳叶刀》最新发表新型冠状病毒研究论文

我是夕小瑶&#xff0c;一只热爱科研的小狐狸作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言新型冠状病毒&#xff08;2019-nCoV&#xff09;的突发恰逢春节&#xff0c;千家万户都对疫情十分关注。令人心痛的是&#xff0c;病毒带来的不止有病痛&#xff0c;…

AI学习笔记--人机对话的四种形态

AI学习笔记--人机对话的四种形态 ><div class"show-content-free"><p>最近在筹备转行 AI PM 由于之前的产品线也有做过类似 AI 的智能客服产品&#xff0c;所以打算先从人机对话这个角度入手。</p><p>以下文章结合了一些 case&#xff0c…

Spring Cloud简介,为什么需要Spring Cloud?

一、为什么需要Spring Cloud&#xff1f; 从分布式/微服务的角度而言&#xff0c;就是把我们一个大的项目分解成多个小的模块&#xff0c;这些小的模块组合起来&#xff0c;完成功能&#xff1b;而拆分出多个模块以后&#xff0c;就会出现各种各样的问题&#xff0c;而Spring C…

【HTML/CSS】浮动模型和清除浮动的方法

1 浮动 浮动是让元素脱离文档流&#xff0c;浮动前后的非定位元素会无视浮动元素&#xff0c;可能沿着元素另一侧垂直流动。浮动元素会生成一个块级框&#xff0c;具有块级元素的特性&#xff0c;但是不占整行。浮动元素脱离了文档流&#xff0c;无法为文档流中的父元素撑起高…

论文浅尝 | 「知识图谱」领域近期值得读的 6 篇顶会论文

本文转载自公众号&#xff1a;PaperWeekly。CIKM 2017■ 论文 | Hike: A Hybrid Human-Machine Method for Entity Alignmentin Large-Scale Knowledge Bases■ 链接 | https://www.paperweekly.site/papers/1528■ 解读 | 罗丹&#xff0c;浙江大学硕士1. Motivation 随着语义…

NLP最佳入门与提升路线

一只小狐狸带你解锁NLP/ML/DL秘籍作者&#xff1a;夕小瑶&#xff0c;小鹿鹿鹿&#xff0c;QvQ前言对突如其来的长假感到惶恐和不安&#xff1f;紧盯2019-nCoV的最新消息却依然感觉很空虚&#xff1f;腰酸萎靡脖子僵甚至怀疑自己有点发烧&#xff1f;这是长时间没学习的症状。 …