方法
摘要生成算法主要分为抽取型(Extraction-based)和概括型(生成)(Abstraction-based)两类。
传统的摘要生成系统大部分是抽取型的,就是从给定文章中抽取出关键的句子或短语,重新拼接成一小段摘要,没有对原有内容做创造性修改。生成摘要的语法可能不准确。
GitHub上的有sumy, pytextrank, textteaser等。
概括性摘要生成系统能生成或许不属于源文档的新句子。由于抽象式机器学习算法能够生成表示源文本中最重要信息的新短语和句子,所以这些抽象式算法有助于克服抽取式摘要中的语法不准确问题。
下面就抽取式摘要生成做基本实现
数据集:nlpcc2017textsummarization,
链接:https://pan.baidu.com/s/1P7Vv11NKSWMFK0HUChvaPQ
提取码:kxr1
(1)textrank
首先应用Glove得到对应数据的词向量,按取均值的方法得到句子向量。并应用textrank算法得到排名前3的句子。具体实现过程如下:
1)加载包
2)读取数据
3)文本做简单处理
4)训练glove模型的词向量
5)句子向量准备
6)相似矩阵和textrank模块
7)得出结果并存储
8)结果如下: