python红楼梦_用Python读红楼

使用Python的jieba分词和gensim库,分析红楼梦文本,找到与宝钗相似的人物,通过K-Means和层次聚类揭示人物间的关系,探讨算法在古典文学分析中的应用。
摘要由CSDN通过智能技术生成

用Python读红楼

最近受到这篇文章用Python读金庸武侠的启发。作为古典文(zhuang)学(bi)青年,一定要用Python来试试我读了20年的《红楼梦》。

首先从网上找到了红楼梦.txt(不清楚版本,可能是程甲版)和对应的人物表。

把人名加入词库,然后用结巴分词切分整个文章(我没有区分前八十回和后四十回),加入gensim的训练中

def tranning():

with open('hlm.txt') as f:

data = [line.strip()

for line in f.readlines()

if line.strip()]

sentences = []

for line in data:

words = list(jieba.cut(line))

sentences.append(words)

model = gensim.models.Word2Vec(sentences,

size=100,

window=5,

min_count=5,

workers=4)

return model

训练生成一个以词向量表示词的模型,下面就用代码来找找和宝钗相似的人物吧。

for k, s in model.most_similar(positive=["宝钗"]):

print('{}:{}'.format(k, s))

探春:0.9595787525177002

紫鹃:0.9429049491882324

黛玉:0.9325058460235596

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值