PageRank原理:
- 被更多网页链接的网页排名应该靠前。
- 被排名靠前的网页链接的网页重要性也应该提升。
- 一个网页的排名等于所有链接到该网页的网页的加权排名之和。
映射到文本领域:
- 网页内容
- 能和更多句子中的词相似的句子重要性大。
令W为转移矩阵,由句子之间相似度计算得来。
初始状态为均匀分布。
直到p收敛,得到pagerank分数。
D = [s1, s2, s3 …, sN]
Words_list = [[w1, w2, …, sM], ...]
Words_set = list(set(Vocab(s1) + Vocab(s2))) size = Q
Sentence Similarity = (words both in s1 and s2) / [log(len1) + log(len2)]
W = similarity_matrix of Q * Q
P0 = [1/Q, 1/Q, ...]
While Pi – Pi-1 > e:
Pi = Pi-1 * W
...
Until converge
Get pagerank score of each sentence in D
实现:python
from textrank4zh import TextRank4Keyword, TextRank4Sentence