高璐 趙小兵
【摘 要】自HowNet誕生以來,作為一個中文常識性知識庫,HowNet為自然語言處理提供了一個新的研究資源。本文主要研究了HowNet利用其計算詞語相似度的優勢在中文自然語言處理應用中做出的突出貢獻,深入剖析了HowNet的知識結構以及相關技術,并提出了HowNet在近年來應用過程中遇到的技術難題及瓶頸。
【關鍵詞】知網;自然語言處理;HowNet;詞語相似度
自然語言處理的最終目標是讓計算機能夠與人類進行有效的通信。國外的自然語言處理發展的相對成熟,大規模的真實語料庫的建立以及知識庫諸如WordNet、FrameNet的不斷完善推動了自然語言的發展。盡管這樣,由于中文和英文的結構句法不同,有自己獨特的特色,因此我們不能本著“拿來主義”,用國外已有的技術來處理中文的自然文本,必須有一套適合中文的處理模式。
HowNet由董振東、董強先生于1999年在因特網上公布,作為一個雙語知識庫,它為中文自然語言處理提供了不可多得的語言資源。目前關于知網的研究還處于基礎階段,劉群、李素建等人深入研究了基于HowNet的詞語相似度計算,其他的研究人員也將HowNet應用于信息檢索、MC評測集的建立等領域,取得了可喜的成績。
本文深入研究了HowNet的相關結構,分析了HowNet的知識組成以及網狀關系,探討了Hownet在當前領域的現狀并指出了其存在的問題,并分析了原因。
1 HowNet簡介
《知網》[3]是一個在線的語言外的知識系統,其中概念的定義被描述為計算機很容易計算的機構化標記語言形式。它除了提供中文含義還提供了含義相等的英文詞匯。知網中的每個概念有多個義項,而每個義項由多個義原按照KDML語法組織在一起。如知識庫中對“醫生”的描述為:{human|人:HostOf={Occupation|職位},domain={medical|醫},{doctor|醫治:agent={~}}},這里的“人”、“職位”、“醫”、“醫治”均是知網的義原,幾個義原的組合,共同描述概念“醫生”的真實語義。
2 基于HowNet的詞語相似度計算
HowNet通過上下位關系將義原組織成了一個義原分類體系。該分類體系主要包括事件、實體、屬性和屬性值4種,我們可以通過義原的層次清楚到看到義原的上下位關系,并簡單的計算義原之間的距離。HowNet把這些知識提供給計算機,從而讓計算機可以對這些知識進行操作。詞語相似度的計算就是挖掘義原之間的距離、深度、密度等信息,利用這些信息對義原進行相關的計算,從而得到一個相似度值。相似度計算主要有以下方法:一種是基于機器的詞典的方式,比如HowNet;另一種是基于統計的方法。本節主要探討第一種方式。
2.1 詞語相似度計算
劉群、李素建[2]等人利用義原的距離信息提出了一種詞語相似度計算的算法。他們將每一個詞語分解成n個義項,并定義最終的相似度應該是所有義項的相似度的最大值。故對于兩個漢語詞語W1和 W2,如果W1有n個義項(概念):S11,S12,……,S1n,W2有m個義項(概念):S21,S22,……,S2m,則這兩個詞語的相似度應該是W1的義項S11,S12,……,S1n和W2的義項S21,S22,……,S2m之間的最大相似度值。即:
Sim(W1,W2)= ■Sim(S1i,S2j)(1)
2.2 概念(義項)相似度計算
下一步就是求義項相似度,即DEF項。在HowNet中,DEF項主要通過義原的各種動態角色組織起來。如對于“警察”這個概念,在知識庫中描述為:DEF={human|人:HostOf={Occupation|職位},domain={police|警}}。其中“human|人”是第一基本義原,“Occupation|職位”“police|警”是其他基本義原。有些復雜的DEF項還包括關系義原和符號義原。因此劉群等人將DEF的描述義原分為以上四種,并分別記它們的相似度為Sim1(S1,S2)、Sim2(S1,S2)、Sim3(S1,S2)、Sim4(S1,S2):因此,兩個DEF項的相似度公式為:
Sim(S1,S2)=■?茁i■Simj(S1,S2)(2)
知網中相似性的計算是基于概念的,它已被證明達到非常高的精度。而上面通過對“警察”這個概念的描述,我們能看出來DEF是通過KDML將義原和動態角色組織起來來體現的。劉群等人采用做過一些簡單的實驗,它們僅僅利用了義原的距離信息,并取得較理想的效果。 2.4 義原相似度的改進算法
吳健和江敏等人在劉群的研究基礎上,又進一步改進了語義相似度計算公式,使得計算的結果更加精確。吳健等人不僅考慮了義原的距離,還將義原的深度信息以一定的比重加入進來,當義原所處的深度總和越大,所賦予的比重則越高。江敏則還考慮了義原之間的反義、對義和義原的定義,改進了上面的計算公式。義原相似度算法的不斷的改進,為HowNet在自然語言處理方面的應用提供了研究工具。目前基于HowNet的研究不斷的開展,諸如語義傾向性分析、詞義消歧、信息檢索、MC評測集的建立等。
3 HowNet在自然語言處理領域的應用
3.1 語義傾向性分析
朱嫣嵐等人在語義傾向性分析方面做了較深的研究。他們認為一個詞語的褒貶性可以通過該詞與另一個已知褒貶性詞語的相似度來衡量。他們首先建立了一個基準詞庫,并且人工挑選了一部分已知傾向性的種子詞對,并加入到詞庫當中。這個可以通過HowNet直接獲取。假設基準詞典里共有褒貶詞m對,褒義詞用bench_y來表示,貶義詞用bench_n表示,待判斷傾向詞匯為W。則語義傾向性分析的基本思想是:判斷W與bench_y和bench_n的相似度,若W與bench_y的相似度大于W與bench_n的相似度,則W為褒義,否則為貶義。
3.2 詞義消歧
一個知識庫質量的好壞直接決定了基于知識詞典的詞義消歧的準確率。彭琳等人經過研究發現:①如何確定單詞的詞義及其個數;②如何從這些詞義中做出選擇,這兩個問題是解決知識庫消歧的關鍵問題。而解決第二個問題的方法就是,抽取句子中的關鍵字序列,將各關鍵字與歧義詞的各義項進行相似度比對,選取相似度值最高的義項作為歧義詞應取的義項。
HowNet對每一個詞語的每一個義項均提供了實例,即(E_C)。提供這些實例的目的不僅僅是來解釋這個義項,更是用來說明這個義項與其他義項的不同。而且隨著HowNet版本的不斷更新,所提供的實例庫也越來越完整。因此一些基本的詞匯通過實例庫就可以進行簡單的消歧,從而消除了用統計的方法進行詞義消歧產生的噪音,提高了詞義消歧的正確率。
4 HowNet在實際應用中的問題與總結
目前HowNet不僅在文中所述的詞語相似性計算、情緒分析、信息檢索、詞義消歧、擴展知識詞典等方面的研究有了很大的進展,在命名實體、自動文摘、語義場的構建方面的研究也有長足的進步,這些研究為自然語言的發展貢獻了力量。但同時,HowNet在這十余年的發展中也面臨著一些問題:
1)HowNet是一種珍貴的語言學資源,但由于缺乏多種相關技術的支持,如擴展知識庫的方法和工具,為知識庫添加(下轉第75頁)(上接第39頁)實例的方法和工具,以及基于知識庫的推理的相關算法及工具。這些工具和研究方法的缺失使得HowNct無法短時間內很好的推廣,距離實際應用還有較大的距離。
2)HowNet作為一種人工編纂的詞典,許多詞語的定義項DEF有不完整的地方,概念定義與實際有一定的偏差,需要對概念定義進行補充。HowNet雖然收錄了近20萬多詞條,但依舊收錄有限。另外對于不斷出現的未登錄詞,比如“八榮八恥”等,會固定成為我們的日常用語,HowNet就顯得力不從心了。這就需要不斷的更新知識庫,另外HowNet也應該建立一個在線的新詞發現機制,使得用戶能夠通過在線來更新自己的知識庫,這對未來的研究是很有幫助的。
目前HowNet已經取得長足的進步,希望HowNet在已取得的成績的基礎上繼續發展,也希望更多的技術能夠融入進來,推動HowNet在實際領域的應用和完善,為自然語言的發展加彩。
【參考文獻】
[1]董振東,董強(1999).“知網”,http://www.keenage.com[OL].
[2]劉群,李素建.基于《知網》的詞匯語義相似度的計算[J].計算語言學及中文信息處理,2002,7:59-76
[3]董振東.HowNet and Computation of Meaning[OL/R].第十三屆國際詞網研討會.
[4]董振東,董強,郝長伶.知網的理論發現[J].中文信息學報.2007(04).
[責任編輯:王楠]