基于数据(语料库)的复述粗略综述

来源:互联网 发布:如何查找快递行业数据 编辑:程序博客网 时间:2024/04/29 16:51

基于数据(语料库)的复述粗略综述

By牛力强 2013年9月24日

NLP CS NJU

Email:simpleniulq2013@gmail.com

1.复述

1.1复述(paraphrase):

在与原句表达相同的语义内容,同一种语言下的原句的替代形式。

1.2复述产生的层次(level):

词汇复述(lexical paraphrase):个别词汇(individual lexical items)具有相同的语义表达

同义词(synonyms):hot-warm,eat-consume

上位词(hypernym):reply-say,landlady-hostess

短语复述(phrasal paraphrase):短语片段(phrasal fragments)具有相同的语义内容

句法短语(syntacticphrases):workon-soften up,takeover-assume control of

链接变量(linkedvariables):Y was builtby X,X is thecreator of Y

句子复述(sentential paraphrases):两个句子代表了相同的语义内容

I finished my work.              Icompleted my assignment.

简单的句子复述可以进行句子中词项或者短语的替换(substitute)

复杂的句子复述生成困难一些:Heneeded to make a quick decision in that situation.

The scenario required him to make a spit-secondjudgment.

1.3讨论范围:

短语复述的自动获取(包括短语复述的模式)和句子复述的生成。

不讨论主要依赖于知识资源(词典)、手写规则、形式文法的复述方法。

排除完全基于词的复述、应用于特定应用的方法、还有段落或者整个文档的复述。

1.4复述生成的应用:

1.4.1查询和模式扩展(query and pattern expansion)

一个重要的复述生成的应用就是在信息检索系统中自动生成查询的变种或者是信息抽取系统中模式。

Original: circuit details

Variant 1:details about the circuit

Variant 2:the details of circuits

在信息检索中,运用复述生成生成相似或者相关的查询扩展,这些方法通常利用了查询日志(query log)来计算语义相似度。

Jacquemin在1999年生成了农业领域的形态学的句法语义变种:

Original: simultaneous measurements

Variant: concurrent measures

Original: development area

Variant: area of growth

Ravichandran and Hovy在2002年采用半监督学习方法针对每个问题类型生成了几种复述模式,并且用于问答系统中。例如INVENTOR问题类型:

Original: X was invented by Y

Variant 1: Y’s invention of X

Variant 2: Y, inventor of X

Riezler在2007年通过生成N-BEST复述句扩展了查询(通过双语平行语料库训练处基于枢轴的句子复述模型)。例如句子how to live with cat allergies生成两个复述句:

P1: ways to live with feline allergy

P2: how to deal with cat allergens

最后,复述还用于提高关系抽取任务。Bhagat and Ravichandran 在2008年收集了复述模式用于关系抽取,在一个大的单语语料库上采用半监督复述归纳。例如关系“acquisition”,收集到:

Original: X agreed to buy Y

Variant 1: X completed its acquisition of Y

Variant 2: X purchased Y

1.4.2扩展稀疏的人类参考数据用于评价(Expanding Sparse Human Reference Data for Evaluation)

在很大一部分NLP应用问题中,通过比较系统的结果与人类标注的数据来评价系统,这类应用有机器翻译和文档摘要。

在机器翻译中,采用人工标注的数据来评价翻译系统不够完整,毕竟人工标注的数据不能涵盖所有可能的翻译模式。例如翻译系统给出的结果S相比人工标注中的R不会具有高的score,尽管两者包含相同的语义内容:

S: We must consider the entire community.

R: We must bear in mind the community as a whole.

在文档摘要评价中,自动生成的摘要同样是跟人类自行标注的参考摘要进行比较。

1.4.3机器翻译(Machine Translation)

不仅应用于机器翻译系统评价,复述也被直接应用于提高机器翻译的过程。Callison-Burch,Koehn and Osborne在2006年采用自动生成复述来提高基于短语的统计机器翻译系统。这类翻译系统的工作原理将一个句子分隔成短语并且分别对短语通过查表进行翻译,翻译中允许没有译文的短语采用其复述短语的翻译,这样翻译系统的覆盖率得到提高。例如给定一个西班牙语句子包含短语“presidente de Brazil”,但是系统中不存在对应的翻译,此时另一个短语“presidente brasileno”是“predidente de Brazil”的复述,如果系统中包含了短语“presidente brasileno”的翻译,则可将翻译作为原短语“presidente de Brazil”的翻译。

