問答系統(QA)0

現有的檢索系統,無論是受限領域的檢索還是網際網路搜尋引擎,一般都是基於關鍵字檢索(1.相關答案多2.意圖表達差3.語言層,未觸及語義層)。

Frequently Asked Questions,FAQ,即通過提取問題特徵進行相似度計算來返回排序後的答案,

問題解析:主要包括分詞、詞性標註、句法分析、命名實體識別、問題分類、問題擴充套件等。

分詞:中英文分詞存在很大的區別,英文單詞之間是以空格作為自然分界符的,而中文是以字為基本的書寫單位,詞語之間沒有明顯的區分標記。分詞中最常見的是基於規則的詞典匹配的方法,當出現歧義分詞時,也有最大切分(向前、向後、前後結合)、最少切分、全切分等策略,但都存在一定不足。在受限領域的分詞,都需要構造自身的領域詞典, 來提高分詞的準確率。
1、word分詞器
2、ansj分詞器
3、mmseg4j分詞器
4、ik-analyzer分詞器
5、jcseg分詞器
6、fudannlp分詞器[復旦大學]
7、smartcn分詞器
8、jieba分詞器
9、stanford分詞器
10、hanlp分詞器
從速度,分詞效果,限領域分詞效果尚未測試。
詞性標註:stanford-postagger中文詞性標註較好
語法分析:句法分析是指對自然語言的語法結構進行形式化定義,可以劃分為短語結構語法與依存語法。
命名實體識別:命名實體識別的任務就是識別出待處理文字中三大類(實體類、時間類和數字類)、七小類(人名、機構名、地名、時間、日期、貨幣和百分比)命名實體。
問題分類:藉助語義詞典如WordNet(22) 、HowNet(23)等對問題上下位詞、同義詞進行擴充。問題分類主要有基於模式規則匹配的方法和基於統計學習的方法,其中機器學習的方法佔據主導。基於模式匹配優點是無需語料庫,也沒有人工標註的錯誤率和工作量,同時還可以保證不錯的效果。但由於中文表述形式的靈活性,許多問句甚至不含疑問詞,所以規則方法適用性不強。
在中文領域:
1. 一種特徵提取的新方法,此方法依賴於句法分析結果,通過把主幹詞和疑問詞及其附屬成分作為BN 的特徵輸入。
2. 用HowNet 語義詞典,把疑問句、句法結構、疑問意向詞在知網中的首義原作為特徵輸入, 採用EM 分類器。
3. 提取問題疑問詞、關鍵核心詞的主要義原、核心關鍵詞的首義原、問句主謂賓的主要義原、命名實體、名詞單複數等六種特徵,採用SVM 分類器對事實疑問句進行不同特徵組合的分類對比。
問題擴充套件:目前有兩種主流的方式,一是通過搜尋引擎等外部文字擴充套件,或者藉助知識庫如WordNet或Wikipedia等, 挖掘詞之間的內在聯絡。
問題在經過上面的處理過後,如何表示?
問題解析過程在基於知識庫的問答系統中尤為重要,其主流方法有兩類,一類是基於符號的表示方法,另一類基於深度學習的分散式表示方法。
基於符號的表示方法把問題問句表示為形式化的查詢形式, 如邏輯表示式、Lambda、 Calculus、DCS-TREE或Fun-QL等形式,之後再轉化為對應的查詢語言如SQL、SPARQL、Prolog、FunQL等。
資訊檢索:資訊檢索則以問題解析模組的結果作為輸入,從底層知識庫中返回一系列相關的排序文件。檢索常用的模型有布林模型、向量空間模型以及概率模型。
1. 布林模型是一種簡單檢索模型,基於集合論和布林代數。其查詢由聯接符AND、OR 和NOT 構成,通過對每個關鍵詞對應的倒排索引取交集、並集或補集,返回若干相關文件給使用者。
舉例:下面有2個文件:
文件1:a b c f g h;
文件2:a f b x y z;
使用者想找出出現a或者b但一定要出現z的文件(三元組)。當然我們仔細一看,結果顯而易見是文件2符合使用者的需求。但是對於計算機布林排序模型它是怎麼實現的呢 ?將查詢表示為布林表示式Q=(a∨b)∧z,並轉換成析取正規化qDNF=(1,0,1)∨(0,1,1)∨(1,1,1)(三元組);文件1和文件2的三元組對應值分別為(1,1,0)和(1,1,1);經過匹配,將文件2返回;
布林模型的優點:通過使用複雜的布林表示式,可以很方便地控制查詢結果;
布林模型問題:1.不支援部分匹配,而完全匹配會導致太多或者太少的,非常剛性:“與”意味著全部;“或”意味著任何一個;2.很難控制被檢索的文件數量原則上講,所有被匹配的文件都將被返回;3.很難對輸出進行排序;
2. 向量空間模型是現在的文字檢索系統以及網路搜尋引擎的基礎, 它把文件以及使用者的查詢都表示成向量空間中的點,用它們之間夾角的餘弦值作為相似性度量。
舉例:若文件有K 個詞, 表示K個詞在文件j中的權重。假設文件集合大小為N,fij為詞i在某篇文件j中的次數。

 

3. 概率檢索模型通常利用關鍵詞作為線索,通過統計得到每個關鍵詞在相關的文件集中出現和不出現的概率以及其在與該查詢不相關的文件集中出現和不出現的概率,最終根據這些概率值,計算問句和文件的相似度。
原理:R:相關文件集NR:不相關文件集q:使用者查詢dj:文件j
PRP(probability ranking principle):概率排序原理,利用概率模型來估計每篇文件和需求相關概率,然後對結果進行排序。
貝葉斯最優決策原理,基於最小損失風險作出決策,返回相關的可能性大於不相關的可能性的文件;
條件概率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B)

由條件概率公式推匯出貝葉斯公式:P(B|A)=P(A|B)P(B)/P(A)

答案抽取
1) 模式匹配:例如問句”姚明出生於什麼地方”,其答案通常為”姚明出身於上海”,則
其答案模式可設定為” <人物〉出生於〈地點>”。
2) 關係預定義:關係抽取的一種有效的實現方式是將句子轉換為由主語、謂語、賓語構成的三元組形式,然後從中抽取答案。

3) 語義相似度:對於兩個詞W1和W2,定義其相似度為sim(W1, W2),其詞距為dis(W1, W2),α為一個可調引數,則有

定義兩個句子a和b,其中a 包含a1、a2、a3 、……、am 共m 個詞, b 包含b1、b2、b3、……、加共n 個詞,定義詞間相似度為sim(ai, bj),則任意兩個詞相似度: