0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從文本(數(shù)據(jù))挖掘的角度去“探索”全唐詩(shī)

悟空智能科技 ? 來(lái)源:lq ? 2019-02-20 14:23 ? 次閱讀

近些年來(lái),弘揚(yáng)中華傳統(tǒng)文化的現(xiàn)象級(jí)綜藝節(jié)目不斷涌現(xiàn),如《中國(guó)漢字聽(tīng)寫(xiě)大會(huì)》、《中國(guó)成語(yǔ)大會(huì)》、《中國(guó)謎語(yǔ)大會(huì)》、《中國(guó)詩(shī)詞大會(huì)》等,其背后的社會(huì)成因,在于人們對(duì)中國(guó)文化中最精致文字的膜拜心理,雖然浸淫于層出不窮的網(wǎng)絡(luò)語(yǔ)匯,時(shí)時(shí)面臨“語(yǔ)言荒漠”的窘境,仍心向往之。

上述節(jié)目中,筆者最感興趣的還是《中國(guó)詩(shī)詞大會(huì)》---通過(guò)對(duì)詩(shī)詞知識(shí)的比拼及賞析,帶動(dòng)全民重溫那些曾經(jīng)學(xué)過(guò)的古詩(shī)詞,分享詩(shī)詞之美,感受詩(shī)詞之趣,從古人的智慧和情懷中汲取營(yíng)養(yǎng),涵養(yǎng)心靈。

由于在新浪微輿情從事的是語(yǔ)義分析產(chǎn)品方面的工作,平時(shí)用到很多文本挖掘的方法。所以,筆者想從文本(數(shù)據(jù))挖掘的角度去“探索”全唐詩(shī),挑戰(zhàn)一些不同場(chǎng)景下(現(xiàn)代漢語(yǔ)和古漢語(yǔ))文本處理和分析的異同點(diǎn),錘煉自己的分析技能;但更想做的是,結(jié)合數(shù)據(jù)之美和詩(shī)歌之雅,用跨界思維去發(fā)現(xiàn)一些有趣的東西。

在這里,筆者分析的語(yǔ)料是《全唐詩(shī)》,它編校于清康熙四十四年(1705年),得詩(shī)四萬(wàn)八千九百余首。

接下來(lái),筆者將使用多種文本挖掘方法,來(lái)分析《全唐詩(shī)》。以下是本文的行文脈絡(luò):

0 文本預(yù)處理

對(duì)于現(xiàn)代漢語(yǔ)的分詞,開(kāi)源/免費(fèi)的解決方案或工具很多,開(kāi)源的解決方案如Jieba、HanLp、StanfordNLP和IKAnalyzer等,“傻瓜式”的免費(fèi)操作工具的也有新浪微輿情的文本挖掘工具,如果直接采用這些現(xiàn)代漢語(yǔ)分詞工具對(duì)古詩(shī)詞進(jìn)行分詞,結(jié)果會(huì)是這樣的:

然而,對(duì)于古漢語(yǔ)(文言文),尤其是詩(shī)詞的分詞處理可沒(méi)有這么簡(jiǎn)單,因?yàn)閱巫衷~占古漢語(yǔ)詞匯統(tǒng)計(jì)信息的80%以上,再加上古漢語(yǔ)微言大義,字字千鈞,所以針對(duì)現(xiàn)代漢語(yǔ)的分詞技術(shù)往往不適用于它。鑒于此種情況,筆者采取的是逐字切分的處理方式,同時(shí)去掉一些常見(jiàn)的虛詞,如“之”、“乎”、“者”、“也”。分詞和去停用詞處理如下所示:

經(jīng)過(guò)文本預(yù)處理后,就可以進(jìn)行文本挖掘中最常規(guī)的分析---字頻統(tǒng)計(jì),看看《全唐詩(shī)》中出現(xiàn)最多的字有哪些。

一、 字頻分析:唐詩(shī)常用高頻字分析

1.1

全局高頻字

首先,讓我們來(lái)看看去掉這些虛詞之后的全局高頻字有哪些,筆者這里展示的是TOP148?!叭恕弊峙判械谝?,這體現(xiàn)了《說(shuō)文解字》里所講的“人,天地之性最貴者也”,說(shuō)明唐詩(shī)很好的秉承了“以人為本”的中華文化。而后續(xù)的“山”、“風(fēng)”、“月”、“日”、“天”、“云”、“春”等都是在寫(xiě)景的詩(shī)句里經(jīng)常出現(xiàn)的意象。

1.2

典型意象分析

所謂“意象”,就是客觀物象經(jīng)過(guò)創(chuàng)作主體獨(dú)特的情感活動(dòng)而創(chuàng)造出來(lái)的一種藝術(shù)形象。簡(jiǎn)單地說(shuō),意象就是寓“意”之“象”,就是用來(lái)寄托主觀情思的客觀物象。在比較文學(xué)中,意象的名詞解釋是---所謂“意象”簡(jiǎn)單說(shuō)來(lái),可以說(shuō)就是主觀的“意”和客觀的“象”的結(jié)合,也就是融入詩(shī)人思想感情的“物象”,是賦有某種特殊含義和文學(xué)意味的具體形象。簡(jiǎn)單地說(shuō)就是借物抒情。

比如,“月”這個(gè)古詩(shī)詞里常見(jiàn)的意象,就有如下內(nèi)涵:

表達(dá)思鄉(xiāng)、思親念友之情,暗寓羈旅情懷,寂寞孤獨(dú)之感;

歷史的見(jiàn)證今昔滄桑感;

冷寂、凄清的感覺(jué);

清新感。

筆者在這里挑選的意象是關(guān)于季節(jié)和顏色的。

物轉(zhuǎn)星移幾度秋---《全唐詩(shī)》中的季節(jié)

