算法的说明在here
源码在here
需要求出每个单词的邻居单词,最终需要的是每个单词的邻居个数,只要两个单词同时出现在长度为5的窗口则成为邻居,
这个相比用textRank进行文本摘要的不同点是:点(单词)之间权重w全为1, 求和部分的邻居的权重=邻居 的 邻居个数(邻居有几个邻居)
单词构成的图是无向图,A是B的邻居,则B也是A的邻居
源码部分笔记:
getTermAndRank函数是核心函数,
遍历所有单词,每次都把前面的最多4个单词当成邻居(窗口为5)
窗口的实现是queue,从头出(poll),从尾入(offer),每遍历完一个单词,就把它加入queue
处理新的单词时,如果窗口的长度=5了,则从头部(poll)删除一个(离当前词最远的)