TextRank算法获取文本关键词
1.PageRank
在了解TextRank前,首先一定要知道PageRank,实质上个人认为可以把TextRank当做PageRank2.0。谷歌的两位创始人的佩奇和布林,借鉴了学术界评判学术论文重要性的通用方法,“那就是看论文的引用次数”。由此想到网页的重要性也可以根据这种方法来评价。于是PageRank的核心思想就诞生了:
- 如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高
- 如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高
2.PageRank算法原理
PageRank算法输出概率分布,用于表示随机点击链接的人到达任何特定页面的可能性。可以为任何大小的文档集合计算PageRank。在一些研究论文中假设在计算过程开始时,分布在集合中的所有文档中均匀分配。PageRank计算需要多次传递,称为“迭代”,通过集合调整近似PageRank值以更接近地反映理论真实值。
概率表示为介于0和1之间的数值。0.5概率通常表示为发生事件的“50%概率”。因此,PageRank为0.5表示点击随机链接的人有50%的可能性被导向0.5 PageRank的文档。
假定有四个网页:A、B、C和D,从页面到其自身的链接将被忽略。从一个网页到另一个网页的多个出站链接被视为单个链接。PageRank初始化为所有网页的相同值。在PageRank的原始形式中,所有网页上PageRank的总和是当时Web上的网页总数,因此在本例中的每个页面的初始值都为1。但是,PageRank的更高版本和本节的其余部分假设概率分布在0和1之间。因此,此示例中每个页面的初始值为0.25。
在下一次迭代时,从给定网页转移到其出站链接目标的PageRank在所有出站链接中平均分配。
如果系统中的唯一链接是从网页B,C和D到A,则每个链接在下一次迭代时将0.25 PageRank传输到A,总计0.75。
P R ( A ) = P R ( B ) + P R ( C ) + P R ( D ) PR(A)=PR(B)+PR(C)+PR(D) PR(A)=PR(B)+PR(C)+PR(D)
假设B具有到C和A的链接,页面C具有到页面A的链接,而页面D具有到所有三个页面的链接。因此,在第一次迭代中,B将转移一半现有的值,即0.125,A转移它的一半,即0.125,至C。而C将其所有现有值0.25转移到它链接到的唯一页面A。由于D有三个出站链接,它会将现有值的三分之一或大约0.083转移到A。在此迭代完成时,页面A的PageRank大约为0.458。
P R ( A ) = P R ( B ) L ( B ) + P R ( C ) L ( C ) + P R ( D ) L ( D ) PR(A)=\frac{PR(B)}{L(B)}+\frac{PR(C)}{L(C)}+\frac{PR(D)}{L(D)} PR(A)=L(B