統(tǒng)計(jì)“春”、“夏/暑”、“秋”、“冬”這4個(gè)字在《全唐詩(shī)》中出現(xiàn)的頻次,“春”字排行榜首,“秋”字列第2位,“夏”和“冬”出現(xiàn)的頻次則要少1個(gè)量級(jí),在唐詩(shī)里,傷春、惜春是常見(jiàn)的春詩(shī)題材,代表性的作品有朱淑真《賞春》、杜甫《麗春》、韓愈《春雪》、張若虛《春江花月夜》等。也難怪,在商代和西周前期,一年只分為春秋二時(shí),后世也常以春秋作為一年的代稱(chēng),約定俗成,由來(lái)已久,這兩個(gè)字的使用頻率很高也就不足為奇了。

萬(wàn)紫千紅一片綠---《全唐詩(shī)》中的色彩

筆者在這里找了51個(gè)古語(yǔ)中常用的顏色的單字(注意是古漢語(yǔ)語(yǔ)境中的顏色稱(chēng)謂),其中以紅色系(紅、丹、朱、赤、絳等)、黑色系(暗、玄、烏、冥、墨等)、綠色系(綠、碧、翠、蒼等)及白色系(白、素、皎、皓等)為主,這些顏色及其對(duì)應(yīng)的字頻如下表所示:

這里面“白”字的字頻最高,本意是“日出與日落之間的天色”,筆者常見(jiàn)的有“白發(fā)”、“白云”、“白雪”,常渲染出一種韶華易逝、悲涼的氣氛,名句如“白頭搔更短,渾欲不勝簪”、“白雪卻嫌春色晚,故穿庭樹(shù)作飛花”、“君不見(jiàn),高堂明鏡悲白發(fā),朝如青絲暮成雪”、“白云一片去悠悠,青楓浦上不勝愁”。

將上述主要的色系綜合統(tǒng)計(jì)一下,得到下面的環(huán)形占比圖:

其中,綠色系的占比居多,“綠”“碧”“蒼”“翠”等大都用于寫(xiě)景,“綠樹(shù)”、“碧水”、“蒼松”、“翠柳”等,這些高頻字從側(cè)面反映出全唐詩(shī)中描寫(xiě)景物、寄情山水的詩(shī)句占比很大,透露出平靜、清新和閑適之感。

二、 詞匯探測(cè):唐詩(shī)中的常用雙字詞發(fā)現(xiàn)

剛才筆者分析的是單字,而漢語(yǔ)的語(yǔ)素大都是由單音節(jié)(字)表示,即所謂的“一音一義”。當(dāng)這些單音節(jié)語(yǔ)素,能夠獨(dú)立應(yīng)用的話(huà),就是詞。古漢語(yǔ)中存在著許多單音節(jié)詞,這也就是文言文翻譯中要經(jīng)常把一個(gè)字翻譯成現(xiàn)代漢語(yǔ)中的雙音節(jié)詞的原因。

然而,有些單音節(jié)語(yǔ)素,不能夠獨(dú)立使用,就不是詞,只能夠是語(yǔ)素,如“第-“、”躊-“、”- 們“。

鑒于此,筆者想發(fā)現(xiàn)一些唐詩(shī)中的常用雙字詞,看看其中的成詞規(guī)律是怎樣的。筆者在這里選取共現(xiàn)次數(shù)超過(guò)10次的詞匯,并列出TOP200的共現(xiàn)雙字詞。關(guān)鍵操作步驟如下所示:

以下是TOP200的共現(xiàn)雙字詞:

從上面的雙詞探測(cè)結(jié)果中,筆者可以發(fā)現(xiàn)如下6類(lèi)成詞規(guī)律:

(1)復(fù)合式(A+B等于C):由兩個(gè)字組成,這兩個(gè)字分別代表意義,組成雙音節(jié)的詞,這類(lèi)詞出現(xiàn)的頻次最多。比如,弟兄、砧杵、紀(jì)綱、捐軀、巡狩、犬吠。

(2)重疊式(AA等于A):瑯瑯、肅肅、忻忻、灼灼。

(3)疊音(AA不等于A):瑯瑯(單獨(dú)拆開(kāi)不能組其他詞)、的的(拆開(kāi)后的單字的詞義不同)等。

(4)雙聲(聲母相同):躊躇(聲母都是c,分開(kāi)各自無(wú)法組詞)、參差(聲母都是c)、緬邈(聲母都是m)。

(5)疊韻(韻母相同):噫嘻(韻母是i)、繚繞(韻母是ao)、妖嬈(韻母是ao)等。

(6)雙音節(jié)擬聲詞:歔欷、咿啞等。

三、語(yǔ)義網(wǎng)絡(luò)分析:發(fā)現(xiàn)唐詩(shī)中的常用“字眼”

在這一部分,筆者抽取的是上述高頻字TOP148中的字的共現(xiàn)關(guān)系,詳細(xì)的原理介紹請(qǐng)參考筆者之前所寫(xiě)的博文《以虎嗅網(wǎng)4W+文章的文本挖掘?yàn)槔?,展現(xiàn)數(shù)據(jù)分析的一整套流程》、《以<大秦帝國(guó)之崛起>為例,來(lái)談大數(shù)據(jù)輿情分析和文本挖掘》。

可以看到,上述的語(yǔ)義網(wǎng)絡(luò)可以分為3個(gè)簇群,即橙系、紫系和綠系,TOP148高頻字中,字體清晰可見(jiàn)字的近40個(gè)。圓圈的大小表示該字在語(yǔ)義網(wǎng)絡(luò)中的影響力大小,也就是“Betweenness Centrality(中介核心性),”學(xué)術(shù)的說(shuō)法是“兩個(gè)非鄰接的成員間的相互作用依賴(lài)于網(wǎng)絡(luò)中的其他成員,特別是位于兩成員之間路徑上的那些成員,他們對(duì)這兩個(gè)非鄰接成員的相互作用具有某種控制和制約作用”。在詩(shī)句中,這些字常以“字眼”的形式呈現(xiàn),也就是詩(shī)文中精要的字。3類(lèi)中:

