本文会涉及到一些内置函数,正则化表达式,文本写作风格挖掘(排版,篇章,用词),简单的文本相似度比较
本人大一新手一枚≧∇≦,偶然碰到某次作业为简单文本处理,就写了这文章来给需要的小伙伴提供点思路,代码中有许多不足,希望各位大佬可以指正下哈!多谢啦^ _ ^!
天龙八部小说和人物名字txt文本大家可以去网上找,很多热心小伙伴会发的.
我一开始直接在Anaconda的cmd中pip install jieba会报错,所以要去下载jieba库到自己的电脑,jieba(官方下载地址): https://pypi.org/project/jieba/
打开后点download files ,在里面下载jieba就好了,下载好之后打开jieba文件所在位置,获得其路径(可以把它拉入cmd中就会显示绝对路径),然后打开cmd, 输入 cd +绝对路径 ,回车,然后输入python setup.py install就可以了,检验是否安装好可以在编译器中输入import jieba看看有没有报错.
看不懂我写的可以参考下面这个网址(这个讲的非常详细滴):https://blog.csdn.net/sanqima/article/details/50965439
导入gensim库可以直接在Anaconda的cmd中输入(用个快的镜像节点就好啦)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gensim
可参考下面这篇文章:
https://blog.csdn.net/zhujiyao/article/details/81112545
处理天龙八部txt小说文本
import jieba
import re
from gensim import corpora,models,similarities
#读入数据文件
with open(r'C:\Users\k\Desktop\新建文件夹\天龙八部.txt', "r") as f: # 打开文件
data = f.read() # 读取文件
#分割字符串
data = data.split('\n\n') #根据文本无用内容来进行分隔
data.remove('') #处理后的文章在一个列表里面
for i in range(len(data)):
data[i] = re.sub('萧峰','乔峰',data[i]) ##因为原文中萧峰和乔峰是同一个人,用正则化表达式将萧峰替换成乔峰
data[i] = re.sub('慕容先生','慕容博',data[i]) #将慕容先生称呼替换成慕容博
data[i] = re.sub('慕容公子','慕容复',data[i])
data_str = ''.join(data) #以字符串方式储存
处理天龙八部人物txt文本
with open(r'C:\Users\k\Desktop\新建文件夹\天龙八部人物名称.txt', "r", encoding = 'UTF-8') as f: # 打开文件
dataname = f.read() # 读取文件
dataname = dataname.split('\u2002') #根据无用内容分割字符串,处理后装在一个列表里面
文章排版分析之统计章标题
biaotilist = [] #装标题名字
for i in range(len(data)): #len(data)等于50
biaotilist.append(re.findall(r'(.*)\n', data[i][:50])[0]) #运用正则化表达式提取出标题
print('文章排版分析,共%s章,标题如下:'%len(biaotilist), biaotilist)
打印出结果为:
原创文章 2获赞 7访问量 371
关注
私信
展开阅读全文
作者:锴笑口常开