1. 程式人生 > >基於深度學習智能問答筆記

基於深度學習智能問答筆記

align 背景 問題 方法 範圍 神經網絡 根據 驗證 實體

基於深度學習智能問答筆記

自動問答系統的兩個主要難題是:1.問句的真實意圖分析。2.問句與答案之間的匹配關系判別。

問答系統可分為面向限定域的問答系統,面向開放域的問答系統,面向常用問題集(FAQ)的問答系統。依據答案的不同數據來源,問答系統可以劃分為基於結構化數據問答系統,基於問答對的問答系統。按照答案生成反饋機制劃分,問答系統可以劃分為基於檢索式的問答系統和基於生成式的問答系統。

基於檢索式的問答系統,包括三部分:問句理解、信息檢索、答案生成。

問句理解:

根據問句的語義結構,可以從問題類別和問題內容兩方面來表示。通常采用自然語言技術對問題進行深層次的理解,包括命名實體識別、依存句法分析、詞義消歧等。

問句理解主要包括問句分類、主題焦點提取、問題擴展處理。問句分類是將用戶提問歸入不同的類別,使系統能夠針對不同問題類型采用不同的答案反饋機制得到候選答案集合。問答系統通常使用機器學習算法訓練問題分類器來實現用戶提問的分類。主題焦點提取主要完成用戶問題的信息需求的精確定位,其中主題表示問句的主要背景或者用戶的感興趣的對象,焦點則是用戶詢問的有關主題的內容,通常是問句話題的相關信息或對話題起到描述性的作用,比如屬性、動作、實例等等。問題擴展是將用戶在提問中沒有充分表達的意思補充出來,對問題中潛在的信息顯化出來,從而提高答案檢索的召回率。

信息檢索:

對於基於自由文本數據的問答系統,信息檢索過程是一個逐漸縮小答案範圍的過濾過程,主要包括文檔檢索和段落句群檢索。對於基於問句答案對的問答系統,信息檢索處理是通過問句檢索得到與用戶提問相似的候選問句,返回對應的候選答案列表。

通常問答系統的檢索模型主要包括布爾模型、向量空間模型、語言模型、概率模型。

問句檢索的主要問題在於如何縮小用戶提問與知識庫中問句之間的語義鴻溝。近幾年,研究人員采用基於翻模模型的方法計算從用戶提問“翻譯”到檢索問句的翻譯概率,從而實現相似性問句檢索。

答案生成:

答案生成模塊主要實現候選答案的抽取答案的置信度計算,最終返回簡潔性、正確性的答案。按照答案信息粒度,候選答案抽取可以分為段落答案抽取、句子答案抽取、詞匯短語答案抽取。段落答案抽取是將一個問題的多個相關答案信息進行匯總、壓縮,整理出一個完整簡潔的答案(本質上是信息摘要)。

句子答案抽取是將候選答案信息進行提純,通過匹配計算過濾表面相關,實際語義不匹配的錯誤答案置信度計算是將問題與候選答案進行句法和語義層面上的驗證處理,從而保證返回答案是與用戶提問最為匹配的結果。應用最廣泛是基於統計機器學習的置信度計算方法。這種方法通常定義一系列詞法、句法、語義以及其他相關特征(如編輯距離、BM25等)來表示問題與候選答案之間的匹配關系,並使用分類器的分類置信度作為答案的置信度。例如IBMWaston中使用的答案融合和特征排序方法[15],以及基於關系主題空間特征的多核SVM分類方法[16]。

近幾年,基於自然語言處理的問答匹配驗證通常是使用句子的淺層分析獲得句子的淺層句法語法信息,然後將問句與答案的句法樹(短語句法樹或依存句法樹)進行相似性計算[17-20]。然而,問答系統的答案正確性更需滿足問題和答案之間的語義匹配,比如問“蘋果6splus最新活動價多少”,如果回答“紅富士蘋果降到了12元”,就屬於所答非所問。常用的方法是通過引入諸如語義詞典(WordNet),語義知識庫(Freebase)等外部語義資源進行問答語義匹配建模[21-23],以此提高問句答案間的語義匹配計算性能。。詞匯短語抽取是采用語言的深層結構分析技術從候選答案中準確地提取答案詞或短語。

問答領域所需解決的兩個關鍵問題:一是如何實現問句及答案的語義表示。無論是對於用戶提問的理解,還是答案的抽取驗證,都需抽象出問題和答案的本質信息的表示。這不僅需要表示問答語句的句法語法信息,更需表示問句及答案在語義層面上的用戶意圖信息和語義層匹配信息。二是如何實現問句答案間的語義匹配。為了保證反饋用戶提問的答案滿足嚴格語義匹配,系統必須合理利用語句高層抽象的語義表示去捕捉到兩個文本之間關鍵而細致的語義匹配模式。鑒於近幾年卷積神經網絡(CNN)和循環神經網絡(RNN)在NLP領域任務中表現出來的語言表示能力,越來越多的研究人員嘗試深度學習的方法完成問答領域的關鍵任務。例如問題分類(questionclassification),答案選擇(answerselection),答案自動生成(answergeneration)。此外,互聯網用戶為了交流信息而產生的大規模諸如微博回復、社區問答對的自然標註數據[50],給訓練深度神經網絡模型提供了可靠的數據資源,並很大程度上解決自動問答研究領域的數據匱乏問題。

基於語義的表示方法有兩種:

CNN與RNN

基於問答語義的匹配架構有兩種:

並列匹配架構:

這種架構的匹配模型分別將兩句話輸入到兩個CNN句子模型,可以得到它們的語義表示(實數值向量)。之後,再將這兩個語義表示輸入到一個多層神經網絡,判斷兩句話語義的匹配程度,從而判斷給定的兩句話和是否可以成為一對句子匹配對(問答對)。

交互匹配架構:第二種基於DCNN的語義匹配架構為交互匹配[39]架構。與並列匹配不同,交互匹配的基本想法是直接對兩個句子的匹配模式進行學習,在模型的不同深度對兩個句子間不同粒度的局部之間進行交互,學習得到句子匹配在不同層次上的表示,最終得到句子對固定維度的匹配表示,並對匹配表示進行打分。

轉至:https://blog.csdn.net/hlang8160/article/details/78905085

基於深度學習智能問答筆記