橙系:北、流、馬、草、閑、孤、逢、云等;

紫系:游、樹(shù)、雨、回、笑、言、幽、清、白、野、行等

綠系:知、金、柳、難、愁、舊、仙、望、客。

其中,根據(jù)字的構(gòu)成來(lái)看,綠系簇群中的字大多跟送別(好友)有關(guān)。

四、 字向量分析:基于的Word2vec的關(guān)聯(lián)字分析

因?yàn)橹暗奈谋绢A(yù)處理是按字來(lái)切分的,所以這里進(jìn)行的是基于Word2vec的字向量分析。

基于Word2vec的字向量能從大量未標(biāo)注的普通文本數(shù)據(jù)中無(wú)監(jiān)督地學(xué)習(xí)到字向量,而且這些字向量包含了字與字之間的語(yǔ)義關(guān)系,正如現(xiàn)實(shí)世界中的“物以類(lèi)聚,類(lèi)以群分”一樣,字可以由它們身邊的字來(lái)定義。

從原理上講,基于字嵌入的Word2vec是指把一個(gè)維數(shù)為所有字的數(shù)量的高維空間嵌入到一個(gè)維數(shù)低得多的連續(xù)向量空間中,每個(gè)單字被映射為實(shí)數(shù)域上的向量。把每個(gè)單字變成一個(gè)向量,目的還是為了方便計(jì)算,比如“求單字A的同義字”,就可以通過(guò)“求與單字A在cos距離下最相似的向量”來(lái)做到。相關(guān)案例可參看《作為一個(gè)合格的“增長(zhǎng)黑客”,你還得重視外部數(shù)據(jù)的分析!》。下面是基于Word2vec的字向量模型原理示意圖。

下面,筆者選取一些單字進(jìn)行字向量關(guān)聯(lián)分析,展示如下:

與“梅”相關(guān)的字,大致分為兩類(lèi):同屬植物,如醾、杏、梨、桃、榴、楊、柳、楝等;和“梅”相關(guān)的意象,如春(梅)、酴(酒)、(梅)花、(梅)枝、殘(梅)、(梅)梢等。最相關(guān)的是“春”,吟詠春梅,在唐詩(shī)中極為常見(jiàn),賢相宋璟在東川官舍見(jiàn)梅花怒放于榛莽中,歸而有感,作《梅花賦》,其中,"獨(dú)步早春,自全其天",贊賞梅花在早春中一枝獨(dú)秀,自己安于凌寒而開(kāi)的天命。

“靜”字則跟它的同音字“凈(連帶繁體,一共出現(xiàn)三次,即“凈”、“淨(jìng)”和“凈”)”的相關(guān)度最大,結(jié)合“坐”、“院”“梵”等字,可聯(lián)想到“凈院”(佛寺,亦稱(chēng)“凈宇”)、凈覺(jué)(謂心無(wú)妄念,對(duì)境不迷),這也說(shuō)明,在唐詩(shī)里最能體現(xiàn)靜的,還是在寺廟里參禪,感悟佛法。

筆者還想看看唐詩(shī)里經(jīng)常出現(xiàn)的情緒,即“悲”、“憂(yōu)”、“愁”、“怒”、“懼”,看看它們的相關(guān)字有哪些。這里就請(qǐng)讀者自行分析,筆者不做贅述。

注意,在這里得到的情緒相關(guān)字,筆者將收集整理它們,制成情緒詞典,用于后面的詩(shī)詞情緒分類(lèi)。

五、 多維情緒分析:發(fā)現(xiàn)唐詩(shī)中的“七情”

王國(guó)維在《人間詞話(huà)》里曾提到:“境非獨(dú)謂景物也,喜怒哀樂(lè),亦人心中之一境界。故能寫(xiě)真景物、真感情者,謂之有境界…”,講的是"境"與"境界"通用---寫(xiě)景亦可成境界,言情亦可成境界,因?yàn)榫拔锸峭庠诘氖澜?,情感是?nèi)在的世界。所以,在這里,筆者想分析一下全唐詩(shī)中詩(shī)詞所表達(dá)出來(lái)的內(nèi)在境界,也就是內(nèi)在情感,為了豐富分析維度,不采用簡(jiǎn)單的二元分析,即“積極”和“消極”2種情緒,而是7種細(xì)顆粒的情緒分類(lèi),即悲、懼、樂(lè)、怒、思、喜、憂(yōu)。

根據(jù)上面獲取到的字向量,經(jīng)過(guò)人工遴選后,得到可以用于訓(xùn)練的“情緒字典”,根據(jù)詩(shī)歌中常見(jiàn)的主題類(lèi)別,情緒類(lèi)別分為:

悲:愁、慟、痛、寡、哀、傷、嗟…

懼:讒、謗、患、罪、詐、懼、誣…

樂(lè):悅、欣、樂(lè)、怡、洽、暢、愉…

怒:怒、雷、吼、霆、霹、猛、轟…

思:思、憶、懷、恨、吟、逢、期…

喜:喜、健、倩、賀、好、良、善…

憂(yōu):恤、憂(yōu)、痾、慮、艱、遑、厄…

筆者在這里采用的是基于LSTM(LongShort-Term Memory,長(zhǎng)短期記憶網(wǎng)絡(luò))的情緒分析模型。

在這里,我們會(huì)將文本傳遞給嵌入層(Embedding Layer),因?yàn)橛袛?shù)以萬(wàn)計(jì)的字詞,所以我們需要比單編碼向量(One-Hot Encoded Vectors)更有效的表示來(lái)輸入數(shù)據(jù)。這里,筆者將使用上面訓(xùn)練得到的Word2vec字向量模型,用預(yù)先訓(xùn)練的詞嵌入(Word Embedding)來(lái)引入的外部語(yǔ)義信息,做遷移學(xué)習(xí)(Transfer Learning)。

