匆忙地看過電影澄干,沒看過小說腺占。
本文分析感情小說《從你的全世界路過》.txt圾旨,想要達(dá)到以下幾點(diǎn)效果:
- 有哪些小說人物
- 小說的感情基調(diào)
- 故事發(fā)生所在地
快速介紹
jieba:“結(jié)巴”中文分詞:可以將中文的句子進(jìn)行單詞分割摘悴,多種分詞模式碌识,支持繁體碾篡、自定義詞典。
word_cloud:通常和 jieba 結(jié)合使用丸冕,將分好的單詞以圖片的方式展示出來耽梅,根據(jù)單詞出現(xiàn)的次數(shù)使單詞突出。
準(zhǔn)備工作
安裝 jieba 分詞:
pip install jieba
/ pip3 install jieba
安裝 word_cloud 詞云:
pip install word cloud
開始
使用 jieba 分詞:
import jieba
words = [] # 所有單詞
two_words = [] # 大于或等于兩個(gè)單詞
with open("9787540458027.txt", 'rb') as f:
for line in f.readlines():
seg = line.decode('gbk').encode('utf-8')# 中文解編碼
seg1 = seg.strip()
seg_list = jieba.lcut(seg1, cut_all=False)# jieba分詞
words.extend(seg_list)
print "此文章總共分得"+str(len(words))+"個(gè)詞"
for i in words: # 以詞語長度分類
if len(i) >= 2:
words.remove(i)
two_words.append(i)
print "此文章大于兩個(gè)字的詞語有" + str(len(two_words)) + "個(gè)"
print "此文章一個(gè)字的詞語有" + str(len(words)) + "個(gè)"
運(yùn)行結(jié)果:
此文章總共分得77865個(gè)詞
此文章大于兩個(gè)字的詞語有22433個(gè)
此文章一個(gè)字的詞語有55432個(gè)
使用 Counter 進(jìn)行詞頻統(tǒng)計(jì):
···
from collections import Counter
···
c = Counter(words)
c1 = Counter(two_words)
for k, v in c.most_common(200): # 出現(xiàn)次數(shù)前200
print k, v
print "-------------------------------------"
for k1, v1 in c1.most_common(200):
print k1, v1
運(yùn)行結(jié)果:
胖烛。 3873
的 2627
我 2174
···省略
-------------------------------------
我們 209
沒有 157
一個(gè) 150
···省略
運(yùn)行結(jié)果中眼姐,標(biāo)點(diǎn)符號不影響分析诅迷,暫不做處理。下面就可以根據(jù)問題進(jìn)行分析众旗。
有哪些小說人物罢杉?
篩選到如下人物名稱:
慧子 52 | 大黑 46 | 老太太 46 | 管春 42 |
---|---|---|---|
小玉 41 | 木子 40 | 小山 36 | 張嘉佳 35 |
豬頭 34 | 馬力 33 | 毛毛 31 | 太太 29 |
老子 29 | 袁鑫 27 | 梅茜 27 | 茅十八 25 |
荔枝 24 | 王亦凡 24 | 姜微 23 | 張萍 20 |
黃鶯 19 | 蝴蝶 18 | 阿梅 17 | 野狗 26 |
生成人物詞云:
生成詞云基本代碼:
# -*- coding:utf-8 -*-
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from collections import Counter
words_dict = {u'慧子': 52, u'大黑': 46, u'老太太':46,
······}
c = Counter(words_dict)
wc = WordCloud(font_path='AaBanSong.ttf').generate_from_frequencies(c) # wordcloud自帶的xxx.ttf 并不支持中文,在網(wǎng)上下載一個(gè)引用即可
plt.figure()
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
小說的感情基調(diào)
選取了如下幾個(gè)具有代表性的詞語:
偏消極 | 偏積極 | |
---|---|---|
哭 96 | 難過 17 | 喜歡 70 |
眼淚 57 | 離婚 17 | 錢 55 |
卻 40 | 等 71 | 愛 45 |
狗 33 | 分手 16 | 笑 36 |
沉默 22 | 結(jié)果 53 | 微笑 20 |
開心 13 | ||
我愛你 13 | ||
溫暖 13 |
可以看出整篇小說的基調(diào)是偏消極的贡歧,包含又不限于哭滩租、等待、惋惜之情利朵、轉(zhuǎn)折律想、離婚、分手等绍弟;積極方面有微笑技即、開心、我愛你等詞語樟遣,表面看來是悲多喜少而叼,人物的情感生活是曲折的,經(jīng)濟(jì)上也并不是很穩(wěn)定豹悬,推斷作者在人物情感方面下了較大功夫葵陵,而且在故事的結(jié)果方面轉(zhuǎn)折較大。
故事發(fā)生所在地
大到城市瞻佛,南京脱篙、長沙、北京涤久;小到菲律賓涡尘,酒吧、家里响迂、宿舍考抄、小區(qū)、大學(xué)蔗彤;可以確定的是小說中至少一個(gè)人物喜歡混酒吧 川梅,故事大多發(fā)生在人物的學(xué)生時(shí)代,推斷他們的大學(xué)在南京然遏,畢業(yè)后到長沙贫途、北京等地工作,菲律賓旅游待侵。
總結(jié)
小說圍繞慧子丢早、大黑 、老太太、管春等人物展開青春時(shí)代故事描述怨酝,其他人為支線拓展和豐富故事內(nèi)容傀缩,酒吧是一個(gè)重要的地點(diǎn),用來描述人物的心情农猬,以及故事的悲喜程度赡艰,一般什么人會去酒吧?消愁 or 尋樂暫時(shí)不知斤葱。
人物在經(jīng)理悲歡離合之后的生活又是怎樣的慷垮,等我看完這本小說再回來做讀后感,看看推斷是否正確揍堕,有多少偏差料身。
參考資料:
jieba 分詞:https://github.com/fxsjy/jieba
wordcloud 詞云:https://github.com/amueller/word_cloud