摘 要 中文短文摘提取时受其字数限制,难以获得均衡的提取性能。针对该问题,本文提出了一种基于多重映射的自动短文摘提取方法。
【关键词】自动短文摘提取方法 字数限制 提取性能
自动文摘技术是处理海量信息的重要手段,可以帮助人们高效地获取信息。自动文摘用计算机自动生成全面反映文献中心内容的摘要。从其生成策略看,自动文摘分为生成式和抽取式两类。生成式文摘基于自然语言理解和生成技术。抽取式文摘通过预定义的特征集,选取原文的句子形成文摘。
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