以下是簡(jiǎn)要原理展示圖:

為了取得更好的效果,筆者采用最新的NestedLSTM+Conv1D的深度學(xué)習(xí)模型來(lái)做情緒判斷,它能較好的提煉文本里的特征和語(yǔ)序信息,記住更長(zhǎng)的語(yǔ)義依賴(lài)關(guān)系,做出較為精確的情緒判斷。其網(wǎng)絡(luò)結(jié)構(gòu)如下所示:

接著,來(lái)試試實(shí)際的效果:

筆者隨機(jī)測(cè)試了100句,判斷準(zhǔn)確的有86條,粗略的準(zhǔn)確率估計(jì)是86%。當(dāng)然,這只是一次不太嚴(yán)謹(jǐn)?shù)男L試,在真實(shí)的業(yè)務(wù)場(chǎng)景里,這得花很多時(shí)間來(lái)做優(yōu)化,提高模型的準(zhǔn)確率。

下面是對(duì)《全唐詩(shī)》近5萬(wàn)首詩(shī)的情緒分析結(jié)果,展示如下:

可能出乎很多人的意料,代表大唐氣象的唐詩(shī)應(yīng)該以積極昂揚(yáng)的情緒為主,怎么會(huì)是“悲”、“思”、“憂(yōu)”這樣的情緒占據(jù)主流呢?而“喜”、“樂(lè)”這樣的情緒卻占據(jù)末流呢?

接下來(lái),筆者著重來(lái)分析下“悲”這個(gè)情緒占據(jù)主流的原因。

從常見(jiàn)的唐詩(shī)寫(xiě)作題材上說(shuō),帶有“悲”字基調(diào)的唐詩(shī)較多,也多出名詩(shī)佳句,比如唐詩(shī)中常見(jiàn)的幾種情結(jié),如”悲秋情結(jié)“、”別離情結(jié)“、”薄暮情結(jié)“和”悲怨情結(jié)“,都體現(xiàn)出濃重的“悲情”色彩。

古人云:“悲憤出詩(shī)人”,它點(diǎn)破了人的成就與所處的環(huán)境、心境有某種關(guān)系。就像司馬遷所說(shuō):“夫《詩(shī)》、《書(shū)》隱約者,欲遂其志之思也。昔西伯拘羑里,演《周易》;孔子厄陳、蔡,作《春秋》…大抵賢圣發(fā)憤之所為作也。此人皆意有所郁結(jié),不得通其道也…”回顧古今中外的著名的詩(shī)人和作家,幾乎無(wú)一不是曾有一段被排擠,誹謗,不得志和身處逆境之經(jīng)歷,有些甚至還很悲慘。正是在這種悲難,惡劣環(huán)境中,才使得其奮發(fā)圖強(qiáng)。

重要的是,唐詩(shī)中的“悲”不僅僅是做“兒女態(tài)”的悲,更是具有超越時(shí)空、憐憫蒼生以及同情至美愛(ài)情的大慈大悲。如下:

陳子昂的《登幽州臺(tái)歌》,“前不見(jiàn)古人,后不見(jiàn)來(lái)者。念天地之悠悠,獨(dú)愴然而涕下?!睆臅r(shí)間與空間兩個(gè)角度把悲涼拉長(zhǎng)了。

李白的《將進(jìn)酒》中“君不見(jiàn)明鏡高堂悲白發(fā),朝如青絲暮成雪”,以及《夢(mèng)游天姥吟留別》中“世間行樂(lè)亦如此,古來(lái)萬(wàn)事東流水”讓人唏噓!還有《長(zhǎng)相思》第一首中“天長(zhǎng)路遠(yuǎn)魂飛苦,夢(mèng)魂不到關(guān)山難。長(zhǎng)相思,摧心肝。”

杜甫的《登高》中“無(wú)邊落木蕭蕭下,不盡長(zhǎng)江滾滾來(lái)。萬(wàn)里悲秋常作客,百年多病獨(dú)登臺(tái)?!崩喜堒|,孤苦無(wú)依獨(dú)登臺(tái),心中悲涼陡然而生。《石壕吏》中“老嫗力雖衰,請(qǐng)從吏夜歸。急應(yīng)河陽(yáng)役,猶得備晨炊”等句語(yǔ)言樸實(shí),但極具張力!

白居易的《長(zhǎng)恨歌》末尾“七月七日長(zhǎng)生殿,夜半無(wú)人私語(yǔ)時(shí)。在天愿作比翼鳥(niǎo),在地愿為連理枝。天長(zhǎng)地久有時(shí)盡,此恨綿綿無(wú)絕期?!毕鄲?ài)而不能相聚,生死遺恨,沒(méi)有盡頭!

六、 詩(shī)歌生成:用深度循環(huán)神經(jīng)網(wǎng)絡(luò)自動(dòng)寫(xiě)唐詩(shī)

與上面情緒分析模型采用的內(nèi)部原理一致,這里采用的還是LSTM,2層網(wǎng)絡(luò)。

上圖是文本生成的簡(jiǎn)要原理圖,是基于字符(字母和標(biāo)點(diǎn)符號(hào)等單個(gè)字符串,以下統(tǒng)稱(chēng)為字符)進(jìn)行模型構(gòu)建,也就是說(shuō)我們的輸入和輸出都是字符。舉個(gè)栗子,假如我們有一個(gè)一句詩(shī)“胸中穩(wěn)處即吾鄉(xiāng)”,我們想要基于這句詩(shī)來(lái)構(gòu)建LSTM,那么希望的到的結(jié)果是,輸入“胸”,預(yù)測(cè)下一個(gè)字符為“中”;輸入“中”時(shí),預(yù)測(cè)下一個(gè)字符為“穩(wěn)”…輸入“吾”,預(yù)測(cè)下一個(gè)字符為“鄉(xiāng)”,等等。