在统计机器翻译系统中,另一个重要的问题是参考稀疏(referencesparsity)。一个句子可能有很多种翻译结果,但是人工标注的双语文本是不足够的,因此翻译结果也会受限。Madnani在2007年生成句子级的复述,并且用于扩展有效的参考标注翻译,机器翻译系统能够学习到更好的系统参数。

2.复述识别与文本蕴涵(Paraphrase Recognition and Textual Entailment)

同复述生成关系密切的一个问题就是度量给定的两个短语或者文本片段之间的语义相似度。一个更加复杂的任务是从给定的两个文本中抽取或这识别出相互是复述关系的句子,这些任务的构想都属于复述抽取或者识别这一类别,特别是识别,在许多NLP问题中非常有帮助。这些应用的例子就有文本到文本(text-to-text)的生成和信息抽取(information extraction)。

text-to-text生成应用依赖于复述识别。对于一个多文档摘要系统,发现冗余信息是非常关键的,因此来自不同文档的两个句子有可能具有相同的语义内容,在摘要的过程中,很重要的是不能重复相同的信息。Barzilay and McKeown在2005年通过发现复述部分来消除冗余表示,整合成单个的连贯的句子。识别具有相同语义内容在文本简化(text simplification)系统中也是很重要的。

Textual entailment:一段文本T蕴涵一个前提H,如果人类读到T也就暗示H也为真。此时,复述识别可以认为是双向的蕴涵。但是有一个问题,不能保证蕴涵的假设H能够包含给定文本T相同的语义内容。例如:

T: Yahoo’s buyout of Overture was finalized.

H1: Yahoo bought Overture.

H2: Overture is now owned bu Yahoo.

最后复述和文本蕴涵是紧密联系在一起的。

3.基于语料库的复述(Paraphrasing with Corpora)

基于语料库的复述生成方法已经在过去发展迅速,得到广泛的应用。根据语料库的不同类型,来区分不同的复述生成方法:单个单语语料库、单语对比语料库、单语平行语料库以及双语平行语料库。

在具体深入复述生成方法之前,先介绍分布相似度的动机是非常有意义的。在不同类型的语料库基础上,分布相似度是一极其流行的技术用于复述生成。

3.1分布相似度(Distributional Similarity)

分布相似度:享有相同分布的单词或者短语(语料中在相同的上下文中出现的一组单词)更加趋向于具有相似的意义。

简单来说,就是在相同语境中,出现在对应位置的词语很有可能具有相同的语义含义。

如下图1介绍了一个基本的想法,利用了分布相似度的短语复述生成技术。输入语料库通常是单个或者一组单语语料库(平行或者非平行)。经过预处理(包括标记句子、生成分析树、以及其他的转换)之后,下一步从语料中抽取相同上下文中的单词对或者短语对,这些可以近似地认为具有语义等价性。抽取方法可以由很多中方法实现(例如使用采用上下文为特征的分类器或者在依存树中找到相似的路径)。结果可能包含很多的噪音,因此需要其他条件的过滤,比如从其他语料(Web)中计算得到的搭配计数。最后,运用技术归纳复述句对为模板或者规则用于其他句子的复述生成。

应用分布相似度的潜在的一个不足是分布相似的词项不一定是复述关系,例如<boys,girls>,<cats,dogs>,<high,low>可能出现在相似的上下文中,但是不具有语义等价。


图1 借分布相似度假设的复述方法的一般架构

3.2基于单个单语语料库的复述

首先来了解一个短语复述归纳算法,基于短语分割,由句子产生所有的N-grams,针对每个N-gram分析出锚文本,具有相同锚文本的短语序列可以作为复述短语。如下图2所示:


图2 短语复述归纳算法 Pasca and Dienes 2005

此方法的效果依赖因素是在分析锚文本时候,最简单是基于句子表面的特征,后续可以增加语义的信息,得到的复述更加准确。

依存树中通过查找依存路径,分析得到相同变量出现在相同的对应插槽上的两个句子是复述关系,如下图3所示:

每条路径可以认为是两端是变量的模式。如John found an answer to theproblem.

路径两端指定为SlotX和SlotY。

元组(SlotX,John)和(SlotY,problem)作为路径的两个特征。

路径中除过slot的节点关系是内在的关系。


图3 依存树中查找复述关系

以下是通过分析依存树中的依存路径来产生复述对的算法,如下图4所示:


图4 分析依存路径的复述规则抽取

