詞匯等級識別的算法
6.2.4 等級識別
基于相似度矩陣的等級聚類算法把同一主題相關(guān)的詞匯聚集在一起,實(shí)現(xiàn)對不同主題相關(guān)詞匯的劃分,但各簇內(nèi)詞匯之間的等級關(guān)系尚不確定。等級識別算法采用統(tǒng)計(jì)方法,旨在把每個簇中的詞匯組織成等級結(jié)構(gòu),實(shí)現(xiàn)敘詞表等級關(guān)系的識別。分析現(xiàn)有漢語敘詞表的詞族索引中詞匯等級的分布特點(diǎn),與詞匯在等級結(jié)構(gòu)中所在級別相關(guān)的因素主要有:①詞頻。通常認(rèn)為詞頻越高的詞匯語義越寬泛,成為上位詞的可能性越大;②詞長。詞長越長,詞匯所揭示的概念越具體專指,成為下位詞的幾率越高。這樣,根據(jù)這些因素對詞匯所處等級位置進(jìn)行量化表示,用H代表等級系數(shù),某詞匯Ti的等級系數(shù)可以定義為:
其中,F(xiàn)req(Ti)為詞匯Ti的總詞頻;N表示詞匯Ti所含有的詞素個數(shù),用正向最大匹配算法對詞匯Ti進(jìn)行詞素切分所得。這樣,我們可以根據(jù)需要建立等級的數(shù)目和等級系數(shù)確定詞匯在等級結(jié)構(gòu)中所處的等級層次,詞匯的等級系數(shù)越大,它在等級結(jié)構(gòu)中的位置越高。
Forsyth和Rada曾經(jīng)設(shè)計(jì)一種完全基于詞頻的等級識別方法[12]。其算法前提是:①高頻詞具有較為寬泛的含義,而低頻詞含義較為狹窄;②如果具有不同詞頻的兩個詞匯p和q,其密度函數(shù)形狀相同,則判斷它們詞義相似。由此推導(dǎo)出高頻詞p是低頻詞q的上位詞。本文借鑒了他們的方法,首先選擇需要生成的K個等級層次,按等級系數(shù)把各個簇中的詞匯分成K個等級層次,對于每個等級層次中的詞匯,如果位于等級層次低的詞匯與其上一等級層次中的某個詞匯語義相似度最高,則認(rèn)為是該詞匯的一個下位詞。具體實(shí)施算法如下:
步驟1:輸入需要建立的等級數(shù)量K。
步驟2:根據(jù)等級系數(shù),把簇中的詞匯歸入到K個不同的詞級中,每個等級系數(shù)段對應(yīng)一個詞級。
步驟3:最高詞級定義為level0,低詞級依次定義為level1,level2...
步驟4:在相鄰層次產(chǎn)生父—子連接。對leveli中的每個詞t,計(jì)算t與leveli-1層中每個詞之間的相似度,t成為與之最相似的那個leveli-1層詞的子節(jié)點(diǎn)。如果leveli-1層中有多個詞符合該條件,那么認(rèn)為它們都是t的父節(jié)點(diǎn),也就是說,一個詞允許有多個父節(jié)點(diǎn)。
步驟5:在leveli中的每個詞都與leveli-1中的詞連接后,檢查leveli-1中的詞匯,識別出那些沒有子節(jié)點(diǎn)的詞,并把這些詞傳送到leveli層。
步驟6:判斷是否到達(dá)底層,是則結(jié)束,否則執(zhí)行步驟4。
經(jīng)過該算法后,以上聚類結(jié)果中的各個簇中的詞匯基本歸入到不同等級中,如圖6-8所示,再經(jīng)過人工判定和調(diào)整后即可確定等級關(guān)系。
圖6-8 等級識別結(jié)果示例
免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。