对代码、编程感兴趣的可以关注「老K玩代码」公众号和我交流!分享代码、经验、项目和资讯


毕业论文摘要如何生成目录(给你的论文自动生成摘要)(1)

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

之前写过一篇关于论文降重的技术爽文,收到了不错的反响。毕业生的法宝,论文一键降重~!

最近对毕业论文方面的问答做了一个统计,发现除了降重,“摘要”的准备以及撰写也是莘莘学子们重点关心的一个话题,那摘要有没有可能用代码实现的捷径呢? 确实是有的,老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撰写本文以技术分享为初心,并仍然鼓励毕业生自主进行论文创作。

往期精彩推荐:
  1. 深度学习大家都看哪些社区论坛?
  2. 「实用技巧」教你如何用PIL给gif文件降帧数
  3. 「纪念」Python 2 时代结束了
  4. 「热荐」必须推荐的7个Python深度学习项目
  5. 「热荐」10个免费python 机器学习项目

如果你也对编程感兴趣,记得加老K玩代码公众号和我交流哦!

,