屈探春
(南京師范大學(xué) 文學(xué)院,江蘇 南京 210097)
基于空間向量模型的先秦文獻(xiàn)相似性研究
屈探春
(南京師范大學(xué) 文學(xué)院,江蘇 南京 210097)
本文基于空間向量模型,利用TF-IDF值,對(duì)《楚辭》、《公羊傳》、《管子》、《谷梁傳》、《國(guó)語(yǔ)》、《韓非子》、《老子》、《禮記》、《論語(yǔ)》、《呂氏春秋》、《孟子》、《墨子》、《商君書(shū)》、《詩(shī)經(jīng)》、《孫子》、《武子》、《孝經(jīng)》、《荀子》、《晏子春秋》、《儀禮》、《周禮》、《周易》、《莊子》、《尚書(shū)》和《左傳》等二十五本先秦文獻(xiàn)進(jìn)行了相似度計(jì)算,通過(guò)分析文本的相似系數(shù),考察文本間的相似程度和文獻(xiàn)本身的特殊性。最終發(fā)現(xiàn):部分文獻(xiàn)用詞較為封閉,用語(yǔ)風(fēng)格獨(dú)樹(shù)一幟;部分文獻(xiàn)用詞則包容性,與其他文本的一致性較高。
先秦文獻(xiàn) 相似性 向量空間模型 TF-IDF值
古漢語(yǔ)研究中,文本作者考證、著作年代探究等都是學(xué)者們的研究重點(diǎn)之一。他們常常從文本風(fēng)格、用詞特征等角度出發(fā),通過(guò)比較同時(shí)期的同類(lèi)作品或者尋找詞語(yǔ)源流演變的軌跡等方法來(lái)探尋文獻(xiàn)創(chuàng)作者,確定文獻(xiàn)創(chuàng)作年代或判別文獻(xiàn)真?zhèn)?。這類(lèi)研究中,古漢語(yǔ)研究者多依賴于文獻(xiàn)典籍或考古文物等資料,以此為據(jù)作出相應(yīng)的假設(shè)或者是論證已有假設(shè)。本文則主要利用自然語(yǔ)言處理中的相似度計(jì)算方法,通過(guò)計(jì)算文獻(xiàn)間的相似系數(shù)來(lái)判斷彼此間的相似程度。主要考察了《楚辭》、《公羊傳》、《管子》、《谷梁傳》、《國(guó)語(yǔ)》、《韓非子》、《老子》、《禮記》、《論語(yǔ)》、《呂氏春秋》、《孟子》、《墨子》、《商君書(shū)》、《詩(shī)經(jīng)》、《孫子》、《武子》、《孝經(jīng)》、《荀子》、《晏子春秋》、《儀禮》、《周禮》、《周易》、《莊子》、《尚書(shū)》、《左傳》這二十五本文獻(xiàn),在統(tǒng)計(jì)各文本的詞頻、詞長(zhǎng)等基本數(shù)據(jù)的基礎(chǔ)上,計(jì)算彼此間的相似系數(shù),分析相似情況。
(一)相似性計(jì)算
相似度計(jì)算在中文信息處理中較常使用,它多服務(wù)于文本分類(lèi)和文本聚類(lèi),同時(shí)也在某種程度上依賴于文本分類(lèi)和聚類(lèi),常用的特征項(xiàng)選取方法--信息增益(IG)就需依先前預(yù)定的分類(lèi)情況來(lái)計(jì)算。無(wú)論是文本分類(lèi)還是文本聚類(lèi),都需用一定的特征項(xiàng)來(lái)表示文本,也就是所謂的文本表示,其中特征項(xiàng)的選擇是基礎(chǔ)。依據(jù)是否需要類(lèi)別信息,特征選擇可分為有監(jiān)督和無(wú)監(jiān)督兩種,文本分類(lèi)多采用有監(jiān)督特征選擇方法,而文本聚類(lèi)則多采用無(wú)監(jiān)督特征選擇方法,當(dāng)然也有很多學(xué)者為了達(dá)到更高的選擇精度而嘗試把類(lèi)信息融入到文本聚類(lèi)中,使用有監(jiān)督學(xué)習(xí)方法中的信息增益來(lái)尋找文本中最具分類(lèi)能力的特征運(yùn)用于文本聚類(lèi)。本文主要是對(duì)先秦二十五本文獻(xiàn)進(jìn)行聚類(lèi)分析,在未預(yù)測(cè)各文本間的分類(lèi)情況的基礎(chǔ)上計(jì)算每?jī)杀疚墨I(xiàn)間的相似性,將其與人們的主觀歸類(lèi)進(jìn)行比較,分析其差異。由于是在未知類(lèi)信息的情況下進(jìn)行的研究,所以主要通過(guò)無(wú)監(jiān)督特征選擇方法中的文檔頻率來(lái)控制特征項(xiàng)的選擇,同時(shí)從傳統(tǒng)的TF-IDF值出發(fā),充分考慮古典文獻(xiàn)的文本特征,通過(guò)實(shí)驗(yàn)選取合適的閥值進(jìn)一步提取特征項(xiàng),利用空間向量模型計(jì)算各文本間的相似度。
(二)面向空間的向量模型
計(jì)算對(duì)象相關(guān)度的常用模型主要有空間向量模型和集合運(yùn)算模型等。由于后者的局限性比較大,所以常用向量空間模型來(lái)計(jì)算文檔相似度。
向量空間模型是20世紀(jì)60年代由Salton等人提出的,該模型利用從文本中提取出的特征項(xiàng)的集合來(lái)概念化地表示整個(gè)文檔,并且依據(jù)每個(gè)特征項(xiàng)在文檔中的重要性來(lái)賦給不同的權(quán)重,也就是說(shuō)一個(gè)未分類(lèi)的文本就是一個(gè)由各個(gè)不同權(quán)重的特征項(xiàng)表示的向量,每個(gè)特征項(xiàng)代表向量中的一個(gè)維度,其中特征項(xiàng)既可以是文檔中的詞語(yǔ)也可以是短語(yǔ)還可以是單個(gè)的字。例如:假設(shè)存在一個(gè)文檔D,它由t1,t2,t3……tn這樣一些特征項(xiàng)組成,且各個(gè)特征項(xiàng)的權(quán)重分別為w1,w2,w3……wn,那么文檔D就可以表示為D(t1,w1;t2,w2……tn,wn)。但需要注意的是,在空間向量模型中,各特征項(xiàng)必須是互異的,且假設(shè)各特征項(xiàng)之間不存在先后順序?;谶@兩個(gè)條件,特征項(xiàng)t1,t2,t3……tn就可被簡(jiǎn)單地看作是一個(gè)n維的坐標(biāo)系,而權(quán)重w1,w2,w3……wn則可看作是對(duì)應(yīng)維度的坐標(biāo)值,那么,一個(gè)文檔便可以表示為一個(gè)n維的空間向量。D(w1,w2,w3……wn)就是該文本的空間向量模型,如右圖。
利用空間向量模型,文檔的相似度可以通過(guò)向量間的相關(guān)程度來(lái)度量。假設(shè)任意兩個(gè)文本D1和D2,那么這兩個(gè)文本可以用向量D1(w11,w12……w1n)和D2(w21,w22……w2n)來(lái)表示。從上圖可以看出,如果兩個(gè)文檔也就是兩個(gè)向量之間關(guān)系越靠近,那么它們兩者形成的夾角θ也就越小,相應(yīng)的cosθ就越大。因而,可以利用兩者夾角的余弦值來(lái)表示文本的相似系數(shù):
本文利用上面所介紹的空間向量模型對(duì)先秦的二十五本文獻(xiàn)進(jìn)行了相似度計(jì)算,文本的原始資料來(lái)源于李斌等人的《Corpus-Based Statistics of Pre-Qin Chinese》一文,在實(shí)驗(yàn)過(guò)程中,我們首先對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,結(jié)合古代漢語(yǔ)的特點(diǎn)刪除或者保留相應(yīng)數(shù)據(jù)。在此基礎(chǔ)上計(jì)算各詞語(yǔ)的TF-IDF值,結(jié)合詞語(yǔ)的文檔、頻率選取特征項(xiàng)。最后,根據(jù)特征項(xiàng)的權(quán)重計(jì)算文本相似度,制作圖表。
(一)預(yù)處理
古代文獻(xiàn)多以單字詞為主,但是也有多字詞的存在。在此需要聲明的是,本文以詞為特征項(xiàng),從詞出發(fā)計(jì)算文本相似度。在對(duì)統(tǒng)計(jì)所得的原始資料進(jìn)行處理時(shí),我們充分考慮了古代漢語(yǔ)的語(yǔ)詞特點(diǎn),刪去某些無(wú)用信息,保留相應(yīng)的數(shù)據(jù)。
首先,去標(biāo)點(diǎn)符號(hào)。由于現(xiàn)代人所使用的古代文獻(xiàn)版本多為后人的注本,所以其中不免參雜了一些現(xiàn)在文本的信息。古代文本不存在標(biāo)點(diǎn),所以在預(yù)處理的過(guò)程中首先要將標(biāo)點(diǎn)符號(hào)相關(guān)的數(shù)據(jù)資料刪去,以避免處理過(guò)程中無(wú)關(guān)信息的干擾。
其次,保留相同語(yǔ)詞的不同詞形。古代漢語(yǔ)文本中存在許多同義異形詞,對(duì)現(xiàn)代漢語(yǔ)而言這可能是一種用語(yǔ)不規(guī)范的問(wèn)題,但是對(duì)古代漢語(yǔ)而言,同義異形詞也反映了一定的文本風(fēng)格,體現(xiàn)了作者的創(chuàng)作習(xí)性。同時(shí),也是不同時(shí)代用詞情況以及詞語(yǔ)發(fā)展演變情況的映射。因而,在文本預(yù)處理的過(guò)程中,我們保留了不同的詞形,把它們當(dāng)作不同的條目來(lái)處理,例如:將“爲(wèi)”和“為”列作兩個(gè)條目。
再次,保留相同詞形不同詞性的詞語(yǔ)。古代漢語(yǔ)中大量存在詞類(lèi)活用的現(xiàn)象,而在不同時(shí)期的不同文本中活用的情況不同,這也是古漢語(yǔ)不同時(shí)期語(yǔ)言演變的特點(diǎn)之一,所以,我們也將不同詞性相同詞形的語(yǔ)詞分作不同的條目進(jìn)行處理。如:將“食(n)”和“食(v)”作為兩條詞項(xiàng)。
(二)基于VSM的TF-IDF值計(jì)算
從統(tǒng)計(jì)特性的角度來(lái)看,判斷詞對(duì)于分類(lèi)提供的信息量的大小主要有兩條標(biāo)準(zhǔn):(1)一類(lèi)文章中出現(xiàn)頻繁,而其他文章中出現(xiàn)不多的詞提供較多的分類(lèi)信息;(2)在多類(lèi)文章中均出現(xiàn)頻繁的詞含有較少的信息量。上文已經(jīng)提到利用權(quán)重來(lái)表示特征項(xiàng)在文本中的重要程度,并以此計(jì)算文檔相似度,而權(quán)重的計(jì)算則要通過(guò)TF-IDF公式計(jì)算獲得,TFIDF也正是在考慮了上述兩條標(biāo)準(zhǔn)。TF-IDF的基本思想就是把一個(gè)文檔分成兩個(gè)部分,一部分是帶有文本特征信息的,而另一部分則是不帶或者基本不帶文本分類(lèi)信息的。各部分中所帶的文本特征信息的多少以及該信息在文檔中的重要性則是通過(guò)TF和IDF以TF*IDF的方式來(lái)衡量。其中,TF表示絕對(duì)詞頻,指一個(gè)詞在某一篇文檔中出現(xiàn)的頻率,該頻率越高,說(shuō)明它區(qū)分文檔的能力也就越強(qiáng)。IDF指的是倒排文檔頻度,利用公式計(jì)算,表示一個(gè)詞在不同文檔中出現(xiàn)的范圍越廣,它區(qū)分文檔的能力就越低。利用TF-IDF公式可以尋找出頻率不高但是區(qū)分能力很強(qiáng)的一些特征項(xiàng)。TF-IDF值計(jì)算公式如下:
本文在通過(guò)統(tǒng)計(jì)所獲得的詞頻信息的基礎(chǔ)上利用該公式對(duì)各文本中的每一個(gè)詞語(yǔ)的TF-IDF值進(jìn)行計(jì)算,為之后的特征選取以及相似度計(jì)算提供前提信息。
(三)特征項(xiàng)的選取
特征選取的主要作用是降維。在向量空間模型中,如果維數(shù)較大,也就是表示文本的特征項(xiàng)較多,那么不可避免會(huì)帶來(lái)很大的噪聲信息。而這些噪聲信息不僅對(duì)于文本表示不起積極作用,更會(huì)增加機(jī)器處理的工作量。因而用特征項(xiàng)表示文檔,不僅不會(huì)使重要的文本特征信息流失還可以達(dá)到減少機(jī)器處理的工作量的目的,從而提高效率。
本文的處理對(duì)象是古代漢語(yǔ)文本,其本身具有較大的特殊性,所以在特征項(xiàng)選取時(shí),不僅僅要考慮除去噪聲和降低維度,另一重要任務(wù)是使文本之間詞例的頻度達(dá)到平衡,不能產(chǎn)生過(guò)大的差距,如果差距過(guò)大勢(shì)必會(huì)影響文本之間的相似性程度。為了選取最佳特征項(xiàng),我們充分考慮了各文本的特殊用語(yǔ)特點(diǎn),針對(duì)這些特征進(jìn)行多重選擇,并依據(jù)某些文本的語(yǔ)言特色,特殊對(duì)待個(gè)別文本,進(jìn)行特殊化處理。主要的篩選步驟如下:
首先,將計(jì)算得到的TF-IDF值為0的詞語(yǔ)去除。與現(xiàn)代漢語(yǔ)相同,分布較廣或者涵蓋所有文本的特征對(duì)某一特定文本的代表性不高,所具有的文本信息也相對(duì)匱乏,對(duì)該文本與其他文本的區(qū)分度或者相似度的貢獻(xiàn)值較低,所以在選取特征項(xiàng)時(shí)不加考慮。
其次,仍從TF-IDF值出發(fā),依據(jù)二十五本文獻(xiàn)的詞語(yǔ)頻度以及彼此間詞例數(shù)量的差異程度選取閥值,根據(jù)閥值刪除對(duì)文本表示貢獻(xiàn)度較小的語(yǔ)詞,使各文本的特征項(xiàng)數(shù)量達(dá)到平衡。經(jīng)實(shí)驗(yàn)表明,將閥值定為T(mén)F-IDF值等于0.00005時(shí),效果最佳。如下面的“二十五本文獻(xiàn)詞頻表”所示,未經(jīng)篩選之前(已經(jīng)過(guò)預(yù)處理),各文本的詞語(yǔ)個(gè)數(shù)差異較大,其中《孝經(jīng)》總共包含468個(gè)詞例,而《左傳》則達(dá)到了13343個(gè),兩者差距較大,即使刪去TF-IDF值為0共同詞例也無(wú)法真正達(dá)到平衡。
相比之下,以wij=0.00005為閥值進(jìn)行篩選之后,所得結(jié)果中,各文本的詞例個(gè)數(shù)的差距顯著下降。如下面的“二十五本文獻(xiàn)的特征詞統(tǒng)計(jì)表”所示,《孝經(jīng)》的特征詞數(shù)量為376個(gè),相比未篩選數(shù)據(jù)減少了92個(gè);而《左傳》的特征詞數(shù)量為801個(gè),比未進(jìn)行篩選時(shí)減少了12542個(gè),所降維度較大,經(jīng)處理后,兩者差距明顯縮小。就整體而言,篩選后的數(shù)據(jù)差異幅度較小,80%的詞例的頻度在300850之間,僅有兩例的詞頻達(dá)到了2000以上。
除了為了使各詞例的出現(xiàn)頻度達(dá)到均衡之外,將各文本的降維閥值設(shè)定為0.00005的原因還在于,降維前后文本間相似度的改變程度十分微小,不會(huì)對(duì)文本間的相似性關(guān)系的挖掘產(chǎn)生不利影響。以《公羊傳》和《禮記》為例,兩者在未降維之前相似度為0.0749,經(jīng)降維處理之后相似度變?yōu)?.0786。而《莊子》和《韓非子》在未降維之前的相似度為0.1875,經(jīng)降維之后為0.1845。兩者都只有很微小的改變,這種改變并不會(huì)對(duì)文本間的相似性產(chǎn)生重大影響。
(四)文本相似度計(jì)算
文本相似度是表示兩個(gè)或者多個(gè)文本之間的匹配程度的一個(gè)度量參數(shù),相似度越大,說(shuō)明文本相似程度越高,反之越低。本文利用上述所述的方法篩選得出的特征項(xiàng)來(lái)表示文本,根據(jù)各特征項(xiàng)在不同文本中的權(quán)重,用公式(2)分別計(jì)算每?jī)蓚€(gè)文本之間的相似系數(shù),所得的具體參數(shù)如下表。
實(shí)驗(yàn)的對(duì)象是先秦二十五本文獻(xiàn),各文獻(xiàn)所屬類(lèi)別不同,部分差異較大,若暫不考慮古漢語(yǔ)研究中對(duì)這二十五本文獻(xiàn)所持的觀點(diǎn),僅從本文相似度計(jì)算所得的數(shù)據(jù)來(lái)觀察,我們發(fā)現(xiàn)了這樣一些特點(diǎn)和文本間的相關(guān)關(guān)系。
首先,各文本相似性差異較大,部分文本只與某一個(gè)或者兩個(gè)文本相似度較大,與其他文本的相關(guān)性很小,如:《老子》、《公羊傳》、《谷梁傳》和《楚辭》等,其中《老子》和《楚辭》僅彼此間相似度較高,與其他文本的相似度接近于0,值得注意的是,和其他文本的相似系數(shù)相比,《老子》和《楚辭》同《詩(shī)經(jīng)》的相似系數(shù)都要高一些。另有一部分文本則恰恰與此相反,它們約與一半以上的文本較為相似,只與少數(shù)文本有較大差異,如:《莊子》、《韓非子》、《管子》等。還有一部分文本是與其他文本也有一定的相關(guān)度,但是尤以某一本較為突出,如:《武子》與《論語(yǔ)》,《尚書(shū)》與《詩(shī)經(jīng)》,《周易》與《儀禮》等。
其次,本文是通過(guò)詞頻來(lái)計(jì)算相似性的,所以相似系數(shù)在某種程度上反映的是各文本在用語(yǔ)方面的相關(guān)性。那么,從用詞角度來(lái)講,部分文本的語(yǔ)言較具特色,如《老子》,它幾乎只與《楚辭》和《詩(shī)經(jīng)》相關(guān),可見(jiàn)其用詞風(fēng)格的獨(dú)樹(shù)一幟。雖然在內(nèi)容和思想方面,《老子》和《楚辭》、《詩(shī)經(jīng)》大相徑庭,但是在用語(yǔ)上兩者卻又較為相似,這可能與《老子》一書(shū)多采用四字格、三字格等較為精煉的語(yǔ)句且多用對(duì)偶形式有關(guān),這與《楚辭》的體式非常相似。二十五本文獻(xiàn)中,除了用詞特殊的文本之外,也有具有很大包容性的文本,可以說(shuō)某些文本的用詞是兼容并包的,它們與大部分文本相似,如:《商君書(shū)》、《荀子》等。這一方面說(shuō)明在本文分析的二十五本文獻(xiàn)中,與該文本用語(yǔ)相似的文本較多,另一方面也說(shuō)明了,該文本的用語(yǔ)較為通俗,為許多其他作品所共有。如《呂氏春秋》這一本百科全書(shū)式的著作,內(nèi)容包含甚廣,且由呂不韋眾多門(mén)客的作品編輯而成,這勢(shì)必會(huì)使其在用語(yǔ)和言語(yǔ)分格上呈現(xiàn)兼容并包的特點(diǎn),這就使得其與其他各類(lèi)題材的文本有較大的相似性。
最后,通過(guò)分析各文本的相似度關(guān)系折線圖,會(huì)發(fā)現(xiàn)詞語(yǔ)包容性較小的文本,與其相關(guān)的文本數(shù)量也相對(duì)有限且與不同文本比較所得的相似系數(shù)差異也較大,因而聚類(lèi)相對(duì)容易。通過(guò)對(duì)相似文本較少的文本的分析,我們發(fā)現(xiàn)可對(duì)其作如下歸類(lèi):《公羊傳》和《谷梁傳》同屬一類(lèi),它們與《左傳》的語(yǔ)言風(fēng)格最為接近?!冻o》和《老子》可歸為一類(lèi),兩者與《詩(shī)經(jīng)》具有很大的共同點(diǎn),但是《詩(shī)經(jīng)》一書(shū)中又融合了較多其他文本的特點(diǎn),與《老子》的相似度不是特別高,而《楚辭》與《詩(shī)經(jīng)》卻具有很大相似性,所以三種可歸為同一類(lèi),其中《老子》又存在著某種特殊的差異性。《武子》與《論語(yǔ)》同屬一類(lèi),兩者與其他文本的相似程度都較低。
本文運(yùn)用中文信息處理中常用的相似度計(jì)算方法對(duì)《楚辭》、《公羊傳》、《管子》、《谷梁傳》、《國(guó)語(yǔ)》、《韓非子》、《老子》、《禮記》、《論語(yǔ)》、《呂氏春秋》、《孟子》、《墨子》、《商君書(shū)》、《詩(shī)經(jīng)》、《孫子》、《武子》、《孝經(jīng)》、《荀子》、《晏子春秋》、《儀禮》、《周禮》、《周易》、《莊子》、《尚書(shū)》、《左傳》等二十五本先秦文獻(xiàn)進(jìn)行了相似系數(shù)計(jì)算,通過(guò)分析計(jì)算所得的數(shù)據(jù)發(fā)現(xiàn)了這些文獻(xiàn)在用語(yǔ)等方面存在的特點(diǎn)。其中,部分文獻(xiàn)的用詞較為封閉,用語(yǔ)風(fēng)格獨(dú)樹(shù)一幟,如《老子》、《楚辭》等;而部分文獻(xiàn)用詞具有包容性,與較多的文本存在一致性,相似度較高。
[1]嚴(yán)莉莉,張燕平.基于類(lèi)信息的文本聚類(lèi)中特征選擇算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(12):4.
[2]Xia Tian,Du Yi.Improve VSM Text Classification by Title Vector Based Document Representation Method[A].in The 6th International Conference on Computer Science & Education(第六屆國(guó)際計(jì)算機(jī)新科技與教育學(xué)術(shù)會(huì)議ICCSE 2011)論文集[C].2011.
[3]宗成慶.統(tǒng)計(jì)自然語(yǔ)言處理[M],北京市:清華大學(xué)出版社,2008.
[4]Li Bin,Xi Ning,F(xiàn)eng Minxuan,Chen Xiaohe.Corpus-Based Statistics of Pre-Qin Chinese[J].in Chinese Lexical Semantics,Ji,D.,Xiao,G.,Editors,Springer Berlin Heidelberg,2013:145-153.
[5]Xiahui Pan,Jiajun Cheng,Youqing Xia,Xin Zhang,Hui Wang.Which Feature is Better?TFIDF Feature or Topic Feature in Text Clustering[A].Multimedia Information Networking and Security(MINES),2012 Fourth International Conference on,2012:425-428.
[6]李連,朱愛(ài)紅,蘇濤.一種改進(jìn)的基于向量空間文本相似度算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(2).