王高杰,冶忠林,趙海興,4*,朱 宇,孟 磊
(1.青海師范大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,西寧 810008;2.青海省藏文信息處理與機器翻譯重點實驗室(青海師范大學(xué)),西寧 810008;3.藏文信息處理教育部重點實驗室(青海師范大學(xué)),西寧 810008;4.青海師范大學(xué)計算機學(xué)院,西寧 810016)
最近幾年,隨著以中央電視臺《中國詩詞大會》為代表的綜藝文化類節(jié)目的熱播,全國掀起一陣全民皆詩的文化熱潮。唐詩代表了中國古典詩歌創(chuàng)作的最高成就,從“初唐四杰”到“盛唐氣象”,從中唐詩歌“元白詩派”“韓孟詩派”到“晚唐余暉”,無不代表著唐朝詩歌在中國傳統(tǒng)古典文學(xué)上的地位。宋詞是我國古典詩詞的又一創(chuàng)作高峰,從豪放派詞人蘇軾的“大江東去,浪淘盡,千古風(fēng)流人物”,到文天祥的“人生自古誰無死,留取丹心照汗青”的感人詩句,這些詩詞對后世有著深刻的影響。唐詩宋詞作為中國優(yōu)秀傳統(tǒng)文化的重要組成部分,學(xué)者們歷來從文學(xué)、文化角度對詩詞進行研究分析,本文提出一個使用復(fù)雜超網(wǎng)絡(luò)的方法,對唐詩宋詞構(gòu)建超網(wǎng)絡(luò),并分析了唐詩宋詞的超網(wǎng)絡(luò)拓撲特性,這些網(wǎng)絡(luò)特性能折射出唐宋時期詩人的用字用詞和審美傾向。
復(fù)雜網(wǎng)絡(luò)[1-2]從發(fā)展之初就引起人們極大的關(guān)注。目前,復(fù)雜網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用到交通網(wǎng)絡(luò)、生物網(wǎng)絡(luò)、社會網(wǎng)絡(luò)、新陳代謝、引文網(wǎng)絡(luò)等各種現(xiàn)實網(wǎng)絡(luò)的研究中。隨著復(fù)雜網(wǎng)絡(luò)的發(fā)展,在研究一些實證問題時,學(xué)者們發(fā)現(xiàn)基于普通圖的網(wǎng)絡(luò)不能完全刻畫現(xiàn)實網(wǎng)絡(luò)中的很多特征,或者不能充分說明要研究的問題。比如在科研合作網(wǎng)絡(luò)中,普通網(wǎng)絡(luò)只能表示任意兩個科學(xué)家的合作情況,但無法準確刻畫多個科學(xué)家合作的情形。以往處理這類問題用二部圖來解決,即用一組不相交的點集來表示論文,用另一組不相交的點集來表示作者,但此種方法失去了“點”定義下的同質(zhì)性,于是人們尋求對網(wǎng)絡(luò)更為合適和準確的描述方法——基于超圖[3]的超網(wǎng)絡(luò)。超網(wǎng)絡(luò)節(jié)點與超邊有多對多的關(guān)系,能更多維度、多樣化地進行分析,超網(wǎng)絡(luò)可以將多個同質(zhì)節(jié)點構(gòu)成的集合看作一個超邊,而非基于普通圖的網(wǎng)絡(luò)將節(jié)點與節(jié)點直接連接,能更清晰表現(xiàn)節(jié)點之間的關(guān)系。超邊的引入,不僅降低了網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,而且很好地刻畫網(wǎng)絡(luò)中的復(fù)雜關(guān)系。這種獨特的優(yōu)勢可以描述網(wǎng)絡(luò)節(jié)點之間的高階關(guān)系,是一般普通網(wǎng)絡(luò)方法所不及的[4]。
另外,在以普通圖為基礎(chǔ)的復(fù)雜網(wǎng)絡(luò)模型構(gòu)建時,采用普通的點邊關(guān)系構(gòu)建唐詩宋詞網(wǎng)絡(luò),字與字之間的邊難以定義,從復(fù)雜網(wǎng)絡(luò)指標分析該唐詩宋詞網(wǎng)絡(luò)較難挖掘出具有鮮明的時代印記的用字、用詞、句法特征。因此,本文從超網(wǎng)絡(luò)視角建立唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò),該方法將每一首唐詩、宋詞分別作為一個超邊,唐詩語料和宋詞語料中出現(xiàn)的每一個漢字作為超網(wǎng)絡(luò)中的節(jié)點,從而分析唐詩宋詞超網(wǎng)絡(luò)中的相關(guān)拓撲指標和蘊含的更多的信息,而不僅僅對每首詩詞的分析或某個主題的研究。
超網(wǎng)絡(luò)的結(jié)構(gòu)特性決定了本文采用超網(wǎng)絡(luò)模型,這可以將唐詩宋詞中的漢字表征為超邊中的節(jié)點,而非普通網(wǎng)絡(luò)的邊關(guān)系。這種高階特征對網(wǎng)絡(luò)的分析非常有用,例如,字與字之間的一階關(guān)系、二階關(guān)系等高階關(guān)系無法采用普通網(wǎng)絡(luò)的結(jié)構(gòu)進行表示。此外,采用超網(wǎng)絡(luò)表征唐詩宋詞網(wǎng)絡(luò),并用超網(wǎng)絡(luò)指標分析唐詩宋詞網(wǎng)絡(luò),可以挖掘出更具有時代背景的專業(yè)知識。從唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)的定性分析中,不僅定量揭示了唐詩宋詞超網(wǎng)絡(luò)中的相關(guān)拓撲指標和網(wǎng)絡(luò)特性,而且從側(cè)面反映出唐代詩人和宋代詞人作品中用詞的審美傾向。
王眾托[5]對超網(wǎng)絡(luò)的理論和應(yīng)用進行了評述,提出超網(wǎng)絡(luò)是高于而又超于現(xiàn)存的網(wǎng)絡(luò),或者是網(wǎng)絡(luò)組成的網(wǎng)絡(luò),存在于物流網(wǎng)絡(luò)、信息網(wǎng)絡(luò)等相互交織系統(tǒng)中,并對基于變分不等式和超圖的超網(wǎng)絡(luò)分析方法進行了探討。Liu等[6]根據(jù)知識傳播的特點提出了知識傳播超網(wǎng)絡(luò)模型。Wang等[7]在超網(wǎng)絡(luò)理論和微信在線社會關(guān)系的基礎(chǔ)上,提出了一個具有競爭力和節(jié)點年齡的進化超網(wǎng)絡(luò)模型,利用泊松過程理論和連續(xù)技術(shù)對模型進行了分析,并得到了超網(wǎng)絡(luò)的平穩(wěn)平均超度分布。胡楓等[8-9]構(gòu)建了BA(Barab’asi-Albert)無標度網(wǎng)絡(luò)的擴展超網(wǎng)絡(luò)演化模型,將BA網(wǎng)絡(luò)視為特例模型,并對科研超網(wǎng)絡(luò)進行了建模分析,發(fā)現(xiàn)隨著網(wǎng)絡(luò)規(guī)模的增大,超網(wǎng)絡(luò)的動態(tài)演化模型超度分布遵循無標度分布。索琪等[10-11]和Suo等[12]將電視節(jié)目定義為節(jié)點,播出時間段定義為超邊,對基于超網(wǎng)絡(luò)模型的電視節(jié)目競爭關(guān)系相關(guān)拓撲指標進行了研究;基于傳染病學(xué)建模思想,模擬超網(wǎng)絡(luò)中的輿情傳播過程,探討了輿情的傳播時間和傳播范圍,揭示了網(wǎng)絡(luò)輿情的傳播規(guī)律;在SIS流行模型的基礎(chǔ)上,構(gòu)建了兩種傳播模型,從信息傳播動力學(xué)以及超網(wǎng)絡(luò)以及內(nèi)在驅(qū)動力等問題進行了分析。Motter等[13]研究發(fā)現(xiàn)英語語言概念網(wǎng)絡(luò)具有小世界特性。
目前,對唐詩宋詞的研究也有一些重要的研究成果,例如,劉宇凡等[14]研究了唐代以來漢語文學(xué)作品的字頻演變;李良炎等[15]研究了基于詞聯(lián)接的詩詞評價技術(shù);趙建明等[16]研究了基于機器學(xué)習(xí)的宋詞風(fēng)格識別;龔嵐[17]研究了唐詩宋詞中的高頻字;申資卓等[18]研究了基于主題模型的古典樂器詩詞文本挖掘;冶忠林等[19-20]采用神經(jīng)網(wǎng)絡(luò)矩陣分解的方法進行詞表示學(xué)習(xí),這種方法可以較方便地推廣到唐詩宋詞的字向量學(xué)習(xí)領(lǐng)域。傳統(tǒng)上對唐詩宋詞的研究雖然豐富,但是仍然存在不足:1)對唐詩宋詞的研究大多是將每首詩或每首詞分開賞析,來解讀詩人或詞人要表達思想感情,很少從現(xiàn)代計算機和統(tǒng)計的層面進行分析;2)往往選取一個主題進行研究,忽視了唐詩語料和宋詞語料整體上所蘊含的知識;3)未能采用超網(wǎng)絡(luò)模型對唐詩宋詞進行建模分析,通過觀察和計算超網(wǎng)絡(luò)中的相關(guān)指標和特性來分析唐詩宋詞。
針對上述問題,本文提出一種基于復(fù)雜超網(wǎng)絡(luò)的唐詩宋詞研究方法。首先,用唐詩語料和宋詞語料建立超網(wǎng)絡(luò),并給出了相應(yīng)的算法偽代碼。計算了唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)中每一個節(jié)點的超度,節(jié)點超度大小不僅能反映出該節(jié)點所覆蓋的超邊數(shù)目,而且能表現(xiàn)出節(jié)點在超網(wǎng)絡(luò)中的重要程度,側(cè)面反映出節(jié)點在超網(wǎng)絡(luò)的核心地位。此外,本文計算了唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)的平均超度,平均超度是一個很好地刻畫超網(wǎng)絡(luò)稀疏性的指標,意味著平均而言超網(wǎng)絡(luò)中每個節(jié)點與多少個超邊相連。超邊節(jié)點度和超邊節(jié)點度分布能較好地表現(xiàn)出超網(wǎng)絡(luò)超邊中節(jié)點的分布特性,這不僅蘊含每首詩和每首詞的字數(shù),而且從唐詩和宋詞兩個大規(guī)模語料庫整體上認識超邊分布情況。
再次,得到唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)的每個節(jié)點超度之后,可以進一步得到超網(wǎng)絡(luò)中的一些性質(zhì)。把超網(wǎng)絡(luò)中的超度按從小到大的順序排列,從而統(tǒng)計超度為k的節(jié)點數(shù)占整個超網(wǎng)絡(luò)節(jié)點數(shù)的比例。從概率統(tǒng)計角度來看,超度分布視為超網(wǎng)絡(luò)中隨機選擇一個節(jié)點,該節(jié)點超度所對應(yīng)的概率。實驗結(jié)果表明,唐詩宋詞超網(wǎng)絡(luò)的超度分布為冪律分布,呈現(xiàn)無標度特性。最后,基于超網(wǎng)絡(luò)的拓撲結(jié)構(gòu),將超網(wǎng)絡(luò)的超邊對應(yīng)于投影網(wǎng)絡(luò)中的節(jié)點,超邊之間的公共節(jié)點對應(yīng)于投影網(wǎng)絡(luò)的連邊,計算了投影網(wǎng)絡(luò)的平均路徑長度和聚類系數(shù),結(jié)果顯示,唐詩宋詞超網(wǎng)絡(luò)超邊較高的重疊程度,發(fā)現(xiàn)了其網(wǎng)絡(luò)的小世界特性。
本文主要工作包括:1)基于超圖、復(fù)雜網(wǎng)絡(luò)性質(zhì)的思想,用復(fù)雜網(wǎng)絡(luò)分析手段構(gòu)建了唐詩宋詞超網(wǎng)絡(luò)關(guān)聯(lián)矩陣,對唐詩宋詞提出新的研究方法。2)計算得到唐詩宋詞超網(wǎng)絡(luò)中每個節(jié)點的超度,并發(fā)現(xiàn)超度分布近似為冪律分布,揭示了唐詩宋詞超網(wǎng)絡(luò)的無標度特性;計算唐詩宋詞超網(wǎng)絡(luò)超邊的超邊節(jié)點度,對超邊節(jié)點度分布進行了分布特性研究。3)最后,選取中國文學(xué)史上四位偉大詩人、詞人的作品集(李白詩集、杜甫詩集、蘇軾詩詞集、辛棄疾詩詞集)構(gòu)建超網(wǎng)絡(luò),對比發(fā)現(xiàn),其超網(wǎng)絡(luò)有較小的平均最短路徑長度和較大的聚類系數(shù),發(fā)現(xiàn)了其中的小世界特性。
圖1 一個簡單的超圖示例Fig.1 One simplehypergraph example
V={v1,v2,v3,v4,v5,v6,v7,v8}
E={e1={v1,v2,v3},e2={v2,v3},e3={v3,v4,v5},e4={v6,v7},e5={v1,v7,v8}}
定義1 關(guān)聯(lián)矩陣。超圖H=(V,E)是一個n×m階關(guān)聯(lián)矩陣Mij,其中:
定義2 超邊節(jié)點度[25]。超邊中的節(jié)點采用全連接方式,定義為一個超邊中節(jié)點的個數(shù)。在唐詩宋詞超網(wǎng)絡(luò)中,超邊節(jié)點度為一首詩或一首詞中包含的漢字個數(shù)。記為|ej|。在超圖的關(guān)聯(lián)矩陣Mij中,超邊節(jié)點度是列中非零元素的數(shù)目,即:
定義3 節(jié)點超度[26]。超圖H=(V,E)的節(jié)點超度為包含該節(jié)點的超邊數(shù)目,記為dHhd(vi)。在超圖的關(guān)聯(lián)矩陣Mij中,節(jié)點超度即是對應(yīng)的行中非零元素的數(shù)目,即:
定義4 超度中心性。在普通網(wǎng)絡(luò)中,認為一個節(jié)點鄰居數(shù)目越多,影響力越大。超網(wǎng)絡(luò)中,同樣認為節(jié)點所在的超邊數(shù)越多,影響力就越大,節(jié)點vi的超度記為ki,代表節(jié)點vi所在的超邊的數(shù)目,N為超網(wǎng)絡(luò)中節(jié)點的數(shù)目,超度中心性是節(jié)點最基本的靜態(tài)特征。一個節(jié)點的超度值越大,能影響的鄰居就越多。為了進行比較,定義節(jié)點vi的歸一化度中心性指標為:
定義5 超邊節(jié)點度分布。超圖H=(V,E)的超邊節(jié)點度分布是指超圖H中超邊節(jié)點度的概率分布或頻率分布。
定義6 節(jié)點超度分布[27]。超圖H=(V,E)的節(jié)點超度是指超圖H中節(jié)點超度的概率分布或頻率分布。節(jié)點超度分布p(k)為超度k的節(jié)點占整個網(wǎng)絡(luò)的比例,即:
同時可以計算出超網(wǎng)絡(luò)中所有節(jié)點的超度的平均值,即平均超度為:
其中:Nk表示為超度為k的節(jié)點個數(shù)。
定義7 平均路徑長度[27]。復(fù)雜網(wǎng)絡(luò)的平均路徑長度L為任意兩個節(jié)點距離的平均值。在超網(wǎng)絡(luò)中,超網(wǎng)絡(luò)中的平均路徑長度的定義為任意兩個超邊的距離的平均值。在超網(wǎng)絡(luò)中,超邊對應(yīng)于投影網(wǎng)絡(luò)中的節(jié)點,超邊中的公共節(jié)點對應(yīng)于投影網(wǎng)絡(luò)中的連邊,兩條超邊的距離對應(yīng)于投影網(wǎng)絡(luò)的距離。
定義8 集聚系數(shù)[28]。集聚系數(shù)是描述網(wǎng)絡(luò)中節(jié)點集聚程度的參數(shù)。節(jié)點的集聚系數(shù)定義為它的相鄰節(jié)點之間的連接數(shù)與它們可能存在的連邊數(shù)之比。網(wǎng)絡(luò)中度為ki的節(jié)點i的集聚系數(shù)Ci定義為:
其中,Ei是節(jié)點i的ki個節(jié)點之間實際存在的邊數(shù),即節(jié)點i的ki個鄰接節(jié)點之間實際存在的邊數(shù)。一個網(wǎng)絡(luò)的集聚系數(shù)C定義為網(wǎng)絡(luò)中所有節(jié)點的聚類系數(shù)的平均值:
超網(wǎng)絡(luò)的集聚系數(shù)表示一條超邊與其他超邊的重疊程度。在超網(wǎng)絡(luò)中,超邊對應(yīng)投影網(wǎng)絡(luò)的節(jié)點,超邊之間的公共節(jié)點對應(yīng)于投影網(wǎng)絡(luò)中的連邊。因此,計算超網(wǎng)絡(luò)的集聚系數(shù)可以轉(zhuǎn)化為計算投影網(wǎng)絡(luò)的集聚系數(shù)。
對于古漢語,尤其詩詞的分詞處理并不簡單,古漢語微言大義,字字千鈞。此外,現(xiàn)有的分詞系統(tǒng)是基于現(xiàn)代文本語料進行訓(xùn)練而得,不能直接用于對古詩詞進行分詞,且目前沒有很好的古詩詞分詞解決方案,因此,筆者通過將詩詞逐字切分的方式,將每一個漢字視為超網(wǎng)絡(luò)中的節(jié)點。
本文采用的唐詩語料為清朝康熙年間曹寅主持編修的《全唐詩》,采用的宋詞語料為從http://www.zqshu.com網(wǎng)址上下載的《全宋詞》。在構(gòu)建唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)時,首先將唐詩語料和宋詞語料進行了清洗,去除了《全唐詩》和《全宋詞》有缺失的詩詞或僅有殘句的詩詞,將唐詩語料中出現(xiàn)的每個漢字作為節(jié)點,唐詩語料中每一首唐詩作為超網(wǎng)絡(luò)中的每一個超邊。如果第i個漢字出現(xiàn)在了第j首詩中,那么超邊j就包含節(jié)點i。對41 281首唐詩和18 841首宋詞分別構(gòu)建了超網(wǎng)絡(luò)關(guān)聯(lián)矩陣。
在唐詩語料中,將文本中7 460個漢字作為節(jié)點,41 281首唐詩作為超邊構(gòu)建唐詩超網(wǎng)絡(luò)。同樣,在宋詞語料中,每首詞做一條超邊,詞中出現(xiàn)的5741漢字作為節(jié)點構(gòu)建宋詞超網(wǎng)絡(luò)。于是就構(gòu)建了5 741個節(jié)點和18 860條超邊的宋詞超網(wǎng)絡(luò)。
本節(jié)對本文中超網(wǎng)絡(luò)模型構(gòu)建方法、超網(wǎng)絡(luò)超度和超度分布給出了算法流程和算法偽代碼,由于宋詞超網(wǎng)絡(luò)與唐詩超網(wǎng)絡(luò)構(gòu)建方法相同,本文僅給出唐詩超網(wǎng)絡(luò)構(gòu)建方法。
構(gòu)建唐詩超網(wǎng)絡(luò)關(guān)聯(lián)矩陣的算法偽代碼如下:
輸入:唐詩字詞語料庫C;
輸出:唐詩超網(wǎng)絡(luò)關(guān)聯(lián)矩陣A。
Begin:
1)k=getlength(C1);
/*設(shè)置C,每行一首唐詩或宋詞,詩設(shè)為C1*/
2)i=0;
/*構(gòu)建字詞典*/
3)whilei 4)list(i)=getword(k); /*每首詩的單個字存于一個數(shù)組中*/ 5)for(j=0j 6) if(worddic.contain(list(i).get(j))) 7) worddic.put(list(i).get(j)); 8) end if 9)end for 10)i=i+1; 11)end while /*開始構(gòu)建關(guān)聯(lián)矩陣A*/ 12)i=0; 13)whilei 14)list(i)=getword(k); /*將每首詩的漢字存于數(shù)組中*/ 15)for(k=0;k 16)for(p=0;p 20) if(worddic(k)==list(i).get(p))) 22)A(p,k)=1; 23) elseA(p,k)=0; 24) end if 25)end for 26)end for 27)end while 28)returnA; 在研究超網(wǎng)絡(luò)特性時,超度和超度分布是衡量超網(wǎng)絡(luò)特性的重要指標。節(jié)點超度反映了超網(wǎng)絡(luò)中節(jié)點的重要性,節(jié)點的超度越大,節(jié)點在網(wǎng)絡(luò)中的地位越高。在唐詩超網(wǎng)絡(luò)中,節(jié)點的超度表示該漢字單元在唐詩語料中所屬唐詩超邊的數(shù)目。此外,超邊節(jié)點度指超網(wǎng)絡(luò)中超邊所含節(jié)點個數(shù),即一首詩所含漢字個數(shù)或一首詞中所含漢字個數(shù),考慮超邊節(jié)點度,能很好反映超網(wǎng)絡(luò)超邊中節(jié)點規(guī)模。這不僅可以從總體上表現(xiàn)出唐代詩人宋代詞人的作品長度,而且能反映出每首詩詞中的句數(shù)、字數(shù)特征。超邊節(jié)點度分布則體現(xiàn)了超邊的分布規(guī)律。 算法1 生成超度算法。 輸入:關(guān)聯(lián)矩陣A; 輸出:超度關(guān)聯(lián)矩陣P。 Begin: 1)A=AT; 2)P=zero(1,size(A;1)); 3)for(i=0;i 4)num=0; 5)for(j=0;j 6) {if(A(i,j)!=0) 7)num++; 8) end if} 9)end for 10)end for 11)returnP; 算法2 生成超度分布算法。 輸入:超度矩陣P; 輸出:超度分布矩陣Q。 Begin: 1)Map 2)for(i=0;i 3) {if(map.contain(P(i)) 4)map.set(P(i),map.get(P(i)+1)); 5) else 6)map.put(P(i),1); 7) end if 8)end for} 9)Q=zeros(2,map.size()); /*初始化漢字矩陣*/ 10)m=0;n=0; 11)for(Integerkey:map.keyset()) 12)Q(1,m++)=key; 13)end for 14)for(Integervalue:map.value()) 15)Q(2,n++)=value; 16)end for 17)returnQ; 超度是研究復(fù)雜超網(wǎng)絡(luò)特性重要指標之一,它指節(jié)點所在不同超邊數(shù)目。節(jié)點超度在唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)中的意義分別是,每個漢字所在不同唐詩數(shù)目和每個漢字所在不同宋詞數(shù)目。 超度的大小不僅能夠反映出節(jié)點在超網(wǎng)絡(luò)的核心程度,而且能反映出該節(jié)點在整個超網(wǎng)絡(luò)中的地位。由式(3)得到了超網(wǎng)絡(luò)節(jié)點的超度,由于篇幅有限,表1只給出了排名前20的節(jié)點超度。 表1 唐詩宋詞超網(wǎng)絡(luò)節(jié)點超度前20名Tab.1 Top 20 of hyperdegreesof nodes in Tang poem and Song lyric networks 由表1可知,唐詩超網(wǎng)絡(luò)中超度最大值達到了驚人的26 616,即便是排名第20名的超度也達到了9 805,這說明在唐詩超網(wǎng)絡(luò)中,超度排名靠前的大度節(jié)點超度值較大,其節(jié)點在超網(wǎng)絡(luò)中占有核心的位置,能夠推測其節(jié)點的重要程度高。 圖2(a)和(b)是唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)中排名前20的超度所對應(yīng)的漢字節(jié)點,“人”“山”“花”“月”等漢字節(jié)點為超網(wǎng)絡(luò)中超度較大節(jié)點。這與詩人和詞人用詞、用字是一致的,不僅融合了詩人和詞人主體情感和物象表達的傾向,更體現(xiàn)了詩人詞人所在時代的作品風(fēng)格。例如在唐朝,孟郊登科后寫道:“春風(fēng)得意馬蹄疾,一日看盡長安花”;杜甫的“曉看紅濕處,花重錦官城”的喜悅詩句,是詩人看到春雨潤物后頓生的歡呼雀躍;李白的“花間一壺酒,獨酌無相親”,則寫透了詩人在理想與現(xiàn)實之間的掙扎沉浮的孤獨。宋詞中“春花秋月何時了?往事知多少。”抒發(fā)了南唐后主李煜身居囚室,亡國后頓感生命落空的悲哀;“起舞弄清影,何似在人間?”則是蘇軾中秋望月懷人對胞弟蘇轍的無限思念。 圖2 唐詩宋詞超網(wǎng)絡(luò)中超度前20名對應(yīng)的漢字Fig.2 Characters with top 20 hyperdegrees in Tang poem and Song lyric hypernetworks 得到了唐詩宋詞超網(wǎng)絡(luò)中排名前20名的超度以后,計算超網(wǎng)絡(luò)中所有節(jié)點的平均超度,得到唐詩超網(wǎng)絡(luò)中所有節(jié)點超度的平均值為354,宋詞超網(wǎng)絡(luò)中所有節(jié)點的平均值為229,這表明在唐詩宋詞超網(wǎng)絡(luò)中,平均而言,唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)一個節(jié)點分別能跟354和229個超邊鄰接,這比一般科研超網(wǎng)絡(luò)、公交超網(wǎng)絡(luò)等超網(wǎng)絡(luò)稠密,說明唐詩宋詞超網(wǎng)絡(luò)超邊重疊度較高。 確定了超網(wǎng)絡(luò)中各個節(jié)點的超度之后,可進一步得到超網(wǎng)絡(luò)的一些性質(zhì)。可以把超網(wǎng)絡(luò)中節(jié)點的超度按從小到大排序,從而統(tǒng)計得到超度為k的節(jié)點占整個網(wǎng)絡(luò)節(jié)點數(shù)的比例p(k)。從概率統(tǒng)計角度看,p(k)可以視為從網(wǎng)絡(luò)中隨機選擇節(jié)點的超度為k的概率,這就是超度分布的概念。從表2所示的超度分布前20名的超度可看出:超度越小的節(jié)點在超網(wǎng)絡(luò)中所占的比例越大,且隨著超度k的增大,該超度值的節(jié)點在網(wǎng)絡(luò)中所占比例的下降趨勢較為明顯。 表2 唐詩宋詞超網(wǎng)絡(luò)超度分布排名前20名Tab.2 Top 20 of hyperdegree distribution of Tang poem and Song lyric hypernetworks 本文對唐詩超網(wǎng)絡(luò)的總共7 460個節(jié)點的超度進行了統(tǒng)計分析,超度為1的節(jié)點有驚人的962個,超度分布為12.90%,遠遠多于排名靠前的大度節(jié)點,統(tǒng)計發(fā)現(xiàn),超度小的節(jié)點在網(wǎng)絡(luò)中所占比例大,超度較大的節(jié)點在超網(wǎng)絡(luò)中所占比例小。圖3為唐詩超網(wǎng)絡(luò)中所有節(jié)點超度分布圖像,圖像呈現(xiàn)明顯的長尾分布,這意味著超網(wǎng)絡(luò)中大部分節(jié)點取值較小,少部分節(jié)點取值較大。圖3(b)是取雙對數(shù)坐標后的超度概率分布圖像,圖像中近似有一條直線,可以推斷唐詩宋詞的超度數(shù)據(jù)近似符合冪律分布。 圖3 唐詩超網(wǎng)絡(luò)超度分布Fig.3 Hyperdegree distribution of Tang poem hypernetwork 對于存在常數(shù)C和冪指數(shù)為λ的冪律分布公式:P(k)=Ck-γ,對上式兩邊取雙對數(shù),從而有:lnP(k)=lnk-γlnk,即lnP(k)是lnk的線性函數(shù),其中斜率為-γ,截距為lnC。通過線性擬合,得到唐詩超網(wǎng)絡(luò)超度分布線性方程為:y=-1.84-0.61*x,表明了唐詩超網(wǎng)絡(luò)的無標度特性。 同樣地,本文圖4(a)和(b)為宋詞超網(wǎng)絡(luò)超度分布圖像,其中圖4(a)的超度分布呈現(xiàn)長尾分布,取雙對數(shù)坐標后,超度分布表現(xiàn)為冪律分布。線性擬合得到的宋詞超網(wǎng)絡(luò)超度分布線性方程為:y=-1.67-0.66*x,同樣表明宋詞超網(wǎng)絡(luò)呈現(xiàn)無標度特性。 圖4 宋詞超網(wǎng)絡(luò)超度分布Fig.4 Hyperdegree distribution of Song lyric hypernetwork 以上實驗的超網(wǎng)絡(luò)拓撲指標和統(tǒng)計指標表明,在唐代詩歌中,只有很少的漢字被詩人使用,而絕大多數(shù)漢字很少被使用。實際上這種漢語的特點,不僅僅體現(xiàn)在現(xiàn)代漢語文學(xué)作品中,而且表現(xiàn)在唐詩宋詞的文本作品中。 表3為唐詩宋詞超網(wǎng)絡(luò)中超邊節(jié)點度分布排名前10名的超邊。通過計算,唐詩超網(wǎng)絡(luò)中超邊節(jié)點度為40的超邊11 590個,概率分布為28.08%;超邊節(jié)點度為28的超邊有6 770個,概率分布為16.40%;超邊節(jié)點度為56的超邊有6 743個,概率分布為16.33%;平均超邊節(jié)點度為65;最大超邊節(jié)點度為13 210。唐詩超網(wǎng)絡(luò)的最大超邊節(jié)點度對應(yīng)詩為寒山的《詩三百三首》,全詩共13 210個漢子,1 306句。最小超邊節(jié)點度為3,其對應(yīng)詩為《桂管童謠》,全詩共3個字。表3實驗中的唐詩超網(wǎng)絡(luò)超邊節(jié)點度反映了唐朝每首中漢字數(shù)量,這就使定量發(fā)現(xiàn)了五言絕句、七言絕句、五言律詩、七言律詩等為唐代主流詩歌的體裁形式。 表3 唐詩宋詞超網(wǎng)絡(luò)超邊節(jié)點度分布前10名Tab.3 Top 10 of hyperedgenode degree distribution of Tang poems and Song lyrics 在宋詞超網(wǎng)絡(luò)中,超邊節(jié)點度為44的超邊有1 363個,概率分布為7.23%;超邊節(jié)點度為56的超邊有973個,概率分布為5.16%;超邊節(jié)點度為60的超邊有850個,概率分布為4.51%;平均超邊節(jié)點度為70;超邊節(jié)點度最大超邊所含節(jié)點1 464個,其對應(yīng)作品為史浩的《采蓮舞》;超邊節(jié)點度最小超邊所含節(jié)點8個,其作品名為《失調(diào)名》。宋代詞作品中,58字以內(nèi)為小令,59至90字為中調(diào),91字以外為長調(diào)。從超邊節(jié)點度分布來看,宋詞超網(wǎng)絡(luò)超邊節(jié)點度分布很好地表現(xiàn)了宋朝詞人作品體裁,即小令中菩薩蠻、卜算子、采桑子等44字詞牌,鵲橋仙、虞美人、南鄉(xiāng)子等56字詞牌,蝶戀花、一剪梅等60字詞牌為詞人主流填詞詞牌。 圖5(a)和(b)進一步顯示了唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)超邊節(jié)點度的分布情況,由圖像可知,超網(wǎng)絡(luò)的超邊節(jié)點度分布明顯,從語料庫整體上表現(xiàn)出唐詩宋詞中每首詩詞中的字數(shù),一般來說,唐詩和宋詞語料中作品長度不會過長,但是也不乏少部分作品的規(guī)模較大,長度較長。 圖5 唐詩宋詞超網(wǎng)絡(luò)超邊節(jié)點度分布Fig.5 Hyperedge node degree distribution of Tang poem and Song lyric hypernetworks 本文最后對我國古代偉大的詩人詞人作品集(李白詩全集、杜甫詩全集、蘇軾詩詞全集、辛棄疾詩詞全集)作為實驗數(shù)據(jù)集,分別構(gòu)建超網(wǎng)絡(luò)并計算相關(guān)網(wǎng)絡(luò)參數(shù),其結(jié)果如表4所示。節(jié)點數(shù)|V|、超邊數(shù)|E|分別代表詩人詩詞創(chuàng)作的漢字使用情況和作品數(shù)量數(shù)目。如果兩個漢字同時出現(xiàn)在一個超邊中,這時認為這兩個漢字是有連邊的,通過這種方式,將超網(wǎng)絡(luò)轉(zhuǎn)化為普通的復(fù)雜網(wǎng)絡(luò),進而計算了網(wǎng)絡(luò)的平均路徑長度和集聚系數(shù),平均路徑長度和集聚系數(shù)能夠很好地說明網(wǎng)絡(luò)的稠密程度。 由表4可知,蘇軾的詩詞作品最多有3 531首,同時他的用字也最豐富,全部詩詞集中共出現(xiàn)了5 336個漢字;辛棄疾的詞作品最少有612首,詞集中出現(xiàn)的漢字也是最少的,有2 822個漢字。另外,看到在四位詩人數(shù)據(jù)集上的網(wǎng)絡(luò)平均路徑長度接近于1,聚類系數(shù)接近于1,即有較小的平均路徑長度和較大的聚類系數(shù)。這意味著平均而言,四位名家作品集超網(wǎng)絡(luò)所對應(yīng)的投影網(wǎng)絡(luò)極為稠密,這說明此網(wǎng)絡(luò)中的節(jié)點近似于全連接網(wǎng)絡(luò),這是小世界效應(yīng)的典型代表。這一定程度上體現(xiàn)了詩歌間漢字的同現(xiàn)性。也說明從詩歌的用字角度考慮,像李白和蘇軾這樣偉大的文學(xué)家,也是只有少數(shù)的字被使用,而絕大多數(shù)的字未被使用,側(cè)面反映了他們的詩歌更多地瞄準幾個主題進行創(chuàng)作。 表4 唐詩超網(wǎng)絡(luò)與宋詞超網(wǎng)絡(luò)參數(shù)比較Tab.4 Comparison of parameters of Tang poem and Song lyric hypernetworks 本文以唐詩宋詞為研究對象,分別將一首詩或一首詞定義為超邊,將唐詩和宋詞中出現(xiàn)的漢字定義為節(jié)點,建立了唐詩關(guān)聯(lián)矩陣和宋詞關(guān)聯(lián)矩陣,構(gòu)建了唐詩超網(wǎng)絡(luò)和宋詞超網(wǎng)絡(luò)。該文列出幾個關(guān)鍵的算法——超網(wǎng)絡(luò)關(guān)聯(lián)矩陣構(gòu)建算法、生成超度算法和生成超度分布算法。其次,實驗中給出了超網(wǎng)絡(luò)中重要的節(jié)點超度,并發(fā)現(xiàn)唐詩宋詞超網(wǎng)絡(luò)中的節(jié)點超度分布具有無標度特性;研究還發(fā)現(xiàn)唐詩宋詞的超邊節(jié)點度具有明顯的分布特性,唐詩超網(wǎng)絡(luò)的超邊節(jié)點度大多分布在20~100,宋詞超網(wǎng)絡(luò)超邊節(jié)點度大多分布在30~130。定量反映了以絕句、五律、七律等體裁的作品在唐詩語料中占有主體地位;宋詞中以小調(diào)中菩薩蠻、卜算子等44字詞牌,鵲橋仙、虞美人等56字詞牌,蝶戀花、一剪梅等60字詞牌為詞人喜歡的主流填詞詞牌。最后,對我國古代四位偉大詩人、詞人的詩詞作品構(gòu)建超網(wǎng)絡(luò),發(fā)現(xiàn)了其中的小世界特性。后續(xù)工作可以考慮根據(jù)唐詩宋詞構(gòu)建的超網(wǎng)絡(luò),對不同參數(shù)來定量分析詩歌的情感分類問題,比如不同情感的詩歌他們的關(guān)鍵節(jié)點超度分布如何;也可以從時間序列角度探究唐詩宋詞超網(wǎng)絡(luò)演化特征與整個唐宋朝代興衰關(guān)系的規(guī)律。2.2 唐詩宋詞超網(wǎng)絡(luò)分析方法
3 實驗與結(jié)果分析
3.1 超度與超度分布
3.2 超邊節(jié)點度與超邊節(jié)點度分布
3.3 平均路徑長度和集聚系數(shù)
4 結(jié)語