最近在研究問答系統(tǒng),但是在查找資料的過程中一直處于懵逼狀態(tài),因?yàn)閱柎鹣到y(tǒng)分類比較多,根據(jù)不同的依據(jù)可以分為不同種類,總是搞混,也沒有找到資料詳細(xì)全面的介紹,所以在一邊學(xué)習(xí)查找資料的同時(shí),自己也整理出一份總結(jié),用于以后學(xué)習(xí)過程不至于思路混亂,如有錯(cuò)誤請(qǐng)幫忙指出.
19世紀(jì)60年代最早:基于模板和規(guī)則
19世紀(jì)90年代:基于檢索(IR)匹配-從問題中提取關(guān)鍵詞,根據(jù)關(guān)鍵詞在文本庫中搜索相關(guān)文檔,并進(jìn)行降序排序,然后從文檔中提取答案.
? ? ????主要模型有:
? ? ? ? ? ? 單輪:DSSM,CLSM
? ? ? ? ? ? 多輪:Multi-Viem,DAM(state-of-art),Memory-Network
2010年,知識(shí)圖譜(結(jié)構(gòu)化文本),基于知識(shí)庫(KB-QA)-對(duì)問題進(jìn)行解析,根據(jù)解析內(nèi)容從知識(shí)庫中推理出答案.
? ? ? ? ?基于知識(shí)庫的三大傳統(tǒng)方法:語義解析,信息提取,向量建模.
? ? ? ? 1. 語義解析:
? ? ? ? 2. 信息提取:用實(shí)體命名技術(shù)獲取到問題中的實(shí)體,然后在知識(shí)庫中進(jìn)行查詢,得到關(guān)于問題實(shí)體的中心子圖,子圖的邊和結(jié)點(diǎn)就是候選答案的集合.進(jìn)一步,可以通過分析,規(guī)則模板提取除特征,將問題和答案的特征結(jié)合送入二分類器中,將答案分為正確答案和錯(cuò)誤答案進(jìn)行建模.
? ? ? ? 3. 向量建模:獲取問題和答案的表示向量,然后做點(diǎn)乘求得分.
? ? ? ? 其他:Memory-Network也可用于KB-QA
基于閱讀理解的問答(MRC機(jī)器閱讀理解):適用數(shù)據(jù)類型為-(給定一個(gè)問題 Q 和一個(gè)與 Q 相關(guān)的文檔 D州疾,自動(dòng)得到 Q 對(duì)應(yīng)的答案 A)非結(jié)構(gòu)化文本,主要的方法有匹配式,抽取式和生成式
? ? ? ? 1.匹配式:給出文章,問題和答案集,從答案集中選出最高得分的答案,像選擇題.
? ? ? ? ? ? 1)LSTM-reader(最簡(jiǎn)單的方法):把文檔d和問題q合并建模后,喂到雙向LSTM中,得到向量g
? ? ? ? ? ? 2)Attentive-reader:先使用LSTM對(duì)問題建模得到向量q,再對(duì)文檔建模,然后用q對(duì)文檔使用attention匹配得到向量r,結(jié)合q和r,相當(dāng)于帶著問題讀文檔.
? ? ? ? ? ? 3)Impatient-reader:同上,只不過是對(duì)每個(gè)token去計(jì)算attention,相當(dāng)于先讀每個(gè)字或者詞,然后帶著字或者詞去讀文檔.
? ? ? ? ? ? 4)Gated-Attention Reader:相當(dāng)于帶著一個(gè)問題肋演,反復(fù)讀文檔漆弄,讀k遍。
? ? ? ? 2.抽取式:顧名思義就是從文檔中抽取出答案,前提是文檔中包括問題答案.
? ? ? ? ? ?這樣的數(shù)據(jù)集有:斯坦福的SQuAD數(shù)據(jù)集,難度比較高的 TriviaQA數(shù)據(jù)集.
? ? ? ? ? ?抽取式的一般框架是,Embedder+Encoder+Interaction-layer+Answer
????????????????Embedder:將輸入embedding
? ??????????????Encoder:分別對(duì)問題和文檔用LSTM建模(也可以用其他方法)
? ??????????????Interaction-layer:使用attention將問題和文檔結(jié)合起來,對(duì)問題和文檔進(jìn)行交互,得到query-aware的文章表示.(個(gè)模型只要差別所在)
? ??????????????Answer:對(duì)上面得到的query-aware文章表示進(jìn)行抽取答案,通常有兩種方法:一是使用兩個(gè)模型分別預(yù)測(cè)出答案的起始和終止位置.二是把當(dāng)然當(dāng)成label序列(序列標(biāo)注),預(yù)測(cè)出label.
? ? ? ? ? ? 抽取式主要模型有:
? ? ? ? ? ? ????1).Match-LSTM:比較基礎(chǔ)的模型,結(jié)構(gòu)如下圖(沒看懂@_@),Machine Comprehension Using Match-LSTM and Answer Pointer
? ? ? ? ? ? ? ? ? ? Match-Lstm是由三部分組成:
????????????????????1.預(yù)處理層:使用lstm對(duì)passage和question編碼
????????????????????2.match-lstm層:
????????????????????????1).先求passage對(duì)question的attention向量,也就是權(quán)重得分ai
????????????????????????2).然后將ai與question編碼做點(diǎn)乘,得到passage中第i個(gè)詞對(duì)于question的信息向量.
????????????????????????3).再將該向量與passage中第i個(gè)詞的隱藏狀態(tài)合并,和question的編碼向量hi輸入到一個(gè)lstm模型中(decoder)
????????????????????????4).反過來再來一次,將正反兩個(gè)方向得到的結(jié)果合并,就是match-lstm層的輸出.整個(gè)過程跟seq2seq中的attention encoder-decoder 結(jié)構(gòu)很像,黑體部分為主要區(qū)別部分.
????????????????????3.answer-pointer層:
? ? ? ? ? ? ? ? ? ? ????1).sequence model:序列模型,預(yù)測(cè)的結(jié)果可以是連續(xù)的也可以是不連續(xù)的,結(jié)果形式為answer中每個(gè)詞在passage中的index.需要在answer結(jié)尾加上結(jié)尾符.
????????????????????????2).boundary model:邊界模型,預(yù)測(cè)結(jié)果是連續(xù)的,形式為答案起始index,和答案結(jié)束index.不需要結(jié)尾符.實(shí)驗(yàn)證明,該方法比序列模型效果要好.
????????????????????總結(jié):Match-Lstm適合處理答案不是很長的問題,適合處理'是什么'形式問題,不適合處理'為什么'形式問題.答案長度限制為9(其他人做的實(shí)驗(yàn)結(jié)果).
? ? ? ? ? ? ? ? 2).BiDAF:比較出名的模型,論文地址:Bidirectional Attention Flow for Machine Comprehension
? ? ? ? ? ? ? ? ? ? 模型結(jié)構(gòu):
? ? ? ? ? ? ? ? ? ? 原理:
? ? ? ? ? ? ? ? 3).R-Net:近似state-of-art的模型,論文地址:沒找到--.
? ? ? ? ? ? ? ? 4).FastQAExt(輕量級(jí)),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數(shù)據(jù)集忿族,答案形式是這樣的:1)答案完全在某篇原文.2)答案分別出現(xiàn)在多篇文章中.3答案一部分出現(xiàn)在原文,一部分出現(xiàn)在問題中.4)答案的一部分出現(xiàn)在原文,另一部分是生成的新詞.5)答案完全不在原文出現(xiàn)(Yes / No 類型)
? ? ? ? ? ? 常見模型:
? ? ? ? ? ? ? ? 1).改進(jìn)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??
其他知識(shí):
????????1.transE模型:知識(shí)表示模型,最后訓(xùn)練出來的向量e符合如下規(guī)則:e(object)=e(subject)+e(relation),損失函數(shù)是最小正例距離最大負(fù)樣本距離
????????2.IRGAN模型:檢索
????????3.OpenIE:關(guān)系抽取工具
????????4.實(shí)體/關(guān)系鏈接:將OpenIE抽取的關(guān)系鏈接到知識(shí)庫
????????5.檢查關(guān)系是否正確,使用transE模型的思想e(object)和e(relation)+e(subject)的余弦距離小于閥值
????????6.pointer network
參考文章:
https://www.zhihu.com/people/susht/posts????一份問答系統(tǒng)的小結(jié)
https://zhuanlan.zhihu.com/p/41217854????基于深度神經(jīng)網(wǎng)絡(luò)的自動(dòng)問答系統(tǒng)概述
https://github.com/dapurv5/awesome-question-answering?????領(lǐng)域經(jīng)典論文蜂莉,項(xiàng)目及數(shù)據(jù)集