三行代码,给你的论文自动生成摘要

标签:组织   abs   第三方   自然语言处理   技术   设计   主题   入门   pagerank   

三行代码,给你的论文自动生成摘要

  • 对代码、编程感兴趣的可以关注老K玩代码和我交流!

三行代码,给你的论文自动生成摘要

三行代码,给你的论文自动生成摘要

之前写过一篇关于论文降重的技术爽文,收到了不错的反响。
毕业生的法宝,论文一键降重~!
最近对毕业论文方面的问答做了一个统计,发现除了降重,“摘要”的准备以及撰写也是莘莘学子们重点关心的一个话题,那摘要有没有可能用代码实现的捷径呢?
确实是有的,老K在这里就给大家介绍一下:

1. 首先导入需要的第三方库


# encoding:utf-8
from gensim.summarization import summarize
import re
  • 由于我们论文主要由汉字组成,为了避免编码问题,现在脚本头部写上utf-8的声明;
  • 我们会用到的,是一个叫做gensim的库:
“gensim是一个用于自然语言处理的库,最早是用来生成给定文章相似内容的工具,gensim本身就是“generate similar”的合成词。
  • 所以,想要实现摘要方面的功能,gensim是很适合的一个库。
  • 它会用到的依赖库有numpy和smart_open。

    2. 对文本进行预处理


text = re.sub(r‘。|?|!‘, ‘. ‘, text)
  • gensim的算法是基于句子进行的。
  • 由于gensim本身是针对英语文本的,所以为了让gensim能识别中文里的“句子”概念。我们做了一下以上的处理。
  • 以“. ”结尾,使gensim能判断此处为一句的终止符号。

    3. 一行代码实现摘要


abstract = summarize(text)
  • gensim的summarize模块,是基于textrank的变体。
  • textrank是以句子为最小单位,计算句子与句子之间的关联度,以此得到最具代表性的文本。最具代表性的文本,本身也就是最适合用于总结概述一段长文的句子。

    ex. 总结


# encoding:utf-8
from gensim.summarization import summarize
import re

def do_abstract(text):
    text = re.sub(r‘。|?|!‘, ‘. ‘, text)
    abstract = summarize(text)
    return abstratc

以上代码可以帮助你以最快的速度获取论文的核心内容,你可以用于:

  • 快速获取参考文献的核心内容,以判断该论文是否适合您的论文主题
  • 快速生成您论文的摘要内容草稿,可以直接从草稿开始修改,减少你从头组织语言的麻烦
“textrank是源于google的pagerank算法启发,应用到自然语言处理领域的结果。
  • summarize模块有很多参数可以设置,以适应需求更加趋于个性化的现实环境。
  • 对textrank感兴趣的朋友,可以百度Rada Mihalcea和Paul Tarau撰写的论文《TextRank: Bringing Order into Texts》了解更详细的原理。
  • 不适应英文阅读的朋友,也可以关注我的公众号《老K玩代码》,后续我会针对这篇论文写一篇个人的中文解析。
    该代码只能帮助您汇总文章核心内容,但不能完全替代摘要的撰写工作。
    老K撰写本文以技术分享为初心,并仍然鼓励毕业生自主进行论文创作。

往期精彩推荐:

数据可视化有什么好的Python项目?
【热荐】大佬们推荐的Python入门书综述
深度学习,大家都看哪些社区论坛?
[推荐]10个免费python机器学习项目
手把手教新手安装Anaconda配置开发环境

粉丝福利:


  • 阅读、分享《学好JavaScript基本功,老K推荐这几本书》,有机会获得《JavaScript高级程序设计》1本
  • 阅读、分享《11本推荐新手自学入门Python的必看书目》,有机会获得《Python核心编程》1本
    三行代码,给你的论文自动生成摘要

三行代码,给你的论文自动生成摘要

标签:组织   abs   第三方   自然语言处理   技术   设计   主题   入门   pagerank   

原文地址:https://blog.51cto.com/15069443/2576231

版权声明:完美者 发表于 2021-01-02 10:31:17。
转载请注明:三行代码,给你的论文自动生成摘要 | 完美导航

暂无评论

暂无评论...