结合Doc2Vec与改进聚类算法的中文单文档自动摘要方法研究
图1 本文方法示意图
一.基于Doc2Vec 的句子向量训练
Doc2Vec 模型能很好地结合上下文语境, 挖掘语义、语法和传统统计语言模型不能提取的诸多其他特征。本文引入该方法, 用以生成句子的向量模型。
Doc2Vec 是 Mikolov 等[8]在 2014 年提出的一种较新颖的可将句子或段落直接转化为固定维度向量的文档分布式表达的方法。该方法利用无监督的训练方法获得任意长度的文本向量, 主要通过两种模型进行训练: DM(Distributed Memory Model)和 DBOW(Distributed Bag Of Words), 两种模型均以神经网络语言模型为基础, 去掉隐含层, 利用上下文和段落特征来预测某词语出现的概率分布。段落向量与词向量是其训练过程的副产物。
在 Doc2Vec 的两种模型中, DBOW与DM训练方法基本一致, 在仅给定段落向量的情况下预测段落中一组随机单词出现的概率。但是, 与DM不同的是,DBOW的输入层仅为一个段落向量, 而输出层为多个词向量的概率分布 , 且 在训练过程中只需存储Softmax 参数, 相比DM模型还需要存储词向量来说,节省了存储空间。
二.基于密度最大距离最远原则优化初始聚类中心的K-means聚类
选出的初始聚类中心点应具有较高的密度, 即在一定的距离半径内, 应具有相对较多的邻居节点; 同时, 选出的初始聚类中心点间应具有相对较远的距离, 这样选出的初始聚类中心点能在有效代表类簇的同时, 也能保证类簇与类簇间的独立性。
1.相关概念
(1)期望密度:,其中N代表的是单篇文档中句子的总数,k是预先定义的聚类个数。
(2)密度半径:取句子向量空间中任意一个句子,以
为中心,搜索距离其最近的α个句子,组成语句
的α领域空间,将与这α个句子之间的距离进行排序,取最大值作为该领域空间的密度半径,用β表示。
- β越小说明数据分布密集,反之说明稀疏,显然具有较小邻域密度径的句子更能够相对有效地表征其所属区域的句子群,也更有希望成为初始聚类中心点。
- 计算所有语句向量所形成的α邻域空间的密度半径β, 并对语句向量按照其邻域空间的密度半径由小到大的顺序排序, 将密度半径最小的语句选出作为第一个初始聚类中心。在选取初始聚类中心时, 不仅需要考虑语句所形成的α邻域空间的密度特性, 还要考虑候选聚类中心与已有聚类中心之间的距离, 选出具有相对较高密度且与已有初始聚类中心具有相对较远距离的语句,作为下一个初始聚类中心。
(3)独立距离:设文档向量集合为D,S为已选初始聚类中心向量集合,为集合D-S中的任一句子向量, 则向量
与已选初始聚类中心向量集合S的独立距离如公式(1)所示,句子
与已选聚类中心集合S中所有句子的独立距离等于与集合S中每一个句子向量
间距离的最小值。
为句子
与句子
间的距离, 以欧几里得距离公式进行计算如公式(2)所示:
- 独立距离的概念衡量的是候选句子向量相对于已选聚类中心向量的独立程度。
- 独立距离越大, 候选向量与已选类中心向量划分到同一簇的可能性越小。
(4)中心度:设文档向量集合为D,S为已选初始聚类中心向量集合,为集合D-S中的任一句子向量, 则向量
与已选初始聚类中心向量集合S的中心度如公式(3)所示,其中
为句子向量
的α邻域空间的密度半径,为与已选聚类中心向量集合S的独立距离。
- 中心度是在已选初始聚类中心向量集合的基础上, 衡量候选向量是否适合成为下一个聚类中心的程度的概念。候选向量的中心度越大, 该向量越适合作为下一个初始聚类中心点。
- 中心度将聚类中心点的密度特性及聚类中心点间的距离特性综合考虑在内, 那些具有较高密度特性(β小), 同时与已有聚类中心点间具有较远距离(较大的独立距离 Indepen )的节点将被选出作为下一个初始聚类中心, 由此可以保证选出的初始聚类中心既具有较高的对类簇的代表能力, 同时也具有较高的区分不同类簇的能力。递归执行此过程, 直至选出的初始聚类中心达到指定数目为止。
2.具体实现过程
输入: 单篇文档句子向量集合 D , 初始聚类中心集合S (此时为空集), 待生成的摘要句个数 k ;
输出: k 个句子类簇。
①根据定义 1 计算句子的期望密度, 根据定义 2 计算文档向量集合中每个句子向量的α邻域空间的密度半径;
②根据密度半径由小到大的顺序对所有的句子向量排序;
③将最小的句子向量
作为第一个初始聚类中心向量添加到集合 S 中;
④计算句子向量与集合S 中已选取的初始聚类中心向量间的独立距离
,并选取
最大的句子向量作为下一个初始聚类中心添加到初始聚类中心集合S中;
⑤更新已经选取的聚类中心向量集合 S 和待筛选的句子向量集合D-S中的句子向量;
⑥重复步骤④和步骤⑤, 直到集合 S 中的句子向量个数达到期望获得的聚类中心向量数目, 算法停止;
⑦以集合 S 中的所有句子向量作为初始聚类中心, 执行K-means 算法, 得到最终的 k 个句子簇类。
三.基于最大信息熵的摘要抽取
传统的基于 K-means 聚类算法通常提取距离类中心最近的句子作为最终摘要句输出。按照 K-means 聚类的思想, 类中心是对应类簇所包含向量的均值, 该中心虽能有效表征相应类簇, 但是以此为标准提取摘要句, 并不能保证提取的摘要句是该类中所有句子的最佳代表。原因是, 提取的摘要句应与其所在类簇中所有句子具有相对较高的相似度, 但是, 位于聚类中心并不能保证这一点。本文引入信息熵的思想, 计算类簇内句子向量与其他句子向量间相似性的熵值, 选取熵值最大的句子作为最终的摘要句输出。通过此原则选取的摘要句, 与同类簇内句子间具有较高的平均相似度, 可以作为该类簇句子的代表句。 信息熵的计算以每一类簇中句子的相似度矩阵为基础, 如公式(4)所示:
其中,表示同类簇中句子
与
间的相似度, m 为该簇类中除句子
以外的句子向量个数,对数里面用
代替
,是为了避免出现
为 0 时没有意义的情况。
的计算如公式(5)所示:
计算类簇中句子向量的信息熵, 在每一类簇中选取具有最大信息熵的句子, 作为相应类簇的摘要句。由于中文科技论文具有较强的逻辑严密性, 论文大多遵循一定的实验流程, 故将提取出来的摘要句按原文顺序输出组成最终的摘要。