基于百科鏈接共現(xiàn)的語義消岐方法
【專利摘要】本發(fā)明提供了一種基于百科鏈接共現(xiàn)的語義消岐方法,包括步驟:步驟1:預(yù)處理:收集詞義,建立短語和詞義之間的映射關(guān)系,識別出名詞短語;步驟2:鏈接共現(xiàn)信息的擴(kuò)充,收集初始共現(xiàn)信息,更新鏈接,更新共現(xiàn)信息,加入新添加的鏈接與其他鏈接的共現(xiàn);步驟3:利用擴(kuò)充的鏈接共現(xiàn)信息,對給定的文本進(jìn)行消岐。本發(fā)明具有的有益效果:1)采用共現(xiàn)信息進(jìn)行消岐更加直接,計算復(fù)雜度也更低;2)采用鏈接的共現(xiàn)亦即詞義的共現(xiàn),避免了采用詞義與背景詞共現(xiàn)時背景詞有岐義,導(dǎo)致消岐過程存在噪音的問題;3)采用百科作為知識庫,可以進(jìn)一步完成多單詞詞語的消岐。
【專利說明】基于百科鏈接共現(xiàn)的語義消岐方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自然語言處理,具體地,涉及基于百科鏈接共現(xiàn)的語義消岐方法。
【背景技術(shù)】
[0002]經(jīng)對現(xiàn)有技術(shù)進(jìn)行檢索,發(fā)現(xiàn)如下相關(guān)檢索結(jié)果。
[0003]相關(guān)檢索結(jié)果1:
[0004]申請(專利)號:200910141737.4,名稱:詞義消岐系統(tǒng)和方法。
[0005]該專利文獻(xiàn)涉及一種詞義消岐系統(tǒng),用于對多義詞進(jìn)行詞義消岐,包括:輸入裝置,用于輸入包括多義詞的文本:以及詞義消岐裝置,用于基于所述詞的詞義明顯度來迭代地確定每個詞的詞義,其中詞義明顯度是根據(jù)所述詞的詞義可信度獲得的。
[0006]該專利文獻(xiàn)基于詞義間的相似度完成消岐任務(wù),相似度的計算需要借助wordnet或hownet等知識庫。對于每個待消岐的詞都需要累計它的每個詞義與上下文各個詞所有詞義的相似度,計算復(fù)雜度較高。雖然該專利文獻(xiàn)中通過漸進(jìn)計算的方式優(yōu)化了算法,但計算相似度仍然是個耗時的過程。當(dāng)詞語很多時,消岐耗時會比較長。
[0007]技術(shù)要點比較:
[0008]1.該專利文獻(xiàn)采用相似度作為消岐依據(jù),而本發(fā)明采用共現(xiàn)信息;
[0009]2.該專利文獻(xiàn)采用wordnet或hownet等詞庫作為知識庫,而本發(fā)明可以采用維基百科,這并不是嚴(yán)格意義的詞典。
[0010]相關(guān)檢索結(jié)果2:
[0011]申請(專利)號:201110200321.2,名稱:一種基于語義詞典的詞語消岐方法。
[0012]該專利文獻(xiàn)提出了基于語義詞典的詞語消岐方法,所提出的方法利用對詞語概念相關(guān)度的計算,實現(xiàn)自動文本摘要的預(yù)處理工作詞語消岐,利用概念的相關(guān)關(guān)系實現(xiàn)語義消岐的方法,綜合考慮概念、概念釋義、概念的同義詞、概念的擴(kuò)展釋義及擴(kuò)展概念的同義詞集合等因素及句子的連貫度要求,利用概念的相關(guān)度計算公式和回溯法選取單詞的最佳詞義,實現(xiàn)基于上下文的語義消岐。
[0013]該專利文獻(xiàn)定義了詞義間的相關(guān)度來完成消岐任務(wù)。相關(guān)度的計算利用了詞義的描述文本和同義詞信息。為降低計算復(fù)雜度,對考慮的組合做了限制,僅以3個詞為單位。
[0014]技術(shù)要點比較:
[0015]1.該專利文獻(xiàn)采用相關(guān)度作為消岐依據(jù),而本發(fā)明采用共現(xiàn)信息;
[0016]2.該專利文獻(xiàn)采用詞庫作為知識庫,而本發(fā)明可以采用維基百科,并不是嚴(yán)格意義的詞典。
[0017]相關(guān)檢索結(jié)果3:
[0018]申請(專利)號:200810117907.0,名稱:一種利用計算機(jī)對詞義進(jìn)行排岐的方法、
系統(tǒng)及檢索方法。
[0019]該專利文獻(xiàn)利用岐義詞的背景特征詞對岐義詞每個義項的貢獻(xiàn)度來確定岐義詞的涵義,計算機(jī)可以自己對排岐進(jìn)行學(xué)習(xí)。[0020]該專利文獻(xiàn)依賴于標(biāo)記好詞義的語料。對于一個詞義,語料中出現(xiàn)的其他詞為背景詞并計算權(quán)重,消岐時通過計算每個詞義與給定文本背景詞的加權(quán)和來選取最佳詞義。這里存在的問題就是這些背景詞本身也可能是有岐義的,可能為消岐帶來噪音。
[0021]技術(shù)要點比較:
[0022]1.該專利文獻(xiàn)采用詞義與背景詞的共現(xiàn)作為消岐依據(jù),由于背景詞本身可能是有岐義的,會對消岐過程帶來噪聲,本發(fā)明采用鏈接即詞義間的共現(xiàn),避免了這一問題;
[0023]2.該專利文獻(xiàn)需要對文章進(jìn)行詞義標(biāo)注,而本發(fā)明可以采用維基百科,無需這一耗時過程。
【發(fā)明內(nèi)容】
[0024]針對上述現(xiàn)有技術(shù)中的缺陷,,本發(fā)明的目的是提供一種基于百科(如維基百科或百度百科)中鏈接共現(xiàn)的語義消岐方法。本發(fā)明要解決的技術(shù)問題體現(xiàn)在以下幾點:
[0025]I)可以引入百科鏈接的共現(xiàn)作為消岐的信息,與現(xiàn)有技術(shù)中應(yīng)用的相似度、相關(guān)度等信息相比,共現(xiàn)信息更加直接、計算復(fù)雜度也更低。
[0026]2)百科中每個鏈接對應(yīng)一個具體的詞義,所以鏈接的共現(xiàn)實質(zhì)上也是詞義間的共現(xiàn),這避免了采用詞義與背景詞的共現(xiàn)信息中背景詞有岐義,因而消岐過程中不存在噪音的問題。
[0027]3)對于英文消岐,wordnet是一個常用的知識庫,但wordnet主要包含單個單詞的詞語,利用百科則可以進(jìn)一步完成多單詞詞語的消岐。
[0028]4)百科中含有的鏈接是比較稀疏的,為了更好地完成消岐任務(wù),需要對百科原先的鏈接共現(xiàn)信息進(jìn)行有效的擴(kuò)充。
[0029]5)給定的待消岐文本是不帶鏈接的,因此需要設(shè)計一套利用鏈接共現(xiàn)信息完成文本消岐的算法。
[0030]根據(jù)本發(fā)明提供的基于百科鏈接共現(xiàn)的語義消岐方法,包括如下步驟:
[0031]步驟1:預(yù)處理:
[0032]步驟1.1:收集詞義,建立短語和詞義之間的映射關(guān)系;
[0033]步驟1.2:識別出名詞短語;
[0034]步驟2:鏈接共現(xiàn)信息的擴(kuò)充;
[0035]步驟2.1:收集初始共現(xiàn)信息;
[0036]步驟2.2:更新鏈接,其中,根據(jù)已經(jīng)收集的共現(xiàn)信息,嘗試對不帶鏈接的名詞短語進(jìn)行消岐,為不帶鏈接的名詞短語加上鏈接;
[0037]步驟2.3:更新共現(xiàn)信息,加入新添加的鏈接與其他鏈接的共現(xiàn)。
[0038]其中,在步驟2中重復(fù)步驟2.2和步驟2.3,直至步驟2.2不能再添加新的鏈接為止;
[0039]步驟3:利用擴(kuò)充的鏈接共現(xiàn)信息,對給定的文本進(jìn)行消岐。
[0040]優(yōu)選地,所述步驟1.1包括如下任一種或任多種步驟:
[0041]-根據(jù)百科的消歧頁面獲取短語和詞義之間的映射關(guān)系;
[0042]-根據(jù)百科的組織方式獲取短語和詞義之間的映射關(guān)系。
[0043]優(yōu)選地,所述步驟1.2包括如下步驟:[0044]步驟1.2.1:除去百科中的鏈接,得到純文本的版本;
[0045]步驟1.2.2:然后將得到的純文本作為輸入,利用自然語言處理工具,以文章為單位,將純文本中的名詞短語識別出來;
[0046]步驟1.2.3:將百科原有的帶有鏈接短語和識別的名詞短語進(jìn)行整合;
[0047]步驟1.2.4:整合后對于每篇百科的文章,均獲取一個名詞短語的列表,列表中的名詞短語中有帶鏈接和不帶鏈接兩種。
[0048]優(yōu)選地,在所述步驟1.2.3中,所述的整合,是指根據(jù)帶鏈接短語和識別的名詞短語的包含關(guān)系,進(jìn)行如下處理:
[0049]對于每篇文章,若識別的名詞短語和帶鏈接短語沒有交集,則在識別的名詞短語中尋找最長的在步驟1.1中得到的映射中的短語;若有交集,則根據(jù)帶鏈接短語的鏈接的位置將識別的名詞短語分割成小的短語,在小的短語中匹配映射中的短語。
[0050]優(yōu)選地,所述步驟2.1,具體為:
[0051]以文章為單位,遍歷每個帶鏈接的名詞短語A,所有與這個帶鏈接的名詞短語A間隔小于自然數(shù)Wc個短語的帶鏈接的名詞短語B,都視為與帶鏈接的名詞短語A共現(xiàn),那么,帶鏈接的名詞短語A和帶鏈接的名詞短語B的這兩個鏈接所指向的文章所描述的詞義被認(rèn)為共現(xiàn),帶鏈接的名詞短語A和帶鏈接的名詞短語B的詞義的共現(xiàn)次數(shù)加I。
[0052]優(yōu)選地,所述步驟2.2,具體為:
[0053]對于不帶鏈接的名詞短語Tu,確定Tu的詞義并添加鏈接。先找到與不帶鏈接的名詞短語Tu間隔小于Wc個短語的帶鏈接的名詞短語,這些帶鏈接的名詞短語的詞義集合記為SI,那么對不帶鏈接的名詞短語Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù)Score (Su):
[0054]Score (Su) = Σ SinS1Cooccur (S, Su)
[0055]其中,Xsinsi表示對SI中每個詞義S和Su的共現(xiàn)次數(shù)進(jìn)行疊加,S表示集合SI中的一個詞義,Cooccur (S,Su)即表示S和Su兩個詞義的共現(xiàn)次數(shù)。
[0056]如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于閾值t,則確定Tu的詞義為分?jǐn)?shù)最高的詞義,同時為Tu加上指向分?jǐn)?shù)最高詞義的鏈接。
[0057]優(yōu)選地,所述步驟3包括如下步驟:
[0058]步驟3.1:利用自然語言處理工具,將給定文本中的名詞短語識別出來;
[0059]步驟3.2:從第一個名詞短語開始,以自然數(shù)Ws個短語為單位,對給定文本進(jìn)行掃描,掃描過程中,先計算這Ws個短語詞義的所有組合,每個組合通過以下公式計算組內(nèi)分?jǐn)?shù) Score (C):
[0060]Score (C) = Σ Si;SJinC;i>JCooccur (Si, Sj)
[0061]其中,Ssi sj吣Dj表示對C這個詞義組合中兩兩詞義的共現(xiàn)次數(shù)進(jìn)行疊加,C表示一個詞義組合,Si和Sj表示詞義組合C中的兩個詞義,Cooccur (Si, Sj)表示Si和Sj兩個詞義的共現(xiàn)次數(shù);
[0062]步驟3.3:選取分?jǐn)?shù)Score(C)最高的組合,記錄每個名詞短語在這個組合中的詞義和組合的分?jǐn)?shù);
[0063]其中,通過步驟3.2、步驟3.3完成一次掃描結(jié)束后,將掃描區(qū)間在給定文本中往后移一個短語,繼續(xù)掃描直至到最后一個名詞短語;[0064]所有掃描結(jié)束后,每個名詞短語都會有一個(詞義,分?jǐn)?shù))配對的列表,將這些配對根據(jù)詞義分組,組內(nèi)分?jǐn)?shù)的和作為這個分組的分?jǐn)?shù),最后,選取分?jǐn)?shù)最高的分組,這個分組對應(yīng)的詞義就是對應(yīng)名詞短語的最后詞義;
[0065]對所有識別的名詞短語都得到最后詞義,整個消岐過程完成。
[0066]優(yōu)選地,所述步驟I包括如下步驟All)-A16)、或者步驟Bll)-B15);
[0067]步驟All)-A16)具體為:
[0068]步驟All)從百科官網(wǎng)下載百科的Dump文件,通過解析XML獲取百科中頁面的id和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義;
[0069]步驟A12)解析屬于Disambiguation Page分類的頁面,獲取頁面中鏈接指向的頁面的id,從而建立該Disambiguation Page頁面標(biāo)題,即一個短語,的詞義集合。
[0070]步驟A13)解析屬于Redirect Page分類的頁面,該頁面標(biāo)題的詞義集合中加入該頁面指向的頁面的id作為詞義;
[0071]步驟A14)除去百科文本中的鏈接,得到純文本版本,利用Shallow Parse,即淺層解析器,識別出文本中的名詞短語;
[0072]步驟A15)將鏈接放回文本,此時步驟A14)識別出來的短語中可能包含鏈接的全部或一部分;依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接;
[0073]步驟A16)在分割后的短語中匹配頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語;
[0074]步驟Bll)-B15)具體為:
[0075]步驟Bll)抓取百科頁面,通過解析HTML獲取百科中頁面的id和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義;對于含有多個詞義的頁面,頁面的id和詞義所在區(qū)塊的id組合起來對應(yīng)一個詞義;
[0076]步驟B12)從百科頁面中直接獲得頁面標(biāo)題,即一個短語,的詞義集合,該集合被列在頁面的開頭部分,如果該短語有同義詞,也會被列在頁面的開頭;
[0077]步驟B13)除去百科文本中的鏈接,得到純文本版本;利用Shallow Parse,即淺層解析器,識別出文本中的名詞短語;
[0078]步驟B14)將鏈接放回文本,此時步驟B13)識別出來的短語中可能包含鏈接的全部或一部分;依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接;
[0079]步驟B15)在分割后的短語中匹配百科頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語。
[0080]優(yōu)選地,所述步驟2包括如下步驟:
[0081]步驟21)以頁面為單位,遍歷每個帶鏈接的短語A,所有與這個帶鏈接的短語A間隔小于10個短語的帶鏈接短語B,都視為與之共現(xiàn);共現(xiàn)數(shù)據(jù)以哈希表的形式保存;對于共現(xiàn)的兩個帶鏈接短語A、B,通過以下公式根據(jù)鏈接指向的頁面id計算鍵值:
[0082]Key (idl, id2) =Min (idl, id2) *1000000000+Max (idl, id2)
[0083]其中,idl表示短語A的鏈接指向的頁面id, id2表示短語B的鏈接指向的頁面id, Key (idl, id2)表示通過idl和id2計算出的鍵值,Min (idl, id2)表示取idl和id2中的最小值,Max (idl, id2)表示取idl和id2中的最大值;
[0084]那么哈希表的對應(yīng)項加I ;[0085]步驟22)根據(jù)已收集的共現(xiàn)數(shù)據(jù),對不帶鏈接的短語進(jìn)行消岐,確定其詞義,并為不帶鏈接的短語加上鏈接;對于不帶鏈接的名詞短語Tu,先找到與不帶鏈接的名詞短語Tu間隔小于10個短語的帶鏈接名詞短語,這些短語的詞義集合記為SI,那么對Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù)Score (Su):
[0086]Score (Su) = Σ SinS1Cooccur (S, Su)
[0087]其中Cooccur (S, Su)即S和Su兩個詞義的共現(xiàn)次數(shù),通過哈希表查找;
[0088]如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于2,則確定Tu的詞義為分?jǐn)?shù)最高的詞義,同時為Tu加上指向分?jǐn)?shù)最高詞義的鏈接;
[0089]步驟23)鏈接被更新后,更新哈希表,加入新添加的鏈接對應(yīng)的詞義與其他鏈接對應(yīng)詞義的共現(xiàn)數(shù)據(jù)。
[0090]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
[0091]I)采用共現(xiàn)信息進(jìn)行消岐更加直接,計算復(fù)雜度也更低;
[0092]2)采用鏈接的共現(xiàn)亦即詞義的共現(xiàn),避免了采用詞義與背景詞共現(xiàn)時背景詞有岐義,導(dǎo)致消岐過程存在噪音的問題;
[0093]3)采用百科作為知識庫,可以進(jìn)一步完成多單詞詞語的消岐。
【專利附圖】
【附圖說明】
[0094]通過閱讀參照以下附圖對非限制性實施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
[0095]圖1為本發(fā)明中消岐算法的流程示意圖。
【具體實施方式】
[0096]下面結(jié)合具體實施例對本發(fā)明進(jìn)行詳細(xì)說明。以下實施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
[0097]下面以維基百科為例,本發(fā)明提供的方法包括如下步驟:
[0098]步驟1:維基百科的預(yù)處理;
[0099]步驟2:鏈接共現(xiàn)信息的擴(kuò)充;
[0100]步驟3:利用擴(kuò)充的鏈接共現(xiàn)信息進(jìn)行消岐。
[0101]其中,步驟I包括以下步驟:
[0102]步驟1.1:詞義的收集;
[0103]消岐任務(wù)中利用的最基本的信息就是短語和其詞義的映射關(guān)系,一個短語可能被映射到多個詞義,而消岐就是確定短語在給定的上下文中的詞義。常見的消岐方法以wordnet作為映射關(guān)系的來源,但維基百科自身并不包含這種映射信息,這也就是本步驟所需要完成的任務(wù)。首先,維基百科中的每篇文章都描述了一個特定的概念或?qū)嶓w,這里的每個概念或?qū)嶓w都被視為一個詞義。接下來就是建立短語和詞義間的映射。
[0104]維基百科中有一類Disambiguation頁面(消歧頁面),對于某個短語,Disambiguation頁面中列出該短語可能代表的維基頁面,即詞義。于是,從Disambiguation頁面可以直接得到短語和詞義間的映射。此外,維基百科中還有頁面重定向的機(jī)制。一個短語如果被重定向到某個頁面,那么這個頁面所描述的概念也被加入到該短語的詞義中。對于其他不提供Disambiguation頁面的百科,可以適應(yīng)百科的組織方式獲得短語和詞義間的映射。如百度百科,它將一個短語的不用詞義組織在同一個頁面中,那么可以從這個頁面中得到短語和詞義間的映射。
[0105]步驟1.2:維基名詞短語的識別;
[0106]在這一步驟中,首先除去維基百科中的鏈接,得到純文本的版本;然后將得到的純文本作為輸入,利用自然語言處理工具,以文章為單位,將文本中的名詞短語識別出來,其中,本領(lǐng)域技術(shù)人員可以結(jié)合現(xiàn)有技術(shù)實現(xiàn)所述自然語言處理工具,在此不再贅述;接下來,將維基百科原有的帶有鏈接的短語和識別的名詞短語作一個整合,整合的過程詳見步驟1.2.1 ;整合后對于每篇維基百科的文章,都可以獲取一個名詞短語的列表,列表中的名詞短語中有帶鏈接和不帶鏈接兩種。
[0107]步驟1.2.1:帶鏈接短語和識別名詞短語的整合; [0108]在這一步驟中,根據(jù)帶鏈接短語和識別名詞短語的包含關(guān)系,進(jìn)行如下處理:
[0109]對于每篇文章,若識別的名詞短語和帶鏈接的短語沒有交集,則在識別的名詞短語中尋找最長的在步驟1.1中得到的映射中的短語;若有交集,則根據(jù)鏈接的位置將識別的名詞短語分割成小的短語,在小的短語中匹配映射中的短語。
[0110]步驟2包括以下步驟:
[0111]步驟2.1:初始共現(xiàn)信息的收集;
[0112]在這一步驟中,以文章為單位,遍歷每個帶鏈接的名詞短語A,所有與這個帶鏈接的名詞短語A間隔小于Wc (Wc為自然數(shù))個短語(包括帶鏈接和不帶鏈接)的帶鏈接的名詞短語B,都視為與帶鏈接的名詞短語A共現(xiàn),那么,帶鏈接的名詞短語A和帶鏈接的名詞短語B的這兩個鏈接所指向的文章所描述的詞義被認(rèn)為共現(xiàn),這兩個詞義的共現(xiàn)次數(shù)加I。
[0113]步驟2.2:更新鏈接:
[0114]在這一步驟中,根據(jù)已經(jīng)收集的共現(xiàn)信息,嘗試對不帶鏈接的名詞短語進(jìn)行消岐,為不帶鏈接的名詞短語加上鏈接。對于不帶鏈接的名詞短語Tl!,先找到與其間隔小于Wc個短語的帶鏈接名詞短語,這些帶鏈接名詞短語的詞義集合記為SI,那么對Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù)Score (Su):
[0115]Score (Su) = Σ SinS1Cooccur (S, Su)
[0116]其中,Ssinsi表示對SI中每個詞義S和Su的共現(xiàn)次數(shù)進(jìn)行疊加,S表示集合SI中的一個詞義,Cooccur (S,Su)即表示S和Su兩個詞義的共現(xiàn)次數(shù)。
[0117]如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于閾值t,則確定Tu的詞義為分?jǐn)?shù)最高的詞義,同時為Tu加上指向該詞義的鏈接。
[0118]步驟2.3:更新共現(xiàn)信息:
[0119]鏈接被更新后,更新共現(xiàn)信息,加入新添加的鏈接與其他鏈接的共現(xiàn)。
[0120]步驟2會重復(fù)步驟2.2和2.3,直至步驟2.2不能再添加新的鏈接為止。
[0121]而步驟3根據(jù)步驟2得到的擴(kuò)充后的共現(xiàn)信息,對給定的文本進(jìn)行消岐。首先,利用自然語言處理工具,將給定文本中的名詞短語識別出來。然后,從第一個名詞短語開始,以Ws (Ws為自然數(shù))個短語為單位,對文本進(jìn)行掃描。掃描過程中,先計算這Ws個短語詞義的所有組合,每個組合通過以下公式計算分?jǐn)?shù)Score(C):
[0122]Score (C) = Σ Si;SJinC;i>JCooccur (Si, Sj)
[0123]其中,Ssi sj吣Dj表示對C這個詞義組合中兩兩詞義的共現(xiàn)次數(shù)進(jìn)行疊加,C表示一個詞義組合,Cooccur (Si, Sj)表示Si和Sj兩個詞義的共現(xiàn)次數(shù)。
[0124]選取分?jǐn)?shù)Score(C)最高的組合,記錄每個名詞短語在這個組合中的詞義和組合的分?jǐn)?shù)。一次掃描結(jié)束后,將掃描區(qū)間往后移一個短語,繼續(xù)掃描直至到最后一個名詞短語。所有掃描結(jié)束后,每個名詞短語都會有一個(詞義,分?jǐn)?shù))配對的列表。將這些配對根據(jù)詞義分組,組內(nèi)分?jǐn)?shù)的和作為這個分組的分?jǐn)?shù)。最后,選取分?jǐn)?shù)最高的分組,這個分組對應(yīng)的詞義就是這個名詞短語的最后詞義。對所有識別的名詞短語都完成這一計算后,整個消岐過程完成。
[0125]進(jìn)一步地,在一個針對維基百科的優(yōu)選例中,本發(fā)明的詳細(xì)實施方案如下:
[0126]一、維基百科的預(yù)處理
[0127]步驟11)從維基百科官網(wǎng)下載維基百科的Dump文件,通過解析XML獲取維基百科中頁面的id和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義。
[0128]步驟12)解析屬于DisambiguationPage分類的維基頁面,獲取頁面中鏈接指向的頁面的id,從而建立該DisambiguationPage頁面標(biāo)題(即一個短語)的詞義集合。
[0129]步驟13)解析屬于RedirectPage分類的頁面,該頁面標(biāo)題的詞義集合中加入該頁面指向的頁面的id作為詞義。
[0130]步驟14)除去維基百科文本中的鏈接,得到純文本版本。利用ShallowParse,即淺層解析器,識別出文本中的名詞短語。
[0131]步驟15)將鏈接放回文本,此時步驟14)識別出來的短語中可能包含鏈接的全部或一部分。依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接。
[0132]步驟16)在分割后的短語中匹配維基頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語。
[0133]二、鏈接共現(xiàn)信息的擴(kuò)充
[0134]步驟21)以頁面為單位,遍歷每個帶鏈接的短語A,所有與這個帶鏈接的短語A間隔小于10個短語(包括帶鏈接和不帶鏈接)的帶鏈接短語B,都視為與之共現(xiàn)。共現(xiàn)數(shù)據(jù)以哈希表的形式保存。對于共現(xiàn)的兩個帶鏈接短語A、B,通過以下公式根據(jù)鏈接指向的頁面id計算鍵值:
[0135]Key (idl, id2) =Min (idl, id2) *1000000000+Max (idl, id2)
[0136]其中,idl表示短語A的鏈接指向的頁面id, id2表示短語B的鏈接指向的頁面id, Key (idl, id2)表示通過idl和id2計算出的鍵值,Min (idl, id2)表示取idl和id2中的最小值,Max (idl, id2)表示取idl和id2中的最大值。
[0137]那么哈希表的對應(yīng)項加I。
[0138]步驟22)根據(jù)已收集的共現(xiàn)數(shù)據(jù),對不帶鏈接的短語進(jìn)行消岐,為其加上鏈接。對于不帶鏈接的名詞短語Tu,先找到與其間隔小于10個短語的帶鏈接名詞短語,這些短語的詞義集合記為SI,那么對Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù):
[0139]Score (Su) = Σ SinS1Cooccur (S,Su)
[0140]其中Cooccur (S,Su)即S和Su兩個詞義的共現(xiàn)次數(shù),通過哈希表查找。[0141]如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于2,則確定Tu的詞義為分?jǐn)?shù)最高的詞義,同時為Tu加上指向該詞義的鏈接。
[0142]步驟23)鏈接被更新后,更新哈希表,加入新添加的鏈接對應(yīng)的詞義與其他鏈接對應(yīng)詞義的共現(xiàn)數(shù)據(jù)。
[0143]重復(fù)步驟22)和23)直至不能加入新的鏈接。
[0144]三、利用擴(kuò)充的鏈接共現(xiàn)信息進(jìn)行消岐
[0145]采用步驟14)同樣的方法,識別出文本中名詞短語。然后,從第一個名詞短語開始,以5個短語為單位,對文本進(jìn)行掃描。掃描過程中,先計算這5個短語詞義的所有組合,每個組合通過以下公式計算分?jǐn)?shù):
[0146]Score (C) = Σ Si;SJinC;i>JCooccur (Si, Sj)
[0147]選取分?jǐn)?shù)最高的組合,記錄每個短語在這個組合中的詞義和組合的分?jǐn)?shù)。一次掃描結(jié)束后,將掃描區(qū)間往后移一個短語,繼續(xù)掃描直至到最后一個短語。所有掃描結(jié)束后,每個短語都會有一個(詞義,分?jǐn)?shù))配對的列表,因為一個短語可能重復(fù)出現(xiàn)在多個掃描區(qū)間。將這些配對根據(jù)詞義分組,組內(nèi)分?jǐn)?shù)的和作為這個分組的分?jǐn)?shù)。最后,選取分?jǐn)?shù)最高的分組,這個分組對應(yīng)的詞義就是這個短語的最后詞義。對所有識別的短語都完成這一計算后,整個消岐過程完成。
[0148]除了維基百科,其他百科,只要頁面內(nèi)容中含有指向其他頁面的鏈接,以及有組織一個短語不同詞義的結(jié)構(gòu),就可以應(yīng)用本發(fā)明。以百度百科為例,在具體實施方案上,只需對步驟一預(yù)處理部分進(jìn)行修改:
[0149]步驟11)抓取百度百科頁面,通過解析HTML獲取百度百科中頁面的id和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義。對于含有多個詞義的頁面,頁面的id和詞義所在區(qū)塊的id組合起來對應(yīng)一個詞義。
[0150]步驟12)從百度百科頁面中直接獲得頁面標(biāo)題(即一個短語)的詞義集合,該集合被列在頁面的開頭部分,如果該短語有同義詞,也會被列在頁面的開頭。
[0151]步驟13)除去百度百科文本中的鏈接,得到純文本版本。利用Shallow Parse,即淺層解析器,識別出文本中的名詞短語。
[0152]步驟14)將鏈接放回文本,此時步驟14)識別出來的短語中可能包含鏈接的全部或一部分。依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接。
[0153]步驟15)在分割后的短語中匹配百度百科頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語。
[0154]步驟二和步驟三與具體的百科形式無關(guān),可以沿用維基百科的實施方案。
[0155]以上對本發(fā)明的具體實施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。
【權(quán)利要求】
1.一種基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,包括如下步驟: 步驟1:預(yù)處理: 步驟1.1:收集詞義,建立短語和詞義之間的映射關(guān)系; 步驟1.2:識別出名詞短語; 步驟2:鏈接共現(xiàn)信息的擴(kuò)充; 步驟2.1:收集初始共現(xiàn)信息; 步驟2.2:更新鏈接,其中,根據(jù)已經(jīng)收集的共現(xiàn)信息,嘗試對不帶鏈接的名詞短語進(jìn)行消岐,為不帶鏈接的名詞短語加上鏈接; 步驟2.3:更新共現(xiàn)信息,加入新添加的鏈接與其他鏈接的共現(xiàn); 其中,在步驟2中重復(fù)步驟2.2和步驟2.3,直至步驟2.2不能再添加新的鏈接為止; 步驟3:利用擴(kuò)充的鏈接共現(xiàn)信息,對給定的文本進(jìn)行消岐。
2.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟.1.1包括如下任一種或任多種步驟: -根據(jù)百科的消歧頁面獲取短語和詞義之間的映射關(guān)系; -根據(jù)百科的組織方式獲取短語和詞義之間的映射關(guān)系。
3.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟.1.2包括如下步驟: 步驟1.2.1:除去百科中的鏈接,得到純文本的版本; 步驟1.2.2:然后將得到的純文本作為輸入,利用自然語言處理工具,以文章為單位,將純文本中的名詞短語識別出來; 步驟1.2.3:將百科原有的帶有鏈接短語和識別的名詞短語進(jìn)行整合; 步驟1.2.4:整合后對于每篇百科的文章,均獲取一個名詞短語的列表,列表中的名詞短語中有帶鏈接和不帶鏈接兩種。
4.根據(jù)權(quán)利要求3所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,在所述步驟1.2.3中,所述的整合,是指根據(jù)帶鏈接短語和識別的名詞短語的包含關(guān)系,進(jìn)行如下處理: 對于每篇文章,若識別的名詞短語和帶鏈接短語沒有交集,則在識別的名詞短語中尋找最長的在步驟1.1中得到的映射中的短語;若有交集,則根據(jù)帶鏈接短語的鏈接的位置將識別的名詞短語分割成小的短語,在小的短語中匹配映射中的短語。
5.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟.2.1,具體為: 以文章為單位,遍歷每個帶鏈接的名詞短語A,所有與這個帶鏈接的名詞短語A間隔小于自然數(shù)Wc個短語的帶鏈接的名詞短語B,都視為與帶鏈接的名詞短語A共現(xiàn),那么,帶鏈接的名詞短語A和帶鏈接的名詞短語B的這兩個鏈接所指向的文章所描述的詞義被認(rèn)為共現(xiàn),帶鏈接的名詞短語A和帶鏈接的名詞短語B的詞義的共現(xiàn)次數(shù)加I。
6.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟.2.2,具體為: 對于不帶鏈接的名詞短語Tu,需要確定Tu的詞義并添加鏈接;先找到與不帶鏈接的名詞短語Tu間隔小于Wc個短語的帶鏈接的名詞短語,這些帶鏈接的名詞短語的詞義集合記為SI,那么對不帶鏈接的名詞短語Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù)Score (Su):
Score (Su) = Σ SinS1Cooccur (S, Su) 其中,Ssinsi表示對SI中每個詞義S和Su的共現(xiàn)次數(shù)進(jìn)行疊加,S表示集合SI中的一個詞義,Cooccur (S,Su)即表示S和Su兩個詞義的共現(xiàn)次數(shù)。 如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于閾值t,則確定Tu的詞義為分?jǐn)?shù)最高的詞義,同時為Tu加上指向分?jǐn)?shù)最高詞義的鏈接。
7.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟3包括如下步驟: 步驟3.1:利用自然語言處理工具,將給定文本中的名詞短語識別出來; 步驟3.2:從第一個名詞短語開始,以自然數(shù)Ws個短語為單位,對給定文本進(jìn)行掃描,掃描過程中,先計算這Ws個短語詞義的所有組合,每個組合通過以下公式計算組內(nèi)分?jǐn)?shù)Score (C):
Score (C) = Σ Si;SJinC;DjCooccur (Si, Sj) 其中,2Si,SJinC;i>J表示對C這個詞義組合中兩兩詞義的共現(xiàn)次數(shù)進(jìn)行疊加,C表示一個詞義組合,Si和Sj表示詞義組合C中的兩個詞義,Cooccur (Si, Sj)表示Si和Sj兩個詞義的共現(xiàn)次數(shù); 步驟3.3:選取分?jǐn)?shù)Score (C)最高的組合,記錄每個名詞短語在這個組合中的詞義和組合的分?jǐn)?shù); 其中,通過步驟3.2、步驟3.3完成一次掃描結(jié)束后,將掃描區(qū)間在給定文本中往后移一個短語,繼續(xù)掃描直至到最后一個名詞短語; 所有掃描結(jié)束后,每個名詞短語都會有一個(詞義,分?jǐn)?shù))配對的列表,將這些配對根據(jù)詞義分組,組內(nèi)分?jǐn)?shù)的和作為這個分組的分?jǐn)?shù),最后,選取分?jǐn)?shù)最高的分組,這個分組對應(yīng)的詞義就是對應(yīng)名詞短語的最后詞義; 對所有識別的名詞短語都得到最后詞義,整個消岐過程完成。
8.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟I包括如下步驟All) -A16)、或者步驟Bll) -B15); 步驟All)-A16)具體為: 步驟All)從百科官網(wǎng)下載百科的Dump文件,通過解析XML獲取百科中頁面的id和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義; 步驟A12)解析屬于Disambiguation Page分類的頁面,獲取頁面中鏈接指向的頁面的id,從而建立該Disambiguation Page頁面標(biāo)題,即一個短語,的詞義集合; 步驟A13)解析屬于Redirect Page分類的頁面,該頁面標(biāo)題的詞義集合中加入該頁面指向的頁面的id作為詞義; 步驟A14)除去百科文本中的鏈接,得到純文本版本,利用Shallow Parser,即淺層解析器,識別出文本中的名詞短語; 步驟A15)將鏈接放回文本,此時步驟A14)識別出來的短語中可能包含鏈接的全部或一部分;依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接; 步驟A16)在分割后的短語中匹配頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語; 步驟Bll)-B15)具體為: 步驟B11)抓取百科頁面,通過解析HTML獲取百科中頁面的i d和文本內(nèi)容,這里得到的每一個id都對應(yīng)一個詞義;對于含有多個詞義的頁面,頁面的id和詞義所在區(qū)塊的id組合起來對應(yīng)一個詞義; 步驟B12)從百科頁面中直接獲得頁面標(biāo)題,即一個短語,的詞義集合,該集合被列在頁面的開頭部分,如果該短語有同義詞,也會被列在頁面的開頭; 步驟B13)除去百科文本中的鏈接,得到純文本版本;利用Shallow Parser,即淺層解析器,識別出文本中的名詞短語; 步驟B14)將鏈接放回文本,此時步驟B13)識別出來的短語中可能包含鏈接的全部或一部分;依據(jù)鏈接對短語進(jìn)行分割,保證分割后的短語范圍不包含鏈接; 步驟B15)在分割后的短語中匹配百科頁面的標(biāo)題,從而得到帶鏈接和不帶鏈接的兩類短語。
9.根據(jù)權(quán)利要求1所述的基于百科鏈接共現(xiàn)的語義消岐方法,其特征在于,所述步驟2包括如下步驟: 步驟21)以頁面為單位,遍歷每個帶鏈接的短語A,所有與這個帶鏈接的短語A間隔小于10個短語的帶鏈接短語B,都視為與之共現(xiàn);共現(xiàn)數(shù)據(jù)以哈希表的形式保存;對于共現(xiàn)的兩個帶鏈接短語A、B,通過以下公式根據(jù)鏈接指向的頁面id計算鍵值:
Key(idl, id2)=Min(idl, id2)*1000000000+Max(idl, id2) 其中,idl表示短語A的鏈接指向`的頁面id, id2表示短語B的鏈接指向的頁面id,Key (idl, id2)表示通過idl和id2計算出的鍵值,Min (idl, id2)表示取idl和id2中的最小值,Max (idl, id2)表示取idl和id2中的最大值; 那么哈希表的對應(yīng)項加I ; 步驟22)根據(jù)已收集的共現(xiàn)數(shù)據(jù),對不帶鏈接的短語進(jìn)行消岐,確定其詞義,并為不帶鏈接的短語加上鏈接;對于不帶鏈接的名詞短語Tu,先找到與不帶鏈接的名詞短語Tu間隔小于10個短語的帶鏈接名詞短語,這些短語的詞義集合記為SI,那么對Tu的每個可能的詞義Su通過以下公式計算分?jǐn)?shù)Score (Su):
Score (Su) = Σ SinS1Cooccur (S, Su) 其中Cooccur (S, Su)即S和Su兩個詞義的共現(xiàn)次數(shù),通過哈希表查找; 如果分?jǐn)?shù)最高的詞義和分?jǐn)?shù)第二高的詞義之間的比值大于2,則確定Tu的詞義為分?jǐn)?shù)最聞的詞義,同時為Tu加上指向分?jǐn)?shù)最聞的詞義的鏈接; 步驟23)鏈接被更新后,更新哈希表,加入新添加的鏈接對應(yīng)的詞義與其他鏈接對應(yīng)詞義的共現(xiàn)數(shù)據(jù)。
【文檔編號】G06F17/27GK103729343SQ201310471554
【公開日】2014年4月16日 申請日期:2013年10月10日 優(yōu)先權(quán)日:2013年10月10日
【發(fā)明者】朱其立, 蔡智源, 趙凱祺 申請人:上海交通大學(xué)