TextRank

义项:文本关键词抽取算法
TextRank

TextRank是一种基于图模型的文本排序算法,用于从单篇文档中无监督地抽取关键词和关键句。它把PageRank的思想迁移到文本上,把词或句子当作图的节点,以共现关系或相似度建立边,通过迭代计算节点得分并排序。该算法由Rada Mihalcea和Paul Tarau在2004年提出,只需文档自身信息,无需语料训练,实现简单,在自然语言处理中应用广泛。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

TextRank是一种面向文本的基于图的排序模型,其目的是评估文本单元的重要性,并据此生成关键词、关键短语与摘要[1]。它把文档拆解成若干组成单元,词或句子各自成为图中的一个节点,节点之间按共现关系或相似程度连线,再以投票机制衡量各节点在整张图中的重要性[2]。该算法属于无监督方法,不需要事先用多篇文档训练模型,仅凭单篇文档本身即可完成抽取,这一点与LDA、HMM等需要训练的模型有所不同[3][2]。

在基于图的自动摘要与关键词抽取方法中,TextRank被视作代表性算法之一,通常作为其他改进方法的对比基线[4][5]。

原理

TextRank的基本思路来自PageRank,即把文本单元的相互推荐理解为一种投票:一个节点被其他节点指向得越多、被指向它的节点越重要,自身得分就越高;某节点向多个节点投票时,票权会按比例分摊[6]。与PageRank依据网页超链接构建有向图不同,TextRank依据词共现或句子相似度构图,边一般无向,并可带表示共现次数或相似度的权重[3]。

节点得分的更新采用加权递归公式:$WS(V_i) = (1-d) + d \times \sum_{V_j \in In(V_i)} \frac{w_{ji}}{\sum_{V_k \in Out(V_j)} w_{jk}} WS(V_j)$。其中 $WS(V_i)$ 为节点权重,$w_{ji}$ 为节点间边权,$In$ 与 $Out$ 分别为前驱与后继节点集合,$d$ 为阻尼系数,常取0.85[7]。

抽取关键词的流程通常包括:按整句切分文本;分词并标注词性,过滤停用词、只保留名词、动词、形容词等指定词性;以保留下的词为节点,在长度为 $K$ 的滑动窗口内任意两词共现即连边,$K$ 一般取2;给各节点赋初值后反复迭代直至得分收敛;最后按得分降序取前若干个词作为关键词[8]。若抽取出的关键词在原文中相邻出现,可合并为关键短语[3]。

用于抽取关键句或摘要时,图中的节点换成句子,句子之间的相似度成为边权,常用的相似度由两句共同出现的词数除以两句话长的对数和得到:$Similarity(S_i,S_j) = \frac{|\{w_k \mid w_k \in S_i \& w_k \in S_j\}|}{\log(|S_i|) + \log(|S_j|)}$[3]。迭代收敛后得分较高的句子即为摘要候选句[9]。

发展历程

该算法在2004年7月举行的自然语言处理实证方法会议(EMNLP)上首次提出,论文题为《TextRank: Bringing Order into Text》,作者为Rada Mihalcea与Paul Tarau,载于会议论文集404至411页[1]。论文给出的两项方法分别面向关键词抽取与句子抽取,均无需人工标注或训练数据,作者报告其结果与既有基准上的已发表结果相比具有竞争力[10]。

此后该算法被广泛用于中文等信息处理场景,并出现了大量改进版本,例如引入词性、词位置、TF-IDF或词向量作为初始权重,或把句法分析与外部领域词典加入构图环节[11][2]。也有研究把自注意力机制或最大边界相关法与TextRank结合,以减少摘要句之间的冗余[12][7]。在工程实现层面,出现了面向中文文本的开源模块以及R语言包等可调用实现。

由于该算法只依据文本自身结构,无需训练,常被列为抽取式摘要与关键词抽取中的经典无监督方法,并被后续研究用作改进工作的对照[13]。部分综述性实验则指出,在不同数据集上,基于统计的方法与基于图的方法表现各有高低[4]。

