王 君,何進(jìn)榮,馬樂(lè)榮
(延安大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,陜西 延安 716000)
路遙先生是中國(guó)當(dāng)代著名作家。路遙小說(shuō)多為描繪陜北農(nóng)村生活,代表作有《平凡的世界》《人生》等,曾榮獲1988年茅盾文學(xué)獎(jiǎng)?!镀椒驳氖澜纭啡珪?shū)共3部,是一部百萬(wàn)字全景式展現(xiàn)了當(dāng)時(shí)生活的小說(shuō)。描述了20世紀(jì)70年代到80年代的陜北生活,作品以孫少平和孫少安兩兄弟為主人公,描繪了各自生活中遇到的挫折與努力、奮斗與堅(jiān)持和愛(ài)情的波折、兄弟2人相關(guān)的生活以及大多數(shù)普通人的形象[1]?!镀椒驳氖澜纭肥且徊恐袊?guó)城鄉(xiāng)互動(dòng)視角下社會(huì)整體演進(jìn)史[2],書(shū)中所描寫(xiě)的人物、時(shí)代特色和表現(xiàn)出的思想內(nèi)容、情感符合當(dāng)時(shí)的時(shí)代背景,成為當(dāng)時(shí)大眾讀者的暢銷(xiāo)書(shū),該書(shū)獲得茅盾文學(xué)獎(jiǎng), 不僅標(biāo)志著獲得社會(huì)主流價(jià)值的認(rèn)同, 也由此被代表著國(guó)家的主流文化建構(gòu)為經(jīng)典[3]。
隨著信息化不斷發(fā)展,小說(shuō)特別是文學(xué)作品這類(lèi)作品被電子化,為研究和應(yīng)用提供了極大的方便[4-5]。并且人們可以用新的視角理解作品中的人物關(guān)系,預(yù)測(cè)人物關(guān)系走向,分析人物的重要性。相比于全文閱讀作品《平凡的世界》,借助網(wǎng)絡(luò)科學(xué)能挖掘出其中更多細(xì)節(jié)及深層結(jié)構(gòu)[6],更加全面客觀地理解故事[7-8]。人物關(guān)系可視化可以更加直觀地理解作品中人物之間的聯(lián)系以及人物朋友間的聯(lián)系,使用復(fù)雜網(wǎng)絡(luò)技術(shù)分析《平凡的世界》中人物角色的重要性,可以抽取出有意義的內(nèi)容。
近年來(lái),社會(huì)關(guān)系網(wǎng)絡(luò)逐漸成為跨學(xué)科研究的重點(diǎn)[6],目前文學(xué)作品人物關(guān)系網(wǎng)絡(luò)分析的主要方法是利用自然語(yǔ)言處理角色問(wèn)題,使用文本挖掘構(gòu)建人物關(guān)系矩陣和采用數(shù)字人文中的社會(huì)網(wǎng)絡(luò)分析方法,構(gòu)建不同作品的社交網(wǎng)絡(luò),大多文獻(xiàn)都表明社交網(wǎng)絡(luò)具有小世界性。
趙京勝等[9]用復(fù)雜網(wǎng)絡(luò)技術(shù)和自然語(yǔ)言處理抽取和分析了文學(xué)作品《三國(guó)演義》中的社會(huì)網(wǎng)絡(luò),利用中文文本處理工具、Web查詢(xún)和背景知識(shí)選取最終的角色,構(gòu)建角色章回矩陣、章回共現(xiàn)矩陣和全文共現(xiàn)矩陣來(lái)確定角色的權(quán)重值,對(duì)抽取的社會(huì)網(wǎng)絡(luò)分析了角色頻率分布、中心性、凝聚子群。結(jié)果表明角色分布有小世界性、有限冪律分布、多面性和多元性。劉海燕等[10]采用自然語(yǔ)言處理技術(shù)和基于復(fù)雜網(wǎng)絡(luò)技術(shù),提取小說(shuō)人物,構(gòu)建人物共現(xiàn)關(guān)系網(wǎng)絡(luò),分析此網(wǎng)絡(luò)的結(jié)構(gòu)特性,采用條件隨機(jī)場(chǎng)來(lái)處理小說(shuō)人物識(shí)別和指代消解,對(duì)菲茨杰拉的4部小說(shuō)進(jìn)行人物關(guān)系網(wǎng)絡(luò)構(gòu)建,用復(fù)雜網(wǎng)絡(luò)理論分析方法得到網(wǎng)絡(luò)的統(tǒng)計(jì)測(cè)度。
唐毅等[11]使用文本挖掘構(gòu)建人物關(guān)系矩陣,用社會(huì)網(wǎng)絡(luò)方法研究了《水滸傳》中108個(gè)主要人物的社會(huì)網(wǎng)絡(luò),首先對(duì)文本按照句號(hào)進(jìn)行劃分,再制作水滸108將的人名詞典,統(tǒng)計(jì)其中任意2人共同出現(xiàn)的次數(shù)來(lái)構(gòu)建人物關(guān)系網(wǎng)絡(luò),分析了網(wǎng)絡(luò)結(jié)構(gòu)特征,分析得到網(wǎng)絡(luò)中存在5個(gè)次級(jí)網(wǎng)路。陳蕾等[12]使用數(shù)據(jù)挖掘中雪球算法,實(shí)現(xiàn)了《紅樓夢(mèng)》中人物關(guān)系對(duì)之間的定位,挖掘小說(shuō)中頻繁出現(xiàn)的任務(wù)對(duì)間的等級(jí),建立了有向加權(quán)網(wǎng)絡(luò)。
魏會(huì)洋等[13]采用數(shù)字人文研究方法討論了長(zhǎng)篇小說(shuō)《白鹿原》在文學(xué)閱讀研究中的適用性問(wèn)題,選取《白鹿原》小說(shuō)中影響較大的12位人物構(gòu)建人物共現(xiàn)矩陣,將分析過(guò)程與小說(shuō)《白衣女人》和《三國(guó)演義》進(jìn)行比較分析,并總結(jié)了社會(huì)網(wǎng)絡(luò)分析在文學(xué)作品分析中的適用性和局限性。趙薇[14]借助數(shù)字人文中社會(huì)網(wǎng)絡(luò)分析方法,對(duì)《大波》三部曲中的人物關(guān)系和社會(huì)網(wǎng)絡(luò)進(jìn)行了可視化和適用性分析,通過(guò)以半人工的手法提取對(duì)話(huà)角色、計(jì)算人物關(guān)系權(quán)重,使用R語(yǔ)言計(jì)算網(wǎng)絡(luò)的特征值,使用Gephi軟件繪制網(wǎng)絡(luò)圖,計(jì)算了網(wǎng)絡(luò)的中心性從中發(fā)現(xiàn)關(guān)鍵人物。
樓鍇毅等[15]對(duì)小說(shuō)中的社交網(wǎng)絡(luò)進(jìn)行聚類(lèi)分析,構(gòu)建社交網(wǎng)絡(luò)步驟為:人物角色標(biāo)記,角色指代消除,人物關(guān)系識(shí)別和關(guān)系網(wǎng)絡(luò)表示,對(duì)于網(wǎng)絡(luò)的構(gòu)建使用基于人物共現(xiàn)的方法。選取了4位不同作家的65篇小說(shuō),采用K-means算法進(jìn)行聚類(lèi),k值設(shè)為4,采用準(zhǔn)確率、召回率與F1值進(jìn)行評(píng)測(cè)。朱海澎等[16]以《白鹿原》劇本為語(yǔ)料創(chuàng)建角色詞典,識(shí)別人物關(guān)系,采取邊列表的格式存儲(chǔ)網(wǎng)絡(luò)。在人物關(guān)系網(wǎng)絡(luò)上分析了節(jié)點(diǎn)中心性和小世界性質(zhì)。除此之外基于預(yù)料的方法[17-18]都取得了不錯(cuò)的效果。
本文是對(duì)作品《平凡的世界》的初次探索,主要集中在對(duì)第一部的分析,使用軟件可視化人物關(guān)系網(wǎng)絡(luò),可以更直觀地理解路遙先生寫(xiě)作時(shí)表達(dá)的人物之間的聯(lián)系,分析人物的重要性,用模塊化進(jìn)行聚類(lèi)分析。
本文對(duì)《平凡的世界》第一部構(gòu)建社交網(wǎng)絡(luò),《平凡的世界》作品電子版下載地址為:http://pingfandeshijie.janpn.com/。本文使用復(fù)雜網(wǎng)絡(luò)分析方法和NetworkX軟件包對(duì)其中的人物關(guān)系進(jìn)行分析,首先根據(jù)網(wǎng)上查詢(xún)初步構(gòu)建人物角色文件,再通過(guò)對(duì)小說(shuō)的閱讀情況對(duì)人物角色文件進(jìn)行修正。按照章節(jié)分析人物之間的共現(xiàn)關(guān)系,作品中的人物代表網(wǎng)絡(luò)中的節(jié)點(diǎn)。網(wǎng)絡(luò)中的邊可以表示角色之間的親情、愛(ài)情、摯友等關(guān)系,每章中人物的共現(xiàn)關(guān)系作為邊,邊上權(quán)重值表示所有章中出現(xiàn)過(guò)的同現(xiàn)關(guān)系。路遙作品《平凡的世界》包含的章數(shù)、節(jié)點(diǎn)和邊如表1所示。
表1 五本文學(xué)作品的章節(jié)數(shù)、節(jié)點(diǎn)和連邊
圖也叫網(wǎng)絡(luò),表示為G=(V,E),其中V表示圖中的節(jié)點(diǎn)集合,E表示圖中邊的集合,全值網(wǎng)絡(luò)中用W表示各聯(lián)系邊的權(quán)重集合[19]。本文使用Python語(yǔ)言進(jìn)行人物關(guān)系的抽取。共分為2步,第1步用本文構(gòu)建好的作品中人物作為語(yǔ)料庫(kù),對(duì)每一章進(jìn)行匹配檢索和選取,如果2個(gè)人物同時(shí)出現(xiàn)在一章中,認(rèn)為他們存在關(guān)系,以此假設(shè)為根據(jù),獲取每一章的人物關(guān)系即人物對(duì)。第2步如果其他章節(jié)中也存在這種關(guān)系,邊上的權(quán)重就進(jìn)行增加,權(quán)重值越大2個(gè)人的關(guān)系也越親密。
本文構(gòu)建一個(gè)無(wú)向加權(quán)的社交網(wǎng)絡(luò),對(duì)于本文的數(shù)據(jù)集,首先使用Gehpi軟件進(jìn)行可視化,用復(fù)雜網(wǎng)絡(luò)技術(shù)和NetworkX軟件分析計(jì)算網(wǎng)絡(luò)指標(biāo),包括度分布、群聚系數(shù)、平均路徑長(zhǎng)度、稀疏性、網(wǎng)絡(luò)直徑、介數(shù)和相關(guān)性,其中度分布、群聚系數(shù)和平均路徑長(zhǎng)度是復(fù)雜網(wǎng)絡(luò)中重要的網(wǎng)絡(luò)指標(biāo)。
2.3.1 可視化
Gephi是基于JVM的復(fù)雜網(wǎng)絡(luò)分析軟件,可進(jìn)行數(shù)據(jù)可視化,分析網(wǎng)絡(luò)指標(biāo),可以用來(lái)做數(shù)據(jù)分析、鏈路分析、社交網(wǎng)絡(luò)分析等。
使用NetworkX軟件包來(lái)計(jì)算網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)統(tǒng)計(jì)性質(zhì),包括度分布、聚集系數(shù)、最短路徑、網(wǎng)絡(luò)直徑、平均路徑長(zhǎng)度、介數(shù)、相關(guān)性、稀疏性。
2.3.2 網(wǎng)絡(luò)指標(biāo)
度分布定義為將網(wǎng)絡(luò)中節(jié)點(diǎn)的度值從小到大排列,統(tǒng)計(jì)度值為k的節(jié)點(diǎn)占整個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的比例p(k):
p(k)=Nk/N
(1)
其中Nk表示度為k的節(jié)點(diǎn)數(shù)目,N表示網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)。
對(duì)于集聚系數(shù),定義為:節(jié)點(diǎn)i的ki個(gè)鄰居之間實(shí)際存在邊數(shù)Ei和總的可能的邊數(shù)之比,計(jì)算每個(gè)節(jié)點(diǎn)的集聚系數(shù)和網(wǎng)絡(luò)中所有節(jié)點(diǎn)的平均聚集系數(shù)公式為:
(2)
平均路徑長(zhǎng)度計(jì)算公式為:
(3)
其中d(s,t)是節(jié)點(diǎn)s到節(jié)點(diǎn)t的距離,n是圖G的節(jié)點(diǎn)數(shù)。
網(wǎng)絡(luò)的相關(guān)性本文使用皮爾遜相關(guān)系數(shù)來(lái)進(jìn)行判斷,取出網(wǎng)絡(luò)中的所有連邊,計(jì)算每條連邊2個(gè)端點(diǎn)的度值,并將其按從大到小排序,得到度小序列和度大序列,最后計(jì)算它們的皮爾遜相關(guān)系數(shù)。
網(wǎng)絡(luò)稀疏性計(jì)算公式為:
(4)
其中L表示網(wǎng)絡(luò)中實(shí)際存在的邊數(shù),N表示網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)。
最短路徑值為2個(gè)節(jié)點(diǎn)所有路徑中長(zhǎng)度最短的路徑。
網(wǎng)絡(luò)直徑是指網(wǎng)絡(luò)中任意2個(gè)節(jié)點(diǎn)距離的最大值。
介數(shù):反映了節(jié)點(diǎn)或邊在整個(gè)網(wǎng)絡(luò)的作用和影響力,分為點(diǎn)介數(shù)和邊介數(shù)。點(diǎn)介數(shù)指的是最短路徑中經(jīng)過(guò)該節(jié)點(diǎn)的路徑的數(shù)目占最短路徑總數(shù)的比例。邊介數(shù)是最短路徑經(jīng)過(guò)該邊路徑的數(shù)目占最短路徑總數(shù)的比例。
2.3.3 聚類(lèi)分析
聚類(lèi)是用個(gè)體的相似性作為“距離”的度量標(biāo)準(zhǔn),節(jié)點(diǎn)間相互距離較小的歸為一類(lèi),可以反映不同個(gè)體之間的差異性和共同性[20]。本文使用Louvain模塊化算法[21],該算法能夠發(fā)現(xiàn)最優(yōu)的社團(tuán)分組,在時(shí)間和效果上都能得到比較好的結(jié)果。
2.3.4 鏈接預(yù)測(cè)
在鏈接預(yù)測(cè)中,本文隨機(jī)刪除20%的邊,對(duì)于刪除的邊本文計(jì)算Jaccard’s Coefficient系數(shù),節(jié)點(diǎn)u、vJoccard’s Coefficient系數(shù)被定義為:
(5)
Adamic-Adar Score分?jǐn)?shù)定義為:
(6)
Preferential Attachment的定義是:
Γ(u)·Γ(v)
(7)
其中Γ(u)表示節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)。
人物關(guān)系網(wǎng)絡(luò)可視化可以更加直觀、便捷地看到作品中描述的人物及人物間的聯(lián)系,使用Gehpi軟件進(jìn)行可視化,節(jié)點(diǎn)的度與節(jié)點(diǎn)的大小相關(guān),節(jié)點(diǎn)度值越大節(jié)點(diǎn)面積越大,可視化結(jié)果如圖1所示。
圖1 《平凡的世界》文學(xué)作品人物關(guān)系可視化
從圖1中可以看出,《平凡的世界》里人物孫少平、孫少安、田福堂、田潤(rùn)葉、孫玉厚等節(jié)點(diǎn)大的節(jié)點(diǎn)對(duì)應(yīng)在作品中出現(xiàn)的次數(shù)較多,也是作品中的主要人物。原作品中描述的主要任務(wù)和其他許多人物都存在聯(lián)系,在可視化圖上可以看到,主要人物節(jié)點(diǎn)的連邊數(shù)較多。
3.2.1 度分布
本文計(jì)算每個(gè)節(jié)點(diǎn)的度值,在人物關(guān)系網(wǎng)絡(luò)中,度值越大的節(jié)點(diǎn)在作品中往往越重要,繪制《平凡的世界》社交網(wǎng)絡(luò)度分布直方圖如圖2所示。
圖2 《平凡的世界》度分布
《平凡的世界》社交網(wǎng)絡(luò)度分布直方圖橫軸表示度值,縱軸表示度值數(shù)的節(jié)點(diǎn)個(gè)數(shù)。圖中度值為24、26、27的節(jié)點(diǎn)有4個(gè)。最大度數(shù)是34,最小度數(shù)是2。度值較大的節(jié)點(diǎn)田福堂的度為34,孫少安的度為33,孫少平的度為30,田福軍、田福高和田潤(rùn)葉度值為27,田曉霞度值為24,反映了這幾個(gè)人物節(jié)點(diǎn)所連接的邊數(shù)較多,在作品中的位置也比較重要。
3.2.2 集聚系數(shù)
表2列出了部分節(jié)點(diǎn)的集聚系數(shù)。
表2 《平凡的世界》的部分聚集系數(shù)
聚集系數(shù)反映了一個(gè)點(diǎn)的鄰接點(diǎn)相互連接的程度,在社交網(wǎng)絡(luò)中可以是一個(gè)人朋友之間相互認(rèn)識(shí)的程度。社交網(wǎng)絡(luò)中各個(gè)人物之間傾向形成密度較高的群體,與任意2個(gè)節(jié)點(diǎn)隨機(jī)連邊相比,社交網(wǎng)絡(luò)的集聚系數(shù)更高。表中孫少安等人的聚集系數(shù)較高,表明他們朋友之間相互認(rèn)識(shí)的程度越高。實(shí)驗(yàn)計(jì)算得到的結(jié)果均保留小數(shù)點(diǎn)后4位。
3.2.3 部分網(wǎng)絡(luò)指標(biāo)結(jié)果
網(wǎng)絡(luò)的平均度、平均聚集系數(shù)、網(wǎng)絡(luò)直徑、平均路徑長(zhǎng)度、相關(guān)性、稀疏性如表3所示(結(jié)果保留4位小數(shù))。
表3 網(wǎng)絡(luò)指標(biāo)計(jì)算結(jié)果
由表3可知相關(guān)性都為負(fù),表示網(wǎng)絡(luò)之間呈現(xiàn)異配情況,網(wǎng)絡(luò)中的稀疏性約為0.5706,本文認(rèn)為網(wǎng)絡(luò)都較為稠密,由于平均路徑長(zhǎng)度比較小,網(wǎng)絡(luò)的群聚系數(shù)又較大,因此《平凡的世界》的人物關(guān)系網(wǎng)絡(luò)具有小世界網(wǎng)絡(luò)的特征[22]。
3.2.4 最短路徑
本文計(jì)算了每個(gè)節(jié)點(diǎn)到其他節(jié)點(diǎn)的最短路徑,結(jié)果傾向于2個(gè)人物節(jié)點(diǎn)直接相連,其中王滿(mǎn)銀與李向前的最短路徑為:王滿(mǎn)銀-田福堂-李向前,賀鳳英與武惠良的最短路徑為:賀鳳英-田曉霞-武惠良。
3.2.5 介數(shù)
表4列出了部分節(jié)點(diǎn)的點(diǎn)介數(shù)值。
表4 點(diǎn)介數(shù)
從表4可知,孫少安、田潤(rùn)葉、田曉霞、孫少平、田福軍的點(diǎn)介數(shù)排在前面,孫少安的點(diǎn)介數(shù)最高為0.0445,說(shuō)明在作品中有不可替代的作用。
為了使結(jié)果更加清晰,在最小生成樹(shù)上進(jìn)行聚類(lèi)分析,《平凡的世界》聚類(lèi)可視化如圖3所示。
圖3 《平凡的世界》Louvain模塊化社團(tuán)分組可視化
從圖3中可以得到總共分了3個(gè)社區(qū),分別是孫少安、田福堂、孫少安妻子賀秀蓮等人的一個(gè)社區(qū);李登云、田福軍等人的一個(gè)社區(qū);孫少平、田曉霞等人的一個(gè)社區(qū)。原作品孫少平、孫少安是一家人,后來(lái)因?yàn)樾值芨髯越Y(jié)婚有分開(kāi)住,但也生活在一起,這里將2個(gè)人各自分為一個(gè)社區(qū)是合理的。
鏈接預(yù)測(cè)是根據(jù)已知的網(wǎng)絡(luò)結(jié)構(gòu)信息,預(yù)測(cè)網(wǎng)絡(luò)中2個(gè)節(jié)點(diǎn)產(chǎn)生連邊的概率,鏈接預(yù)測(cè)可以對(duì)用戶(hù)未來(lái)是否存在關(guān)系進(jìn)行分析,解決的是節(jié)點(diǎn)間的相似性問(wèn)題[23]。鏈接預(yù)測(cè)得分情況如表5所示(結(jié)果保留4位小數(shù))。
表5 鏈接預(yù)測(cè)的曲線(xiàn)下面積(AUC)評(píng)分
隨著互聯(lián)網(wǎng)和復(fù)雜網(wǎng)絡(luò)技術(shù)不斷發(fā)展,可以通過(guò)復(fù)雜網(wǎng)絡(luò)技術(shù)對(duì)文學(xué)作品進(jìn)行分析。本文研究了路遙先生的長(zhǎng)篇文學(xué)作品《平凡的世界》,使用復(fù)雜網(wǎng)絡(luò)分析方法和NetworkX軟件包構(gòu)建了該作品的人物關(guān)系網(wǎng)絡(luò),通過(guò)分析可以更加直觀地理解作品中的人物關(guān)系和人物的重要性,有助于人們理解小說(shuō)中的人物關(guān)系。計(jì)算人物關(guān)系網(wǎng)絡(luò)的網(wǎng)絡(luò)指標(biāo)判斷出其與社交網(wǎng)絡(luò)的相似程度,通過(guò)對(duì)網(wǎng)絡(luò)指標(biāo)結(jié)果分析,發(fā)現(xiàn)該網(wǎng)絡(luò)符合小世界特性,網(wǎng)絡(luò)有稀疏性等特性。從文學(xué)角度來(lái)看,對(duì)章回體小說(shuō)可以運(yùn)用本文方法進(jìn)行分析,得到很多有意義的數(shù)據(jù),該方法也為文學(xué)作品分析提供了重要的分析手段。