基于多重映射的自动中文短文摘提取方法

2016-12-21 11:06刘一波
电子技术与软件工程 2016年20期

摘 要 中文短文摘提取时受其字数限制,难以获得均衡的提取性能。针对该问题,本文提出了一种基于多重映射的自动短文摘提取方法。

【关键词】自动短文摘提取方法 字数限制 提取性能

自动文摘技术是处理海量信息的重要手段,可以帮助人们高效地获取信息。自动文摘用计算机自动生成全面反映文献中心内容的摘要。从其生成策略看,自动文摘分为生成式和抽取式两类。生成式文摘基于自然语言理解和生成技术。抽取式文摘通过预定义的特征集,选取原文的句子形成文摘。

1 多重映射规则定义

本文采用抽取式方法进行中文短文摘的提取。为抽取反映文本中心内容的句子,需对句子进行特征提取。由于单一特征难以获得高召回率,本文基于传统文摘的常用特征,提出了一种多重映射方法。

1.1 句子关联度映射规则Hst

本文考虑文摘是最能表达文本主题的句子集,因此,可计算句子与文本的关联度,提取关联度高的句子作为文摘的候选句子集。

设有文本D={S1,S2,…,Sn},其中Sk={tk1,tk2,…,tkn}为其任意句子,tkr为Sk的词项。本文认为句子Sk与D的关联度越大,句子Sk对D的隶属度越强,则Sk越具代表性。由此,将句子Sk与文本D的关联度计算看成是分类问题。结合朴素贝叶斯多项式模型,本文将Sk与D的关联度参数Wst(Sk,D)定义为:Sk相对于D的后验概率,由此得到关联度值计算如式(1)所示:

其中,P(Sk)为Sk在D中的先验概率,tf(tkr,Sk)为词项tkr在Sk中的频度,P(tkr|D) 为词项tkr在D中的条件概率,其计算如式(2)所示:

考虑任一句子在文本中出现的概率均等,令P(sk)=1,由此将式(1)改写为式(3):

对任意Sk∈D,通过式(3)计算其与D的后验概率,得到Sk与D的关联度值Wst(Sk,D)。通过设定阈值α,选取Wst(Sk,D)大于α的句子作为候选文摘句子集。本文将长度小于或等于5的句子称为特短句,长度大于110的句子称为特长句,对文本D的句子Sk,通过式(4)计算其长度映射值:

其中,len是句子Sk中包含的字符数。通过设置阈值β,使长度小于β的较短句获得较大映射值。

1.2 位置映射规则Hp

现有研究表明,文本的首段与尾段句往往蕴含更多主题信息,人工摘要中85%的句子为段首句,7%为段尾句。结合现有文摘技术对位置特征的用法,本文对任意文本D,设置其句子Sk的位置映射值计算如式(6)所示:

由此定义位置映射规则Hp如下:

映射规则Hp:

令映射集

for each Sk in D

计算Wp(Sk)

if Wp(sk) > 0

endif

endfor

规则Hp抛弃了所有非段首、段尾句,对形成的映射集Hp(S),在后续多重映射阶段,优先选取位置映射值大的句子。

1.3 长度映射规则Hl

本文将长度小于或等于5的句子称为特短句,长度大于110的句子称为特长句,对文本D的句子Sk,通过式(4)计算其长度映射值:

其中,len是句子Sk中包含的字符数。通过设置阈值β,使长度小于β的较短句获得较大映射值。由此定义长度映射规则Hl如下:

映射规则Hl:

令映射集

for each Sk in D

计算Wl(Sk)

if Wl(Sk) > 0

endif

endfor

1.4 标题相似度规则Ht

本文用余弦夹角作为句子与标题的相似度。以词频作为词的权重,设句子向量 Sk={wk1,wk2,…,wkm},标题向量t={t1,t2,…,tm},相似度计算如式(5)所示:

(5)

由此定义标题相似度映射规则Ht如下:

映射规则Ht:

令映射集

for each Sk in D

计算sim(Sk,t)

if sim(Sk,t) >γ

endif

endfor

通过设置阈值γ,可获得不同大小的映射集作为候选句子集。

2 多重映射方法

