羅 灝,徐小良,呂躍華
(1.杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江杭州 310018;2.浙江省科技信息研究院網(wǎng)絡(luò)中心,浙江杭州 310006)
隨著我國(guó)各類科技計(jì)劃項(xiàng)目申報(bào)數(shù)量和經(jīng)費(fèi)的逐年遞增,科技項(xiàng)目管理服務(wù)信息平臺(tái)建設(shè)不健全,導(dǎo)致項(xiàng)目重復(fù)申報(bào)現(xiàn)象日益突出。為了有效杜絕類似現(xiàn)象,提高科技經(jīng)費(fèi)使用效率,針對(duì)科技項(xiàng)目申請(qǐng)書信息進(jìn)行文本相似度計(jì)算研究是必要的。關(guān)鍵詞是相似度計(jì)算、文本檢索等應(yīng)用的基礎(chǔ),因而關(guān)鍵詞提取方法的研究是有效實(shí)現(xiàn)科技項(xiàng)目相似性檢查的關(guān)鍵。
目前關(guān)鍵詞提取方法主要分為3類:(1)基于統(tǒng)計(jì)特征的方法,如詞語頻度統(tǒng)計(jì)。(2)基于詞語網(wǎng)絡(luò)的方法,如文獻(xiàn)[1]根據(jù)規(guī)則將文檔映射為詞語共現(xiàn)網(wǎng)絡(luò)并用計(jì)算詞語的關(guān)鍵度來提取關(guān)鍵詞。(3)基于語義的方法。前兩種方法雖然具有簡(jiǎn)單高效的優(yōu)點(diǎn),但由于算法局限于字面匹配、缺乏語義理解而排除了低頻率的關(guān)鍵詞。針對(duì)這個(gè)問題,引入語義特征進(jìn)行關(guān)鍵詞提取是目前的主要研究方法,如文獻(xiàn)[2]引入《同義詞詞林》計(jì)算詞語的語義距離,一定程度上提高了關(guān)鍵詞提取的準(zhǔn)確度,但沒有結(jié)合詞頻因素。另外,科技項(xiàng)目申請(qǐng)書中包含的專業(yè)術(shù)語通常是項(xiàng)目的關(guān)鍵詞,但很多術(shù)語沒有收錄在詞典中,因而這類未登錄詞的識(shí)別尤為重要。
本文針對(duì)科技項(xiàng)目申請(qǐng)書的特征,利用Apache Lucene[3]和互信息統(tǒng)計(jì)相結(jié)合的多策略融合的方法進(jìn)行分詞,并采用識(shí)別未登錄詞作為項(xiàng)目關(guān)鍵詞的一部分;對(duì)于特殊分詞進(jìn)行語義處理,利用知網(wǎng)中豐富的語義關(guān)系,分別計(jì)算詞語之間的語義相似度,依據(jù)社會(huì)網(wǎng)絡(luò)理論建立詞語語義相似度網(wǎng)絡(luò),將詞語的“關(guān)聯(lián)度”和詞頻進(jìn)行加權(quán)獲得詞語的關(guān)鍵度,并根據(jù)所設(shè)定的閾值完成關(guān)鍵詞的提取。
相對(duì)于一般的文本,科技項(xiàng)目申請(qǐng)書具有以下特征:(1)科技項(xiàng)目申請(qǐng)書中的文字較精簡(jiǎn)、規(guī)范。(2)科技計(jì)劃項(xiàng)目涉及各種技術(shù)領(lǐng)域,申請(qǐng)書中存在大量的專業(yè)術(shù)語,這些專業(yè)術(shù)語往往是項(xiàng)目的關(guān)鍵詞。(3)申請(qǐng)書格式較統(tǒng)一,其中存在較多潛在的顯性切分標(biāo)記,例如在填寫主要內(nèi)容和主要技術(shù)指標(biāo)時(shí)有(1)(2)(3)……切分標(biāo)記;在出現(xiàn)領(lǐng)域詞的時(shí)候會(huì)用雙引號(hào)將詞語引起來。(4)對(duì)訓(xùn)練語料庫研究發(fā)現(xiàn),很多科技項(xiàng)目名稱中包含有隱性切分標(biāo)記。(5)申請(qǐng)書中存在一些特殊詞具有具體的語義,如“本系統(tǒng)”、“本課題”,“本項(xiàng)目”等。
科技項(xiàng)目申請(qǐng)書關(guān)鍵詞提取流程如圖1所示,主要分為兩部分:(1)對(duì)科技項(xiàng)目申請(qǐng)書進(jìn)行分詞并識(shí)別未登錄詞作為關(guān)鍵詞的一部分。(2)基于語義的關(guān)鍵詞提取,即通過計(jì)算詞語語義相似度建立語義相似度網(wǎng)絡(luò),結(jié)合詞頻計(jì)算詞語關(guān)聯(lián)度來提取項(xiàng)目其他關(guān)鍵詞。
圖1 科技項(xiàng)目申請(qǐng)書關(guān)鍵詞提取流程
對(duì)科技項(xiàng)目申請(qǐng)書中的項(xiàng)目名稱、主要內(nèi)容進(jìn)行分詞:(1)根據(jù)申請(qǐng)書中潛在的隱性和顯性切分標(biāo)記,將項(xiàng)目名稱、主要內(nèi)容文本切分成子串序列。(2)在通用停用詞庫的基礎(chǔ)上,針對(duì)申請(qǐng)書中的詞語特點(diǎn)建立專業(yè)停用詞庫,如技術(shù)、開發(fā)、研究等專業(yè)停用詞。對(duì)(1)中的子串序列分別利用Apache Lucene進(jìn)行分詞及去停用詞處理。最后形成詞序列集合,SW={w1,w2,…,wn},其中,wi=(ui,fi);ui表示詞;fi表示詞頻。
研究發(fā)現(xiàn),各個(gè)領(lǐng)域的科技項(xiàng)目申請(qǐng)書中存在較多專業(yè)詞即未登錄詞。未登錄詞造成分詞精度的損失比其他因素大[4],因此本文融合了互信息統(tǒng)計(jì)的未登錄詞識(shí)別策略,考慮文本的上下文信息來提高未登錄詞的識(shí)別率。
概率論中定義了兩個(gè)隨機(jī)變量之間的互信息,即計(jì)算隨機(jī)分布中的兩個(gè)變量之間的互信息
定義1 “未登錄詞”通常是單字詞和其他漢字組成的多字詞。因此,本文定義成詞的可信度來度量?jī)烧咧g組成詞的可能性。n(i)表示詞wi在訓(xùn)練語料中的詞頻;N表示訓(xùn)練語料中詞語的總頻數(shù)。則它們成詞的可信度的計(jì)算公式定義為
文獻(xiàn)[5]提出了較長(zhǎng)字串組成新詞的可能性小于較短的字串。因此,在計(jì)算詞A、B成詞可信度過程中考慮了A、B的長(zhǎng)度len(A)、len(B),這樣成詞可信度的計(jì)算準(zhǔn)確度將有一定的提高。
本文將成詞可信度融合到詞語互信息計(jì)算之中,依據(jù)式(1)將兩詞互信息計(jì)算公式定義為
其中,n(A,B)表示訓(xùn)練語料中詞A與B相鄰出現(xiàn)的頻數(shù)。
“未登錄詞”經(jīng)過分詞后被劃分成包括單字詞的多個(gè)詞語,首先將劃分出來的單字詞分別和其前一個(gè)詞以及后一個(gè)詞組成兩個(gè)新詞并放入臨時(shí)詞典,然后根據(jù)上面給出的互信息統(tǒng)計(jì)語言模型計(jì)算臨時(shí)詞典中詞的成詞可信度,最后根據(jù)設(shè)定的閾值識(shí)別出“未登錄詞”。
對(duì)于上述識(shí)別出的特殊詞將做語義處理,如“本系統(tǒng)”、“本課題”,“本項(xiàng)目”等特殊詞將它們替換成項(xiàng)目名稱并利用同樣的方法進(jìn)行分詞,這樣可以提高接下來關(guān)鍵詞提取的準(zhǔn)確度;對(duì)于識(shí)別出的未登錄詞將作為關(guān)鍵詞進(jìn)行提取。
通過對(duì)未登錄詞識(shí)別并將未登錄詞作為項(xiàng)目部分關(guān)鍵詞后,詞序列集合SW={w1,w2,…,wn}將變?yōu)榱硪粋€(gè)詞序列集合SW'={v1,v2,…,vm}(m≤n)進(jìn)入下一步的關(guān)鍵詞提取。
2.3.1 詞語語義相似度計(jì)算
劉群認(rèn)為兩個(gè)詞語的相似度是它們?cè)诓煌纳舷挛闹锌梢曰ハ嗵鎿Q且不改變文本句法語義結(jié)構(gòu)可能性的大?。?],而詞語間的語義相似度一般由它們之間的語義距離來衡量,一種比較流行的方法是根據(jù)知網(wǎng)語義詞典來計(jì)算詞語義原之間的距離,從而得到詞語的語義相似度。
在《知網(wǎng)》的結(jié)構(gòu)中,每個(gè)詞由多個(gè)概念來表達(dá),而每個(gè)概念又是由義原來描述;義原根據(jù)其屬性被組織成不同的樹狀層次結(jié)構(gòu),樹與樹之間存在關(guān)系而連接在一起,進(jìn)而形成網(wǎng)狀的知識(shí)結(jié)構(gòu),所以義原的距離是根據(jù)義原樹結(jié)構(gòu)的相對(duì)位置來衡量的。
假設(shè)詞語w1在知網(wǎng)中有n個(gè)概念c11,c12,…,c1n,w2有m個(gè)概念c21,c22,…,c2m,則本文中規(guī)定詞w1與w2的相似度為各個(gè)概念相似度的最大值,即
因此,兩個(gè)詞語之間的相似度最終歸結(jié)到義原的相似度。對(duì)于兩個(gè)義原節(jié)點(diǎn)相似度計(jì)算,李峰認(rèn)為主要分為兩大類:基于兩個(gè)節(jié)點(diǎn)之間的路徑長(zhǎng)度和基于兩個(gè)節(jié)點(diǎn)所含有公共信息的大小[7]。對(duì)于基于路徑長(zhǎng)度的計(jì)算,吳健認(rèn)為,對(duì)于同樣距離的兩個(gè)義原,它們的相似度是隨著它們所在的層次深度總和的增加而增加的,隨著它們之間層次深度差的增加而減?。?]。針對(duì)以上兩人論證的觀點(diǎn),文獻(xiàn)[9]基于節(jié)點(diǎn)的層次和義原的相對(duì)路徑長(zhǎng)度提出了一種計(jì)算兩個(gè)義原s1,s2相似度。
詞序列集合SW'中兩詞語語義相似度計(jì)算過程:首先借助于知網(wǎng)語義詞典,計(jì)算兩詞語義原之間的相似度,并取其最大值;再根據(jù)式(4)的定義求得了兩個(gè)詞語的語義相似度。
2.3.2 建立詞語語義相似度網(wǎng)絡(luò)圖
詞語共現(xiàn)網(wǎng)絡(luò)沒有從詞語語義上體現(xiàn)它們之間的關(guān)聯(lián),導(dǎo)致一些沒有關(guān)聯(lián)的詞語也將被加入共現(xiàn)網(wǎng)絡(luò)中。因此,本文從詞語之間的語義層面出發(fā),建立詞語語義相似度網(wǎng)絡(luò)。
定義2 設(shè)W={v1,v2,…,vp}為預(yù)處理后得到的詞語序列集合,則W對(duì)應(yīng)的語義相似度鄰接矩陣Mp定義為
其中,Sim(vi,vj)為詞vi和vj的語義相似度,Sim(vi,vi)=1,Sim(vi,vj)=Sim(vj,vi)。
詞序列集合SW'={v1,v2,…,vm}經(jīng)過詞語語義相似度計(jì)算得到m×(1+m)/2個(gè)詞語間相似度的值,并對(duì)這些值進(jìn)行遞減排序;設(shè)定一個(gè)閾值β(0<β<1),取出前β×m(1+m)/2的值,假設(shè)這些相似度值所對(duì)應(yīng)的詞組合成另一詞序列集合為SW″={s1,s2,…,sq}(q≤m),并根據(jù)它們之間的相似度值生成SW″對(duì)應(yīng)的語義相似度鄰接矩陣Mq。
定義3 設(shè)SW″為輸入的詞序列集合,Mq為輸入的語義相似度鄰接矩陣,則其對(duì)應(yīng)的詞語語義相似度網(wǎng)絡(luò)圖定義為G={V,E}。其中,圖G為無向加權(quán)圖;V表示圖G中的頂點(diǎn)集;vi表示V中第i個(gè)頂點(diǎn)(詞);E表示G中的邊集;圖G邊的權(quán)值矩陣為Mq,其中Sim(vi,vj)為第i個(gè)頂點(diǎn)和第j個(gè)頂點(diǎn)之間邊的權(quán)值,因?yàn)槭菬o向圖,所以 Sim(vi,vj)=Sim(vj,vi)。
2.3.3 詞語語義關(guān)聯(lián)度計(jì)算
社會(huì)網(wǎng)絡(luò)是由一群節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連線所組成的關(guān)系集合,節(jié)點(diǎn)代表相應(yīng)的群體,節(jié)點(diǎn)之間的連線表示節(jié)點(diǎn)間的聯(lián)結(jié)關(guān)系。社會(huì)網(wǎng)絡(luò)的實(shí)質(zhì)是個(gè)體與個(gè)體之間,組織和組織之間為了達(dá)到特定的目的進(jìn)行信息交流和資源利用的關(guān)系網(wǎng)[10]。通過對(duì)社會(huì)網(wǎng)絡(luò)的分析,可以得到節(jié)點(diǎn)間的關(guān)系以及每個(gè)節(jié)點(diǎn)和其他節(jié)點(diǎn)的關(guān)聯(lián)度,進(jìn)而可以分析出節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)中的重要程度。
將上述建立的圖G視為社會(huì)網(wǎng)絡(luò),圖中的邊的權(quán)重表示相鄰兩個(gè)節(jié)點(diǎn)之間的關(guān)聯(lián)度。每個(gè)節(jié)點(diǎn)在整個(gè)社會(huì)網(wǎng)絡(luò)中的重要程度,即刪除該節(jié)點(diǎn)對(duì)整個(gè)社會(huì)網(wǎng)絡(luò)的影響程度,則需要計(jì)算出該節(jié)點(diǎn)對(duì)于整個(gè)社會(huì)網(wǎng)絡(luò)的關(guān)聯(lián)度。
定義4 設(shè)圖G為構(gòu)建的社會(huì)網(wǎng)絡(luò)圖,其中G為加權(quán)無向圖,圖中兩個(gè)頂點(diǎn)之間邊的權(quán)值為它們之間的語義相似度;vi到vj的最短路徑經(jīng)過的頂點(diǎn)依次為vi,vi+1,…,vj,路徑對(duì)應(yīng)的邊的權(quán)值依次為si,si+1,…,sj-1,則G中頂點(diǎn)vi和vj(i≠j)之間的關(guān)聯(lián)度定義為
所以對(duì)于圖G中的頂點(diǎn)vi,它在整個(gè)圖中的關(guān)聯(lián)度為
最后得到q個(gè)關(guān)聯(lián)度的值,設(shè)定一個(gè)閾值γ(0<γ<1),取出前γ×q個(gè)的值,則這些值所對(duì)應(yīng)的頂點(diǎn)將作為關(guān)鍵詞進(jìn)行提取。
在相同的相似度計(jì)算模型下,關(guān)鍵詞提取的準(zhǔn)確性直接影響到科技項(xiàng)目相似度計(jì)算的效果。本文設(shè)計(jì)了基于關(guān)鍵詞的科技項(xiàng)目相似度計(jì)算實(shí)驗(yàn),其中關(guān)鍵詞分別采用傳統(tǒng)的統(tǒng)計(jì)特征方法和本文的新方法來提取,相似度計(jì)算算法采用經(jīng)典的余弦模型如下
其中,di,dj為兩個(gè)科技項(xiàng)目申請(qǐng)書;(di)表示關(guān)鍵詞wk在申請(qǐng)書di中詞頻。
針對(duì)浙江省科技項(xiàng)目庫中的項(xiàng)目1進(jìn)行相似度計(jì)算實(shí)驗(yàn)結(jié)果如表1所示。
表1 相似度計(jì)算結(jié)果對(duì)比
實(shí)際比較可知,待查項(xiàng)目1和項(xiàng)目2研究?jī)?nèi)容類同,和項(xiàng)目3、6研究?jī)?nèi)容基本不重復(fù),和項(xiàng)目4、5部分研究?jī)?nèi)容相似。如表1所示,新方法提高了相似性項(xiàng)目的相似度值,明顯降低了不相似項(xiàng)目的相似度值,更有利于準(zhǔn)確查找出相似的項(xiàng)目并排除不相似項(xiàng)目的干擾。由此表明,與傳統(tǒng)的關(guān)鍵詞提取方法相比,本文的關(guān)鍵詞提取方法能更準(zhǔn)確地提取出項(xiàng)目的關(guān)鍵詞。
本文針對(duì)科技項(xiàng)目申請(qǐng)書特征,提出了一種基于未登錄詞識(shí)別與語義的科技項(xiàng)目申請(qǐng)書關(guān)鍵詞提取方法。利用Apache Lucene和互信息統(tǒng)計(jì)的多策略融合方法進(jìn)行分詞并識(shí)別未登錄詞作關(guān)鍵詞的一部分,然后通過建立詞語語義相似度網(wǎng)絡(luò)并計(jì)算詞語的關(guān)聯(lián)度提取其余關(guān)鍵詞。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的關(guān)鍵詞提取方法相比,基于未登錄詞與語義的新方法能更準(zhǔn)確地提取出項(xiàng)目關(guān)鍵詞,改善了科技項(xiàng)目相似性檢查的效果。
[1]馬力,焦李成,白琳,等.基于小世界模型的復(fù)合關(guān)鍵詞提取方法研究[J].中文信息學(xué)報(bào),2009,23(3):121-128.
[2]王立霞,淮曉永.基于語義的中文文本關(guān)鍵詞提取算法[J].計(jì)算機(jī)工程,2012,38(1):1-4.
[3]The Apache Software Foundation.Apache Lucene[EB/OL].(2010-09-06)[2012-10-12]http://lucene.apache.org.
[4]宋彥,蔡?hào)|風(fēng),張桂平,等.一種基于字詞聯(lián)合解碼的中文分詞方法[J].軟件學(xué)報(bào),2009,20(9):2366-2375.
[5]李振星,徐澤平,唐衛(wèi)清,等.全二分最大匹配快速分詞算法[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(11):106-109.
[6]劉群,李素建.基于《知網(wǎng)》的詞匯語義相似度的計(jì)算[C].臺(tái)北:第三屆漢語詞匯語義學(xué)研討會(huì),2002.
[7]李峰,李芳.中文詞語語義相似度計(jì)算——基于《知網(wǎng)》2000[J].中文信息學(xué)報(bào),2007,21(3):99-105.
[8]吳健,吳朝暉,李瑩,等.基于本體論和詞匯語義相似度的web 服務(wù)發(fā)現(xiàn)[J].計(jì)算機(jī)學(xué)報(bào),2005,28(4):595-602.
[9]江敏,肖詩斌,王弘蔚,等.一種改進(jìn)的基于《知網(wǎng)》的詞語語義相似度計(jì)算[J].中文信息學(xué)報(bào),2008,22(5):84-89.
[10]趙紅梅.社會(huì)網(wǎng)絡(luò)嵌入性視角下R&D聯(lián)盟形成動(dòng)因研究[J].科技管理研究,2009,10(8):426-428.