摘 要:針對網絡答疑具體任務,提出答疑本體概念,構建答疑本體,并提出一種基于答疑本體的答案匹配方法和相似度計算公式。公式不僅考慮詞之間的相似度,還考慮問題答案對(QAp)在本體中的位置。該位置信息隱含了句子結構上的語義和詞的語義擴展。實驗結果表明提出的答疑本體能夠有效表示QAp,易于答疑系統的檢索匹配。
關鍵詞:網絡答疑系統; 答疑本體; 語義匹配
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2009)06-2288-03
doi:10.3969/j.issn.1001-3695.2009.06.088
Study on generation and match of question answering ontology
SUN Xia1, HONG Hua2, WANG Xin3
(1.Dept. of Computer, School of Information Science Technology, Northwest University, Xian 710069, China; 2.Dept. of Network Engineering, Engineering Institute, Air Force Engineering University, Xian 710077, China; 3. China National Electric Apparatus Research Institute, Guangzhou 510302,China)
Abstract:
Aiming at the requirements and traits of question answering systems, designed a structure of question answering ontology, which was the representation of natural language questions, and provided a well retrieval mechanism. Meanwhile, proposed an approach of ontology acquisition, which could decrease the costs of development manually. Finally, proposed formula in order to computer semantic similarity between sentences basing on question answering ontology. Now, the proposed ontology has already been implemented and applied in the natural language oriented Web answer system (NL-WAS), it shows that the question answering ontology can improve the result of the question search of NL-WAS system effectively.
Key words:Web question answering system; question answering ontology; semantic match
隨著網絡教育、網絡信息系統等的飛速發展和推廣應用,網上在線答疑已經成為人們不可或缺的基本應用工具。但是,由于網上學習的用戶數量大,使得有限的教師往往難以實時解答用戶提出的各種問題,且學生所提出的問題中有相當一部分是內涵相同的問題,讓教師重復解答這些問題也是低效的。為了緩解這一矛盾,提出了基于自然語言的網絡自動答疑系統,并對此進行了大量研究[1~3]。其基本思路是:根據教學經驗,將課程中經典的,或具有普遍意義的,或容易被誤解的問題,采用自然語言表達方式組織成問題答案對(question answer pair,QAp),建立問題資源庫。用戶可以直接采用自然語言提問,由系統對提問內容進行語法、語義分析,根據語義在問題資源庫中進行匹配,并將匹配后的結果返回給提問者。一方面,該方式使得QAp資源得到重復利用,節省教師時間;另一方面,它提供較好的人機接口,實現了問題與答案在語義級的匹配,提高了檢索結果的準確性。
1 相關工作
在上述自然語言答疑系統中,如何有效地表示QAp是最基本的問題之一。一個良好的語義表示方法不僅有助于QAp的獲取,而且還能有效地支持基于語義的問題匹配[4]。傳統的語義表示方法有產生式規則、框架和邏輯等[5]。產生式規則是一種借助條件語句if-then表示知識的方法。它具有簡單、易于被人理解的優點,適合表示過程性知識。但由于缺乏靈活性,對復雜、隱含的QAp知識不能很好地表示。框架是20世紀70年代初M.Minsky提出來的一種知識表達方法。在該方法中,所要描述的對象是用一種稱之為框架的數據結構來表示的,并且框架中的屬性值通常情況下由人工填寫。而對于實際中的復雜對象,單用一個框架往往是難以表示的,必須借用多個框架來表示,按一定方式組織成一個框架系統。這必然增加人工工作量,導致實現困難。因此,對于復雜、隱含的QAp知識不易采用框架表示法。在知識的邏輯表示方法中,知識是借助于謂詞符號、變量符號、函數符號和常量符號表示論域內的關系,是一種精確的、標準的表示方法。但是它不適合表示規模較大的知識。
隨著本體(ontology)理論的發展,逐漸成為廣泛關注的知識表示方法之一。本體是通過對某個領域中的概念、屬性以及它們之間關系的描述,來揭示復雜、隱含知識的本質,使得它們可被軟件系統重用和共享[6,7]。自然語言網絡自動答疑系統也正是為了使復雜、隱含的QAp知識能夠重復利用,以便減輕教師答疑的工作量。因此,本文采用本體表示QAp知識。
隨著本體在知識工程、自然語言理解和人工智能等領域應用,人們逐漸開發出了一些本體,如WordNet,它是基于心理語言規則的英文詞典,以synsets為單位組織信息,各種語義關系通過synsets維持,消除詞法上的模糊性。CYC是一個常識性本體,為廣泛的智能系統提供常識推理。目前,CYC的知識庫已容納了上百萬條知識。SENSUS是用于面向自然語言程序的本體,由USC ISI自然語言組為機器翻譯提供廣泛的概念結構而構建的,包括七萬多個概念。然而,關于本體構建的方法還不成熟,只有適合自身項目的方法,許多本體構建均以一個具體任務為起點,這樣易于本體功能的描述以及本體知識的自動獲取[8]。鑒此,針對網絡答疑的具體任務,本文提出并構建了答疑本體(question answering ontology, QAO),在答疑本體的基礎上,進一步提出了一種答案匹配方法和相似度計算公式。實驗結果表明構建的答疑本體能夠有效提高答疑系統性能。
2 答疑本體結構
答疑本體是QAp的一種語義表示,定義為一個四元組QAO: =(D, C, R, T)。其中:D表示某個領域;C是領域D中所有術語概念的詞匯;R是概念間的語義關系;T是所有可能的問題類型。答疑本體的結構如圖1所示。
1)概念(concepts) 某個課程內的專業詞定義為該領域的概念,記為c。例如路由器就是計算機網絡課程中的一個概念。
2)關系(relations) 關系R是指在領域中概念間的語義關系,包括同義關系(synonymy-of)、上下位關系(hyponymy-of)、整體—部分關系(part-of)、并列關系(parataxis-of)。上下位關系指概念外延的包含關系。下位概念的外延是上位概念外延的一部分,如網絡協議、FTP/HTTP。整體—部分關系指客體間的組成關系,如計算機網絡、通信子網/資源子網。按同一標準劃分并處于同一層面的概念稱為并列概念,如FTP、HTTP和通信子網、資源子網。
3)問題類型(question types) 問題類型T反映了用戶提問方式。對疑問句的語法現象進行了深入細致的分析總結,結合目前國內外現有的主流問題分類體系,本文確定了一個具有三層樹狀結構的問句分類體系。該體系共包含28種類型:T={定義類,區別類,目的類,原因類,方法類,選擇類,是非類,分類類,條件類,結構類,關系類,屬性類,實例類,應用類,作用類,數量類,程度類,時間類,地點類,方位類,位置類,人物類,實體類,縮寫類,原理類,演化類,觀點類,描述類}。例如,定義類問題:“什么是多路復用技術?”,又如:原因類問題“為什么窄帶ISDN要以電路交換為基礎?”。當問題不屬于上述任何一種語義類型時,則判斷該問題為未知類。
如圖1所示,QAO的特征是:每個概念都由關系和問題類型兩個功能節點描述。概念A的關系子樹描述了概念A與其他概念之間的四種語義關系。概念A的問題類型子樹描述了包含概念A的QAp的語義分類。需要說明的是,一個概念可以有多個上下位概念、整體—部分概念、并列概念和同義概念;同樣,同一個問題語義類別也可以對應多個QAp。
實際上,通過增加更多的關系節點與功能節點,本文提出的任務相關的本體還可以應用到其他智能信息系統中。
3 答疑本體的構建
為了構建一個答疑本體,需要獲取某個領域內相關概念、概念間的語義關系以及常見問題的語義類型。下面說明答疑本體的構造過程:
輸入:領域語料M
輸出:答疑本體QAO
(1)采用基于切分單元的最大匹配算法(maximum matching algorithm based on segment unit, MMSU),從領域語料M中抽取該領域術語詞匯,即該領域內的概念,放入集合C中。
(2)從集合R中選取一個概念A,重復下述過程,直至取遍集合C中所有概念。
(2.1)根據四種關系抽取規則從集合C中找出與概念A相關的其它概念,建立概念的關系連接。
(2.2)找出系統問題資源庫中包含概念A的常見問題。
(2.3)根據疑問詞、特征詞以及固定結構這三個特征判斷問題的語義類型,建立問題類型連接。
(2.4)根據關系連接和問題類型連接,建立概念A子樹。
(3)合并所有概念子樹,最終生成答疑本體QAO。
關于MMSU算法和關系抽取規則以及問題語義類型判斷,請詳見筆者以前的工作[9~13],限于篇幅,這里不作介紹。
4 基于答疑本體的語義匹配
定義1 概念激活。設概念A∈C,若r,r∈R,R={sy-nonymy-of, hyponymy-of, part-of, parataxis-of},使得r(A, B), 且B∈C,則稱概念B被概念A激活。
定義2 路徑。在QAO中,從概念節點A到QAp節點的所有中間節點的集合稱為A-QAp路徑。如圖1所示,A-QAp1路徑和A-QAp4路徑分別記為Path (A-QAp1)={R(0), Tq=定義}; Path(A-QAp4)={R(1)2, Tq=定義}。R(d)x表示第d層的概念關系節點,d是路徑長度,x=1,2,3,4,R1,R2,R3,R4分別表示同義關系、上下位關系、整體—部分關系、并列關系節點。
基于答疑本體的語義匹配分為兩個階段:首先查找答疑本體QAO,獲得與用戶問題query相關的、到達QAp節點的所有路徑;然后分別計算query和每一條路徑之間的語義相似度,選取分值最大的路徑對應的QAp作為答案返回給用戶。
因為每個概念都是由關系和語義類型兩個功能節點來描述,所以有兩種方式可以到達QAp節點。一種是沿著概念關系分支,通過概念的激活操作,到達QAp節點;另一種是對query進行問句類型判斷后,根據query的語義類型,沿著概念的問題類型分支到達QAp節點。路徑獲取流程描述如下:
輸入:用戶問題query
輸出:query相關的路徑集合S
(1)對query進行分詞、詞性標注,獲取query中包含的所有概念,得到集合Cq={Cq1, Cq2,…};判斷query的問句類型Tq∈T。
(2)對集合Cq中的每一個概念Cqi,重復下述過程。
(2.1)查找QAO,獲取概念Cqi在QAO中的位置。
(2.2)沿著概念Cqi的問題類型分支到達QAp節點,記錄path(QAp),放入集合S中。
(2.3)判斷是否存在被概念Cqi激活的概念B。若存在,Cqi=B,執行步驟(2.1)、(2.2)。
(2.4)將概念Cqi從集合Cq中刪除。
(3)重復步驟(2), 直到Cq為空。
接下來,需要計算query和S中每一條候選路徑QApi之間的相似度,選取分值最大的路徑。
answer=arg maxpath(sim(QApi,query))(1)
其中:sim(QApi,query)計算公式定義為
sim(QApi,query)=αΠlenth(QApi)d=1CR(d)x×QT(QApi,query)+(1-α)keyword(QApi,query)(2)
句子之間的語義相似,與句子的表達方式和句子中使用的詞匯有關,所以定義query和QApi之間的相似度sim(QApi,query)由兩部分分值決定,即QApi在本體中的位置與QApi和query之間的關鍵詞相似度keyword(QApi,query)。
在答疑本體中,每一個候選路徑QApi是由路徑上的中間節點的集合表示,這個集合可能由多個多層關系節點和一個問題類型節點組成。因此,需要計算路徑上每一個節點的權值。其中,CR(d)x表示第d層的概念關系權值,且CR(0)x=1。同義關系、上下位關系、整體—部分關系、并列關系對應的關系權值CR1、CR2、CR3、CR4,滿足0.5 另一部分是QApi與query之間的關鍵詞相似度keyword(QApi,query)。本文采用TF-IDF(Salton, 1973)的方法計算。TF-IDF方法將query和QApi分別表示成詞向量,即(w1,w2,…,wn),n是QApi和query含有的不重復詞的總數,wk是詞k的權重,然后通過計算QApi和query兩個向量的夾角,評測兩個句子的相似程度。計算公式為 wk=tfk×idfk(3) tfk=0.5+0.5×fk/mfk>00fk=0(4) idfk=log 2(n/nk)+1(5) 其中:fk指詞k在QApi或query中出現的次數;m是句子中所有詞出現次數中的最大值;nk表示包含詞k 的QAp個數。于是QApi與query之間的關鍵詞相似度定義為 keyword(QAPi,query)=∑nk=1wqkwik/ ∑nk=1(wqk)2∑nk=1(wik)2(6) 其中:wqk和wik分別為詞k在query和QApi的權重。TF-IDF方法的特點是:獎勵那些在句子中多次出現的詞,認為多次出現的詞比只出現一次的詞重要,即考慮詞頻tfk;同時還獎勵那些很少在所有句子中都出現的詞,認為不同詞匯對句子含義的貢獻是不同的,如某些詞匯“路由器”“作用”可能比在幾乎所有QAp集合中都出現的詞匯“是”“什么”更重要,即通過idfk來判斷詞匯的重要性。 最后,對這兩部分分值加權求和,得到query和QApi最終分值,選取分值最大的QApi作為答案返回給用戶。 5 實驗及分析 由于目前普遍缺乏對本體嚴格的評價技術[6],本文通過測試答疑系統的正確率和召回率來間接驗證答疑本體的好壞。 首先,人工收集了計算機網絡相關的QAp,存儲在系統問題資源庫中(在實現中,QAp是存儲在問題資源數據庫中,而答疑本體中QAp節點只是記錄在問題資源數據庫中的編號);然后,按照第4章介紹的步驟,利用筆者以前工作中開發的概念關系獲取工具和問題類型分析工具,構建了一個具有914個概念節點、1 500個QAp節點的答疑本體QAO。最后從答疑網站的日志中隨機選取45個問題進行以下三種匹配方法的測試,以便驗證答疑本體的性能。 KM:采用關鍵詞匹配(keyword match),獲取答案。 BM:沒有使用答疑本體的匹配(basic match),語義相似度采用TF-IDF計算方法得到的答案,閾值為0.5。 AM:使用答疑本體的匹配(advanced match),語義相似度由式(2)計算得出,返回語義相似度值大于0.5的QAp。表1列出了三種方法實驗對比結果。 從以上數據可以看出,KM方法的準確率明顯低于另外兩種方法,BM方法居中,AM方法最好。采用AM方法得到的平均查準率比BS方法得到的平均查準率提高了9.25%(86.3%-77.0%),平均查全率提高了13.0%(75.0%-62.0%)。由此證明,采用答疑本體進行語義匹配,能夠提高答疑系統的準確率和查全率。 KM和BM方法是當前自然語言答疑系統中常采用的兩種匹配技術。KM是最簡單的匹配方法,但這種僅依靠字符串機械匹配的檢索方式必然導致結果集合的錯誤放大或縮小。與KM方法相比,BM方法把query和QAp分別表示成向量空間模型中的一個詞向量,然后計算兩者之間的歐式距離。它考慮了文本的統計特性,因而比KM方法在準確率上有所提高。但是BM方法還是沒有考慮到文本語義的任何方面,把句子簡單地看做是詞的集合。AM方法不僅考慮query和QAp在統計意義上的相似度,還考慮了QAp在本體中的位置。這個位置信息隱含了句子結構上的語義(問句類型)和詞的語義擴展(概念語義關系),因此能夠獲得較高的準確率和查全率。 6 結束語 本文針對網絡答疑的具體任務,提出并構建了答疑本體,提出了答案匹配方法和相似度計算公式。實驗結果表明本文提出的答疑本體能夠有效地表示QAp,易于答疑系統的檢索匹配。目前,基于答疑本體的答疑系統已在西安交通大學網絡教育中得到實際應用,并取得了較好的應用效果。然而,本文提出的語義相似度計算公式中,問題類型相關度矩陣值是由人工設定的,有時不能反映問題類型之間真實的相關度。因此,下一步的工作將研究一種自適應的方法,訓練問題類型相關度的參數,以便提高答案匹配的精度。 致謝 感謝西安交通大學張素娟,王朝靜同學、蘭州大學蘇振明同學為本文問答匹配的實現編寫了部分代碼,感謝研究所劉均、田鋒博士為本文修改提出了寶貴的意見。同時也感謝研究小組其他成員為本文做出的無私貢獻。 參考文獻: [1]VOORHEESE M.Overview of the TREC 2002 question answering track[C]//Proc of the 11th Text Retrieval Conference (TREC) Gaithersburg. 2002:115-123. [2]DEEPAK R, HOVY E. Learning surface text patterns for a question answering system[C]//Proc of the 40th Annual Meeting of the Association for Computational Linguistics. 2002. [3]鄭慶華,胡云華,張素娟. 自然語言網絡答疑系統的研究與實現[J]. 小型微型計算機系統, 2005,26(3):554-560. [4]WU S H, HSU W L. SOAT: a semi-automatic domain ontology acquisition tool from Chinese corpus[C]//Proc of the 19th International Conference on Computational Linguistics. 2002:1-5. [5]王克宏, 湯志忠, 胡蓬,等. 知識工程與知識處理系統[M]. 北京:清華大學出版社, 1998. [6]NALALYA F N. Semantic integration: a survey of ontology-based approaches[J]. SIGMOD Record, 2004,33(4):65-69. [7]陳剛,陸汝鈐,金芝. 基于領域知識重用的虛擬領域本體構造[J]. 軟件學報,2003,14(3): 350-355. [8]李善平,尹奇,胡玉杰,等.本體論研究綜述[J]. 計算機研究與發展, 2004,41(7): 1041-1052. [9]孫霞,鄭慶華,王朝靜,等.一種基于生語料的領域詞典生成方法[J]. 小型微型計算機系統,2005,26(3):1088-1092. [10]鄭慶華,王朝靜,孫霞. 一種基于結構化語料庫的概念語義網絡自動生成算法[J]. 計算機研究與發展,2005,42(3):478-485. [11]SUN Xia, ZHENG Qing-hua. Semantics-based answers selection in question answering system[C]//Proc of International Conference on Web-based Learning(ICWL). 2004. [12]孫霞,鄭慶華. 教育資源元數據語義擴展查找方法的研究[J]. 計算機研究與發展,2004,41(12):2170-2174. [13]SUN Xia, ZHENG Qing-hua. An approach to acquire semantic relationships between terms[C]//Proc of Web Technologies and Applications Special Track of the 20th ACM Symposium on Applied Computing (SAC). 2005.