1. 程式人生 > >停用詞+自定義詞

停用詞+自定義詞

import jieba.posseg
#方式一:

#載入停用詞表
stop = [line.strip() for line in open('stop.txt','r',encoding='utf-8').readlines() ]

#匯入自定義詞典:詞語、詞頻(可省略)、詞性(可省略)
jieba.load_userdict("userdict.txt")


s = "執行緒是程式執行時的最小單位,它是程序的一個執行流,\
是CPU排程和分派的基本單位,一個程序可以由很多個執行緒組成,\
執行緒間共享程序的所有資源,每個執行緒有自己的堆疊和區域性變數。\
執行緒由CPU獨立排程執行,在多CPU環境下就允許多個執行緒同時執行。\
同樣多執行緒也可以實現併發操作,每個請求分配一個執行緒來處理。"


#分詞並標註詞性
segs = jieba.posseg.cut(s)#<generator object cut at 0x0000025DFFFCAFC0>
final = ''
for seg ,flag in segs:
if seg not in stop:
if flag !='m' and flag !='x':#m數詞,x通常用於代表未知數、符號
final +=' '+ seg

print(final)

#方式2
from jieba import analyse
analyse.set_stop_words('stop.txt')
tfidf = analyse.extract_tags
keywords = tfidf(data_str,topK=100,withWeight=True)#list
print('keywords',keywords)