/ExtractTopicSentence

基于标题分类的主题句提取方法可描述为: 给定一篇新闻报道, 计算标题与新闻主题词集的相似度, 判断标题是否具有提示性。对于提示性标题,抽取新闻报道中与其最相似的句子作为主题句; 否则, 综合利用多种特征计算新闻报道中句子的重要性, 将得分最高的句子作为主题句。

Primary LanguageJava

ExtractTopicSentence

基于标题分类的主题句提取 基于标题分类的主题句提取方法可描述为: 给定一篇新闻报道, 计算标题与新闻主题词集的相似度, 判断标题是否具有提示性。对于提示性标题,抽取新闻报道中与其最相似的句子作为主题句; 否则, 综合利用多种特征计算新闻报道中句子的重要性, 将得分最高的句子作为主题句。

1.构造新闻的主题词集 (1)对于爬取的有标签的或关键词的文章,将标签作为主题词集的一部分。 (2)对文本做预处理,分句、分词并去除停用词,词性过滤、词频过滤。 (3)使用信息熵计算文章中每个词的权重。 (4)使用NLPIR关键词抽取工具抽取文章的关键词,然后加上标签作为每篇文章的主题词集。

2.标题分类 将标题分为两类,一类是有提示性,一类是没有提示性。计算标题与主题词集的相似度。 (1)对标题分词,然后计算标题与主题词集中词的重合的个数。将个数作为相似度度量。仅考虑实义词如:动词、名词、命名实体等。这里设置相似度的阀值为1,即重合的个数大于等于1时该标题具有提示性,重合的个数小于1时不具有提示性。 标题具有提示性标记为1,不具有提示性标记为0。

3.主题句特征选取 (1)句子的相对词频 先根据之前计算出的词的权重,计算出每个句子的所有词的权重的和A作为这个句子的相对词频,然后找出所有句子中具有最大相对词频的句子,对应的词的权重和为B。 Score(Si)=A/B

(2)句子长度 主题句倾向于取长句子。

这里C=16。 (3)命名实体 对句子中出现的如who/whom/when/where这里命名实体词做统计,出现这种词越多的句子是主题句的可能性越大。若命名实体词出现的次数为A,句子的长度为B。则: Score(Si)=A/B.

(4)句子与标题的重合度 首先找出句子跟标题重合的词,计算重合的词的权重和为A,然后计算标题的每个词的权重和为B。 Score(Si)=A/B

(5)句子与标题的相似度 计算句子与标题句子的相似度: Score(s)=SimilarityRatio (6)句子与关键词集的重合度 计算分词后的句子与关键词集相同的词个数为A,关键词集中的词个数为B。则: Score=(A/B) (7)句子位置 对于一篇文章中的第i条句子Si.

这里l=3。需要按段分句。 (8)(还未用)判断句子中是否有触发词,有触发词则Score=1,没有则Score=0; 事件触发词库:libevent。 把上面每一步计算出的结果作为句子的特征值。

4.主题句提取 计算每个句子的总分,每个句子的总分是各个特征分量的线性组合。

ɑ表示标题是否具有提示性,若标题具有提示性则该值为1,否则该值为0。 Wk是(1)-(7)对应特征的权重。Scorek为特征计算值。 Wk的确定需要基于训练语料训练后得到最优组合。

5.特征权重参数学习 使用GIS通用迭代算法进行特征权重的估计。 确定(1)-(7)的权重分别为1:0.05,2:0.05,3:0.05,4:0.2,5:0.2,6:0.15,7:0.3。

附:文章词权重计算方法: 信息熵计算公式。不需要基于大量的训练语料,把计算出来的每个值作为该词的权重。