摘要: 目前國內的研究基本上都是中文自動問答系統的研究,關于藏文問答系統的研究還處于探索階段,基于此本文計劃參照中英文知識問答系統的設計方法,建立藏文百科知識庫,在句法分析的基礎上,設計藏文百科知識的自動問答系統。
關鍵詞: 藏語; 百科知識; 問答系統
中圖分類號:TP391
文獻標志碼:A
文章編號:2095-2163(2017)04-0048-03
0引言
隨著國家對藏區信息化基礎建設投入力度的加大以及藏區經濟的快速發展,特別是隨著互聯網等新型通訊方式的出現,網絡中以藏文為信息載體的內容也在飛速增長,越來越多的藏文網站、郵件和論壇等文本信息在網絡上出現,然而面對呈海量態勢發展的各類藏文數據信息,用戶很難快捷方便地分辨出頗具價值的實用性輸出顯示結果。面對這種問題,就需要計算機不僅能夠提供針對用戶問句的相關信息截取,還要能夠自動分析實現對用戶信息需求的精準解讀,然后給出最接近用戶需要的參考性答案內容。雖然目前存在的搜索引擎能夠在一定程度上推進藏族用戶信息需求的研究進展,但是由于搜索引擎只是簡單地搜集與用戶問句相關的所有信息,因而用戶還需要從這些返回信息中準確定位到自己需要的信息。然而,利用搜索引擎需返回的相關網頁太多,而且還需要用戶具備一定的信息檢索能力,同時更需要使用關鍵詞的組合來表達查詢需求,而無法直接使用自然語言來進行檢索查詢,這對于藏族用戶來說也是一項亟待關注重視的新挑戰,因而使用起來較為不便。目前許多藏文信息處理的研究者也正在考慮如何解決這種藏族用戶面對海量數據卻無法有效處理的問題,本文正是基于這一需求,提出通過建立藏文百科知識庫,利用用戶問句和知識庫中問題的匹配來抽取與用戶需求最接近的答案,從而實現藏文百科知識的自動問答。
1研究現狀
目前對自動問答系統的研究,相對成熟的問答系統有麻省理工大學人工智能實驗室的STARTSO系統、密歇根州立大學的AnswerBus系統等。其中,STARTSO系統基于互聯網訪問設計,可通過精心構建的知識庫來自動地回答資料庫中一些比較簡單的問題,但卻不能借助互聯網自行擴充內部的知識含量[1]。而AnswerBus系統支持多種語言的訪問,是多領域的自動問答系統,自2011年上線以來,已經回答了許多用戶的問題。此外,Ferrucci等則設計展示了一個深度問答系統,該問答系統被稱為“Watson”,通過將問句分解成線索和子線索來研究表述關于問句的理解,并將該深度問答系統對問句的查詢分解成對這些線索的查詢。Yahy等又繼而提出首先將問句劃分成多個短語,然后動態生成這些短語與知識庫中實體、屬性關系的映射,最后通過線性規劃算法實現短語與知識庫映射時的消歧處理。Pythia等人又進一步提出一個基于本體的依賴問句深度語言分析的系統,該系統首先需要手動構造本體語義詞典,而后再利用構建的語義詞典來進行問句語義理解[2]。
國內也有不少科研院所正在開展問答系統的研究,比如復旦大學、中科院、哈工大等。其中,哈爾濱工業大學開發了基于常用問題集的中文問答系統,該系統首先根據用戶的提問建立一個候選問題集,然后通過計算句子語義相似度,在候選問題集中找到相似的問句,并將答案返回給用戶[3]。而中科院的NKI知識問答系統即以NKI 知識庫為基礎,可以向用戶提供多個領域的知識服務,并且允許用戶可以自由方式進行提問并向用戶返回準確的答案。除此之外,還有中國科學院計算機技術研究所王樹西等人開發的《紅樓夢》中人物關系專家系統、百度知道以及北京理工大學信息科學技術學院樊孝忠等人開發的銀行領域漢語自動問答系統BAQS等也都取得了不錯的效果[4]。
綜上現狀分析可以看出,國內關于中文自動問答系統的研究比較多,但是基于藏文的研究主要集中在藏語的句法分析和詞性標注上,關于藏文問答系統的研究還處于探索階段。基于此,本文擬將參照中英文知識問答系統的設計方法,建立藏文百科知識庫,在句法分析的基礎上,設計實現藏文百科知識的自動問答系統。
2藏文百科知識問答系統的設計實現
2.1系統總體設計思路
目前,自動問答系統答案來源有2種,一種是來源于預先構建的知識庫,另一種通過搜索引擎從網絡上獲取[5]。具體來說,第一種方式主要通過先期建立的相關知識的問答對知識庫,再利用用戶問句和知識庫中問句的相似性比較,得到與其最相近的問句,進而可將該最相似問句的答案提供給指定需求用戶。這種方式比較依賴于知識庫的構建,但是多會獲得較高的查找的精準度和效率。第二種方式則是利用目前網絡上的資源來綜合尋求問題的解答,首先利用百度百科、百度知道、維基百科等網絡知識源,其所采取的策略是使用問句中的關鍵詞語在搜索引擎上進行搜索,獲取與問句相似度最高信息條目的對應鏈接以及摘要,然后獲取鏈接相關聯的網頁中的摘要所在段落或模塊,作為答案數據而得集成配送返回[6]。這種方式借用搜索引擎的方式在網絡資源中查找,因此在查找結果后還需要用戶自行判斷其所需要的信息,不僅查找的效率較慢,而且也無法保證回答內容的準確度。
由于本文是關于藏文百科知識自動問答系統的頂層規劃設計嘗試,且關于藏文搜索引擎的研究迄今仍較為少見。所以本文主要研究基于知識庫的藏文百科知識問答系統的設計,通過盡可能地理解用戶需求并在知識庫中查找與其最相似的問句,從而得到用戶需要查詢的信息答案。綜合前述過程分析,本文將有針對性地提出語義擴展的智能問答系統,可得主要設計思想論述如下:
首先搜集整理藏文百科內容的問答對,創建基于不同類型的藏文百科知識庫,通過知識庫問句的分解整理,獲得知識庫中問句的特征表示。然后針對用戶問句通過自動分詞、問句類型分析和關鍵詞提取,建立設定用戶問句的語義特征,再通過用戶問句和數據庫中問句語義的相似性比較,最后實現最相似問句的獲取并將其對應的答案輸出給指定目標用戶。endprint
2.2系統流程
藏文百科知識問答系統采用模塊化設計,從功能上可以分為知識庫管理模塊、用戶問句預處理和分析模塊、答案抽取模塊3個主要模塊。其中,用戶問句預處理模塊主要圍繞問句的自動分詞、詞性標注以及功能詞的過濾展開設計;知識庫管理模塊是系統執行自動問答的基礎,也是該系統的重點關鍵研究部分,主要實現的是百科知識庫問答句的添加和修改;用戶問句分析模塊可以發揮由問句到帶標記權值的詞串特征的轉換作用;并可根據問句中的虛詞判定問句類型;而答案抽取模塊則是基于用戶問句和知識庫中問句的相似度比較,利用結構和語義上的相似度比較,查找最相似的問句并提取出對應答案的研究處理過程。研究中,系統運行流程可做如下內容闡釋與詳述。
1)首先搜集整理不同類別的藏文百科知識問答對,完成不同類別基礎數據庫的建設。再利用各類別搜集的數據語料,建立類別特征詞庫。然后針對問句進行分詞、詞性標注和停用詞處理,建立問句關鍵詞庫。針對問句關鍵詞庫中的詞條,通過語義擴展的方式構建標準問句關鍵詞的語義網絡,按照問句關鍵詞建立關鍵詞索引庫,為分析與獲得提問語句的相似度奠定先期基礎準備。
2) 對用戶的自然語言問題,在問句預處理模塊中,通過分詞處理和詞性標注模塊實現用戶問句的詞串表示,再利用停用詞過濾功能剔除與語義無關的功能詞,以特征詞串來描述用戶的提問意圖。
3)在類別特征詞庫中尋找用戶問句所屬類別,設定類別判斷閾值,利用詞向量之前的相似度計算,獲取用戶問句與各類別特征詞的相似性,取相似度值大于判斷閾值的類別屬性按照相似度大小進行排序,相似度值最大的類別則為問句所屬類別。若相似度值不滿足類別判斷閾值,系統將自動提示用戶問答庫中并不涉及該類別問題。
4) 將已確定類別的用戶問句與該類別知識庫中的問句進行相似度計算。相似度計算只需要計算用戶問句關鍵詞和關鍵詞索引庫中的詞條之間的相似度,然后將所有該類別中問句的相似度值疊加,為防止用戶問題與知識庫中問題的差異過大導致所選答案與用戶查找內容完全不相關的情況發生,系統會在匹配之前提前設定相似度閾值,只有相似度達到閾值的問句才能拓展轉入答案的抽取[7]。對于超出閾值的相似問句,選取相似度最大的前n個問句組成知識庫問句集。若不存在大于閾值的相似問句,此時系統自動提示用戶登錄,通過專家回答實現問題的人工解釋,并將當前所提問題添加在知識庫中。
5)根據問句相似度值提取問句集對應的所有答案,并將答案結果倒排反饋給用戶實現問句的自動解答。
2.3關鍵技術實現
2.3.1知識庫管理模塊
在該模塊中,主要包括類別特征詞庫、關鍵詞索引庫和停用詞庫的維護管理。知識庫的創建管理是成功達到研究目的的有效技術策略。本文在參考中文百科知識庫構建方法的基礎上,制定藏文百科知識庫的建庫標準,通過人工采集和網絡搜集的方式收集整理藏文百科知識問答對,再通過語義擴展的方式搭設標準問句關鍵詞的語義網絡,完成基礎數據庫的建設。良好的自動問答系統必須要以一個內容豐富準確的資源庫為基礎,百科知識庫的質量及數量直接影響到自動問答系統的性能,因此在知識庫管理模塊中,設定知識庫內容的動態更新,可以手動操控知識內容的添加、編輯和刪除功能,以便實現對于藏文百科知識內容的智能添加和修改。
2.3.2問句分析模塊
問句分析模塊主要包括問句預處理和問句分析兩部分。預處理部分通過分析藏文文本特征以及本文對于問句特征數據的需求,通過分詞、詞性標注、停用詞過濾實現用戶問句的特征化表示。分詞的功能效果主要根據文獻[8]提出的基于統計與規則結合的方式展開設計,然后利用詞性判斷來獲得詞性標注。停用詞庫主要是針對藏文問句中存在的眾多無實際語義的符號、虛詞等功能詞。將藏文文本中包含的無語義符號和藏語停用詞分別進行過濾,構建藏文問句的詞串表示,并在特征詞向量空間的映射下,形成提問查詢向量。根據藏文句子特征和問句的疑問虛詞,確定問句類型,然后再根據詞條的詞性和與主題語義的相關性,確定不同詞條的與主題內容的關聯權值,最后根據關鍵詞擴展規則得到包含權值的詞串序列來表示問句特征。
2.3.3答案提取模塊
在這一模塊中,研究實現的是將問句之間的相似度判斷。總地來說,問句相似度計算主要是判別用戶所提的問句與知識庫中標準問句之間的相似度,相似度越高,則所得出的答案越有可能就是用戶所需要得到的答案。問句之間相似度比較主要是其中關鍵詞的相似度計算。而相似度計算則重點是從詞形、長度和詞序這3個方面的相似程度進行考慮[9]。通過計算2個問句中詞形相似度特征權值、長度相似性特征權值以及位置關系上的相似程度來計算得到問句之間的詞序相似度特征權值。在此基礎上,依據前述得到的相似度特征權值,用線性融合方法獲得問句之間的相似度[10]。
3結束語
研究可知,自動問答系統已然成為當前自然語言處理中一個熱門的方向。本文基于藏文百科知識庫設計構建了一個基礎的自動問答系統,該系統對于提升用戶信息查詢效率、優化檢索結果以及問答系統知識庫建設都將具有一定的積極有益的現實作用,但是由于藏文信息處理技術的限制,加之藏文百科知識內容收集的不完整,使得本文仍然存在諸多需要深度優化改進的地方,例如在藏文語義擴展的方法上,可以參考漢語的方式來豐富研發實踐,本文僅僅利用詞向量的相關性進行相似性判斷,在判斷結果上會有一定的誤差。未來工作中,則將主要針對藏文百科知識內容的搜集完善和藏文關鍵詞語義擴展方面繼續開展下一步的探討與研究。
參考文獻:
[1] 鄭實福,劉挺,秦兵. 自動問答綜述[J]. 中文信息學報,2002,16(6):46-52.
[2] 鎮麗華,王小林,楊思春. 自動問答系統中問句分類研究綜述[J]. 安徽工業大學學報(自然科學版),2015,32(1):48-54,66.
[3] 劉里,曾慶田. 自動問答系統研究綜述[J]. 山東科技大學學報(自然科學版),2007,26(4):73-76.
[4] 王正華. 自動問答系統的研究與實現[D]. 綿陽:西南科技大學,2015.
[5] 鄧昱. 中文問答系統中的答案抽取算法研究[D]. 北京:北京郵電大學,2009.
[6] 劉小宇. 基于語義理解的中文常問問答系統的研究[D]. 大連:大連理工大學,2006.
[7] 金硯碩. 中文問答系統中答案提取的研究[D]. 鞍山:遼寧科技大學,2008.
[8] 艾金勇,陳小瑩,華侃. 面向Web的藏文文本分詞策略研究[J]. 圖書館學研究,2014(21):42-46.
[9] 周永梅,陶紅,陳姣姣,等. 自動問答系統中的句子相似度算法的研究[J]. 計算機技術與發展,2012,22(5):75-78.
[10]李旭鋒. 中文問答系統中問句理解和相似度計算的研究與實現[D]. 廣州:華南理工大學,2010.[ZK)][FL)]endprint