Wu and Zhou在2003年描述了一种双语的方法,用来抽取基于关系的复述模式,形如<w1, R, w2>,w1和w2作为英语单词具有语义关系R通过依存连接联系。如下图5所示模式<verb, IN, verb>被抽取出来的过程:

 


图5 模式<verb, IN,verb>的抽取过程

3.3基于单语平行语料的复述

       单语平行语料包含着句子对,具有语义等价关系或语义重叠的句子对。通过从这些平行语料一组包含相同语义内容的句子中抽取短语的对应关系作为复述。主要有四种方法,前两种基于分布相似度,一个是基于自主引导的分布算法,另一个是基于依存路径,后两者更加直接的、非分布方法的计算方法。

       Barzilay and McKeown在2001尝试多流程的分布相似度方法流出了短语对应,他们提出了一种自主引导(bootstrapping)的方法容许逐步细化特征用来决定相似度同时提高复述句对。如下图6所示,是算法的基本步骤:


图6

S1: Emma burst into tears and he tried to comfort her.

S2: Emma cried and he tried to console her.

<tried,tried>,<her,her>可能被抽取为正例,<tried,Emma>,<tried,console>抽取为负例。一旦种子例子抽取过来,下一步就是给正例和负例抽取上下文特征。上下文特征形如[<L1:PRP1,R1:TO1>, <L2:PRP1,R2:TO1>]是正例<tried,tried>。第一个元组<L1:PRP1,R1:TO1>表示在第一个句子中tried左边是一个人称代名词(he),词序列右边是一个介词(to)。第二个元组同样表示。所有的这些正例负例的特征(长度小于或等于某些特定的长度)抽取完之后,对于每个上下文特征f都会计算一个强度值,运用最大可能性估计:

强度值(f)= 被f包围的正例负例数量/所有f出现的次数

对这些抽取出来的上下文特征进行强度值阈值过滤,剩余的上下文特征则可应用于获取其他的复述例子来逐步细化上下文规则。这个过程反复迭代直到没有新的复述例子产生。

Ibrahim, Katz,and Lin在2003年提出了一种基于依存路径分布相似度(Lin and Pantel在2001的工作)的修改版,是在单语平行语料上进行,并且比上述方法更加有效之处是因为采用了树的路径信息,而不只是词法信息。如下是对Lin and Pantel方法的修改:

1.       通过对齐的锚点来抽取树路径:在平行语料中,对两颗分析树进行比较锚点并进行对齐,之后在锚点之间的路径可以抽取出来,并且具有语义的相似性。

2.       运用滑动的频率测量:Lin and Pantel的方法中所有的复述对之间的路径权重都一样。但是在此,在相同的锚点对之间连续生成的复述对比之前生成的权重要小一些。

Pang, Knight, and Marcu在2003年提出一种通过句法特征对齐一组平行的句子的算法,算法输出是一个合并的lattice,词语、短语、句子的复述都可以读取。预处理阶段,超过45个单词的句子被舍弃掉,下一步就是每个组的所有句子进行分析,得到分析树。然后所有的分析树进行合并,成为一个共享森林。合并算法如下图7(a)中所示:


图7

一旦森林创建好之后,将它线性化就可以得到一个word lattice,通过自顶向下遍历所有的森林节点,产生了一个交替性的路径对于每一个合并的节点,如上图7(b)所示。算法的最终输出结果是对于每个组,生成一个所有句子的word lattice。

这些word lattices可以用来词语或者短语复述的资源,任意一对节点之间的路径可以认为是复述关系。例如上图7中的复述对<ate at cafe, chowed down at bistro>可以抽取到。另外在start和end节点之间的每条路径都可以作为是句子复述。

这种方法比目前所有基于单语平行语料的方法效果好,例如可以捕捉到大量的复述对,但是有以下的缺点:

1.             对于未出现过的句子,无法生存复述:对于一个新的句子,找不到lattice符合新句子的模式。

2.             需要大量的人工书面翻译:这些平行语料都需要人工进行编写。

Quirk, Brockett, and Dolan在2004年抽取了短语复述对,并且用于构造新的复述对。这方法在生成句子复述时跟机器翻译中的模型类似:

其中复述Ep代表给定句子E的最优复述句,采用贝叶斯理论,可以重写为:

P(Ep)是一个n-gram语言模型估计假设Ep的流畅性,P(E|Ep)是翻译模型,或成为复述生成中的替代模型,提供一个概率的估计。

下图8中的算法用来描述如何生成一组短语复述对以及计算每对的概率:


图8