应用

最直接的用途是从单篇文档中提取关键词与关键短语,并给出各词的重要度分值,中文分词工具中即有以该算法计算词权重的接口[14]。

第二个用途是抽取式自动文摘:把句子作为节点构建句子图,排序后选取高分句子组成摘要,无需生成新句子[13]。在新闻等文本处理中,该方法被用于提取主题句以概括关键事件[15]。

在更大的文本处理流程中,该算法也被用作中间环节,例如先由它算出特征词权重,再结合词向量与聚类结果生成文本向量,或与K-means聚类结合筛选领域关键词[14][2]。此外,与最大边界相关法等方法配合,可用于去除候选摘要句中的重复内容[12]。

局限

该方法以词共现与词形重合度量关系,不考虑语义,难以识别用不同词语表达同一概念的情况,可能造成抽取结果冗余而遗漏重要信息[16][7]。

其效果对分词与文本清洗较为敏感,抽取结果在很大程度上取决于分词质量,专业领域文本若使用通用词典切分,长术语易被拆散而影响后续计算[2]。

在关键词抽取上,该算法受词频影响较大,与传统统计方法相比在准确性上并无明显优势[17]。构图参数也会左右结果,滑动窗口大小对关键词抽取效果有明显影响,效果随窗口增大先升后降[18]。此外,引入聚类等外部信息以改进效果时,计算开销会随之增加[19]。

参见

  • PageRank —— TextRank 的直接思想来源,用于衡量网页在链接图中的重要性。

  • 关键词抽取 —— TextRank 最主要的应用场景之一,即从文档中挑选代表性词语。

  • 自动文摘 —— 以句子为节点应用 TextRank,可生成抽取式摘要。

  • TF-IDF —— 另一类常用的无监督词权重计算方法,常与 TextRank 对比或结合使用。

  • 自然语言处理 —— TextRank 所属的学科领域。

参考资料

  1. TextRank: Bringing Order into Text [引用日期2026-10-29]
  2. [0039] 3. TextRank模型:TextRank算法是一种用于文本的基于图的排序算法 [引用日期2026-10-29]
  3. 如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0 [引用日期2026-10-29]
  4. figures [引用日期2026-10-29]
  5. 基于TextRank算法的單文檔自動文摘研究 - 中國優秀碩士學文論文全文數據庫 [引用日期2026-10-29]
  6. 1727405032-窦晨晖-无监督句子级关键词抽取方法研究与实现(PDF) [引用日期2026-10-29]
  7. 第48卷 第5期 西南师范大学学报(自然科学版) 2023年5月 [引用日期2026-10-29]
  8. CN114265936A(PDF) [引用日期2026-10-29]
  9. 基于加权TextRank的中文自动文本摘要\* [引用日期2026-10-29]
  10. Textrank: Bringing order into text [引用日期2026-10-29]
  11. [0046] 根据所述文本图模型基于改进的textrank算法得到每个特征词的权重; [引用日期2026-10-29]
  12. 基于TextRank和自注意力的大文档无监督抽取式摘要 [引用日期2026-10-29]
  13. 基于Doc2Vec算法和图模型的中文自动摘要研究 [引用日期2026-10-29]
  14. google.com 上的网页 [引用日期2026-10-29]
  15. TextRank算法-知网阅读 [引用日期2026-10-29]
  16. core.ac.uk 上的 PDF 文件 [引用日期2026-10-29]
  17. 文章中的长句子还是短句子,将其罗列组成文章的摘要,都不 [引用日期2026-10-29]
  18. citations [引用日期2026-10-29]
  19. 詞向量聚類加權TextRank的關鍵詞抽取 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:34:21Z

历史版本

本条目引用的词条
PageRank 关键词抽取 自动文摘 TF-IDF 自然语言处理