分类: Java
2010-03-15 13:19:40
自动文摘技术,是自然语言处理的一个难点。当前,随着互联网的快速发展,自动文摘技术越来越多的收到研究者关注。本文主要介绍自动文摘的原理和实现方法--浅层式机械文摘方法。
文本自动文摘是指通过全文信息进行处理,从中提取出最重要的内容,结果重组后生成比原文更简短、精炼的文本(原文摘要)的过程。传统的自动文摘技术有两种方法,即机械式文摘方法和理解式文摘方法。
通常我们把基于浅层分析的文摘方法称为机械式文摘方法,而把基于实体层及话语层分析技术称为理解式文摘方法。当然在很多实际系统中,往往综合机械式文摘和理解式文摘这两种分析技术来分析文档,能保证系统效率的同时提高文摘的质量,称为复合文摘技术。本文主要介绍浅层式机械文摘方法。
处理过程主要分为语料训练和文摘提取两个步骤。语料训练主要是手工建立自动文摘系统的训练语料库,并通过对训练语料库的统一来建立一个通用(与特定文档无关)的特征库。文摘提取主要完成三部分功能:首先根据输入文档以及通用特征库来抽取输入文档中所蕴含的特征信息,即文档特征库;然后根据文档特征库以及相应的权值计算方法来计算每个语句的权值;最后根据语句权值大小,来抽取文摘生成摘要。
收集目标领域内一定数量的文档来构成训练语料库,并对每一篇文本手工编写摘要;然后通过将手工编写的摘要与原始文档进行对比统一来建立通用特征库。
主要用到一下4种特征信息。
1.线索词词典
线索词词典由一下3个子词典构成:
(1)奖励词典:如果一个语句中包含有该词典中的词或短语,则该语句作为文摘句的可能性就会增加,即可以正向加权;
(2)惩罚词典:与奖励词典正好相反,包含该词典中词或短语的语句出现在文摘中的可能性将比不包含这样词语的语句更小,即语句的权值会降低。
(3)无关词典:该词典中的词条和语句的加权无关。
为了构造线索词词典,需要事先构造一个训练语料库,该训练语料库由N篇通常取自不同领域的文本文档组成,同时还需要为每篇文档准备相应的一篇或者多篇摘要。然后通过统一每个词语的如下信息来决定每个词语应该归入哪一个词典之中。
(1)频度:每个词语在语料库中出现的次数;
(2)分布:在语料库中包含该词语的文档数目;
(3)选择率:词语出现在文摘库中的频度与出现在语料库中的频度的比值。
按照如下原则构造候选线索词:
(1)无关词候选:当词语的分布大于给定的域值f时,并且选择率在两个给定的域值r1,r2之间的是否,该词语列入无关词候选对表;
(2)奖励词候选:当词语的选择率大于r1时,则列入该候选列表;
(3)惩罚词候选:如果词语的选择率小于r2,则列入该候选列表。
2. 关键词词典
高频度、特殊标引词、或者专业术语的诗词往往对于一篇文档所表述的内容起到比较重要的作用。
3. 标题词库
标题词库包含标题以及各级子标题中出现的,同时又没有出现在无关词典中的实词。在多数情况下,标题或者子标题中往往蕴含了一篇文档所描述的主要内容,所以标题中出现的词语对于文摘聚的抽取有一定的参考意义。
4. 位置特征
主要分为两部分,一部分称为标题词加权,即首先根据训练语料库统计标题词在文摘句权值计算中的重要程度,对于文中一个特殊的句子,如果包含的词曾经在标题中出现,则给其增加相应的标题词权重;另外一部分是位置加权,即对于某些特殊位置上的句子(如篇首句、片尾句)增加位置权重。
通过前面描述,建立了4个文本浅层特征库(线索词库、关键词库、标题词库和位置词库),每个特征库中的元素都被赋予了一个量化权值,以表明该元素在文摘抽取过程中的重要程度。文摘语句的抽取实际上就是通过这些特征来计算每个语句的权值,并根据用户给定的文摘比率来抽取出权值最大的前m个语句。
计算公式为:w = a1*C + a2*K + a3*T + A4*L
式中,ai为每个特征类型的权重;C,K,T,L分别表示建立的4中特征对语句进行加权后得到的权值。
1. 澜科语言科技文本分析在线演示:
2. 《计算机自然语言处理/信号与信息处理丛书》 王晓龙,关毅