之前听说停用词表,没有上手使用过,真正操作的时候发现有很多东西没有学透彻。这里总结一下,去停用词的思想:在原始文本集中去掉不需要的词汇,字符。虽然有通用的停用词表,但是如果想提高后续的分词效果,还是自己建立停用表比较好。
建立停用词表,实际上就是在txt中,输入想要删除的词汇,每个词汇用空格隔开即可。可以换行。
下面是我自己操作的效果图,及代码。方便自己及大家查看。
# 停用词表 [] 停用词的标准格式应该是一个词一行在txt中展示.如果一行中有多词汇,可以采用本文方法转换成标准格式
# 文本集 []
# 处理后文本本 []
stop = []
standard_stop = []
text = []
after_text = []
file_stop = r'D:\PycharmProjects\tufaci20190218\ceshi-stop-shupai.txt' # 停用词表
file_text = r'D:\PycharmProjects\tufaci20190218\ceshi-word.txt' # 要处理的文本集合
with open(file_stop,'r',encoding='utf-8-sig') as f :lines = f.readlines() # lines是list类型for line in lines:lline = line.strip() # line 是str类型,strip 去掉\n换行符stop.append(lline) # 将stop 是列表形式# stop 的元素是一行一行的 句子,需要进行转化为一个词一行,即下面:
for i in range(0,len(stop)):for word in stop[i].split():standard_stop.append(word)
# print(standard_stop)# 读取文本集,
with open(file_text,'r',encoding='utf-8-sig') as f :lines = f.readlines()print(lines)for line in lines:# lline = line.strip()# print(lline)lline = line.split()# print(lline)for i in lline:if i not in standard_stop:after_text.append(i)
print(after_text)# 将结果保存在txt中
with open(r'D:\PycharmProjects\tufaci20190218\a-ceshi-jieguo.txt','w+')as f :for i in after_text:f.write(i)