停用词+自定义词

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)
 

猜你喜欢

转载自www.cnblogs.com/hapyygril/p/9897752.html