摘要提取:对文本进行降维处理

内容参考:
https://www.bilibili.com/video/BV1UR4y1E7fa?spm_id_from=333.337.search-card.all.click

TextRank-文本摘要算法

TextRank基于图的排序算法,来源于谷歌的PageRank算法,把文本单元分割成若干组成单元(单词或句子)并建立图模型,利用投票机制对文本的重要成分进行排序,仅仅利用****单篇文档本身的信息就可以实现关键词提取,摘录。和LDA,HMM等模型不同,TextRank不需要对多篇文档进行训练。

基于TextRank的关键词提取

从一端给定的文本自动抽取有意义的若干词语或词组,TextRank算法是利用局部词汇之间的关系(共现窗口)对后续关键词进行排序,直接从文本本身抽取:

  1. 给定文本T按照完整句子进行分割
  2. 每个句子进行分词和词性处理,并过滤掉停用词,只保留指定词性的单词,保留后的词为候选关键词
  3. 构建候选关键词图,G=(V,E)其中V为节点集,由步骤2中生成的候选关键词组成,然后采用共现关系构造任意两点之间的边,两个节点之间存在的边仅当他们对应的词汇在长度为K的窗口中共现。K表示窗口大小,即最多共现K个单词。
  4. 根据上面的公式,初始化各个节点的权重,迭代计算各个节点的权重,直至收敛。
  5. 对节点权重进行倒叙排列,从而得到最重要的T个但系,作为候选关键词
  6. 由步骤5得到的关键词,在原始文本中进行标记,若形成相邻词组则组合成多次关键词

基于TextRank的文本摘要

基于TextRank的文本摘要属于自动摘录,通过选取文本中重要度较高的句子形成文摘,其主要步骤如下:

  1. 预处理-将输入的文本或文本集的内容分割成句子得T=[S1,S2,S3····Sm],构件图G=(V,E)其中V为句子集,对句子进行分词,去除停止词,得到Si = [ti1,ti2,ti3,ti4,·····],其中tij是保留后得候选关键词
  2. 句子相似度计算,构建图G中的边集E, 基于句子间的内容覆盖率,给定两个句子Si,Sj,采用相似度计算公式进行计算
    .
    若相似度大于给定的阈值,就认为两个句子语义相关并将它们连接起来,即边的权值
  3. 句子权重计算:根据公式,迭代传播权重计算各句子的得分
  4. 抽取文摘句,将3得到的句子进行倒序排序,抽取重要度最高的T个句子作为候选文摘句
  5. 形成文本摘要:根据字数或句子数要求,从候选文摘句中抽取句子组成摘要

实验步骤:

实验目标:

1.导入依赖库

from gensim.summarization import summarize

2.加载数据

file = r'path'
with open(file,'r')as f:content = f.read()

3.文本截取

# 设置开始字符串和结束字符串
start_string = ''
end_string = ''
contents =

4.文本清理-使用正则表达式

# 空格 替换 n

5.输出文本摘要

# 调用Gensim TextRank 文本摘要算法,执行文本摘要
gensim.summarization.summarizer.summarize(text,ratio=0.2, word_count = None, split = False)
# text为输入文本
# 重要 : ratio 这是摘要中所要求的句子数与输入文本数句子的比值 (摘要比例设置为0.2。提取原文档20%的文档)

第二种文本处理 方式

6.加载数据
加载wiki.txt数据,以实际数据存储路径为准

7.文档清洗
8.输出文本摘要

文本分析

