python文本分析--停用詞表的使用

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

建立停用詞表,實際上就是在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)


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章