hanLP使用textRank进行关键字提取的java源码学习笔记

本文深入解析了一种基于文本的图算法,重点介绍了如何通过滑动窗口技术确定单词间的邻居关系,进而计算每个单词的邻居数量。不同于TextRank的文本摘要算法,此方法中所有单词间的权重相等,且考虑了间接邻居的影响。

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

算法的说明在here
源码在here
需要求出每个单词的邻居单词,最终需要的是每个单词的邻居个数,只要两个单词同时出现在长度为5的窗口则成为邻居,
这个相比用textRank进行文本摘要的不同点是:点(单词)之间权重w全为1, 求和部分的邻居的权重=邻居 的 邻居个数(邻居有几个邻居)
单词构成的图是无向图,A是B的邻居,则B也是A的邻居
源码部分笔记:
getTermAndRank函数是核心函数,
遍历所有单词,每次都把前面的最多4个单词当成邻居(窗口为5)

窗口的实现是queue,从头出(poll),从尾入(offer),每遍历完一个单词,就把它加入queue
处理新的单词时,如果窗口的长度=5了,则从头部(poll)删除一个(离当前词最远的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值