TextRank文本摘要算法相关推荐

  1. python文本摘要_TextRank 文本摘要算法Python 实现

    TextRank 文本摘要算法Python 实现(TextRank for Text Summarization) import math import numpy as np "" ...

  2. 文本处理算法_关键词提取和文本摘要算法TextRank详解及实战

    关键词提取和文本摘要算法TextRank详解及实战 写在前面 最近一直没有更新文章,实在惭愧.伴随着小老弟的职业方向由风控转向了NLP,后面的文章也会集中在NLP领域,希望大家能够继续支持~ 导读 本 ...

  3. 设计一个简单的[JS]文本摘要算法

    引 网站cookie中有一段用户信息(包括微信用户信息,用户关联信息)的文本,使用entrance键存储,选择不同的条件后文本内容也不同,cookie上的值也会变化.本来的打算是通过将entrance ...

  4. 独家 | 基于TextRank算法的文本摘要(附Python代码)

    作者:Prateek Joshi 翻译:王威力 校对:丁楠雅 本文约3300字,建议阅读10分钟. 本文介绍TextRank算法及其在多篇单领域文本数据中抽取句子组成摘要中的应用. TextRank ...

  5. 新手探索NLP(九)——文本摘要

    转载自知乎https://zhuanlan.zhihu.com/p/67078700 文本摘要是一种从一个或多个信息源中抽取关键信息的方法,它帮助用户节省了大量时间,用户可以从摘要获取到文本的所有关键 ...

  6. 自动摘要生成(二):由PageRank转变而来的TextRank算法

    一.瞎扯 这是我2019年写的第一篇博客,开篇说点题外话,翻了一下博客的记录,上一遍新闻自动摘要生成(一)的博客还是去年7月写的,这大半年的时间里,忙着秋招,忙着找工作,忙着实习,忙着完成毕业设计,以 ...

  7. 【自然语言处理基础技能(NLP)】jieba中文文本处理

    1.基本分词函数与用法 # jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(un ...

  8. Bert超长文本分类、文本摘要

    Bert大规模超长文本分类 长文本分类 文本摘要算法Textrank介绍 句子相似度计算 训练全部代码 分类结果 总结 长文本分类 文本分类是把文本打上对应的类别标签,在互联网中的应用场景很多,如评论 ...

  9. tfidf关键词提取_基于TextRank提取关键词、关键短语、摘要,文章排序

    之前使用TFIDF做过行业关键词提取,TFIDF仅从词的统计信息出发,而没有充分考虑词之间的语义信息.TextRank考虑到了相邻词的语义关系,是一种基于图排序的关键词提取算法. TextRank的提 ...

最新文章

  1. win10用什么软件测试硬件,Win10系统下硬件设备检测工具的使用方法
  2. 2018-3-1 算法学习部分
  3. high severity error mysql_pg将运行日志导入表中的方法及时区问题解决
  4. Android之调用系统分享
  5. jit即时编译_热点中的即时编译器(JIT)
  6. [转]深入理解linux内核list_head
  7. JVM学习笔记-04-java历史-沙箱安全机制
  8. python金融数据怎么获取_class类怎样在python中获取金融数据?
  9. mysql8.0.19初始密码输入错误_MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子)...
  10. android用户界面之AlarmManager教程实例汇
  11. 马云自评英语水平;支付宝推刷脸支付;苹果研发基带芯片 | 极客头条
  12. Jenkins的Windows Slave的配置
  13. c语言文献,关于计算机C语言的外文文献
  14. 中鸣机器人走黑线_BOEBOT机器人走黑线任务处理过程以及反思
  15. pyScripter2.7 运行时提示远程解释器再初始化了
  16. 2022全新玖五社区系统源码V9.8版
  17. 基于Tablestore的Wifi设备监管系统架构实现 1
  18. HTML(超文本标记语言)——总结
  19. 三角法激光雷达测距原理
  20. 平移、旋转和缩放矩阵推导

热门文章

  1. XP SP3 ,关机后自启动的问题
  2. 微信小程序列表开发-个人中心界面-wxss(二)
  3. PTA R7-5 通过指针,输出对象数组的数据 (20 分)
  4. ACL访问控制列表——命名访问控制列表(实操!!!)
  5. 彩铅学习第三课,平涂练习
  6. gamegamegamegamegame
  7. MSSQLSERVER重建数据库索引
  8. Sklearn中的knn算法基本讲解
  9. 选择 Parquet for Spark SQL 的 5 大原因
  10. Ai绘画生成软件哪个好用?这款AI作画的二次元太精致了