由于其中的原理過(guò)于繁復(fù),涉及大量的code和數(shù)學(xué)公式,故筆者僅展示生成的結(jié)果,訓(xùn)練的語(yǔ)料即經(jīng)過(guò)預(yù)處理的《全唐詩(shī)》。

以“春雨”打頭,生成500字的詩(shī)詞,結(jié)果如下:

可以看見(jiàn),其中的詩(shī)詞大都圍繞著“春”來(lái)展開(kāi),也就是打頭的兩個(gè)字引導(dǎo)了后續(xù)結(jié)果的生成,這多虧了LSTM超強(qiáng)的“記憶能力”---記住了詩(shī)歌文本序列中的時(shí)空依賴(lài)關(guān)系。

在生成的詩(shī)句中,某些詩(shī)句還是蠻有意思的,上下聯(lián)間的意象有很強(qiáng)的相關(guān)性。

下面是多次生成中產(chǎn)生的較優(yōu)秀的詩(shī)句(當(dāng)然,這是筆者認(rèn)為的),其中有些學(xué)習(xí)到了高階的對(duì)仗技巧,如下:

白鷺驚孤島,朱旗出晚流。

筆者最喜歡的是這兩句,它們對(duì)仗工整:“白鷺”-“朱旗”,“孤島”-“晚流”,“驚”-“出”。這里體現(xiàn)出《人間詞話(huà)》中的“無(wú)我之境”:“無(wú)我之境,以物觀物,故不知何者為我,何者為物”,也就是意境交融、物我一體的優(yōu)美境界,其中的“驚”、“出”堪稱(chēng)字眼,極具動(dòng)感,煉字絕妙!

七、 相似文本檢索:用WMD查找相似詩(shī)詞

最后,我們來(lái)看看詩(shī)歌的信息檢索問(wèn)題,也就是筆者隨意輸入一句詩(shī)詞,然后機(jī)器會(huì)按照語(yǔ)義相似度在《全唐詩(shī)》中檢索出若干句符合要求的詩(shī)詞。

談到這里,筆者不由得想起一個(gè)詞---“射覆”,射覆游戲早期的耍法主要是制謎猜謎和用盆盂碗等把某物件事先隱藏遮蓋起來(lái),讓人猜度。這兩種耍法都是比較直接的。后來(lái),在此基礎(chǔ)上又產(chǎn)生了一種間接曲折的語(yǔ)言文字形式的射覆游戲,其法是用相連字句隱寓事物,令人猜度,若射者猜不出或猜錯(cuò)以及覆者誤判射者的猜度時(shí),都要罰酒。唐浩明的長(zhǎng)篇小說(shuō)《張之洞》中有對(duì)射覆游戲的精彩描寫(xiě):

寶竹坡突然對(duì)大家說(shuō),我有一覆,諸位誰(shuí)可射中。不帶大家做聲,他立刻說(shuō),《左傳》曰:伯姬歸于宋。射唐人詩(shī)一句。大家都低頭想。

...

張之洞不慌不忙地念著,白居易詩(shī)曰:老大嫁作商人婦。

如果對(duì)古文生疏,大家可能很難將這兩句聯(lián)想起來(lái),但《張之洞》里接下來(lái)就有關(guān)于解謎的描述:

楊銳道:“伯、仲、叔、季,這是中國(guó)兄弟姊妹得排行序列。伯姬是魯國(guó)的長(zhǎng)公主,排行老大。周公平定武庚叛亂后,把商舊都周?chē)貐^(qū)封給商紂王的庶子啟,定國(guó)名為宋,故宋國(guó)為商人后裔聚族之地。伯姬嫁到宋國(guó),不正是'老大嫁作商人婦'嗎?”

大家可能會(huì)想,如果是自己來(lái)思索的話(huà),不僅需要自己具備淵博的學(xué)識(shí),更要有疾如閃電的反應(yīng)能力,這個(gè)非極頂聰明之人不可!

試想,機(jī)器來(lái)做,可以做好嗎?能的話(huà),又會(huì)是如何操作?

這里,筆者介紹基于WMD(Earth Mover’s Distance)的語(yǔ)義相似度算法,與上面的情緒分析類(lèi)似,還有用到之前訓(xùn)練得到的字向量模型,借助外部語(yǔ)義信息來(lái)應(yīng)對(duì)同義不同字的情形。

WMD(EarthMover’s Distance)是一種能使機(jī)器以有意義的方式(結(jié)合文本的語(yǔ)義特征)評(píng)估兩個(gè)文本之間的“距離(也就是文本間的相似度)”的方法,即使二者沒(méi)有包含共同的詞匯。它使用基于word2vec的詞向量,已被證明超越了k-近鄰分類(lèi)中的許多現(xiàn)有技術(shù)方法。以下是基于WMD的“射覆”的機(jī)器解:

上面兩個(gè)句子沒(méi)有共同的詞匯,但通過(guò)匹配相關(guān)單字,WMD能夠準(zhǔn)確地測(cè)量?jī)蓚€(gè)句子之間的(非)相似性。該方法還使用了基于詞袋模型的文本表示方法(簡(jiǎn)單地說(shuō),就是詞匯在文本中的頻率),如下圖所示。該方法的直覺(jué)是最小化2段文本間的“旅行距離(traveling distance)”,換句話(huà)說(shuō),該方法是將文檔A的分布“移動(dòng)”到文檔B分布的最有效方式。

簡(jiǎn)要的解釋了相關(guān)原理后,筆者緊接著展現(xiàn)最后的分析效果。由于對(duì)《妖貓傳》中的那首線(xiàn)索式的《清平樂(lè)》印象深刻,筆者讓機(jī)器在《全唐詩(shī)》+《全宋詞》中查找與它相關(guān)性最大的TOP9詩(shī)詞。結(jié)果如下:

