的度d(a)=N。若將無(wú)向連接圖中的結(jié)點(diǎn)與矩陣的下標(biāo)建立關(guān) 系,那么無(wú)向連接圖的度可W使用度矩陣(D)來(lái)唯一標(biāo)識(shí),并為計(jì)算機(jī)可獲取。
[0051] 圖與圖合并:若兩個(gè)子圖(假定為圖A與圖B)中,均存在(且至少存在)一對(duì)具有聯(lián) 系的結(jié)點(diǎn),記為結(jié)點(diǎn)a、結(jié)點(diǎn)b,那么兩個(gè)子圖可W合并。記在圖A和圖B中結(jié)點(diǎn)a,b之間的權(quán)重 分別為wl和合并后的圖中,結(jié)點(diǎn)a與結(jié)點(diǎn)b之間的權(quán)重W=wl+w2。
[0052] 鄰接矩陣(A):圖中結(jié)點(diǎn)之間的邊的值代表結(jié)點(diǎn)之間的關(guān)聯(lián),計(jì)算機(jī)無(wú)法直接獲 取,解決方法是將無(wú)向連接圖轉(zhuǎn)換為其鄰接矩陣,按照求度矩陣時(shí)結(jié)點(diǎn)與矩陣下標(biāo)之間建 立的關(guān)系,可W將圖中的邊所具有的權(quán)重映射到矩陣之中。假定圖中有N個(gè)結(jié)點(diǎn),那么矩陣 的規(guī)模為N*N,假定結(jié)點(diǎn)a、b分別對(duì)應(yīng)下標(biāo)0、1且結(jié)點(diǎn)之間的邊的權(quán)重為W,矩陣定義為Array [N][N],因?yàn)闊o(wú)向連接圖不具有聯(lián)系的方向性,所W,令矩陣中的Array[0][l]=w或Array
[l][0]=w均可W表示無(wú)向連接圖中的邊,運(yùn)就是無(wú)向連接圖的鄰接矩陣的對(duì)稱性,不再單 獨(dú)介紹,因?yàn)檫\(yùn)種對(duì)稱性,所W無(wú)向連接圖的鄰接矩陣只需要使用一半的存儲(chǔ)空間,一般而 言,我們使用矩陣的上部分,對(duì)應(yīng)到上面的例子,令A(yù)rray[0][l]=w。
[0053] 接下來(lái)結(jié)合圖5,對(duì)詞聚類的具體步驟說(shuō)明如下:
[0054] S310:解析語(yǔ)法分析的結(jié)果。語(yǔ)法分析的結(jié)果WXML文本形式展現(xiàn),通過(guò)解析,將其 修改為帶格式的txt文本。格式例如:Text_ID Para_ID Sentence_ID WordNodel命名實(shí)體 句法關(guān)系類別WordNode2
[0055] S320:段落中具有的句法關(guān)系的詞構(gòu)成了無(wú)向連接圖,得出無(wú)向連接圖的鄰接矩 陣。在計(jì)算地址時(shí)可W利用Double Array Trie進(jìn)行快速尋址。關(guān)于Double Array Trie,可 W參考W下文獻(xiàn):
[0056] 王思力,張華平,王斌.雙數(shù)組化ie樹(shù)算法優(yōu)化及其應(yīng)用研究[A],中文信息學(xué)報(bào), 第20卷,第5期:PP25-26;
[0057] Theppitak K aroonboonyanan.An Implementation of Double-Array Trie[Z], http: //1 inux. thai . net/~thep/dat-rie/datrie. html, 2003.
[0058] Jun-Ichi Aoe , Katsushi Mor imoto,Takashi Sato , An Efficient Implementation ofTrie Structures!! J]. Software-Practice and Experience. 1992,22 (9):695-721.
[0059] Aoe J.An Efficient Digital Search Algorithm by Using a Double-Array Structured]. IEEE Transactions on Software Engineering.1989,15(9):1066-1077.
[0060] S330:求鄰接矩陣的廣義逆矩陣。
[0061] S340:按照距離計(jì)算公式計(jì)算段落中任意兩個(gè)詞之間的距離。具體為:
[0062] 將詞關(guān)系表示模型中結(jié)點(diǎn)之間的關(guān)系視為電導(dǎo)率,則對(duì)應(yīng)結(jié)點(diǎn)之間的電阻為電導(dǎo) 率的倒數(shù),進(jìn)而可W得到電阻網(wǎng)絡(luò)。得到電阻網(wǎng)絡(luò)后,我們通過(guò)拉普拉斯圖L計(jì)算任意詞之 間的電阻,L = A-D,其中A是圖的鄰接矩陣,D是圖的度矩陣,貝帷意兩個(gè)結(jié)點(diǎn)(詞)j、k之間的 電阻(距離)為
[0063]
,
[0064] 其中L+為圖L的偽逆矩陣。
[00化]S350:重復(fù)S320-S340,直至該類中所有的段落都得到處理。
[0066] S360:根據(jù)單一段落中詞與詞之間的距離計(jì)算該文本集中任意兩個(gè)詞的距離,因 為任意兩個(gè)段落內(nèi)的句法是互不干設(shè)的,所W按照并聯(lián)公式計(jì)算文本集中任意兩個(gè)詞的距 離。對(duì)于N個(gè)段落中的結(jié)點(diǎn)(詞)A、B而言,其在整個(gè)文本集中的距離為:
[0067]
[006引其中,riAB是指在段落i中,從A至化的距離,當(dāng)在段落i中A、B兩個(gè)詞沒(méi)有聯(lián)系時(shí),其 距離為無(wú)窮大。
[0069] S370:將所有段落的無(wú)向連接圖合并,得到該簇中整個(gè)文本集的無(wú)向連接圖,執(zhí)行 程序得到其鄰接矩陣,運(yùn)里可W使用Double Array化ie快速尋址,通過(guò)鄰接矩陣得到無(wú)向 連接圖的度矩陣。
[0070] S380:分析度矩陣,研究無(wú)向連接圖中每個(gè)節(jié)點(diǎn)的度,尋找聚類中屯、。具體尋找聚 類中屯、的算法隨后介紹。
[0071] S390:根據(jù)S360獲得的詞距離和S380所得聚類中屯、進(jìn)行聚類。聚類算法隨后介紹。
[0072] 需要說(shuō)明書的是:步驟S380尋找聚類中屯、與步驟S390聚類過(guò)程是交織在一起的, 嚴(yán)格的說(shuō),尋找聚類中屯、是聚類過(guò)程的一部分,為了方便說(shuō)明,才將之獨(dú)立為兩個(gè)步驟。
[0073] 下面結(jié)合圖6,介紹聚類算法(步驟S380、S390)。首先約定如下定義:
[0074] 1.聚類中屯、候選點(diǎn)N:通過(guò)聚類中屯、尋找算法選取一些結(jié)點(diǎn)作為將要聚類類簇的 中屯、點(diǎn),運(yùn)些結(jié)點(diǎn)被稱為聚類中屯、候選點(diǎn),簡(jiǎn)稱候選點(diǎn)。例如結(jié)點(diǎn)a被選中為候選點(diǎn),則記為 Na。
[007引2.待聚結(jié)點(diǎn)node:結(jié)點(diǎn)中除候選點(diǎn)外所有的結(jié)點(diǎn)被稱為待聚結(jié)點(diǎn)。例如結(jié)點(diǎn)b未被 選為候選點(diǎn),則認(rèn)為是待聚結(jié)點(diǎn),記為nodeb。
[0076] 3.距離DIS:表示結(jié)點(diǎn)與結(jié)點(diǎn)之間的距離。例如結(jié)點(diǎn)a與結(jié)點(diǎn)b之間的距離記為 DISab,應(yīng)當(dāng)理解DISab與DI訊a是一致的。
[0077] 4.候選點(diǎn)間最小距離dis:特使用于候選點(diǎn)之間,表示對(duì)于候選點(diǎn)化,遍歷化與其 他所有候選點(diǎn)之間的距離DISa*后,選取最小值,記為候選點(diǎn)Na的候選點(diǎn)間最小距離disa。
[0078] 5.距離闊值T:聚類中屯、候選點(diǎn)為化,則所有滿足DISax<T的待聚結(jié)點(diǎn)X構(gòu)成的集合 聚為一個(gè)類C,將運(yùn)個(gè)T稱作距離闊值。
[0079] 6.重疊區(qū)域lap:假定類Q和類C2的聚類中屯、分別為化、抓,當(dāng)DISab<2T時(shí),類C1和 類C2會(huì)在空間上有重疊部分,對(duì)運(yùn)部分重疊區(qū)域記為lap。
[0080] 7.終止闊α:在聚類算法中作為終止條件的參數(shù)。
[0081] 首先指出,聚類過(guò)程核屯、思想是將滿足距離候選點(diǎn)距離小于Τ的待聚結(jié)點(diǎn)劃分到 對(duì)應(yīng)的類中,并將之從待聚結(jié)點(diǎn)中去除,而對(duì)于重疊區(qū)域的點(diǎn),我們遵循如下原則:重疊區(qū) 域中的待聚結(jié)點(diǎn)劃分到距離最近的聚類中屯、候選點(diǎn)對(duì)應(yīng)的類中。
[0082] 聚類中屯、尋找算法(步驟S380)如下:
[0083] S381:將所有人為標(biāo)注的種子記為聚類中屯、候選點(diǎn)Ν,建立矩陣存儲(chǔ)他們之間的相 互聚類DIS。
[0084] S382:獲得所有聚類中屯、候選點(diǎn)間最小距離dis,構(gòu)成集合Setdis。
[0085] S383:計(jì)算Setdis中數(shù)據(jù)的均值作為距離闊值,使用闊值T計(jì)算公式如下:
[0086]
[0087] S384:調(diào)用聚類算法進(jìn)行聚類,判斷聚類算法是否滿足終止條件,若滿足則結(jié)束, 若不滿足則進(jìn)入步驟S385。
[0088] S385:取待聚結(jié)點(diǎn)中度最高的結(jié)點(diǎn)添加到候選點(diǎn)中,重復(fù)步驟S381-S384。
[0089] 聚類過(guò)程核屯、思想是將滿足距離候選點(diǎn)距離小于T的待聚結(jié)點(diǎn)劃分到對(duì)應(yīng)的類 中,并將之從待聚結(jié)點(diǎn)中去除,而對(duì)于重疊區(qū)域的點(diǎn),我們遵循如下原則:重疊區(qū)域中的待 聚結(jié)點(diǎn)劃分到距離最近的聚類中屯、候選點(diǎn)對(duì)應(yīng)的類中。
[0090] 提出重疊區(qū)域的目的是衡量當(dāng)前方案的優(yōu)劣,我們認(rèn)為最優(yōu)解是噪聲點(diǎn)外所有的 點(diǎn)都被區(qū)分且不存在重疊區(qū)域,運(yùn)里存在兩條含義:1.盡可能多的點(diǎn)得到聚類;2.重疊區(qū)域 盡可能小。實(shí)際情況中,當(dāng)距離闊值T變動(dòng)時(shí),重疊區(qū)域會(huì)發(fā)生變化,可能出現(xiàn)運(yùn)樣的情況: 時(shí),最終聚類結(jié)果一致,且都存在重疊區(qū)域,但我們認(rèn)為對(duì)應(yīng)重疊區(qū)域更小的(或者說(shuō)重疊 區(qū)域中包含結(jié)點(diǎn)數(shù)較少的)更接近于最優(yōu)解,運(yùn)符合含義2。
[0091] 仔細(xì)思考我們會(huì)發(fā)現(xiàn)可聚類的結(jié)點(diǎn)數(shù)量與重疊區(qū)域之間存在一定規(guī)律,假設(shè)所有 聚類中屯、已確定,當(dāng)T的取值從0逐漸增大時(shí),可聚類的結(jié)點(diǎn)數(shù)量和重疊區(qū)域有增大趨勢(shì),在 運(yùn)個(gè)過(guò)程的前部分,我們逐漸接近最優(yōu)解,當(dāng)T增大到一定程度時(shí),所有的結(jié)點(diǎn)都將得到聚 類(假定剛好全部得到聚類時(shí)的巧己為τ'),當(dāng)T繼續(xù)增大