〔摘要〕在分析現(xiàn)有文本表示法的基礎(chǔ)之處,提出一種以段落、語句、詞語為層次結(jié)構(gòu)的文本表示方法——文本空間表示模型,并在此模型基礎(chǔ)上探討一種以文本段落為基本單位的相似文本計算算法,以實現(xiàn)相似文本檢測目標。最后建立測試集并在測試集上執(zhí)行檢測實驗,結(jié)果表明此方具有較好的相似文本發(fā)現(xiàn)效果。
〔關(guān)鍵詞〕文本相似度;文本空間表示模型;段落;算法
〔中圖分類號〕TP391.1〔文獻標識碼〕A〔文章編號〕1008-0821(2013)02-0021-03
文本相似計算具有重要作用和廣泛應(yīng)用,它主要應(yīng)用于基于著作權(quán)保護的文本相似檢測、信息檢索以及自動文本摘要等領(lǐng)域。在文本復(fù)制檢測方面,相似文本的檢測可保護創(chuàng)作者的合法權(quán)益免受他人侵犯;在信息檢索領(lǐng)域,相似文本的檢測可以略去大量冗余信息;在自動文本摘要領(lǐng)域,主要為web頁面自動生成摘要,便于web信息檢索[1-2]。目前文本相似計算在信息檢索以及自動文本摘要領(lǐng)域應(yīng)用較為普及,在文本復(fù)制檢測領(lǐng)域的主要實現(xiàn)方法是對整個文本進行詞匯抽取,利用關(guān)鍵詞順序匹配的方法實現(xiàn)相似文本的檢測[3-4]。
對于一個大型數(shù)據(jù)集,當給定任意一個待檢測文本,相似文本計算算法應(yīng)該能夠以較短的計算時間完成相似性檢測任務(wù),即:發(fā)現(xiàn)與該文本在語言表達上有一定相似度的文本,如果系統(tǒng)中事先存在這樣的文本的話。基于算法執(zhí)行時間和執(zhí)行效率的考慮,本研究將文本分解為段落,進一步將段落分解為語句,語句又分解為若干詞語的集合,以此構(gòu)成三維的文本空間表示模型。只要在語句和段落維度上發(fā)現(xiàn)被檢測的兩個文本存在相似處,則判定被檢測對象存在相似之處。最后利用已有的測試集檢測算法執(zhí)行結(jié)果。
1相似度判定的層次分析
從文本屬性這個角度來看,文本相似檢測可以從兩個層面進行:內(nèi)容相似和語言表達相似。對于任意一個文本而言,內(nèi)容與語言表達并非相互獨立的兩個方面[5]。內(nèi)容相似的文本,其語言表達形式并不一定就相似,例如以下兩個例句:“大年三十晚上,街上冷冷清清,看不見一個人影”,“除夕夜晚,馬路上空空蕩蕩,一片寂靜的景象”,二者要表達的內(nèi)容是一樣的,但表達所使用的語言詞匯卻又很大的不同;而語言表達相似的文本——包括詞匯以及詞匯間的相對次序相似,其內(nèi)容在很大程度上則是相似的?,F(xiàn)今搜索引擎采用同義詞技術(shù),如:“大年三十”和“除夕”、“夜晚”和“晚上”等,能將包含檢索詞的同義詞或近義詞的文本搜索出來,所以信息檢索更多的是從內(nèi)容相似這個角度進行相似文本計算;而基于著作權(quán)保護的文本相似檢測則是從表達相似這個角度進行文本相似計算[6]。現(xiàn)今的著作權(quán)法只保護作者思想的外在表達形式,并不保護作品反映的思想或觀點,因而本文將從表達相似這個角度探討文本相似檢測的思想和算法。
從文本結(jié)構(gòu)這個角度來看,相似文本檢測可以從多個層次進行:全文、段落、語句、詞語。不同層次上的相似度檢測可用于不同的研究領(lǐng)域,如:判定詞語間的相似度計算可用于機器翻譯領(lǐng)域[7];判定詞語與句子或段落之間,或者句子與段落之間的相似度計算可用于信息檢索領(lǐng)域,例如:我們在檢索信息時,通常輸入的是若干個詞語或者是一個句子,其將作為查詢向量輸入檢索系統(tǒng),并與文本庫中的文本向量進行距離計算;段落與段落之間、全文與全文之間的相似度計算則主要應(yīng)用于基于著作權(quán)保護的文本相似檢測領(lǐng)域。上述3個檢測層次的對象粒度依次遞增,而處于較高粒度層次的相似度檢測是建立在較低粒度層次相似度檢測基礎(chǔ)之上的。本研究對于文本相似的計算建立在段落與段落間的相似度計算基礎(chǔ)之上。之所以選擇段落為計算單位,除了上述因素外,還因為發(fā)生全文相似的概率相比較發(fā)生段落相似的概率小得多,并且段落相似的計算結(jié)果完全能夠包含全文相似的計算結(jié)果。而語句相似多數(shù)情況下則包含了正常的文獻引用情況。
2013年2月11第33卷第2期11現(xiàn)?代?情?報11Journal of Modern Information11Feb.,201311Vol.33No.22013年2月11第33卷第2期11基于文本空間表示模型的文本相似度計算研究11Feb.,201311Vol.33No.22文本的結(jié)構(gòu)化表示法
2.1現(xiàn)有的文本表示法
在探討文本相似性計算方法之前,首先回顧現(xiàn)有的文本表示方法。在信息檢索領(lǐng)域內(nèi),文本的表示主要是采用向量空間模型表示法[8]。其思想是:將某個搜索系統(tǒng)中索引項的集合T表示為:T={t0,t1,…ti,…tn-1},n為索引項的數(shù)目;文本集合D表示為:D={d0,d1,…,dm-1},m為文本的數(shù)目,di是文本集合D中的一個文本;則di可表示為:di={di,0,di,1,…,di,j,…di,n-1},其中文本向量中每個分量di,j為索引項tj在文本di中的權(quán)重。di,j的值由相應(yīng)索引項tj是否在文本中出現(xiàn)以及它在文本中的詞頻tf與逆文本頻率idf決定。該表示法運用于相似性計算中存在的問題是:一是文本向量的維度過高,且包含大量值為0的分量;二是文本向量中不包含與文本段落結(jié)構(gòu)相關(guān)的任何信息?;谏鲜鰡栴},本研究提出三維的文本空間表示模型法。
2.2文本的空間表示模型
通過分析文本的組成結(jié)構(gòu),我們可以知道文本的基本組成單位是段落,而段落的組成單位是句子,句子的組成單位則是詞語,如圖1所示。
從圖2中可以看出:一個文本可以表示為一個三維空間模型,三維空間中的每一個結(jié)點在文本中均有一個詞語與之對應(yīng),結(jié)點在空間中的位置其實包含了相應(yīng)詞語在文本中的位置信息,即:該詞語在文本中所處的段落、句子,以及在句子中的位置。每個段落可表示為一個二維向量平面pi,i∈{1,m};平面中的每一個列向量si,i∈{1,n},對應(yīng)于該段中相應(yīng)的一個句子;句子si中包含若干個詞語ti,i∈{1,k}。由此可見,組成三維空間模型的3個分量分別是:段落(P)、句子(S)和詞語(T)。
3文本的相似度計算算法
3.1算法描述
現(xiàn)有任意兩個文本d1、d2,其表示如下:
矩陣的每一個列向量就是段落p1i中的一個句子si,si中元素t1i是該句中的一個詞語,同樣段落p2i也可表示成上述形式,這里就不再列出。矩陣中元素t1i的取值方式與信息檢索系統(tǒng)中有所不同,信息檢索系統(tǒng)為每個索引詞取一個與詞頻相關(guān)的量化值,這里將t1i的值設(shè)定如下:該詞語在索引系統(tǒng)中的索引號,能夠唯一標識該詞語的一個編號或標識符。
令(3)式中任意一項p1ip2i=(p1i)T×p2i,則由式(4)、(5)可以得到表達式(7):
當s11s21的值為0,則認定s11與s21相似,當值為1,則認定s11與s21不相似。設(shè)ζ為語句相似度閾值,ζ∈(0,1),ζ的取值因判定相似的嚴格程度而定,這里不再贅述?;氐奖磉_式(7)中來,矩陣中元素的值或者為0,或者為1,計算出其中值為0的元素所占比例r,則r是衡量兩個段落相似程度的關(guān)鍵因素。當r≥δ,認定兩個段落相似,δ是段落相似度閾值,其值的選取同表達式(12)中的ζ一樣,視應(yīng)用環(huán)境和要求而定。有關(guān)相似度閾值設(shè)定的方法請參考文獻[9-10]。
表達式(3)中,文本d1、d2的相似矩陣d12中任一元素的計算值如果能認定相應(yīng)的兩個段落相似,則認為d1、d2之間存在文本相似之處。
3.2實驗計算結(jié)果
實驗步驟如下:在某個期刊檢索系統(tǒng)中,用“文本”和“相似”這兩個檢索詞檢索出同一領(lǐng)域的若干篇論文,從中挑出部分文本構(gòu)成實驗測試文本集T。T中包含50個文本,另外選擇其中兩個文本作為被檢測對象d1,d2,分別進行兩次實驗。實驗?zāi)康氖牵涸赥中分別查找與d1,d2至少存在段落相似的文本。當然以先驗信息可知:T中同時存在與d1,d2相似以及不相似的文本。
設(shè)ζ=0.7,δ=0.7,采用上述算法將T中每一個文本逐個與d1,d2進行相似度計算。首先選用文本處理工具對測試集中每個文本以及d1,d2進行詞匯抽取,對每個詞語建立數(shù)字化的索引項,并以段落為單位建立索引矩陣,如表達式(6),這樣每個文本將包含多個段落索引矩陣。運用Matlab將文本d1逐一與T中文本di進行相似度計算,可得出T中與文本d1的段落pi相似的段落數(shù)目。同樣的計算過程在d2與測試集文本之間再次執(zhí)行。計算結(jié)果如表1所示,由于篇幅所限,這里只列出文本d1,d2中的部分段落,并且相似段落所在文本這里不再列出。從實驗中可知:ζ和δ的取值至關(guān)重要,適當減小二者的值,表1中相似段落數(shù)目可能會增加;如果適當增大其值,表中相似段落數(shù)目則會相應(yīng)減少。表1T中與文本d1,d2的段落pi相似的段落數(shù)目
本文介紹了一種以段落、語句、詞語為層次結(jié)構(gòu)的文本表示法——文本空間表示模型,并在此基礎(chǔ)上研究以文本段落為單位的文本相似計算算法。文中涉及到文本分詞及建立索引等技術(shù)均采用現(xiàn)有成熟技術(shù),故而不再詳述。將文本分解為文本空間表示模型中的段落、語句、詞語的思路較為直觀,易于計算實現(xiàn),為相似文本檢測系統(tǒng)的設(shè)計和實現(xiàn)提供了方法支持。文章不足之處在于實驗文本集的覆蓋面較小,被測試文本的選擇隨機性不強,這些不足之處有待于進一步改進;另外相似度閾值的選擇對計算結(jié)果的影響程度的研究也沒有涉及,這些都將是下一步研究工作的重點所在。
參考文獻
[1]Yatsko V.A.,Vishnyakov T.N.A method for evaluating modern systems of automatic text summarization[J].In:Automatic Documentation and Mathematical Linguistics,2007,41(3):93-103.
[2]金博,史彥軍,滕弘飛.基于語義理解的文本相似度算法[J].大連理工大學學報,2005,45(2):291-296.
[3]Mihalcea R.,Tarau P.TextRank:Bringing Order into Texts[M].Department of Computer Science University of North Texas,2004.
[4]Ozlem Uzuner,Randall Davis,Boris Katz.Using empirical methods for evaluation expression and content similarity[J].Proceeding of the 37th Hawaii International Conference on System Sciences,2004.
[5]Sun Z,Errami M,Long T,Renard C,Choradia N,et al.Systematic Characterizations of Text Similarity in Full Text Biomedical Publications[J].(2010)PLoS ONE 5(9):e12704.
[6]Ladekar A.,Mujumdar A.et al.Automatic text summarization using:fuzzy GA-GP[J].International Journal of Engineering Research and Application,2012,2(2):1551-1555.
[7]Islam A.,Inkpen D.Semantic text similarity using corpus-based word similarity and string similarity[J].ACM Trans.Knowl.Discov.Data.July 2008.
[8]Salton G.,Wong A.,Yang C.S..A vector space model for automatic indexing[J].Communication of the ACM,1975,18(11):613-620.
[9]刁力力,王麗坤,陸玉昌,等.計算文本相似度閾值的方法[J].清華大學學報:自然科學版,2003,43(1):108-111.
[10]宋韶旭,李春平.基于非對稱相似度的文本聚類方法[J].清華大學學報:自然科學版,2006,(46)7:1325-1328.
(本文責任編輯:王涓)