Python文字處理 《三國演義》詞云的構建與分析

2021-10-09 14:05:31 字數 1848 閱讀 7044

三國演義全文txt格式語料:python123.io

jieba分詞:github

wordcloud庫:github

import jieba

import wordcloud as wc

#三國演義.txt

#文字讀取

f1=open('datalib/threekingdoms.txt','r',encoding='utf-8')

t1=f1.read()

f1.close()

#文字預處理(同義詞合併)

t1=t1.replace('孔明曰','孔明')

t1=t1.replace('玄德曰','玄德')

t1=t1.replace('玄德','劉備')

t1=t1.replace('關公','雲長')

t1=t1.replace('雲長','關羽')

#結巴分詞+去除虛詞

ls=jieba.lcut(t1)

excludes=

for word in ls:

if word in excludes:

ls.remove(word)

txt1=" ".join(ls)

#詞云生成

詞雲中碩大的「劉備」二字昭示了皇叔在《演義》中的超然地位,「崇劉抑曹」的主線顯露無疑。

「諸葛亮」、「關羽」在字型大小上略遜於「劉備」,正是讀者印象中蜀漢的文武雙臂無疑(張飛:那我呢.jpg)

曹孟德身為集權謀、霸略、豪氣於一身的「可愛又迷人的反派角色」,雖然在**中被刻意壓制,但是仍能擠進第一梯隊的行列,已足見其魅力。(孫權:好嘛,我沒了)

從字型大小不難看出,b級主角的出場頻率相比a級的三位顯而易見的少。

張飛作為「劉關張」組合的一員卻被擠出第一梯隊,實慘了。

呂布作為前期的明星角色雖然早早便當,但是仍然躋身b級主角行列,其刻畫之細緻可見一斑。

趙雲身為三國衍生品的看板角色,論及出場頻次卻在b級梯隊吊了車尾,不過想來**後半似乎確實鮮見子龍身影...

剛才吐槽了張飛被擠出「劉關張」組合,而身為三國鼎立「一代目」的孫權卻只能在c級梯隊中做個「雞頭」,確實是迫真實慘;不過也暗合了其「孫仲謀」「孫十萬」並存的雜糅歷史形象。

周瑜、司馬懿身為諸葛亮前後期對線的主要角色,也都得以躋身主角行列(孔明,yyds)

袁紹、馬超、魏延現身於詞云起初我還比較意外,後來想想,原來這哥仨原來分別是前中後期推動劇情演進的引子?(存疑)

在詞云生成引數中將閾值設定為詞頻前20,上文已經侃過了16個,剩餘4個詞分別是:蜀兵、魏兵、軍士、軍馬,不難看出可以分別構成兩對片語。

蜀兵vs魏兵:《三國演義》的知名戰役無數,然而出場頻率最高的缺失魏兵與蜀兵。回顧這兩個詞頻繁現身的章節,應當是諸葛亮北伐期間。倒也是暗合了後期魏蜀爭雄的縱貫線。

軍士vs軍馬:前者的字型大小遠遠大於後者,可見**中塑造的能臣武將們雖個個橫刀躍馬,然而大頭兵之間的拼殺才真實左右戰局的基線。

Python爬蟲三國演義

定位目標 在這裡插入 片import requests from bs4 import beautifulsoup f open sanguo.txt w encoding utf 8 檔案儲存在當前資料夾中 headers url page text requests.get url url,he...

《三國演義》簡介

三國演義 是我國最早的一部長篇 章回體歷史 描寫了 三國時期的歷史故事,集體表現了統治者之間政治和軍事鬥爭。該書最早的 版本是明 嘉靖元年刊印的 三國志通俗演義 分24卷,240則,每則乙個七言標題。此後新的刊本迭出,卷數 回目 引用詩詞等均有改動。清康熙時,毛綸 毛宗崗父子對 三國志演義 進行了修...

《三國演義》統帥對比

在三國中我最佩服的統帥是陸遜。由對比可以得出一些結論。周瑜本來可以是一位很不錯的軍師統帥。可以說年輕有為,得吳侯重用,又有佳麗為妻,可謂人生大快。平心而論,赤壁之戰是周瑜的傑作。可是周瑜身體太差 可能有心臟病吧 又受箭傷,又有點嫉妒,最後一命嗚呼了。但是不能把周瑜的死歸於嫉妒,因為周瑜還是以大局為重...