文本摘要主要有两种实现方式:抽取式(extractive)和生成式(abstractive)。
抽取式摘要从原文中选取关键词、关键句组成摘要。这种方法天然的在语法、句法上错误率低,保证了一定的效果。传统的抽取式摘要主要采用基于统计、基于图、聚类等方式完成无监督摘要。基于机器学习的方法主要将摘要作为一个二分类问题,通过对特征进行建模,判断一个句子是否属于摘要。基于神经网络的抽取式摘要往往将问题建模为序列标注和句子排序两类任务。
1.传统方法
1.1 Lead-3
直接抽取文章的前面3句作为摘要。
1.2 聚类
将文章中的句子视为一个点,按照聚类的方式完成摘要。对句子进行编码,得到句子的向量表示,再使用k均值聚类和Mean-shift聚类进行句子聚类,得到n个类别。最后从每个类别中,选择距离质心最近的句子,得到N个句子,作为最终的摘要。
1.3 TextRank
TextRank仿照PageRank,将句子作为结点,使用句子间相似度,构造无向有权边,使用边上的权值迭代更新结点值,最终选取N个得分最高的节点作为摘要。
2.机器学习方法
利用机器学习算法对统计特征进行建模,如朴素贝叶斯、SVM、隐马尔可夫算法等。主要特征有:主题词特征、大写词特征、线索短语特征、句子长度特征、段落特征等。
3.基于深度学习的方法
3.1 序列标注方式
抽取式摘要可以建模为序列标注任务进行处理,其核心想法是:为原文中的每一个句子打一个二分类标签(0 或 1),0 代表该句不属于摘要,1 代表该句属于摘要。最终摘要由所有标签为 1 的句子构成。