查找的結(jié)果排行第一的是原句,但有一個(gè)字不同(其實(shí)古語(yǔ)中“花”、“華”互通,華字的繁體是會(huì)意字,本意是“花”),略微差異導(dǎo)致相似度不為1.0。第二相似的是一首宋詞,林正大的《括酹江月(七)》,其實(shí)這整首詞可以作為李白《清平樂(lè)》的注解,因?yàn)槿际菍?duì)它的化用:即將《清平樂(lè)》中的句、段化解開(kāi)來(lái),增加了新的聯(lián)想,重新組合,靈活運(yùn)用,對(duì)原詩(shī)的表達(dá)進(jìn)行了情感上的升華。隨后的兩句詩(shī)詞也是類(lèi)似的情況,只是相似度上略有差異罷了。

緊接著,是剛才機(jī)器生成的詩(shī)句,看看與它內(nèi)涵相近的詩(shī)句有哪些:

再看看筆者較為欣賞的2句名句,機(jī)器很好的捕捉到了它們之間的相似語(yǔ)義關(guān)系,即使詞匯不盡相同,但仍能從語(yǔ)義上檢索相似詩(shī)句。

寫(xiě)到這里,關(guān)于《全唐詩(shī)》單獨(dú)的文本挖掘已經(jīng)完成,但筆者又想到一個(gè)有趣的分析維度---從文本挖掘的角度來(lái)比較《全唐詩(shī)》、《全宋詞》和《全元曲》之間用字的差異,借助字這種基本符號(hào)來(lái)分析各自的文學(xué)藝術(shù)特征。

八、 文本對(duì)比:用Semiotic Squares比較《全唐詩(shī)》、《全宋詞》和《全元曲》

因?yàn)榉治龅膶?duì)象涉及3個(gè),常規(guī)的二元對(duì)比分析方法難以得出有效的結(jié)論。因此,筆者在這里跨界采用來(lái)自符號(hào)學(xué)領(lǐng)域的研究成果---Semiotic Squares。

“Semiotic Squares(筆者譯作‘符號(hào)方塊’)”,是由知名符號(hào)學(xué)大師Greimas和Rastier發(fā)明,是一種提煉式的對(duì)比分析(Oppositional Analyses)方法,通過(guò)將給定的兩個(gè)相反的概念/事例(如“生命(Life)”和“死亡(Death)”)的分析類(lèi)型(通過(guò)‘或’、‘與’、‘非’的邏輯)拓展到4類(lèi)(如“生命(Life)”、“死亡(Death)”、“生死相間(也就是活死人,The Living Dead)”、“非生非死(天使,Angels)”,有時(shí)還可以拓展到8個(gè)或10個(gè)分析維度。以下是符號(hào)方塊的結(jié)構(gòu)示意圖:

說(shuō)明:“+”符號(hào)將2個(gè)詞項(xiàng)組合成一個(gè)“元詞項(xiàng)(Metaterm)”(復(fù)合詞,Compound Term),例如,5是1和2的復(fù)合結(jié)果。

Semiotic Squares的構(gòu)成要素

Semiotic Squares主要包含以下2種元素(我們正在避開(kāi)方塊的組成關(guān)系:對(duì)立,矛盾、互補(bǔ)或包含):

(1)詞項(xiàng)(Terms):

Semiotic Square由4個(gè)詞項(xiàng)組成::

位置1(Term 1):詞項(xiàng)A(Term A)

位置2(Term 2):詞項(xiàng)B(Term B)

位置3 (Term Not-2):非B詞項(xiàng)(Term Not-B)

位置4 (Term Not-1):非A詞項(xiàng)(Term Not-A)

Term A和TermB是相反的兩個(gè)概念,二者是對(duì)立關(guān)系,這是“符號(hào)方塊”的基礎(chǔ),另外兩項(xiàng)是通過(guò)對(duì)Term A和Term B取反而獲得。

(2)元詞項(xiàng)(Metaterms)

Semiotic Square囊括6個(gè)元詞項(xiàng)。這些元詞項(xiàng)由上面的4個(gè)基礎(chǔ)詞項(xiàng)組合而成,其中的絕大部分元詞項(xiàng)已被命名。

位置5 (Term 1 + Term 2):復(fù)合詞項(xiàng)(Complex Term)

位置6 (Term 3 + Term 4):中立詞項(xiàng)(Neutral Term)

位置7 (Term 1 + Term 3):正向系(Positive Deixis)

位置8 (Term 2 + Term 4):負(fù)向系(Negative Deixis)

位置9(Term 1 + Term 4):未命名(Unnamed)

位置10(Term 2 + Term 3):未命名(Unnamed)

下面以“男性”和“女性”這兩個(gè)相對(duì)的概念來(lái)舉個(gè)例子,注意其中錯(cuò)綜復(fù)雜的邏輯關(guān)系/類(lèi)型。

說(shuō)完了分析的大致原理,筆者這里就來(lái)實(shí)戰(zhàn)一番,與上述原始模型不同的是,筆者在這里除了基本的二元對(duì)立分析外,還新增了一個(gè)分析維度,總體是關(guān)于《全唐詩(shī)》、《全宋詞》和《全元曲》的三元文本對(duì)比分析。

預(yù)處理前的文本是這樣的:

預(yù)處理后是這樣的形式:

用Semiotic Squares進(jìn)行分析的結(jié)果如下圖所示(點(diǎn)擊即可放大顯示):

從上面呈現(xiàn)的TOP10高頻字和象限區(qū)塊(左上角“唐詩(shī)”、右上角“宋詞”和正下方“元曲”)來(lái)看,唐詩(shī)、宋詞、元曲中出現(xiàn)的獨(dú)有高頻字依次是:

唐詩(shī):唯、馀、始、鳥(niǎo)、含、爾、昔、茲、忽、棲、川、旌、戎、秦…

宋詞:闌、沈、匆、簾、濃、約、淡、觴、蕊、屏、凝、笙、瑤、柔…

元曲:哥、俺、咱、孩、姐、吃、哩、科、廝、拿、你、叫、呀、呵…

從上面的關(guān)鍵字來(lái)看,唐詩(shī)、宋詞和元曲各自的特征很鮮明:

唐詩(shī):用字清澹高華、含蓄,詩(shī)味較濃,寄情山水和金戈鐵馬的特征明顯,可以聯(lián)想到唐詩(shī)流派中典型的山水田園派和盛唐邊塞詩(shī),它們大都反映大唐詩(shī)人志趣高遠(yuǎn)、投效報(bào)國(guó)的情懷。

宋詞:所用的字體現(xiàn)出婉約、宛轉(zhuǎn)柔美,表現(xiàn)的多是兒女情長(zhǎng),生活點(diǎn)滴,這也難怪,由于長(zhǎng)期以來(lái)詞多趨于宛轉(zhuǎn)柔美,人們便形成了以婉約為正宗的觀念。

元曲:所用的字生活氣息濃重,通俗易懂、接地氣、詼諧、灑脫和率真,充分反映了其民間戲曲的特征,這與蒙元治下的漢族知識(shí)分子被打壓,很多文人郁郁不得志、轉(zhuǎn)入到民間戲曲的創(chuàng)作中來(lái)有關(guān)。

此外,正上方的“復(fù)合”中,表征的是三者皆常用的字,即共性特征,主要涉及寫(xiě)景(如“晴”、“幽”、“溪”、“洲”、“霜”、“浦”、“露”、“碧”、“帆”、“峰”等)和抒情(等“悵”、“憶”、“寂”、“悠”等)。

下方的兩個(gè)象限,“Not唐詩(shī)”和“Not宋詞”分別代表的“宋詞+元曲”、“唐詩(shī)+元曲”,三者之二的共性高頻字,中的兩項(xiàng)也以此類(lèi)推,筆者在這里就不贅述了,請(qǐng)讀者朋友們親自去挖掘里面的玄妙吧。

結(jié)語(yǔ)

筆者非專(zhuān)業(yè)的詩(shī)歌研究者,上面的分析也未必準(zhǔn)確,如果有分析不恰當(dāng)?shù)牡胤?,還請(qǐng)扶正。但是,筆者是想通過(guò)分析唐詩(shī),來(lái)說(shuō)下自己對(duì)于文本(數(shù)據(jù))挖掘的看法:

