專利名稱:一種基于目標(biāo)文本的計(jì)算文本相似度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息檢索和數(shù)據(jù)挖掘領(lǐng)域,尤其涉及一種基于目標(biāo)文本的相似度計(jì)算方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)時代的到來,信息的爆炸式增長已經(jīng)將人們淹沒在信息的海洋中,人們再也不用擔(dān)心互聯(lián)網(wǎng)上沒有自己想要的資源,但是如何才能找到這些資源成為了擺在信息檢索專家面前的難題。文本相似度計(jì)算理論在信息檢索和數(shù)據(jù)挖掘領(lǐng)域一直占據(jù)著非常重要的位置,而且在現(xiàn)實(shí)中也有很好的應(yīng)用。學(xué)生作業(yè)抄襲檢測,使用文本相似度計(jì)算方法可以很好的發(fā)現(xiàn)學(xué)生作業(yè)的抄襲現(xiàn)象,整治不良學(xué)風(fēng)。保護(hù)知識產(chǎn)權(quán),使用文本相似度計(jì)算方法檢測是否含有剽竊他人研究成果的,以此來判斷知識產(chǎn)權(quán)是否遭到侵犯。如若發(fā)現(xiàn)知識產(chǎn)權(quán)遭到剽竊等非法行為,可以對剽竊者實(shí)施必要的懲罰措施,通過這種方式更好的保護(hù)知識產(chǎn)權(quán)。網(wǎng)頁的去重,通過文本相似度計(jì)算找到近似的網(wǎng)頁并去除。去除重復(fù)網(wǎng)頁不僅能夠提高用戶搜索效率,還能為用戶提供很好的搜索體驗(yàn)。然而目前現(xiàn)有的文本相似度算法除了過于追求準(zhǔn)確度,就是單純的追求提高算法效率,根本沒有考慮到具體的應(yīng)用場景以及文本所涉及的專業(yè)領(lǐng)域。如果兩個文本根本不屬于同一專業(yè)領(lǐng)域,那么這兩個文本就沒有什么相似度可言。
發(fā)明內(nèi)容
本發(fā)明正是鑒于上述技術(shù)問題而提出了一種基于目標(biāo)文本的文本相似度計(jì)算方法,該方法包括以下幾個步驟:(I)獲取目標(biāo)文本targetText和待計(jì)算相似度的文本集合D(2)自動分詞獲取各文本的特征向量(3)聚類(4)維過濾(5)計(jì)算相似度步驟(I)獲得目標(biāo)文本和文本集合D后組成一個新的文本組合textSet,首先將所有的文本進(jìn)行唯一 id編號處理,目標(biāo)文本可以用特定的id號區(qū)分,如目標(biāo)文本id為0,其他文本按照輸入的先后順序依次編號。步驟(2)的自動分詞獲取各文本的特征向量又通過以下幾步完成:(2.1)去停用詞(2.2)匹配專業(yè)關(guān)鍵詞和常用關(guān)鍵詞(2.3)同義詞轉(zhuǎn)換(2.4)統(tǒng)計(jì)各關(guān)鍵詞在各文本中出現(xiàn)的頻率、關(guān)鍵詞的詞性(2.5)計(jì)算各關(guān)鍵詞的權(quán)值,創(chuàng)建特征向量該步驟主要通過調(diào)用停用詞庫、常見詞庫還有專業(yè)詞庫提取出文本集合textSet中各文本的特征向量。對textSet中的任一文本首先進(jìn)行去停用詞處理,即將和停用詞庫中匹配的停用詞從文本中去掉,然后再進(jìn)一步匹配專業(yè)詞庫中的專業(yè)詞匯,匹配成功的專業(yè)詞匯,經(jīng)詞頻統(tǒng)計(jì)、同義詞轉(zhuǎn)換,并進(jìn)一步計(jì)算出相應(yīng)專業(yè)關(guān)鍵詞的權(quán)值后存儲到專業(yè)關(guān)鍵詞向量中,常用詞庫和文本的匹配處理和專業(yè)詞庫的類似,最后我們得到文本的兩個特征向量-專業(yè)關(guān)鍵詞向量和普通關(guān)鍵詞向量。在提取目標(biāo)文本特征向量的過程中的同義詞轉(zhuǎn)換,可以是將英文關(guān)鍵詞轉(zhuǎn)化為相應(yīng)的中文關(guān)鍵詞。另外步驟(2.5)中關(guān)鍵詞的權(quán)值計(jì)算公式為:ω (Ti) = Q.β.TF(Ti).IDF(Ti)其中ω (Ti)為關(guān)鍵詞Ti的權(quán)值,TF(Ti)=NzU (其中N為Ti關(guān)鍵詞在含M個關(guān)鍵詞的文本中出現(xiàn)的次數(shù)),IDF(Ti)=1g(DzDw)其中D為文章總數(shù),Dw為Ti關(guān)鍵詞出現(xiàn)過的文章數(shù)。專業(yè)詞匯IDF的計(jì)算以該詞匯所屬的專業(yè)領(lǐng)域的文章總數(shù)和該關(guān)鍵詞出現(xiàn)在該專業(yè)領(lǐng)域內(nèi)的文章總數(shù)。α為關(guān)鍵詞類別決定關(guān)鍵詞權(quán)值的一個因子,其中專業(yè)詞匯〉常用詞匯;β為關(guān)鍵詞詞性決定關(guān)鍵詞權(quán)值的另一因子,其中名詞 > 形容詞 > 副詞。步驟(3)首先為待計(jì)算文本集合創(chuàng)建倒排索引文件,然后以目標(biāo)文本的專業(yè)詞匯向量中的專業(yè)詞匯為基礎(chǔ),搜索倒排索引文件,由于倒排索引文件中的關(guān)鍵詞是按照關(guān)鍵詞拼音的字母順序排列的,本發(fā)明采用二分法查找將倒排索引文件中含有目標(biāo)文本中專業(yè)詞匯的文件找出來,并將區(qū)分這些文本的唯一標(biāo)識id放到集合C中。步驟(4)維過濾,首先為目標(biāo)文本和集合C中的文本建立一個共同的倒排索引文件,然后根據(jù)建立的倒排索引文件創(chuàng)建一個存儲各文本相應(yīng)的關(guān)鍵詞權(quán)值的矩陣M (矩陣M的列數(shù)為倒排索引文件中關(guān)鍵詞的個數(shù)加I,矩陣M的行數(shù)為集合C中文本的個數(shù)加1,矩陣的第一列存儲文本的id號,矩陣的第一行存儲目標(biāo)文本的特征向量),把目標(biāo)文本中權(quán)值為O的列全部去掉并統(tǒng)計(jì)其他文本中去掉的列中非O的列數(shù)并保存,得到一個新矩陣M,。其中步驟(3)和步驟(4)中都用到的倒排索引文件的建立,輸入的是文本的集合,輸出的是文本集合中的所有關(guān)鍵詞的倒排索引文件。創(chuàng)建成功的倒排索引文件中含有關(guān)鍵詞列、(文件id,在文本id中出現(xiàn)的頻率)兩列。其中關(guān)鍵詞列按照關(guān)鍵詞的拼音字母順序排列,關(guān)鍵詞后面對應(yīng)的是關(guān)鍵詞出現(xiàn)在各文本中的統(tǒng)計(jì)信息。步驟(5)計(jì)算相似度利用步驟(4)維過濾后得到的矩陣M',其中矩陣M'中的一行就代表維過濾后的某一文本的特征向量,然后計(jì)算目標(biāo)文本向量即矩陣中的首行向量和其他各行向量之間的相似度。.d.dj其計(jì)算公式為=COS(DlfD2) = 其中Cl1, d2分別表示文本D1和D2的特征向量。該方法得到的結(jié)果我們可以找到和目標(biāo)文本專業(yè)最相關(guān)的文本。如果相似度的計(jì)算結(jié)果中有相同的,我們還可以根據(jù)該方法維過濾步驟中的刪除的非O列數(shù)進(jìn)一步判斷哪個文本和目標(biāo)文本更相似??朔F(xiàn)有的文本相似度計(jì)算方法單純的注重提高計(jì)算的準(zhǔn)確度和計(jì)算效率的缺點(diǎn),本發(fā)明提出了一種基于目標(biāo)文本的文本相似度計(jì)算方法,該方法在充分考慮項(xiàng)目實(shí)際的情況下,既能保證一定的準(zhǔn)確度,又能提高計(jì)算效率。
圖1為該發(fā)明某具體應(yīng)用的流程圖。圖2為自動分詞模塊的流程圖。
具體實(shí)施例方式本發(fā)明的實(shí)際應(yīng)用環(huán)境是在向某一專業(yè)題庫中插入試題前,首先通過該發(fā)明中的計(jì)算方法找到專業(yè)題庫中和預(yù)插入的試題即目標(biāo)文本最接近的試題集,然后根據(jù)計(jì)算得到的相似度結(jié)果最終決定是否將該試題插入專業(yè)題庫。本發(fā)明在實(shí)際項(xiàng)目中具體實(shí)施時,如圖1所示包括以下幾個步驟:(I)獲取目標(biāo)文本targetText和待計(jì)算相似度的文本集合D(2)自動分詞獲取各文本的特征向量(3)聚類(4)維過濾(5)計(jì)算相似度(6)根據(jù)計(jì)算結(jié)果判斷目標(biāo)文本是否插入數(shù)據(jù)庫并執(zhí)行相應(yīng)的操作步驟(I)通過將輸入的問題的題干和答案整合得到目標(biāo)文本,待計(jì)算的文本集合通過從專業(yè)題庫中獲取,獲得目標(biāo)文本和文本集合D后組成一個新的文本組合textSet,對所有的文本進(jìn)行唯一 id編號處理,目標(biāo)文本可以用特定的id號區(qū)分,如目標(biāo)文本id為0,其他文本按照輸入的先后順序依次編號。如圖2所示,以目標(biāo)文本的自動分詞獲取特征向量為例,文本自動分詞獲取特征向量通過以下幾步完成:(2.1)去停用詞(2.2)匹配專業(yè)關(guān)鍵詞和常用關(guān)鍵詞(2.3)同義詞轉(zhuǎn)換(2.4)統(tǒng)計(jì)各關(guān)鍵詞在各文本中出現(xiàn)的頻率、關(guān)鍵詞的詞性(2.5)計(jì)算各關(guān)鍵詞的權(quán)值,創(chuàng)建特征向量該步驟主要通過調(diào)用停用詞庫、常見詞庫還有專業(yè)詞庫提取出文本集合textSet中各文本的特征向量。對textSet中的任一文本首先進(jìn)行去停用詞處理,即將和停用詞庫中匹配的停用詞從文本中去掉,然后再進(jìn)一步匹配專業(yè)詞庫中的專業(yè)詞匯,匹配成功的專業(yè)詞匯,經(jīng)詞頻統(tǒng)計(jì)、同義詞轉(zhuǎn)換,并進(jìn)一步計(jì)算出相應(yīng)專業(yè)關(guān)鍵詞的權(quán)值后存儲到專業(yè)關(guān)鍵詞向量中,常用詞庫和文本的匹配處理和專業(yè)詞庫的類似,最后我們得到文本的兩個特征向量-專業(yè)關(guān)鍵詞向量和普通關(guān)鍵詞向量。在提取目標(biāo)文本特征向量的過程中的同義詞轉(zhuǎn)換,可以是將英文關(guān)鍵詞轉(zhuǎn)化為相應(yīng)的中文關(guān)鍵詞。另外步驟(2.5)中關(guān)鍵詞的權(quán)值計(jì)算公式為:ω (Ti) = Q.β.TF(Ti).IDF(Ti)其中 ω (Ti)為關(guān)鍵詞 Ti 的權(quán)值,TF(Ti)=NzU(其中N為Ti關(guān)鍵詞在含M個關(guān)鍵詞的文本中出現(xiàn)的次數(shù)),IDF(Ti)=1g(DzDw)其中D為文章總數(shù),DW為Ti關(guān)鍵詞出現(xiàn)過的文章數(shù)。專業(yè)詞匯IDF的計(jì)算以該詞匯所屬的專業(yè)領(lǐng)域的文章總數(shù)和該關(guān)鍵詞出現(xiàn)在該專業(yè)領(lǐng)域內(nèi)的文章總數(shù)。α為關(guān)鍵詞類別決定關(guān)鍵詞權(quán)值的一個因子,其中α (專業(yè)詞匯)>α (常用詞匯);β為關(guān)鍵詞詞性決定關(guān)鍵詞權(quán)值的另一因子,其中β (名詞)>β (形容詞)>β (副詞)。在本實(shí)例中我們?nèi)ˇ?(專業(yè)詞匯)=8,α(常用詞匯)=2; β (名詞)=3,β (形容詞)=2,β (副詞)=1。步驟(3)首先為待計(jì)算文本集合創(chuàng)建倒排索引文件,然后以目標(biāo)文本的專業(yè)詞匯向量中的專業(yè)詞匯為基礎(chǔ),搜索倒排索引文件,由于倒排索引文件中的關(guān)鍵詞是按照關(guān)鍵詞拼音的字母順序排列的,本發(fā)明采用二分法查找將倒排索引文件中含有目標(biāo)文本中專業(yè)詞匯的文件找出來,并將區(qū)分這些文本的唯一標(biāo)識id放到集合C中。步驟(4)維過濾,首先為目標(biāo)文本和集合C中的文本建立一個共同的倒排索引文件,然后根據(jù)建立的倒排索引文件創(chuàng)建一個存儲各文本相應(yīng)的關(guān)鍵詞權(quán)值的矩陣M (矩陣M的列數(shù)為倒排索引文件中關(guān)鍵詞的個數(shù)加I,矩陣M的行數(shù)為集合C中文本的個數(shù)加1,矩陣的第一列存儲文本的id號,矩陣的第一行存儲目標(biāo)文本的特征向量),把目標(biāo)文本中權(quán)值為O的列全部去掉并統(tǒng)計(jì)其他文本中去掉的列中非O的列數(shù)并保存,得到一個新矩陣M,。其中步驟(3)和步驟(4)中都用到的倒排索引文件的建立,輸入的是文本的集合,輸出的是文本集合中的所有關(guān)鍵詞的倒排索引文件。創(chuàng)建成功的倒排索引文件中含有關(guān)鍵詞列、(文件id,在文本id 中出現(xiàn)的頻率)兩列。其中關(guān)鍵詞列按照關(guān)鍵詞的拼音字母順序排列,關(guān)鍵詞后面對應(yīng)的是關(guān)鍵詞出現(xiàn)在各文本中的統(tǒng)計(jì)信息。步驟(5)計(jì)算相似度利用步驟(4)維過濾后得到的矩陣M',其中矩陣M'中的一行就代表維過濾后的某一文本的特征向量,然后計(jì)算目標(biāo)文本向量即矩陣中的首行向量和其他各行向量之間的相似度。
權(quán)利要求
1.一種基于目標(biāo)文本的計(jì)算文本相似度的方法,其特征在于包括以下步驟: (O獲取目標(biāo)文本和待計(jì)算相似度的文本集合:獲得目標(biāo)文本和文本集合D后組成一個新的文本組合textSet,首先將所有的文本進(jìn)行唯一 id編號處理,目標(biāo)文本用id號區(qū)分,其他文本按照輸入的先后順序依次編號; (2)自動分詞獲取各文本的特征向量,包括以下步驟: (2.1)去停用詞; (2.2)匹配專業(yè)關(guān)鍵詞和常用關(guān)鍵詞; (2.3)同義詞轉(zhuǎn)換; (2.4)統(tǒng)計(jì)各關(guān)鍵詞在各文本中出現(xiàn)的頻率,關(guān)鍵詞的詞性; (2.5)計(jì)算各關(guān)鍵詞的權(quán)值,創(chuàng)建特征向量; 關(guān)鍵詞的權(quán)值計(jì)算公式為:ω (Ti) = Q.β.TF(Ti).IDF(Ti) 其中ω (Ti)為關(guān)鍵詞Ti的權(quán)值,TF (Ti)=NzU其中N為Ti關(guān)鍵詞在含M個關(guān)鍵詞的文本中出現(xiàn)的次數(shù),IDF(Ti)=1g(DZDw)其中D為文章總數(shù),Dw為Ti關(guān)鍵詞出現(xiàn)過的文章數(shù);專業(yè)詞匯IDF的計(jì)算以該詞匯所屬的專業(yè)領(lǐng)域的文章總數(shù)和該關(guān)鍵詞出現(xiàn)在該專業(yè)領(lǐng)域內(nèi)的文章總數(shù);α為關(guān)鍵詞類別決定關(guān)鍵詞權(quán)值的一個因子,其中專業(yè)詞匯〉常用詞匯;β為關(guān)鍵詞詞性決定關(guān)鍵詞權(quán)值的另一因子,其中名詞 > 形容詞 > 副詞; (3)聚類:首先為待計(jì)算文本集合創(chuàng)建倒排索引文件,然后以目標(biāo)文本的專業(yè)詞匯向量中的專業(yè)詞匯為基礎(chǔ),搜索倒排索引文件,由于倒排索引文件中的關(guān)鍵詞是按照關(guān)鍵詞拼音的字母順序排列的,采用二分法查找將倒排索引文件中含有目標(biāo)文本中專業(yè)詞匯的文件找出來,并將區(qū)分這些文本的唯一標(biāo)識id放到集合C中; (4)維過濾:首先為目標(biāo)文本和集合C中的文本建立一個共同的倒排索引文件,然后根據(jù)建立的倒排索引文件創(chuàng)建一個存儲各文本相應(yīng)的關(guān)鍵詞權(quán)值的矩陣M ;矩陣M的列數(shù)為倒排索引文件中關(guān)鍵詞的個數(shù)加1,矩陣M的行數(shù)為集合C中文本的個數(shù)加1,矩陣的第一列存儲文本的id號,矩陣的第一行存儲目標(biāo)文本的特征向量;把目標(biāo)文本中權(quán)值為O的列全部去掉,得到一個新矩陣M,,統(tǒng)計(jì)其他文本去掉的列中非O的列數(shù)并保存; (5)計(jì)算相似度。
全文摘要
本發(fā)明公開了一種基于目標(biāo)文本的計(jì)算文本相似度的方法。為了克服現(xiàn)有文本相似度算法單純地考慮算法的準(zhǔn)確率和效率,本發(fā)明結(jié)合項(xiàng)目實(shí)際情況綜合考慮算法的準(zhǔn)確率和效率兩方面,保證在一定準(zhǔn)確度的前提下提高算法的效率。在提高算法準(zhǔn)確度方面,本發(fā)明充分考慮專業(yè)詞匯對相似度計(jì)算的影響,采用了對不同類別的關(guān)鍵詞加權(quán)的方式計(jì)算相似度;而在提高算法效率方面,本發(fā)明采用倒排索引聚類方法和維過濾方法。本發(fā)明既保證了文本之間的專業(yè)相關(guān)度計(jì)算的準(zhǔn)確度,同時又兼顧了計(jì)算效率。
文檔編號G06F17/30GK103207905SQ201310105450
公開日2013年7月17日 申請日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者孔祥杰, 宋秀苗, 夏鋒 申請人:大連理工大學(xué)