PageRank

PageRank算法通过计算网页链接的数量和质量来粗略估计网页的重要性,算法创立之初即应用在谷歌的搜索引擎中,对网页进行排名。

PageRank算法的核心思想如下:

(1)链接数量:如果一个网页被越多的其他网页链接,说明这个网页越重要,即该网页的PR值(PageRank值)会相对较高;($S(V_i)$正比于 $|In(V_i)|$)

(2)链接质量:如果一个网页被一个越高权值的网页链接,也能表明这个网页越重要,即一个PR值很高的网页链接到一个其他网页,那么被链接到的网页的PR值会相应地因此而提高。($S(V_i)$正比于 $In(V_i)$集合内网页 j 的$S(V_j)$值)

PageRank迭代公式

$$ S(V_i)=(1-d)+d*\sum_{j\in In(V_i)} \frac{1}{|Out(V_j)|} S(V_j) $$

$S(V_i)$是网页 i 的重要性,$In(V_i)$是指向网页 i 的网页集合,$Out(V_j)$是网页 j 指向外部的网页集合,d 是阻尼系数,一般取 0.85。

个人理解,这里$Out(V_j)$是为了归一化,可以在左边也乘以$Out(V_i)$,公式为$\frac{S(V_i)}{|Out(V_i)|}=(1-d)+d*\sum_{j\in In(V_i)} \frac{S(V_j)}{|Out(V_j)|}$,这样就是特征为一维的GCN了

TextRank

TextRank算法是一种基于图的用于关键词抽取和文档摘要的排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,它利用一篇文档内部的词语间的共现信息(语义)便可以抽取关键词,它能够从一个给定的文本中抽取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法抽取出该文本的关键句。

TextRank算法的基本思想是将文档看作一个词的网络,该网络中的链接表示词与词之间的语义关系。

TextRank算法计算公式

$$ S(V_i)=(1-d)+d*\sum_{j\in In(V_i)} \frac{W_{ji}}{\sum_{V_k\in Out(V_j)} W_{jk}} S(V_j) $$

$S(V_i)$是句子 i 的重要性,$In(V_i)$是指向句子 i 的句子集合,$Out(V_j)$是句子 j 指向其他句子的句子集合,$W_{ji}$是两个句子的相似度,d 是阻尼系数,一般取 0.85。

<aside> 💡 每个单词作为pagerank中的一个节点。设定窗口大小为k,假设一个句子为w1, w2, w3, w4, w5, ..., wn,则w1, w2, ..., wkw2, w3, ...,wk+1w3, w4, ...,wk+2等都是一个窗口。在一个窗口中的任两个单词对应的节点之间存在一个无向无权的边。

</aside>

PageRank算法与TextRank算法的区别