今天跟大家聊聊我搞的这个“真·倚天屠龙记”项目,听着唬人,就是用Python鼓捣的一个小说文本分析小玩意儿。别嫌弃,纯属个人爱边学边玩,跟大家分享一下我的折腾过程。
起因:
话说我从小就喜欢看金庸小说,尤其是《倚天屠龙记》,里面的爱恨情仇、武功招式,那叫一个精彩。最近学了点Python,就寻思着能不能用代码来分析分析这部小说,看看能不能挖掘出点啥有意思的东西来。
准备工作:
开干!
文本清洗:- 先把txt文本读进来。
- 用正则表达式把那些乱七八糟的回车换行、空格什么的都去掉,让文本干净一点。
- 再把小说标题、作者信息这些没用的东西也删掉,只留下正文。
- 用*()函数对文本进行分词,把句子拆分成一个个词语。
- jieba默认的分词可能不太准确,比如“张无忌”可能会被分成“张”、“无忌”,所以需要添加自定义词典,把人名、武功招式这些词语加进去。
- 去掉停用词,比如“的”、“了”、“是”这些没啥意义的词语。
- 用*()函数统计每个词语出现的次数。
- 按照词频排序,找出出现次数最多的词语。
结果分析:
遇到的问题:
分词不准确: 结巴分词虽然好用,但是有时候还是会出错,需要不断地完善自定义词典。文本编码问题: 读入txt文本的时候,可能会遇到编码问题,导致乱码,需要指定正确的编码方式,比如“utf-8”。效率问题: 处理大量文本的时候,代码运行速度会比较慢,需要优化代码,提高效率。这回“真·倚天屠龙记”项目,虽然只是个小小的尝试,但也让我学到了很多东西。不仅巩固了Python的基础知识,还体会到了文本分析的乐趣。以后有机会,我还想尝试用更高级的技术,比如机器学习、自然语言处理,来分析金庸小说,看看能不能挖掘出更多有意思的发现。
的
如果你也对文本分析感兴趣,不妨从自己喜欢的小说入手,动手试试看,相信你也会有所收获的!别怕出错,大胆尝试,说不定你也能成为一个“武侠小说分析大师”!