抽取出一组具有得分的短语对之后,可以用于未出现过的句子的复述生成。生成过程通过创建一个给定句子的lattice,lattice按下图9中所示步骤填充完整:


图9

如下图10是生成lattice的例子:


图10

Quirk, Brockett, and Dolan借用统计机器翻译SMT的方法对齐短语的等价并且用对齐短语等价来重写新的句子,最大的优点是继承了SMT的方法。但是也有很明显的限制:

1.单调的翻译过程:这种方法只是短语的替换,而且替换位置比较固定。换句话说,重新排序将不会容许。

2.天真的参数估计:在一个不提供关系信息的概率分布中使用词袋方法用于参数估计结果用于短语复述。

3.信赖编辑距离:依赖编辑距离可能会排除掉有些具有复述关系的句子,但是在成分排序方面很有意义。

3.4基于单语比较语料库的复述

相比平行语料,对比语料在现实世界中更加普遍存在。在此部分,主要介绍三种生成复述的方法:第一种采取的策略是具有分布相似的元素是复述模式,分布本身是一些命名实体,存在与多个句子中。相反其他两种方法采取的策略是直接发现对应关系,通过新奇的对齐算法,后两者不同之处在与算法的功效方面。

Shinyama在2002年采用来自两种不同的日本报社同一天的300篇新闻文章作为复述的源数据。预处理阶段进行了命名实体标记,对每篇文章的每个句子进行依存分析,分布相似度算法如下图11过程:


图11

最后输出是一系列复述模式,命名实体用变量表示。如下例子:

<PERSON> is  promoted to<POST>

The promotion of <PERSON> to <POST> is decided

缺点:由于第二步模式抽取过程的限制,覆盖率比较低;再者,如果句子中命名实体数量较少的话,生成不正确的复述的可能性会增加。

Barzilay and Lee在2003年尝试在模板形式下生成简洁的句子聚类,然后将一个语料中的模板同另一语料中的模板进行比对。一旦模板成对出现了,任何新来的句子只要匹配其中一个模板,则将变量填入另外的模板用来生成复述。算法如下图12所示:


图12

考虑到取得复述的质量,这种方法很容易比其他的方法效果好。然后,新来的句子要匹配到存在的模板,则质量依赖于覆盖率。再者,构造和归纳lattices在处理更大的语料库时更加耗费计算量。

和之前3.3节介绍的Pang, Knight, and Marcu的方法相比:

PKM的方法采用单语平行语料,1对1关系,因此聚类的预定义大小是1,而BL方法采用单语比较语料,因此聚类的预定义大小不确定。

两种方法都采用了word lattices来表示生成复述因为lattice可以很好的表示很多句子,编码N-gram相似度。

另外不同是PKM方法使用了分析树来计算对齐进行聚类,而BL方法只是考虑到一些表层的信息。

最后,BL方法可以对新来未出现过的句子进行生成复述,而PKM方法不行。

3.5基于双语平行语料库

       随着统计机器翻译SMT的再次热门,出现了更多大量的双语语料库。

       Bannardand Callison-Burch在2005年采用双语语料库,基于词对齐和标准SMT启发,将所有的英语短语共享相同的外语短语作为复述对,抽取短语复述对。算法如下图13所示:


图13

       如下图14是一个例子:


图14

样例集中的复述对可以分组为:

形态学上的变化:词语或者短语的形式上不同,不能作为复述。如<ten ton, ten tons>。

近似短语复述:只是共享了部分的语义内容,大多基于枢轴自动对齐的抽取方法归于此类。如<were exiled, went abroad>, <accounting firms, auditing firms>。

短语复述:属于真正的复述关系。如<army roadblock, military barrier>, <staff walked out, team withdrew>。

4.复述评价以及未来展望

不像别的诸如机器翻译、文档摘要等自然语言处理问题,复述问题没有统一的评价标准。

未来复述研究有几个方向如下:

Web的影响

联合信息的多种资源

运用SMT工具

具体领域的复述

5.总结

本文在阅读国外一些论文的基础上,总结了当前关于复述问题研究的各个方面。首先介绍什么是复述以及复述的应用及其意义,后面注重介绍了在不同语料库上复述抽取和生成方法的综述,旨在给一个较浅层的认识。时间有限,只能简单的总结一下,以后慢慢深入总结。

6.参考文献

[1] Generating Phrasal and Sentential Paraphrases: A Survey of Data-Driven Methods.

[2] you can search Google about paraphrase yourself.


注:只是为了分享,别无其他。

2013年10月6日20:48:33