丁智斌 霍豫宗 杜 念
(1.華北科技學(xué)院基礎(chǔ)部,北京東燕郊 101601;2.廣發(fā)銀行股份有限公司,廣東廣州 510080)
現(xiàn)在WEB中存在的可分析信息99%是以文本形式存在的,而WEB網(wǎng)頁總量已達數(shù)百億,每天新增的網(wǎng)頁可以達到以千萬計數(shù)的級別。WEB內(nèi)容挖掘是指從網(wǎng)頁或其描述中發(fā)現(xiàn)知識的過程,主要是根據(jù)網(wǎng)頁本身的內(nèi)容作資料挖掘,而其中的WEB文本挖掘是對文本集合的內(nèi)容進行總結(jié)、分類、聚類、關(guān)聯(lián)分析以及趨勢預(yù)測等來實現(xiàn)文本內(nèi)容的挖掘,是采用計算語言學(xué)的原理對文本信息進行抽取的研究和實踐。
抄襲一直是學(xué)術(shù)界和文學(xué)界最為煩惱的問題。巨大的文章量使得人工判定完全無法實現(xiàn),因此機器判定就必須使用到自然語言處理技術(shù)。而自然語言處理技術(shù)是文本挖掘中最復(fù)雜的技術(shù),因為使計算機理解基本無結(jié)構(gòu)可言的文本數(shù)據(jù)是一個非常復(fù)雜的過程?,F(xiàn)在有基于概率模型和基于向量空間模型兩種方式來表達文本并用于計算文本間的相似度。得到文本特征模型和優(yōu)化文本特征模型是這方面的難點。本文提出不使用自然語言處理,從向量空間模型上構(gòu)建標(biāo)準(zhǔn)化的文本特征模型。通過足夠多的文本構(gòu)建一個完善的特征詞庫,再通過特征詞構(gòu)成各個文本的特征模型。一個完善的標(biāo)準(zhǔn)化的文本特征模型就可以表達文本的準(zhǔn)確含義。
在現(xiàn)實生活中,許多領(lǐng)域都不斷產(chǎn)生海量數(shù)據(jù),特別是海量的文本數(shù)據(jù)。怎樣從這些數(shù)據(jù)中抽取和發(fā)掘有用的信息和知識已成為一個日趨重要的問題。由于這個原因,文本挖掘雖是一個新興學(xué)科,但已成為一個引人矚目、發(fā)展迅速的領(lǐng)域。
文本表示是指用文本的特征信息集合來代表原來的文本。文本的特征信息是關(guān)于文本的元數(shù)據(jù),可以分為外部特征和內(nèi)容特征兩種類型。文本的內(nèi)容特征需要通過分析處理才能得到。目前,在信息處理領(lǐng)域,文本的表示方法主要采用向量空間模型(Vector Space Model,VSM)。向量空間模型主要用于文本內(nèi)容特征的表示,一般使用詞來代表文本的特征信息,并稱每個詞為一個特征項。向量空間模型的基本思想是以向量(ω1,ω2,…,ωn)來表示文本,其中ωi為第i個特征項的權(quán)重??梢赃x擇字、詞或者詞組作為特征項。
文本特征提取主要是識別文本中代表其特征的詞項。構(gòu)成文本的詞匯,數(shù)量是相當(dāng)大的,因此,表示文本的向量空間的維數(shù)也相當(dāng)大,可以達到幾萬維,因此需要壓縮維數(shù),這樣做可以達到兩個目的:一是提高運行速度;二是詞匯對文本分類的意義是不同的,找出在某特定類中出現(xiàn)比重大而在其他類中出現(xiàn)比重小,即對文本分類貢獻大的詞匯。文本特征提取的算法如下:
(1)初始情況下,該特征項集合包括所有該類中出現(xiàn)的詞。
(2)對于每個詞,特征項ti與文本dj的互信息量為I(ti;dj)。
(3)對于該類中所有的詞,依據(jù)上面計算的互信息量排序。
抽取一定數(shù)量的詞(互信息量大的詞)作為特征項。具體需要抽取多少特征項,目前沒有很好的解決方法,一般采用先定初始值,然后根據(jù)試驗測試和統(tǒng)計結(jié)果確定最佳值,一般初始值定在幾千左右。
相似的文本具有相似的關(guān)鍵詞或相對詞頻,因此,可以基于關(guān)鍵詞向量或關(guān)鍵詞相對詞頻向量來計算一組文本的相似度,然后可以利用文本相似度對文本進行分類。
T是文本與詞的相關(guān)矩陣,其中tij表示第i篇文本與第j個詞的相關(guān)程度,tij的取值范圍為[0,1]。相關(guān)矩陣中的行描述一篇文本的特征,稱之為文本特征向量,列表示每個特征項與文本集的相關(guān)程度。
利用文本與詞的相關(guān)矩陣可以分析文本間的相關(guān)性。相關(guān)性的大小可以用相關(guān)系數(shù)S來度量,第i篇文本與第j篇文本的相關(guān)系數(shù)可以表示為Sij。
計算相關(guān)系數(shù)的方法有多種,其中,余弦系數(shù)法最為常用。余弦系數(shù)法的公式為:
設(shè)d1和d2為兩個文本特征向量,它們的余弦相似度定義以可以表示成如下形式:
其中d1·d2為標(biāo)準(zhǔn)向量乘積,分母中的是向量di的模。
和余弦相似度計算方法類似的有Jaccard相似度計算方法,其公式為:
設(shè)d1和d2為兩個文本特征向量,它們的Jarcard相似度定義以可以表示成如下形式:
現(xiàn)在抄襲行為大致可以分為四種。
第一種是完全照抄。這種行為簡單而且粗暴,易于被機器發(fā)現(xiàn)。已經(jīng)是很少使用的抄襲手段。
第二種是部分抄。這種行為較上一種行為較為高級,文章中部分的句子是從他人的文章中抄襲過來的。這種抄襲行為不太常見,也容易被機器發(fā)現(xiàn)。
第三種是“借”。這種行為較上一種行為更高級,抄的可能只是他人文章中的單個句子,這些句子可能散落在整個文章之中,也可能只出現(xiàn)在部分重要段落之中。這種抄襲行為較常見,不太容易被機器發(fā)現(xiàn)。即便發(fā)現(xiàn),也有可能因為抄襲的句子數(shù)量較少,低于判斷標(biāo)準(zhǔn)而不做追究。
第四種是改。這種行為最難被發(fā)現(xiàn)。因為大部分計算機技術(shù)方法都是以字或詞來判定相似性的,沒有利用自然語言處理的方法來進行判別。所以對同義替換或改寫等這些手段無法識別。
針對前三種抄襲行為的判定沒有必要用到復(fù)雜的文本特征,本文設(shè)計了一個將文本轉(zhuǎn)化為一個簡單的字符串集合來進行相似比較的功能來實現(xiàn)簡單的抄襲行為判斷。其設(shè)計思想是將文本轉(zhuǎn)換為一個簡單的字符串集合,這個字符串集合的單位是短句,即以逗號來進行結(jié)尾的句子。在設(shè)計過程中對單位進行了多次重定義,最后定義為最開始設(shè)計的短句。盡管以短句作為單位會有一些因句子過短而存在的錯誤,但通過對代碼的修正獲得了改進。運行過程如圖4.1所示。
圖1 運行過程
基于文本特征的判定實現(xiàn)是一種系統(tǒng)的判定過程,主要針對的是上面提及的第四種抄襲行為。由于是從整個文本含義去判斷,這種判定取決于文本含義的準(zhǔn)確程度。最終的計算結(jié)果將用兩種方法去計算。一種是利用余弦相似度來計算,另一種是利用Jaccard相似度來計算。以余弦相似度為例給出計算過程的關(guān)鍵代碼如下:
本文采用基于B/S的環(huán)境來進行開發(fā),將用戶分為普通用戶和管理員,如圖2所示。普通用戶只擁有判斷文章是否抄襲的功能,而管理員還擁有對用戶、角色、角色權(quán)限、功能菜單、被比較文章的管理功能。用戶之間的區(qū)分是通過用戶所扮演角色來實現(xiàn),每個角色有著屬于自己的菜單,從而實現(xiàn)不同用戶的不同界面。
圖2 用戶管理示意圖
本文略去了從文本提取文本特征的過程,側(cè)重點放在文本相似度的計算過程。在這里將文本特征標(biāo)準(zhǔn)化,用四個方面的特征來表示一篇文本。本文采用標(biāo)準(zhǔn)化文本特征向量的方法,這種方法是構(gòu)建文本指紋,由于獲得文本含義和文本分類是不同層次的,盡管優(yōu)化文本特征維數(shù)有利于給文本分類,但復(fù)雜的文本特征才能完整地表示文本的含義。文本指紋和傳統(tǒng)文本特征不同,文本指紋可以向下劃分到詞,即通過機械學(xué)習(xí)獲得每個詞在多個領(lǐng)域的值來構(gòu)成一個詞庫。每個詞都有著自己的指紋,通過統(tǒng)計詞的指紋來獲得文本的指紋。圖3,4是特征值計算的初步模擬結(jié)果,測試數(shù)據(jù)在四個方面上的特征值均為1。
從結(jié)果上看,Jaccard相似度得到的結(jié)果偏小。這是兩個相似度計算公式之間的不同所造成的。但是兩者間的變動趨勢卻是幾乎相同的,也就是說只要取不同的判定標(biāo)準(zhǔn)完全可以得到對抄襲行為相同的判定。不過這只是對文本特征的一個簡單模擬而已,實際中文本特征的維數(shù)可能有成千上萬,在這里我將文本特征擴充到8維再進行測試。在這里擴充的另外4維是互不相關(guān)的,亦即這多篇文章只有前4維相關(guān)。程序改進后的運行結(jié)果分別如圖5,6所示。
對比圖5與圖6,Jaccard相似度對維數(shù)的敏感度沒有余弦相似度那么明顯,但還是有相當(dāng)幅度的降低。在理想化擴充了維數(shù)之后,相似度結(jié)果明顯降低,證明了給文本指紋設(shè)計一個足夠大的維數(shù)是必須的。文本指紋和傳統(tǒng)的文本特征是不同的,文本特征可能是萬維的。文本指紋卻可以給出一個標(biāo)準(zhǔn),使得文本特征可以更好地保存和被程序反復(fù)利用。
圖3 余弦相似度計算結(jié)果
圖4 Jaccard相似度計算結(jié)果
圖5 改進后余弦相似度計算結(jié)果
圖6 改進后Jaccard相似度計算結(jié)果
本文的設(shè)計方案是自然領(lǐng)域表示法,用一個詞在多個自然領(lǐng)域的相關(guān)性來表達這個最簡單文本的特征,把這個最簡單文本的特征作為基礎(chǔ)文本特征。然后在處理復(fù)雜文本的過程中將復(fù)雜文本分詞生成一個詞的集合,通過計算得到復(fù)雜文本的特征。如果基礎(chǔ)文本特征足夠好的話,這個生成的復(fù)雜文本特征就可以作為文本的指紋存在。文本指紋并不是傳統(tǒng)意義上的文本特征,傳統(tǒng)意義上的文本特征利于分類聚類。而對文章抄襲行為的判別是需要將每一個文本之間的不同都找出來,這就需要文本指紋,一個足夠復(fù)雜的文本特征。本文對這個基礎(chǔ)文本指紋的維數(shù)設(shè)計進行了探討,結(jié)果證明使用這樣的方法必須要有一個在維數(shù)的設(shè)計上足夠好的基礎(chǔ)文本特征。
[1] Ronen Feldman,James Sanger.The Text Mining Handbook[M].1st.Beijing:Posts& Telecom Press,2009
[2] 陳文偉.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘教程[M].第1版.北京:清華大學(xué)出版社,2006
[3] Bing Liu.Web Mining[M].1st.Beijing:Tsinghua,2009
[4] 苗奪謙,衛(wèi)志華.中文文本信息處理的原理與應(yīng)用[M].第1版.北京:清華大學(xué)出版社,2007
[5] 陸旭.文本挖掘中若干關(guān)鍵問題研究[M].第1版.安徽:中國科學(xué)技術(shù)大學(xué)出版社,2008
[6] 宋煒,張銘.語義網(wǎng)簡明教程[M].第1版.北京:高等教育出版社,2004
[7] 費小棟,趙克,李亞濤,劉靖.名詞聚類在自然語言處理系統(tǒng)中的應(yīng)用[J].計算機工程與科學(xué),2009,31(8):133-136
[8] 袁正午,李玉森,張雪英.基于屬性的文本相似性計算算法改進[J].計算機工程,2009,35 (17):4-6
[9] 董振東,董強.面向信息處理中的詞匯語義研究的若干問題[J].語言文字應(yīng)用,2001,31 (14):27-32