之前聽說停用詞表,沒有上手使用過,真正操作的時候發現有很多東西沒有學透徹。這裏總結一下,去停用詞的思想:在原始文本集中去掉不需要的詞彙,字符。雖然有通用的停用詞表,但是如果想提高後續的分詞效果,還是自己建立停用表比較好。
建立停用詞表,實際上就是在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)