python作者的诗_《全唐诗》Python文本分析

本文通过Python对《全唐诗》进行文本分析,包括字频、词频、词性统计,以及利用Tableau进行可视化。作者还探讨了诗人之间的社交关系,通过CBDB数据库获取诗人别名,并分析了引用关系,揭示了唐代诗人朋友圈的结构,如杜甫-李白、白居易-元稹的朋友圈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景概述

诗歌是构筑唐代文化史高峰的一座巨大丰碑,唐代的诗歌空前繁荣,达到完美的艺术境界,成为大唐王朝时代的文化标志。本人热爱唐诗,希望从文本挖掘的角度去探索全唐诗,挑战不同场景下文本处理和分析的过程,锤炼自己的数据分析技能;结合数据之美和诗歌之雅,分享诗词之美,感受诗词之趣。

分析框架

数据获取

《全唐诗》是在网上下载的免费文本数据,全文总共4.8W+首诗,文件中每一行为一首诗,包括编号、题目、作者、诗歌内容。

全唐诗字词频率分析

用Python统计分析全唐诗的字频、词频和词性,并使用Tableau进行可视化展示。其中字频分析维度包括全唐诗中的全局高频词、季节、植物、动物和颜色等;词频分析为全局高频词语,词性分析维度包括全唐诗全局词性分析、地名词性和时间词性等。

def cut_qts_to_words(qts_file,saved_words_file):

save_dir = os.path.dirname((saved_words_file))

dumped_file=os.path.join(save_dir,"qts_words_stat_result.pkl")

char_counter = Counter() # 字频统计

author_counter = Counter() # 每个作者的写诗篇数

vocab = set() # 词汇库

word_counter = Counter() # 词频统计

genre_counter = defaultdict(Counter) # 针对每个词性的Counter

lex_analyzer=thulac.thulac() #分词器

with open(qts_file,'r',encoding='utf-8') as f:

for line in f:

text_segs=line.split()

#作者诗篇统计

author=text_segs[2]

author_counter[author]+=1

#字频统计

poem=text_segs[-1]

valid_char_list=[c for c in poem if '\u4e00' <= c <= '\u9fff' or c == ',' or c == '。']

for char in valid_char_list:

char_counter[char]+=1

#词汇库统计、词频统计、词性统计

regularized_poem=''.join(valid_char_list)

word_gener_pairs=lex_analyzer.cut(regularized_poem)

for word,gener in word_gener_pairs:

vocab.add(word)

word_counter[word]+=1

genre_counter[gener][word]+=1

#存储结果

dumped_data=[char_counter, author_counter, vocab, word_counter, genre_counter]

with open(dumped_file, 'wb') as f:

pickle.dump(dumped_data, f)

return char_counter, author_counter, word_counter,genre_counter

f_qts_words=open("qts_words_stat_result.pkl","rb")

char_counter, author_counter,vocab, word_counter,genre_counter=pickle.load(f_qts_words)

#1、字频分析——全局高频字

stopwords=[",","。","不","而","第","何",

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值