在數(shù)據(jù)分析中,得出的數(shù)據(jù)結(jié)果只是“引子”和“線(xiàn)索”,最重要的還是要靠人腦去分析結(jié)果,借助所掌握的背景/業(yè)務(wù)知識(shí)和分析模型,從文本的表層鉆取到其深層,去發(fā)現(xiàn)那些不能為淺層閱讀所把握的深層意義,挖掘其價(jià)值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100339
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    118

    瀏覽量

    17047
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5442

    瀏覽量

    120800

原文標(biāo)題:大數(shù)據(jù)分析5萬(wàn)首《全唐詩(shī)》,發(fā)現(xiàn)了這些秘密

文章出處:【微信號(hào):WUKOOAI,微信公眾號(hào):悟空智能科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于網(wǎng)絡(luò)共識(shí)的股票價(jià)格行為數(shù)據(jù)挖掘(英文

    的復(fù)雜性,急需從不同角度將各方面知識(shí)綜合利用。本文提出了股票價(jià)格充分融合網(wǎng)絡(luò)共識(shí)的策略,構(gòu)建了基于網(wǎng)絡(luò)共識(shí)的股票價(jià)格行為數(shù)據(jù)挖掘平臺(tái)。交易系統(tǒng)實(shí)時(shí)采集股票交易價(jià)格
    發(fā)表于 04-24 09:56

    NLPIR大數(shù)據(jù)KGB知識(shí)圖譜引擎智能挖掘各行數(shù)據(jù)

    數(shù)據(jù)語(yǔ)義智能分析技術(shù)是對(duì)語(yǔ)法、詞法和語(yǔ)義的綜合應(yīng)用。NLPIR大數(shù)據(jù)語(yǔ)義智能分析平臺(tái)平臺(tái)是根據(jù)中文數(shù)據(jù)挖掘的綜合需求,融合了網(wǎng)絡(luò)精準(zhǔn)采集、自然語(yǔ)言理解、
    發(fā)表于 11-02 14:08

    NLPIR-Parser大數(shù)據(jù)技術(shù)實(shí)現(xiàn)深度文本語(yǔ)義理解

    組成部分,人們?nèi)粘9ぷ骱蜕钪薪佑|最多的電子文檔也是以文本的形式存在。海量文本數(shù)據(jù)挖掘有價(jià)值的信息、知識(shí),一直都是學(xué)術(shù)界研究的熱點(diǎn)問(wèn)題,但是文本
    發(fā)表于 12-18 11:58

    靈玖軟件:NLPIR智能挖掘系統(tǒng)專(zhuān)注中文處理

    和氣象學(xué)。大數(shù)據(jù)提出了數(shù)據(jù)庫(kù)和數(shù)據(jù)分析研究了隆重的挑戰(zhàn)。應(yīng)對(duì)大數(shù)據(jù)的挑戰(zhàn),文本處理是不可或缺的一部分。大
    發(fā)表于 01-21 11:39

    NLPIR平臺(tái)實(shí)現(xiàn)文本挖掘的一站式應(yīng)用

    的工具。語(yǔ)義智能分析的全鏈條指的是語(yǔ)料數(shù)據(jù)的采集預(yù)處理,經(jīng)過(guò)自然語(yǔ)言處理 到文本挖掘,信息檢索再到可視化呈現(xiàn)和導(dǎo)出以便適合于不同人員的使用需求的 全部處理過(guò)程。
    發(fā)表于 11-07 16:43

    數(shù)據(jù)分析與挖掘實(shí)戰(zhàn)》總結(jié)及代碼---chap3數(shù)據(jù)探索

    數(shù)據(jù)分析與挖掘實(shí)戰(zhàn)》總結(jié)及代碼練習(xí)---chap3 數(shù)據(jù)探索
    發(fā)表于 05-25 13:25

    Web文本表示及其分類(lèi)研究

    Web 文本挖掘是Web 數(shù)據(jù)挖掘的一個(gè)重要研究領(lǐng)域。文本挖掘的主要方法是
    發(fā)表于 08-28 10:31 ?4次下載

    電網(wǎng)缺陷文本挖掘技術(shù)及其應(yīng)用

    文本句子成分難以劃分、數(shù)字量無(wú)法精確提取等問(wèn)題,為電網(wǎng)領(lǐng)域的非結(jié)構(gòu)化數(shù)據(jù)挖掘提供了新技術(shù)。首先在建立本體詞庫(kù)基礎(chǔ)上,對(duì)缺陷文本進(jìn)行分詞、詞匯特征提取等預(yù)處理;然后定義了電力語(yǔ)義框架與語(yǔ)
    發(fā)表于 01-12 13:55 ?5次下載
    電網(wǎng)缺陷<b class='flag-5'>文本</b><b class='flag-5'>挖掘</b>技術(shù)及其應(yīng)用

    文本數(shù)據(jù)分析:文本挖掘還是自然語(yǔ)言處理?

    自然語(yǔ)言處理(NLP)關(guān)注的是人類(lèi)的自然語(yǔ)言與計(jì)算機(jī)設(shè)備之間的相互關(guān)系。NLP是計(jì)算機(jī)語(yǔ)言學(xué)的重要方面之一,它同樣也屬于計(jì)算機(jī)科學(xué)和人工智能領(lǐng)域。而文本挖掘和NLP的存在領(lǐng)域類(lèi)似,它關(guān)注的是識(shí)別文本數(shù)據(jù)中有趣并且重要的模式。
    的頭像 發(fā)表于 04-10 14:58 ?1.8w次閱讀
    <b class='flag-5'>文本數(shù)據(jù)</b>分析:<b class='flag-5'>文本</b><b class='flag-5'>挖掘</b>還是自然語(yǔ)言處理?

    如何使用狄利克雷多項(xiàng)分配模型進(jìn)行多源文本主題挖掘模型

    隨著文本數(shù)據(jù)來(lái)源渠道越來(lái)越豐富,面向多源文本數(shù)據(jù)進(jìn)行主題挖掘已成為文本挖掘領(lǐng)域的研究重點(diǎn)。由于傳統(tǒng)主題模型主要面向單源
    發(fā)表于 11-27 17:30 ?4次下載
    如何使用狄利克雷多項(xiàng)分配模型進(jìn)行多源<b class='flag-5'>文本</b>主題<b class='flag-5'>挖掘</b>模型

    用多種文本挖掘方法,來(lái)分析《全唐詩(shī)

    首先,讓我們來(lái)看看去掉這些虛詞之后的全局高頻字有哪些,筆者這里展示的是TOP148。“人”字排行第一,這體現(xiàn)了《說(shuō)文解字》里所講的“人,天地之性最貴者也”,說(shuō)明唐詩(shī)很好的秉承了“以人為本”的中華文化。而后續(xù)的“山”、“風(fēng)”、“月”、“日”、“天”、“云”、“春”等都是在寫(xiě)景的詩(shī)句里經(jīng)常出現(xiàn)的意象。
    的頭像 發(fā)表于 03-11 16:53 ?3218次閱讀
    用多種<b class='flag-5'>文本</b><b class='flag-5'>挖掘</b>方法,來(lái)分析《<b class='flag-5'>全唐詩(shī)</b>》

    基于數(shù)據(jù)挖掘的核醫(yī)學(xué)文本關(guān)聯(lián)規(guī)則挖掘方法

    的信息。為準(zhǔn)確提取SPECT核醫(yī)學(xué)骨顯像診斷文本中疾病與其表征之間的關(guān)聯(lián)關(guān)系,硏究并提岀基于數(shù)據(jù)挖掘的核醫(yī)學(xué)文本關(guān)聯(lián)規(guī)則挖掘方法。首先,針對(duì)
    發(fā)表于 04-28 15:39 ?4次下載
    基于<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>挖掘</b>的核醫(yī)學(xué)<b class='flag-5'>文本</b>關(guān)聯(lián)規(guī)則<b class='flag-5'>挖掘</b>方法

    基于協(xié)同訓(xùn)練的電商領(lǐng)域文本短語(yǔ)挖掘方法

    文本中的反序表達(dá),構(gòu)建協(xié)同訓(xùn)練的短語(yǔ)挖掘框架,以降低領(lǐng)域語(yǔ)料中標(biāo)注訓(xùn)練數(shù)據(jù)的成本,在此基礎(chǔ)上,利用 Stacking方法集成統(tǒng)計(jì)模型和語(yǔ)義模型的優(yōu)點(diǎn),提升模型整體挖掘性能。在淘寶網(wǎng)查詢(xún)
    發(fā)表于 05-13 15:01 ?0次下載

    基于文本挖掘和決策樹(shù)的中國(guó)手游產(chǎn)業(yè)分析

    針對(duì)中國(guó)傳統(tǒng)的手游產(chǎn)業(yè)發(fā)展存在主題識(shí)別不精準(zhǔn),缺乏利用數(shù)據(jù)挖掘和可視化分析方法等問(wèn)題,文中提出了一種基于文本挖掘和決策樹(shù)( Desision tree)分析的中國(guó)手游產(chǎn)業(yè)發(fā)展研究方法,
    發(fā)表于 06-17 16:16 ?4次下載

    文本挖掘之概率主題模型綜述

    文本挖掘之概率主題模型綜述
    發(fā)表于 06-24 14:16 ?16次下載