hanlp关键词提取算法TextRank

本文通过 hanlp 关键词提取的示例,详细解释了TextRank算法的工作原理,包括分词、构造窗口和迭代投票三个步骤,用于自动摘要和关键词提取。最终展示了如何从文本中提取出关键词。

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

欢迎关注鄙人公众号,技术干货随时看!
在这里插入图片描述

技术交流qq群: 659201069

鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!

https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7

《kibana权威指南》

https://wenku.baidu.com/view/24cfee1ce43a580216fc700abb68a98270feac21

TextRank是在Google的PageRank算法启发下,针对文本里的句子设计的权重算法,目标是自动摘要。它利用投票的原理,让每一个单词给它的邻居(术语称窗口)投赞成票,票的权重取决于自己的票数。这是一个“先有鸡还是先有蛋”的悖论,PageRank采用矩阵迭代收敛的方式解决了这个悖论。引用自http://www.hankcs.com/nlp/textrank-algorithm-to-extract-the-keywords-java-implementation.html。本博文通过hanlp关键词提取的一个Demo,并通过图解的方式来讲解TextRank的算法。

//长句子
        String content = "程序员(英文Programmer)是从事程序开发、维护的专业人员。" +
                "一般将程序员分为程序设计人员和程序编码人员," +
                "但两者的界限并不非常清楚,特别是在中国。" +
                "软件从业人员分为初级程序员、高级程序员、系统" +
                "分析员和项目经理四大类。";

最后提取的关键词是:[程序员, 程序, 分为, 人员, 软件]

下面来分析为什么会提取出这5个关键词

第一步:分词

把content 通过一个的分词算法进行分词,这里采用的是Viterbi算法也就是HMM算法,具体请参与我的另篇文章https://blog.youkuaiyun.com/zhaojianting/article/details/78194317。分词后(当然首先应把停用词、标点、副词之类的去除)的结果是:
  
[程序员, 英文, Programmer, 从事, 程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿童木-atom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值