王泓,方艷梅,黃方軍
(中山大學(xué)數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東廣州510006)
信息熵(entropy)是來(lái)源于信息論中的一個(gè)概念,它描述了信息的不確定程度。信息熵越大,
信息熵在很多方面都有一定的應(yīng)用。在關(guān)鍵幀的提取技術(shù)[1]中,可以利用互信息熵和互信息量對(duì)視頻序列提取關(guān)鍵幀。在應(yīng)用支持向量機(jī)(supported vector machine,SVM)進(jìn)行網(wǎng)絡(luò)入侵檢測(cè)[2]時(shí),可以利用信息熵選取特征,然后再進(jìn)行入侵檢測(cè)。對(duì)于相似性度量,信息熵也有一定的應(yīng)用。使用聚類算法對(duì)樣本進(jìn)行聚類[3]時(shí),可以使用疊加信息熵場(chǎng)對(duì)樣本之間的距離進(jìn)行度量。類條件概率在相似性度量中也有相應(yīng)的應(yīng)用[4]。
文本的語(yǔ)言特征可以表現(xiàn)作者在寫作時(shí)的語(yǔ)言特點(diǎn),是作者個(gè)人風(fēng)格的深刻反映[5]。詞匯豐富程度是文本的一個(gè)重要的語(yǔ)言特征。一本小說(shuō)的詞匯豐富程度越大,那么這本小說(shuō)在表達(dá)上可能更加豐富,但同時(shí)閱讀起來(lái)也可能會(huì)比較困難。目前在對(duì)文本進(jìn)行聚類分析和分類中,語(yǔ)言風(fēng)格是一個(gè)應(yīng)用較多的分類依據(jù)[6]。說(shuō)明語(yǔ)言風(fēng)格在文本聚類中有著很好的應(yīng)用。在一些文學(xué)作品的風(fēng)格分析上,語(yǔ)料分析也有著重要的應(yīng)用。
計(jì)量風(fēng)格學(xué)(stylometry)是一門基于語(yǔ)料庫(kù),利用統(tǒng)計(jì)分析的方法,對(duì)文本的語(yǔ)言特征進(jìn)行研究分析的學(xué)科[7-8]。目前已有很多學(xué)者對(duì)文學(xué)作品進(jìn)行計(jì)量風(fēng)格的分析,通過(guò)對(duì)不同作者的作品的語(yǔ)言風(fēng)格特征進(jìn)行對(duì)比,得到不同作者之間的語(yǔ)言風(fēng)格差異,以此對(duì)不同作者進(jìn)行簡(jiǎn)單的識(shí)別。文獻(xiàn)[9]對(duì)蘇童和畢飛宇兩位作者的作品進(jìn)行分析,分別選取了兩位作者的四本小說(shuō)作品,對(duì)小說(shuō)中的標(biāo)點(diǎn)符號(hào),語(yǔ)氣助詞以及實(shí)詞詞類等可量化的語(yǔ)言特征進(jìn)行比較,發(fā)現(xiàn)這些語(yǔ)言特征能夠比較明顯地區(qū)分這兩位作者。在對(duì)兩位作者的實(shí)詞詞類的分析上也可以看到,蘇童在小說(shuō)作品中使用實(shí)詞的頻次要高于畢飛宇在小說(shuō)作品中的實(shí)詞使用頻次的。實(shí)詞是用來(lái)表達(dá)意義的,具有很強(qiáng)的信息傳遞能力[10]。因此這個(gè)結(jié)果也可以表明,蘇童的小說(shuō)作品信息性比畢飛宇的小說(shuō)作品信息性要強(qiáng)。因而實(shí)詞的詞類也可以成為區(qū)分兩位作者的一個(gè)指標(biāo)。在文獻(xiàn)[11]中,對(duì)余華的小說(shuō)作品和格非的小說(shuō)作品進(jìn)行了對(duì)比。在詞匯豐富程度這一角度上,作者提出了詞匯獨(dú)特性,詞匯多樣性和詞匯密度三個(gè)參數(shù)對(duì)詞匯豐富程度進(jìn)行描述。詞匯獨(dú)特性是指文本中只出現(xiàn)一次的詞匯的數(shù)量占文本總詞匯數(shù)量的比例。詞匯多樣性作者提出使用型例比(Type-Token Ratio,TTR)對(duì)說(shuō)明信息的不確定程度越大。
其進(jìn)行描述,即詞型與詞例的比值,并對(duì)其求對(duì)數(shù)得到對(duì)數(shù)TTR,對(duì)數(shù)TTR的值越高說(shuō)明其詞匯豐富程度越大。詞匯密度是實(shí)詞數(shù)量與整本小說(shuō)的詞匯數(shù)量的比值。這三個(gè)參數(shù)在對(duì)余華的小說(shuō)作品和格非的小說(shuō)進(jìn)行對(duì)比分析后發(fā)現(xiàn),與預(yù)期的兩位作者的小說(shuō)的詞匯豐富程度是一致的。
本文希望對(duì)更多的作者進(jìn)行分析,并提出一個(gè)比上述三個(gè)參數(shù)更加簡(jiǎn)潔的指標(biāo),對(duì)文學(xué)作品的詞匯豐富程度進(jìn)行分析。
在文學(xué)作品中可以用每個(gè)單詞出現(xiàn)的頻率作為概率,進(jìn)而求出整本小說(shuō)的信息熵。小說(shuō)作品中的信息熵越高,說(shuō)明這本小說(shuō)用到的詞匯重復(fù)性比較小,每個(gè)單詞出現(xiàn)的頻次較低。反之,小說(shuō)作品中的信息熵越小,說(shuō)明這本小說(shuō)用到的詞匯的重復(fù)性比較大,很多詞匯出現(xiàn)了多次。從信息熵的定義和詞匯豐富程度的概念來(lái)看,兩者之間是很有可能有一定的聯(lián)系的。信息熵可能能夠反映一本小說(shuō)作品的詞匯豐富程度,成為衡量詞匯豐富程度的一個(gè)參考性的數(shù)據(jù)指標(biāo)。
事件x 的自信息表示的是事件發(fā)生之前,事件的不確定性,概率大的事件比較容易發(fā)生,預(yù)測(cè)其何時(shí)發(fā)生比較容易,因此不確定性比較小。同時(shí)也可以表示事件發(fā)生之后,事件所包含的信息量[12],概率大的事件不僅容易預(yù)測(cè),發(fā)生后所提供的信息量也小。將事件x的信息量簡(jiǎn)記為I(x)。
I(x)是p(x)的單調(diào)遞減函數(shù),意味著概率越大,自信息會(huì)越小。
離散隨機(jī)變量X的信息熵的定義表示為自信息的平均值[13-14],記為H(X)。在信息論中,信息熵有如下的含義[15]。
在信源輸出后,表示為每個(gè)新源符號(hào)所提供的的平均信息量。在信源輸出之前,可以表示該信源的平均的不確定性。也可以表示信源的隨機(jī)性大小,信息熵大的表示信源的隨機(jī)性大。當(dāng)信源輸出之后,信息熵亦可視作接觸不確定性所需要的信息量。
由式(1)可知,I(x)是事件x 的自信息,E 表示對(duì)隨機(jī)變量用p(x)進(jìn)行取平均運(yùn)算,即可得到信息 熵。 將 式(1) 代 入 式(2) 可 得 到 如 下的式(3)。
本文希望通過(guò)計(jì)算每本小說(shuō)作品的信息熵,把每一個(gè)英文實(shí)詞當(dāng)做是隨機(jī)變量,根據(jù)信息熵的公式進(jìn)行計(jì)算,通過(guò)分析進(jìn)一步得到信息熵和小說(shuō)詞匯豐富程度的關(guān)系,從而驗(yàn)證信息熵是可以反映文學(xué)作品的詞匯豐富程度的。
為了能夠讓實(shí)詞出現(xiàn)的頻率代替概率,這里引入了一個(gè)定理,即貝努力大數(shù)定律。貝努力大數(shù)定律[16]闡述了當(dāng)試驗(yàn)次數(shù)很大的時(shí)候,事件發(fā)生的頻率可以近似地當(dāng)做事件發(fā)生的概率。
設(shè)N(A)表示事件A 在N 次獨(dú)立重復(fù)事件中發(fā)生的次數(shù),p 表示事件A 發(fā)生的概率,對(duì)任意的ε有,
N(A)/N 表示的就是事件A 發(fā)生的頻率,當(dāng)N 的數(shù)量足夠大的時(shí)候,頻率和概率的差值小于一個(gè)極小的數(shù)的概率趨近于1。這意味著此時(shí)可以將頻率近似地當(dāng)做概率。
在信息熵的計(jì)算中,根據(jù)貝努力大數(shù)定律式(4),當(dāng)樣本容量很大時(shí)某個(gè)事件出現(xiàn)的頻率幾乎接近于事件發(fā)生的概率。對(duì)于每本小說(shuō)作品,單詞的總數(shù)相對(duì)于每個(gè)單詞出現(xiàn)的次數(shù)來(lái)說(shuō),是比較大的。因此可以把每本小說(shuō)作品的單詞數(shù)量近似當(dāng)做是無(wú)窮大。在計(jì)算每一個(gè)單詞出現(xiàn)的概率時(shí),只要計(jì)算出單詞的頻率,將單詞出現(xiàn)的頻率當(dāng)做是概率,帶入信息熵的計(jì)算公式進(jìn)行計(jì)算,即可得到每本小說(shuō)作品的信息熵。
為了驗(yàn)證信息熵能夠反映文學(xué)作品的詞匯豐富程度,需要對(duì)實(shí)驗(yàn)的方案進(jìn)行設(shè)計(jì)。首先需要進(jìn)行樣本的收集和處理,然后考慮分析的對(duì)象,接下來(lái)是進(jìn)行分詞處理并統(tǒng)計(jì)詞匯數(shù)量,計(jì)算信息熵,最后處理并分析數(shù)據(jù)得到結(jié)論。
本文主要探討的是信息熵與詞匯豐富程度的關(guān)系。正如上述提到的,文學(xué)作品中的實(shí)詞有很強(qiáng)的信息性,因此本文在信息熵的計(jì)算上主要考慮的是實(shí)詞。計(jì)算每一個(gè)實(shí)詞在所有實(shí)詞中出現(xiàn)的頻率,并將這個(gè)頻率作為概率,根據(jù)上述提到的信息熵的式(3)計(jì)算信息熵。對(duì)于詞匯豐富程度主要是基于對(duì)于不同類型的小說(shuō)的定性分析以及平常的一些閱讀經(jīng)驗(yàn)進(jìn)行分析。針對(duì)實(shí)詞這一分析對(duì)象,設(shè)計(jì)流程圖圖1。
圖1 方案設(shè)計(jì)流程圖Fig.1 Flow chart of scheme design
如圖1所示,分析信息熵與詞匯豐富程度的關(guān)系,首先需要收集樣本,然后把樣本轉(zhuǎn)化為text文檔,對(duì)于每一本小說(shuō),即每一個(gè)文檔,進(jìn)行分詞,然后識(shí)別出實(shí)詞與虛詞,對(duì)實(shí)詞以及整本小說(shuō)的詞匯數(shù)量進(jìn)行統(tǒng)計(jì),計(jì)算出信息熵。接下來(lái)把得到的信息熵?cái)?shù)據(jù)制成表格并且繪出圖線,對(duì)表格數(shù)圖進(jìn)行分析。
本文主要的研究對(duì)象是英文小說(shuō)作品,需要收集小說(shuō)作品主要是英國(guó)和美國(guó)兩國(guó)的小說(shuō)作品。為了便于研究,在一開(kāi)始收集小說(shuō)作品的時(shí)候,就按照不同的類別去收集。本文把英文小說(shuō)作品分為四類,分別是魔幻/科幻小說(shuō),推理小說(shuō)、幽默諷刺小說(shuō)、兒童文學(xué)。對(duì)于每一類,需要收集多本小說(shuō)作品,使得數(shù)據(jù)比較有說(shuō)服力。每一類小說(shuō)作品再按照作者進(jìn)行分類,例如魔幻/科幻小說(shuō),《哈利波特》系列小說(shuō)的作者成為一類,《魔戒》系列小說(shuō)的作者也單獨(dú)成為一類。這樣也是為了探究寫不同類型的小說(shuō)的作者之間在信息熵上是否有什么區(qū)別。
由于一些小說(shuō)作品受到版權(quán)的保護(hù),在網(wǎng)上很難找到英文版的小說(shuō)原著,因此有些作者只能找到兩三本小說(shuō)作品,甚至有些作者只能找到一本小說(shuō)作品。但只要每一類的小說(shuō)作品的數(shù)量足夠,單個(gè)作者的小說(shuō)作品數(shù)量少對(duì)研究的結(jié)果不會(huì)產(chǎn)生太大的影響。
有一些小說(shuō)作品在網(wǎng)上只找到了PDF 格式,因此需要將PDF 轉(zhuǎn)化為TXT 文本文檔的格式。在網(wǎng)絡(luò)上找到了可以在線轉(zhuǎn)換的工具,因此就不需要自己編程實(shí)現(xiàn)PDF轉(zhuǎn)換為文本文檔了。
最終總共收集110 本小說(shuō)作品,其中魔幻/科幻小說(shuō)共計(jì)34 本,推理小說(shuō)共39 本,幽默諷刺小說(shuō)共計(jì)16本,兒童文學(xué)共計(jì)21本。
根據(jù)上述的分析對(duì)象,本次主要分析的是實(shí)詞。因此在分詞的時(shí)候,除了把每一行進(jìn)行單詞的劃分之外,還需要考慮如何識(shí)別實(shí)詞和虛詞。
在統(tǒng)計(jì)實(shí)詞的時(shí)候,相同單詞的不同形態(tài)不應(yīng)該進(jìn)行區(qū)分,例如,do,does,did 和done 應(yīng)該視為同一個(gè)單詞,如果文本中出現(xiàn)了do 的這四種形態(tài),應(yīng)當(dāng)視為do 這一單詞出現(xiàn)了四次,而不是考慮成四個(gè)單詞。
因此,在分詞的同時(shí)應(yīng)當(dāng)考慮如何區(qū)分實(shí)詞和虛詞,并且對(duì)于每一個(gè)實(shí)詞要將其還原為原形,這樣才能比較準(zhǔn)確地統(tǒng)計(jì)數(shù)據(jù)。但是如果自己實(shí)現(xiàn)對(duì)實(shí)詞和虛詞的識(shí)別,可能需要考慮使用機(jī)器學(xué)習(xí)的算法進(jìn)行實(shí)現(xiàn),但是這樣需要花很多功夫在識(shí)別上,而本次探究的重點(diǎn)并不在于如何識(shí)別虛詞和實(shí)詞。同理,對(duì)于把實(shí)詞還原為其原形,也可能需要采用機(jī)器學(xué)習(xí)的方法進(jìn)行學(xué)習(xí)訓(xùn)練,才能有效地識(shí)別實(shí)詞的各種形態(tài)并將其還原為原形,本次探究的重點(diǎn)也不在于此。
Python在數(shù)據(jù)分析上面有著很強(qiáng)大的優(yōu)勢(shì),在文本處理上它也提供了很多很強(qiáng)大的工具。本文在分詞和預(yù)處理上考慮使用Python 中的NLTK庫(kù)[17],NLTK 庫(kù)中提供了分詞的工具,并且會(huì)對(duì)于分好的每一個(gè)單詞進(jìn)行標(biāo)記,能夠有效地區(qū)分該單詞是名詞、動(dòng)詞、形容詞或副詞,也能很方便地標(biāo)記出是形容詞的原形還是比較級(jí)或是最高級(jí)等。
同時(shí)Python 的NLTK 庫(kù)中還提供了將實(shí)詞的各種形式還原為原形的工具,例如能有效地把動(dòng)詞的第三人稱單數(shù)還原為原形,有利于減少計(jì)算重復(fù)單詞的可能性,提高統(tǒng)計(jì)的準(zhǔn)確性。因此,在分詞和識(shí)別虛詞實(shí)詞時(shí)使用Python的NLTK庫(kù)。
在信息熵的計(jì)算中,每本小說(shuō)作品,單詞的總數(shù)相對(duì)于每個(gè)單詞出現(xiàn)的次數(shù)來(lái)說(shuō),是較大的,可以近似地認(rèn)為單詞總數(shù)是無(wú)窮的。根據(jù)貝努力大數(shù)定律,可以將詞頻作為單詞出現(xiàn)的概率進(jìn)行計(jì)算。
求出每個(gè)單詞出現(xiàn)的概率后,再進(jìn)行求對(duì)數(shù)的計(jì)算,此時(shí)的對(duì)數(shù)是以2為底的對(duì)數(shù)。把每個(gè)單詞出現(xiàn)的概率以及概率的對(duì)數(shù)相乘得到一個(gè)數(shù)值。對(duì)該數(shù)值進(jìn)行求和計(jì)算,然后加上負(fù)號(hào)即可得到小說(shuō)的信息熵?cái)?shù)值。
對(duì)于每本小說(shuō),每遍歷一個(gè)單詞,都需要判斷其為實(shí)詞還是虛詞,才能計(jì)算出實(shí)詞的總數(shù)。如果是實(shí)詞,那么實(shí)詞的總數(shù)需要自增,實(shí)詞的總數(shù)初始化為0,這樣就能統(tǒng)計(jì)出整本小說(shuō)作品的實(shí)詞的總數(shù)有多少。
對(duì)于每一個(gè)單詞,當(dāng)判斷為實(shí)詞時(shí),需要計(jì)算出該單詞在文本中出現(xiàn)的次數(shù),得到次數(shù)后,用次數(shù)除以實(shí)詞的總數(shù),即可得到單詞出現(xiàn)的頻率。利用貝努力大數(shù)定律,將頻率近似為概率。根據(jù)式(3),將概率代入公式進(jìn)行計(jì)算,從而得到整本小說(shuō)的信息熵。
在實(shí)際實(shí)現(xiàn)的時(shí)候,由于實(shí)詞中的名詞、動(dòng)詞、形容詞和副詞最能夠反映信息,因此在這里只考慮了這四種實(shí)詞。
實(shí)現(xiàn)時(shí),在完成分詞的過(guò)程中就已經(jīng)計(jì)算得到實(shí)詞的總數(shù)(count),并且把所有實(shí)詞(名詞、動(dòng)詞、形容詞和副詞)存放與一個(gè)列表中。然后利用Python 的字典這一數(shù)據(jù)結(jié)構(gòu),字典的每一個(gè)元素是一個(gè)二元組(key,value),在這里可以用key記錄單詞,用value記錄單詞出現(xiàn)的次數(shù),字典中的key 是不允許重復(fù)的。遍歷列表中的每一個(gè)單詞,判斷是否已經(jīng)出現(xiàn)在字典中,如果沒(méi)有出現(xiàn)則以該單詞為key 對(duì)應(yīng)的value 值為1。如果已經(jīng)出現(xiàn)過(guò),則對(duì)應(yīng)的value值自增。
然后遍歷這個(gè)字典,對(duì)于字典中的每一值對(duì)(key,value),用value 除以小說(shuō)的實(shí)詞總數(shù)(count),得到的就是該單詞的詞頻。用這個(gè)詞頻作為該單詞出現(xiàn)的概率,根據(jù)信息熵的計(jì)算式(3),求得整本小說(shuō)的信息熵的值。
雙曲正切函數(shù)在深度學(xué)習(xí)中有著重要的應(yīng)用,可以應(yīng)用于深度學(xué)習(xí)的激活函數(shù),其本身能將數(shù)據(jù)映射到-1 到+1 之間。由于實(shí)驗(yàn)的數(shù)據(jù)基本上都落在7 到12 之間,因此可以將雙曲正切函數(shù)做一個(gè)平移,使得實(shí)驗(yàn)的數(shù)據(jù)都能映射到-1到+1之間,這樣數(shù)據(jù)之間的差別就會(huì)更加明顯。
2.4.1 雙曲正切函數(shù) 雙曲正切函數(shù):
其定義域?yàn)椋?∞,+∞),值域?yàn)椋?1,+1)。該函數(shù)能將任意實(shí)數(shù)映射到-1 到+1 之間。圖2 表示的是雙曲正切的函數(shù)圖像,橫坐標(biāo)的范圍為-10 到+10之間。
圖2 雙曲正切函數(shù)圖像Fig.2 The figure of tanh-function
2.4.2 用雙曲正切處理數(shù)據(jù) 實(shí)驗(yàn)中的信息熵的數(shù)據(jù)均落在7到12之間,因此可以通過(guò)將雙曲正切的函數(shù)進(jìn)行平移,將對(duì)稱中心從(0,0)移到(9.5,0)。其平移后的雙曲正切函數(shù):
其圖像如圖3。從圖中可以看出,該函數(shù)的確能將范圍比較大的數(shù)據(jù)映射到-1 到+1 之間,使得數(shù)據(jù)更加緊湊,這樣不同類別之間的差別會(huì)更加明顯。
圖3 平移后的tanh函數(shù)圖像Fig.3 The figure of tanh-function after translation
得到的每本小說(shuō)作品的信息熵會(huì)比較混亂,因此需要進(jìn)行后處理,以便于后續(xù)的分析得到結(jié)果。
首先需要將所有的信息熵?cái)?shù)據(jù),按照不同小說(shuō)的類型整理,放入四個(gè)不同的表格中,每個(gè)表格又要按照不同的作者再進(jìn)行劃分。對(duì)于不同的作者,可以對(duì)收集到的小說(shuō)作品的信息熵求平均值,同樣也記錄在同一個(gè)表格中,這樣就形成了四個(gè)表格。
在分析之前,把小說(shuō)作品的信息熵?cái)?shù)據(jù)用圖表的方式呈現(xiàn)出來(lái),會(huì)更方便進(jìn)行觀察和分析。所以需要把每本小說(shuō)的信息熵用折線圖的方式呈現(xiàn)出來(lái)。按照四類小說(shuō),畫(huà)出四條折線段,這樣能夠方便地看出四種類型的小說(shuō)作品有什么區(qū)別。
對(duì)于剛才求出來(lái)的平均值,也要按照不同類型的小說(shuō)畫(huà)成四條不同的折線段,這樣兩個(gè)折線圖可以互相印證,共同得出規(guī)律。
在繪圖之前將數(shù)據(jù)進(jìn)行排序,使得四條折線段的變化趨勢(shì)都是統(tǒng)一的由低到高,這樣便于觀察。Python 中同樣也提供了很方便的畫(huà)圖工具matplotlib庫(kù),可以很方便地對(duì)數(shù)據(jù)進(jìn)行刻畫(huà)。
對(duì)于計(jì)算得到的四類小說(shuō)作品的信息熵,整理成表格,將數(shù)據(jù)繪制成圖并對(duì)其進(jìn)行分析。在繪制折線圖之前先利用雙曲正切函數(shù),即式(6),將信息熵映射到-1到+1之間。
魔幻科幻小說(shuō)信息熵如表1 所示。表1 的第一列是作者,第二列是作者對(duì)應(yīng)的小說(shuō)作品,第三列對(duì)應(yīng)的是每本小說(shuō)作品的信息熵,最后一列表示的是每位作者的所有小說(shuō)作品的信息熵的平均值(之后的表格都表示相同的含義)。
從信息熵的數(shù)據(jù)來(lái)看,整體的魔幻/科幻小說(shuō)的信息熵的數(shù)據(jù)都偏高,基本上都在10.5 以上,有比較多的信息熵的值已經(jīng)超過(guò)了11,從信息熵的含義上看,說(shuō)明魔幻/科幻小說(shuō)詞匯的“不確定程度”比較大。根據(jù)以往的閱讀經(jīng)驗(yàn),由于魔幻/科幻小說(shuō)構(gòu)造了一個(gè)新的與現(xiàn)實(shí)生活不一樣的世界,因此需要用到的詞匯會(huì)比較多,比較豐富,這類小說(shuō)的詞匯豐富程度通常都會(huì)比較大。在以往的研究中,魔幻小說(shuō)通常會(huì)營(yíng)造出一個(gè)“架空世界”,所謂架空世界是指魔幻文學(xué)作品中所營(yíng)造的一個(gè)與現(xiàn)實(shí)世界完全不同的別樣世界。這個(gè)世界有自己獨(dú)特的地理環(huán)境、特殊的風(fēng)俗習(xí)慣、奇異的種族生物;甚至具體的每一個(gè)種族都有自己獨(dú)特的外形、歷史、文化和語(yǔ)言等等[18]。這種架空世界的營(yíng)造使得小說(shuō)的詞匯豐富程度會(huì)比較高。這與我們得到的信息熵的數(shù)據(jù)反映出來(lái)的趨勢(shì)是基本上一致的。
表1 魔幻/科幻小說(shuō)信息熵Table 1 Entropy of magic/science fiction
對(duì)信息熵求平均值可以弱化同個(gè)小說(shuō)作者不同小說(shuō)的信息熵的差距,得到一個(gè)相對(duì)的信息熵?cái)?shù)據(jù)。平均值可用來(lái)刻畫(huà)每位小說(shuō)作者的小說(shuō)作品的總體情況。
推理小說(shuō)是基于現(xiàn)實(shí)創(chuàng)作出來(lái)的小說(shuō),因此相較于魔幻/科幻小說(shuō)來(lái)說(shuō),用到的詞匯沒(méi)有那么多樣,因此其詞匯豐富程度也會(huì)低于魔幻/科幻小說(shuō)。而表2中反映出來(lái)的信息熵整體來(lái)說(shuō)也會(huì)低于魔幻/科幻小說(shuō)。
表2 推理小說(shuō)信息熵Table 2 Entropy of mystery novel
從表2中的平均值也可以看出,整體來(lái)說(shuō),推理小說(shuō)的信息熵的平均值會(huì)低于魔幻/科幻小說(shuō)的信息熵的平均值,這也可以在一定程度上驗(yàn)證信息熵的確可以反映詞匯的豐富程度。
推理小說(shuō)中會(huì)用到一些相對(duì)專業(yè)的詞匯,為了增加閱讀的體驗(yàn),在辭藻上也會(huì)加以修飾。因此,雖然沒(méi)有魔幻/科幻小說(shuō)的詞匯豐富程度那么大,但也不會(huì)很小。從表2的數(shù)據(jù)上看,多數(shù)信息熵?cái)?shù)據(jù)落在10 到10.5 之間,也有部分?jǐn)?shù)據(jù)落在10.5到11之間。
表3反映了幽默諷刺小說(shuō)的信息熵。從整體上看,幽默諷刺小說(shuō)的信息熵不如魔幻/科幻小說(shuō)那么高。從往常的閱讀經(jīng)驗(yàn)來(lái)說(shuō),幽默諷刺小說(shuō)大多篇幅不長(zhǎng),并且用到的詞匯大多數(shù)是比較平實(shí)的,詞匯的豐富程度不高。這和表3中反映出來(lái)的是相符的。
表3 幽默諷刺小說(shuō)信息熵Table 3 Entropy of humorous satirical novel
表3中提到的歐亨利的小說(shuō),根據(jù)已有的文獻(xiàn)[19]研究,歐亨利的小說(shuō)語(yǔ)言簡(jiǎn)潔優(yōu)美,能夠用最簡(jiǎn)單的語(yǔ)言把人物刻畫(huà)得栩栩如生。他的小說(shuō)并不對(duì)社會(huì)生活進(jìn)行宏觀的描述,而是通過(guò)他對(duì)生活細(xì)致入微的洞察力,在社會(huì)生活中選取素材,以小見(jiàn)大,通過(guò)不同的角度來(lái)折射那個(gè)五彩斑斕的社會(huì)[20]。因此歐亨利的小說(shuō)在詞匯豐富程度上是不高的,而表3 所呈現(xiàn)出來(lái)的信息熵?cái)?shù)據(jù)也不高,從這里也可以說(shuō)明信息熵的確能夠反映出詞匯的豐富程度的。
表4 反映了兒童文學(xué)的信息熵。共收集了5 位作者的兒童文學(xué)小說(shuō)共計(jì)21 本。兒童文學(xué)主要是一些童話故事以及其他的一些充滿想象力的小說(shuō)。
從整體的數(shù)據(jù)上看,兒童文學(xué)的信息熵都偏低,尤其是一些童話故事,例如《The Devoted Friend》,根據(jù)文獻(xiàn)[21]研究,王爾德的《The Devoted Friend》這一童話故事多以口語(yǔ)化的對(duì)話呈現(xiàn),因此可以推斷出這一童話故事所用的詞匯不會(huì)很豐富,口語(yǔ)化的語(yǔ)言的詞匯豐富程度大都比較低。從表格中的信息熵?cái)?shù)據(jù)來(lái)看也是如此,只有8.572。
兒童文學(xué)主要的讀者是兒童,因此這就決定了兒童文學(xué)不會(huì)用到太多豐富華麗的辭藻,這樣才能方便兒童讀者閱讀。所以這類作品的詞匯豐富程度偏低,這與信息熵反映出的現(xiàn)象也是相符合的,這也可以從一定程度上說(shuō)明信息熵是可以反映詞匯豐富程度的。
表4 兒童文學(xué)信息熵Table 4 Entropy of children′s literature
通過(guò)雙曲正切函數(shù)將信息熵映射到-1 至+1 之間,將不同折線的差別拉大,使得分析更有說(shuō)服力。
圖4 反映的是四類小說(shuō)信息熵的范圍以及差別。圖中每一條曲線代表一類作品,每一個(gè)點(diǎn)代表一本作品。同一類作品用虛線連起來(lái)。繪圖時(shí)使用matplotlib 中的函數(shù)ylim,將縱坐標(biāo)范圍限制在一定的范圍之間,同時(shí)還使用了plot函數(shù),對(duì)折線的顏色、標(biāo)識(shí)等進(jìn)行區(qū)分。另外還是用了Font-Properties 函數(shù)來(lái)設(shè)置圖例樣式,讓圖例能正確顯示中文。圖4同樣是如此設(shè)置的。
大多數(shù)推理小說(shuō)著重于對(duì)邏輯的敘述,讓讀者能夠清晰地明白推理的邏輯和案件的過(guò)程,因此不同的小說(shuō)對(duì)應(yīng)的詞匯豐富程度變化不會(huì)有特別大的起伏。從圖4中可以看到其曲線是相對(duì)比較平穩(wěn)的,與詞匯的豐富程度的變化是相吻合的。這也側(cè)面說(shuō)明了信息熵可以一定程度反映詞匯的豐富程度。
圖4 四類作品的信息熵比較分析Fig.4 Analysis of entropy in four kinds of works
魔幻/科幻小說(shuō)在刻畫(huà)時(shí),更著重于描寫刻畫(huà)一個(gè)魔幻的世界,不同的魔幻/科幻小說(shuō)所描寫的魔幻世界多數(shù)是相似的,大多跟外太空,魔法世界相關(guān),因此在詞匯的豐富程度上不會(huì)有太大的變化。圖4 所反映出來(lái)的不同的魔幻/科幻小說(shuō)的信息熵的曲線也是相對(duì)平緩的,這與魔幻/科幻小說(shuō)的詞匯豐富程度的變化是相似的。這也可以從側(cè)面反映出信息熵能夠一定程度地反映詞匯豐富程度。
圖4中兒童文學(xué)和幽默諷刺小說(shuō)的信息熵的曲線變化比較大。對(duì)于兒童文學(xué),對(duì)于不同年齡層的讀者,其詞匯豐富程度也會(huì)有所不同。因此兒童文學(xué)的詞匯豐富程度的變化會(huì)較大。幽默諷刺小說(shuō)更多基于現(xiàn)實(shí),在不同的時(shí)代,所描繪的內(nèi)容也是不同的,因此幽默諷刺小說(shuō)的詞匯豐富程度的變化也會(huì)比較大。這與圖4中兒童文學(xué)和幽默諷刺小說(shuō)的信息熵的曲線變化是相吻合的。
從圖4中可以看出,兒童文學(xué)的信息熵整體是最低的,而魔幻/科幻小說(shuō)的信息熵整體是最高的,其他兩類小說(shuō)整體是落在兩者之間的。
對(duì)于這四類小說(shuō)根據(jù)剛才的分析以及從以往的閱讀經(jīng)驗(yàn)來(lái)說(shuō),兒童文學(xué)的可讀性的確會(huì)較高,所用到的詞匯比較簡(jiǎn)單,詞匯的豐富程度不高,魔幻/科幻小說(shuō)的可讀性會(huì)差一些,詞匯會(huì)比較復(fù)雜多變,詞匯豐富程度會(huì)較高。這與圖4中反映出了的情況是基本一致的,這可以說(shuō)明信息熵的確可以反映詞匯的豐富程度。
圖5反映的是每一類小說(shuō)中,不同作者的小說(shuō)的信息熵的平均值,即表1 到表4 中的平均值一列的數(shù)據(jù)。每一條線代表不同類型的作品,每一個(gè)點(diǎn)代表一位作者,表示這位作者其所有小說(shuō)作品的信息熵的平均值。圖5 是用于輔助圖4,從平均信息熵的角度進(jìn)行說(shuō)明。
圖5 曲線的平緩程度與圖4 的是一致的,對(duì)其的解釋也與圖4類似。
圖5 四類作品不同作者平均信息熵比較分析Fig.5 Analysis of average entropy in four kinds of works
從圖5中也可以看出,兒童文學(xué)的信息熵平均值整體是最低的,而魔幻/科幻小說(shuō)的信息熵平均值整體是最高的,其他兩類小說(shuō)整體是落在兩者之間的。
圖5通過(guò)信息熵的平均值再次說(shuō)明了,信息熵這一參數(shù)的確是可以在一定程度上反映詞匯豐富程度的。
根據(jù)上述的結(jié)果以及分析,信息熵的變化趨勢(shì)與小說(shuō)的詞匯豐富程度的變化趨勢(shì)大致上是相吻合的。因此可以得出結(jié)論,信息熵這一個(gè)指標(biāo)的確是可以反映詞匯的豐富程度的。
在驗(yàn)證樣本和樣本之間是否有差別的時(shí)候,通常會(huì)考慮假設(shè)檢驗(yàn)的方法。在本文的第3節(jié)中已經(jīng)就實(shí)驗(yàn)得到的圖表進(jìn)行了分析,從中的確能夠看到不同的小說(shuō)類型的信息熵是有差別的。
為了更加科學(xué)地分析其差異,本文在這里引入了假設(shè)檢驗(yàn),對(duì)每一類小說(shuō)的均值進(jìn)行假設(shè)檢驗(yàn),從而驗(yàn)證不同類型小說(shuō)信息熵的差異性。
假設(shè)檢驗(yàn)又稱統(tǒng)計(jì)假設(shè)檢驗(yàn),常用的檢驗(yàn)又Z檢驗(yàn),t 檢驗(yàn)等等。假設(shè)檢驗(yàn)利用的原理是小概率事件在一次實(shí)驗(yàn)中基本不會(huì)發(fā)生。假設(shè)檢驗(yàn)的步驟大致可以分為以下幾步。首先根據(jù)問(wèn)題,提出原假設(shè)H0,以及備選假設(shè)H1。接下來(lái)給定顯著性水平α 和樣本容量,確定檢驗(yàn)統(tǒng)計(jì)量以及拒絕域。最后根據(jù)樣本做出決策。
本文中的假設(shè)檢驗(yàn)都是基于樣本分布服從正態(tài)分布這一先驗(yàn)知識(shí),并且假設(shè)不同類型的小說(shuō)的方差均不同。
根據(jù)得到的信息熵的數(shù)據(jù),我們計(jì)算出每一種類型的小說(shuō)的均值與方差,得到的結(jié)果如表5所示。本次假設(shè)檢驗(yàn)要分別驗(yàn)證魔幻科幻小說(shuō)的信息熵的均值是要比其他三類的小說(shuō)的要高的,并且對(duì)于推理小說(shuō)和幽默諷刺小說(shuō)在一定的顯著性水平下,它們的信息熵均值是要比兒童文學(xué)的要高的。
首先我們驗(yàn)證魔幻科幻小說(shuō)的信息熵的均值是要比其他三類的要高的。以下我們以魔幻科幻小說(shuō)和兒童文學(xué)為例進(jìn)行闡述。
設(shè)μ1表示魔幻科幻小說(shuō)的信息熵的均值,μ2表示兒童文學(xué)的信息熵的均值,原假設(shè)為H0,H1為備選假設(shè)。這里采用的是Z 檢驗(yàn),設(shè)統(tǒng)計(jì)量為Z,設(shè)拒絕域?yàn)閃。
表5 不同類型小說(shuō)信息熵均值與方差Table 5 The mean and varience of entropy of different novels
式(9)中n1和n2表示樣本容量X 和Y 表示樣本的均值,σ1和σ2分別表示樣本的標(biāo)準(zhǔn)差。將表5中的樣本容量,均值和方差分別代入式(9),得到檢驗(yàn)統(tǒng)計(jì)量的值為3.985。在顯著性水平α 為0.05 的條件下,通過(guò)查表可得,Zα=1.645,由于3.985 大于1.645,因此我們有理由拒絕原假設(shè)。所以我們有理由相信,魔幻科幻小說(shuō)的信息熵的均值是大于兒童文學(xué)的。
同樣我們按照上述過(guò)程,分別檢驗(yàn)?zāi)Щ每苹眯≌f(shuō)的信息熵的均值比推理小說(shuō)的和幽默諷刺小說(shuō)的要大。我們采用相同的檢驗(yàn)統(tǒng)計(jì)量,得到的統(tǒng)計(jì)量的值分別為1.886 和3.156,在顯著性水平為0.05 的條件下,我們能得到以下結(jié)論,檢驗(yàn)?zāi)Щ每苹眯≌f(shuō)的信息熵的均值比推理小說(shuō)的和幽默諷刺小說(shuō)的要大。
類似地,我們也對(duì)推理小說(shuō)的信息熵均值和兒童文學(xué)的信息熵均值進(jìn)行假設(shè)檢驗(yàn)。
我們采用相同的統(tǒng)計(jì)量,得到的統(tǒng)計(jì)量的值為2.635,同樣在顯著性水平為0.05的條件下,也能夠說(shuō)明推理小說(shuō)的信息熵均值要比兒童文學(xué)的信息熵均值大。
從第3節(jié)的圖表中可以看到,幽默諷刺小說(shuō)的信息熵和兒童文學(xué)的信息熵有一定的差異,但差異沒(méi)有那么明顯,這里也利用假設(shè)檢驗(yàn)進(jìn)行說(shuō)明。
我們同樣也是對(duì)兩種類型小說(shuō)信息熵的均值進(jìn)行假設(shè)檢驗(yàn),設(shè)μ1表示幽默諷刺小說(shuō)的信息熵的均值,μ2表示兒童文學(xué)的信息熵的均值。原假設(shè)和備選假設(shè)同式(7)~(8),采用同樣的檢驗(yàn)統(tǒng)計(jì)量。
經(jīng)過(guò)計(jì)算得到的統(tǒng)計(jì)量的值為0.639,在顯著性水平為0.27 的條件下能夠拒絕原假設(shè)。從這里也能夠看出這兩類小說(shuō)的信息熵有一定的差異,但差異不明顯。
上述的假設(shè)檢驗(yàn)進(jìn)一步驗(yàn)證了從圖表中得到的結(jié)論,魔幻科幻小說(shuō)的信息熵與其他三類小說(shuō)的信息熵是有差異的,而且從總體的角度上魔幻科幻小說(shuō)的信息熵看是要比其他三類的小說(shuō)的要大的。同時(shí)兒童文學(xué)的信息熵從總體上看,是要比其他三類的小說(shuō)的要低的。
信息熵這一個(gè)指標(biāo)比較簡(jiǎn)單,因此具有可延展性。在使用長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long-Short Term Memory)或是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)[22-23]對(duì)文本進(jìn)行分類時(shí),如果考慮使用詞匯豐富程度作為一個(gè)特征,那么可以用直接使用信息熵,把信息熵作為表示詞匯豐富程度的一個(gè)特征。在用其他的如BP神經(jīng)網(wǎng)絡(luò)[24]也可以考慮用信息熵作為一個(gè)輸入。在使用一些簡(jiǎn)單的分類器,如邏輯回歸[25],F(xiàn)isher 線性判別[26],支持向量機(jī)[27-28]等進(jìn)行分類的時(shí)候,使用信息熵可以作為分類的一個(gè)較好的依據(jù)。對(duì)于聚類分析,如K均值聚類算法[29-30],也可將信息熵納入考量。
本文通過(guò)對(duì)不同小說(shuō)的信息熵的分析,探究信息熵與小說(shuō)詞匯豐富程度的關(guān)系。得到了信息熵可以反映小說(shuō)的詞匯豐富程度的這一結(jié)論,并提出信息熵在文本分類算法中的一些可能性的應(yīng)用。
在以往的對(duì)文學(xué)作品的研究中,很少有基于信息熵這一個(gè)特點(diǎn)進(jìn)行研究的。本文通過(guò)信息熵這一個(gè)指標(biāo),可以很簡(jiǎn)潔地反映出小說(shuō)作品的詞匯豐富程度這一個(gè)特點(diǎn)。信息熵的計(jì)算簡(jiǎn)單但反映的能力很強(qiáng)。相較于前面提到的詞匯獨(dú)特性,詞匯密度,詞匯多樣性(TTR),計(jì)算上更簡(jiǎn)單,反映能力也更強(qiáng),能夠更好地消除文本長(zhǎng)度對(duì)于詞匯豐富程度的影響。
中山大學(xué)學(xué)報(bào)(自然科學(xué)版)(中英文)2020年6期