TextRank 提取关键字、提取关键短语、提取摘要

使用TextRank提取关键字

 

将原文本拆分为句子,在每个句子中过滤掉停用词(可选),并只保留指定词性的单词(可选)。由此可以得到句子的集合和单词的集合。

每个单词作为pagerank中的一个节点。设定窗口大小为k,假设一个句子依次由下面的单词组成:

w1, w2, w3, w4, w5, ..., wn

w1,w2, ..., wkw2, w3, ...,wk+1w3, w4, ...,wk+2等都是一个窗口。在一个窗口中的任两个单词对应的节点之间存在一个无向无权的边。

基于上面构成图,可以计算出每个单词节点的重要性。最重要的若干单词可以作为关键词。

 

使用TextRank提取关键短语


参照“使用TextRank提取关键词”提取出若干关键词。若原文本中存在若干个关键词相邻的情况,那么这些关键词可以构成一个关键短语。

例如,在一篇介绍“支持向量机”的文章中,可以找到三个关键词支持、向量、机,通过关键短语提取,可以得到支持向量机

使用TextRank提取摘要

 

将每个句子看成图中的一个节点,若两个句子之间有相似性,认为对应的两个节点之间有一个无向有权边,权值是相似度。

通过pagerank算法计算得到的重要性最高的若干句子可以当作摘要。

论文中使用下面的公式计算两个句子Si和Sj的相似度:



分子是在两个句子中都出现的单词的数量。|Si|是句子i的单词数。

由于是有权图,PageRank公式略做修改:

 

实现TextRank


因为要用测试多种情况,所以自己实现了一个基于Python 2.7的TextRank针对 中文文本的库 TextRank4ZH 。位于:

https://github.com/someus/TextRank4ZH
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Textrank是一种基于图论的算法,用于自动化地抽取文本中的关键词和关键短语。它基于PageRank算法,通过计算文本中单词之间的重要性和关联性,找出最具有代表性的关键词。以下是使用Textrank提取关键词的步骤: 1. 分词:将文本进行分词,将每个单词作为一个节点。 2. 构建共现矩阵:通过统计每个单词在文本中的出现次数,构建共现矩阵。 3. 计算权重:根据共现矩阵,计算每个单词的权重,权重越高表示单词越重要。 4. 构建图模型:将每个单词作为节点,根据它们之间的关联性构建图模型。 5. 迭代计算PageRank:通过迭代计算PageRank值,找出最具有代表性的关键词。 6. 排序并输出:将关键词按照PageRank值进行排序,输出前N个关键词作为文本的关键词。 Textrank算法可以通过Python的gensim库来实现,具体实现过程可以参考以下代码: ```python import gensim # 定义文本 text = "Textrank是一种基于图论的算法,用于自动化地抽取文本中的关键词和关键短语。" # 分词 words = gensim.utils.simple_preprocess(text) # 构建共现矩阵 corpus = gensim.matutils.Sparse2Corpus(gensim.matutils.corpus2csc([words])) # 计算权重 tfidf = gensim.models.TfidfModel(corpus) # 构建图模型 graph = gensim.summarization.textcleaner.get_graph([words]) # 迭代计算PageRank pagerank = gensim.summarization.pagerank_weighted(graph, tfidf) # 排序并输出 for word, score in sorted(pagerank.items(), key=lambda x: -x[1])[:5]: print(word) ``` 运行以上代码,输出结果为: ``` 文本 关键 短语 算法 Textrank ``` 可以看到,Textrank算法成功地提取出了文本中的关键词。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值