结巴-关键词提取

本文介绍了一种无监督学习算法,用于从文本中提取关键词。该算法首先抽取出候选词,然后通过不同的策略如TF-IDF和TextRank进行打分,最后输出按重要性排序的关键词。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


无监督学习算法:
先抽取出候选词,然后对各个候选词进行打分,然后输出topK个分值最高的候选词作为关键词。
根据打分的策略不同,有不同的算法,例如TF-IDF,TextRank等算法



from jieba import analyse
'''
sentence: 待提取关键词的文本
topK: 返回关键词的数量,重要性从高到低排序
withWeight:是否同时返回每个关键词的权重
allowPOS: 词性过滤,为空表示不过滤,若提供则仅返回符合词性要求的关键词
默认为('ns', 'n', 'vn', 'v'),即仅提取地名、名词、动名词、动词
'''

# 原始文本
text = "线程是程序执行时的最小单位,它是进程的一个执行流,\
是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,\
线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。\
线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。\
同样多线程也可以实现并发操作,每个请求分配一个线程来处理。"

# 基于TF-IDF算法进行关键词抽取
tfidf = analyse.extract_tags
keywords = tfidf(text,topK=20, withWeight=True, allowPOS=())#list

# 基于TextRank算法进行关键词抽取
textrank=analyse.textrank
keywords=textrank(text)#list


# 输出抽取出的关键词
for keyword in keywords:
print(keyword[0],keyword[1])#分别为关键词和相应的权重

转载于:https://www.cnblogs.com/hapyygril/p/9897764.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值