多重映射方法如图1所示。

如图1所示,对句子集S={s1,s2,…,sn},多重映射(Multiple MAPPing,MM)包含4种映射:关联度映射Hst,标题相似度映射Ht,位置映射Hp,长度映射Hl,R为最终提取到的文摘句子集。以映射集为顶点,边(Hm,Hn)表示映射集,由此得到图2的映射关系图。

映射关系可能为完全图(图2(a)),也可能非连通(图2(b))。对此需在多重映射中运用不同策略。

结合前述的多种映射规则,对任意文本,可得到其句子的多种映射值。在现有文摘提取方法中,有将映射值作为权重,通过多映射值加权求和给句子打分,再根据分数排序来进行句子提取。本文将这种方法作为Baseline,同时提出多重映射的方法,再通过多重映射从多个候选句子集中提取出文摘句子集。下面进行了详细描述:

设待提取文摘文本为d,S={s1,s2,…,sn}是d的句子集。构造任意句子si的结构如下:si(wst, wt, wp, wl, score)

其中,wst, wt, wp, wl分别表示si的几种映射值,score表示si在各映射集中出现的总频度。由此,分别计算S的多种映射值,得到:

S={si(wst, wt, wp, wl, score) }i=1…n

调整各映射值的阈值,对S应用前述规则,生成多个映射集,分别为Hst(S),Ht(S),Hp(S),Hl(S)。再对S进行聚类,得到中心句子集Hc(S)。设最终提取到的文摘句子集为R,多重映射的目标是从上述多映射集中提取文摘句子集R。设LEN为待提取文摘的长度,多重映射算法如算法1所示:

算法1:

初始化,令句子序列SS为空

令文摘句子集:

令文摘长度summLen = 0

BEGIN

① for each si in Hst(S)or Ht(S)or Hp(S)or Hl(S)

SS = SS.add(si)

endfor

② for each si in SS

si.score = si在SS中重复出现的次数

endfor

③ 去除SS中的重复句

④ for each si in SS

if si.score == 4

summLen = summLen + lenof(si)

SS = SS.delete(si)

endif

endfor

⑥ 生成句子序列SK

SK = Sort SS on si.score, si.wt, si.wst, si.wp, si.wl

⑦ sen=1

⑧ while(sen <= lenof(SK))

si = SK.get(sen)

if(summLen + lenof(si) < LEN)

去除R的冗余句、进行同义短词替换

summLen = summLen + lenof(si)

endif

sen = sen + 1

endwhile

⑨ 对R按句子在文本中出现的位置排序,取总长度最接近LEN的前n个句子,作为文摘。

END

算法的第④步处理了映射关系为完全图的情况。第⑥步处理了非完全图的情况。在对SS排序时,按关键字为句子频度、标题相似度、文本关联度、位置、句子长度的次序进行排序。这种对关键字的排列顺序,是本文根据单一映射规则下的文摘质量排序所得。

3 结束语

针对中文自动短文摘抽取问题,本文提出了基于多重映射的提取方法。本文从特征值计算方法、多映射规则协同策略的角度,讨论了如何提高短文摘的提取性能。实际上,短文摘的提取效果还极大地依赖于文本分词及去冗余等操作。另外,本文方法很大程度依赖于多参数设置,尽管参数选取有一定规律可循,但总体来看,参数设置仍带有强烈的启发式特征。下一步将针对上述问题,结合短文摘的特征提取策略展开进一步研究。

参考文献

[1]蒋效宇.基于关键词抽取的自动文摘算法[J].计算机工程,2012,38(03):183-186.

[2]曹洋,成颖,裴雷.基于机器学习的自动文摘研究综述[J].图书情报工作,2014,58(18):122-130.

[3]黄长伟.自动文摘技术研究现状分析[J].科技之窗,2011(07):150-151.

[4]傅间莲,陈群秀.基于规则和统计的中文自动文摘系统[J].中文信息学报,2006, 20(05):10-16.

作者简介

刘一波(1975-),女,湖南省新邵县人。大学本科学历。现为海军南海工程设计院工程师。主要研究方向为计算机。

作者单位

海军南海工程设计院 广东省湛江市 524000