法研究基于中间转换格式的中英文语言生成方.docx
《法研究基于中间转换格式的中英文语言生成方.docx》由会员分享,可在线阅读,更多相关《法研究基于中间转换格式的中英文语言生成方.docx(18页珍藏版)》请在冰豆网上搜索。
法研究基于中间转换格式的中英文语言生成方
基于中间转换格式的中英文语言生成方法研究
曹文洁宗成庆徐波
中国科学院自动化所模式识别国家重点实验室,
北京100080,中国
{caowj,cqzong,xubo}@
2003年12月5日收稿
2004年5月10日修改并录用
_____________________________________________________________
摘要
基于中间语言的翻译方法是实现多语言口语翻译的重要途径,而自然语言生成技术则是基于中间语言的机器翻译系统中的重要组成部分。
本文介绍我们基于中间语言的中英文语言生成方面的研究工作。
我们采用的是基于特征的深层生成技术与模板生成技术相结合的生成方法。
其中,深层生成技术主要是为了保证口语翻译系统具有更好的灵活性与领域可移植性,而模板生成技术则是为了使口语翻译系统具有更高的效率。
在深层生成中,我们采用微观规划和表层生成相结合的结构,使用系统功能语法为生成语法。
实验表明该混合生成策略可以较好地满足基于中间转换格式的口语翻译系统的基本要求。
关键词
自然语言生成,微观规划,词汇化,表层生成,中间转换格式,系统功能语法
_____________________________________________________________
1.引言
自然语言生成技术研究的是如何利用计算机把非自然语言表示的语义形式转换成某种自然语言的表示形式,从而产生人们可理解的,表达确切、自然流畅的自然语言语句。
自然语言生成技术的目的实际上就是让人们能够用自己感到最为舒适方便的自然语言方式去表达各种语义信息。
随着自然语言处理相关技术的快速发展,自然语言生成技术被广泛地应用于许多方面,机器翻译中的目标语言生成是其中最典型的应用之一。
本文介绍的工作是基于国际语音翻译先进研究联盟(C-STAR:
ConsortiumforSpeechTranslationAdvancedResearch)框架下多语言口语翻译系统中的中英文生成问题,所采用的中间语言称为中间转换格式(IF:
InterchangeFormat)。
关于背景的详细介绍,请参见(http:
//www.c-star.org/),本文不再赘述。
基于中间转换格式的C-STAR口语翻译系统框图如下所示:
图1.基于中间转换格式的语音翻译系统
与其它基于中间语言的机器翻译系统相同,基于IF的口语翻译系统对目标语言生成器有着同样的要求:
即要求具有灵活、高效、便于领域移植、以及较好的容错性等特点。
除此之外,IF也给我们的目标语言生成研究带来新的问题(详见第二小节)。
自然语言生成从上个世纪六十年代开始发展至今,经历了从简单到复杂的过程。
句法实现系统主要有四种类型(JohnA.Bateman1996)。
首先是固定文本生成系统(canned-textsystem),这种方法主要应用于大多数的软件的提示信息生成系统。
然后是模板生成系统(templatesystem),如Kukich在1983年提出的ANA系统,这种方法效率高,而且在特定领域的应用效果比较好,但是领域可移植性差。
再之后是基于短语的生成系统(phrase-basedsystem),如McDonald等在1980年建立的MUMBLE系统,Moore于1989年建立的EES文本规划器等。
此方法主要用于单句生成,其优点是鲁棒性强,但是容易造成不恰当的短语扩展。
后来又出现了基于特征的生成系统(feature-basedsystem),如Matthiessen于1983年建立的PENMAN系统,及其衍生出的KPML系统(Bateman,Maieret.al.1991)等等。
这种方法的优点在于简化了概念,可以把任何语言上的差异作为特征加入到系统中;缺点是效率较低。
本文中我们采用的是基于模板和基于特征的深层生成相结合的混合生成方法。
之所以采用这样的混合方法,主要基于以下几点考虑:
首先,特定领域的口语对话常常有一些固定的表达模式。
根据我们初步统计,发现口语中含有“请”字的祈使句约占17%左右;用“有…吗”、“有没有”、“能不能/可以不可以”等表示的疑问句约占44%左右;含有时间或数字的语句约占22%左右。
其中,很多固定简短的表达非常适合使用模板的方法进行翻译(对两种语言直接互译的翻译系统而言)或目标语言的生成(对基于中间语言的翻译系统而言)以简化翻译模块。
此外,模板的引入有助于提高系统的运行效率。
其次,由于口语的表达形式灵活多样,对于非固定的表达方式,采用基于特征的深层生成方法无疑更能满足系统对灵活性的要求(EhudReiter1995)。
再次,我们的生成器是中英文的双语生成,较其它方法而言,基于特征的方法可以把不同语言的差异作为特征加入系统中,使其更易于用统一的程序框架对不同语言进行处理。
本文第二部分介绍中间转换格式IF的定义及其特点,第三部分具体介绍我们的生成方法,之后是实验结果及分析,第四部分为结束语。
2.中间转换格式——IF
目前C-STAR采用的IF由NESPOLE!
计划提出,当前针对领域是旅游信息咨询,包括旅馆服务和病人请求帮助等。
一个IF表达式通常由说话者(speaker)、话语行为(speechact)、概念序列(concepts,与话语行为合称为领域行为)和参数-属性值对的列表四部分组成。
关于各部分的具体含义,请参见文献(解国栋等2004)。
IF的理论基础是话语行为理论(吴华2000)。
话语行为理论的基本思想是认为语言不只用来陈述事实,而是附载着说话者的意图。
IF的理论基础决定IF主要具有以下几个特点:
第一,对多语对话翻译系统而言,如果能准确捕捉对话者交际意图,语句的许多信息就可由此推断出,从而较基于Fillmore的语义格语法的中间语言而言,IF的定义大大简化。
第二,由于IF的定义不涉及句子主要参与成分之间的句法和语义关系,所以与基于格语法的中间语言相比,IF更适合于多语翻译系统,尤其是避免了在不同语言的语义格不一致的情况下出现的问题,主要是中心词失配(head-mismatching)问题(LoriLevin,etal.2003)。
第三,IF是一种不完备的语义描述(UnderspecifiedSemanticRepresentation,简称USR),这需要生成器在生成句子的表面形式之前,先根据IF和领域知识推断缺少的信息。
第四,虽然IF会提供诸如情态、时态和一些修辞关系等信息,IF表达式的主体部分描述的是话语的领域行为,并没有指出句子所对应的谓词-论元框架。
这使得生成器不能直接由IF生成表层句子,而是需要首先由IF主体部分获得句子的谓词框架,并把IF映射到适合于句子生成的语义表示形式。
相反,IF的arguments列表中每一个“参数-属性值对”都对句子浅层信息进行了很好的描述和封装,从而这部分无需中间映射,可以直接进行短语的生成。
IF示例:
(1)c:
request-information+departure+transportation(transportation-spec=(flight,identifiability=yes,destination=tokyo),time=(clock=(hours=2)))
句子:
DoestheflighttoTokyoleaveat2o’clock?
||飞往东京的航班2点钟离开吗?
(2)a:
greeting(greeting=hello)
句子:
Hello.||你好。
3.基于模板与特征的混合生成方法
根据前面的介绍,针对中英文生成技术,我们的研究目标是:
(1)研究与领域相关、针对话语行为描述的中间语言的句子规划技术;
(2)研究针对多语口语翻译的目标语言生成策略,目前是针对汉语和英语的生成问题。
同时考虑针对多语言生成目标的模块可扩展性。
作为多语口语翻译系统的一个有机组成部分,目标语言生成器要求具有灵活、高效的特点,鲁棒的性能,易于维护并且易于进行领域移植。
如图2所示,我们的目标语言生成器主要由两个模块组成:
微观规划和表层生成。
当中间转换格式IF进入生成器,首先经过微观规划得到一个句法功能结构,再由这个句法功能结构通过表层生成得到目标语言句子。
我们所用的句法功能结构是基于系统功能语法而定义的,其格式是多个特征-属性值对的集合,包含生成一个句子所必须的各部分信息(语气、时态、语态、谓词框架等)。
表层生成部分则相应的采用功能合一文法,利用目标语言的句法知识,把作为过渡的句法功能结构中的各个特征逐步聚合,最终线性化得到目标语句。
图2.目标语言生成器系统框图
为满足口语翻译系统的效率与灵活性的要求,并使其易于进行领域移植,我们的生成器采用模板与深层生成相结合的生成策略。
模板方法的效率很高,可是领域移植性比较差,而深层生成的方法则更为灵活,并具有更好的通用性,可是时效性差(StephanBusemannandHelmutHoracek1998)。
二者结合起来,可以很好地起到相互取长补短的作用。
由于IF是一种不完备的语义表示,而且源语言语音识别和理解模块往往存在错误而造成IF错误或信息丢失,为了迎合生成器对于鲁棒性的要求,在输入IF错误或不完整的情况下能够生成尽量正确和可理解的目标语句,我们采取的措施是设立缺省值,并放松微观规划规则和语法规则的约束,在某些情况下也允许生成不完整的句子。
3.1微观规划
通常微观规划器包括以下几个性质完全不同的子任务:
(1)将内容规划对象映射到语言资源上;
(2)确定句子辖域;(3)进行句子聚合,把几个信息通过不同的关系组合成长句;(4)进行句子的缩合,消除冗余,使语句精炼;(5)进行词汇选择,把领域概念和关系转化为词汇和语法关系;(6)生成指代。
但在我们的口语翻译系统中,IF中的信息全部来自源语句子,而且一个IF表达式与一个句子或词组相对应,生成句子所必需的各项浅层信息都在IF的参数中给出,所以生成器所要做的事情就是根据IF以及领域知识生成目标语言语句,而无需进行句子的内容确定。
IF没有提供句子生成所需的谓词-论元信息,需要生成器由IF、领域知识和中心词的搭配信息进行推断。
由此决定我们的微观规划器需要实现如下几个功能:
(1)根据IF和领域知识确定句子类型,获得句子生成所必须的谓词-论元框架;
(2)把领域概念转化为词汇,进行词汇选择,并从词典中获得所有与词汇相关的词形变化(英文生成中的人称与数的变化等)、词语搭配等信息;(3)把领域关系转化为语法关系;(4)获得句子的语气、时态、情态、语态等信息。
如图3所示,微观规划分为两个层次:
句子规划和短语规划。
句子规划的功能主要是根据IF表达式和领域知识推断句子的顶层信息,如主要动词、时态、语态,语气等等,并根据主要动词获得生成句子所必须的谓词——论元框架;短语规划是把IF格式中的属性和概念转换为句子的参与角色,换言之,就是获得句子的浅层短语信息。
通过句子规划和短语规划能够把IF格式转换为句子的语义句法特征集,直接作为目标语言表层生成器的输入。
微观规划所涉及的资源主要是句子及短语规划规则库、领域知识和词典。
其中,领域知识没有作为独立的实体出现,而是体现在规划规则的制订上,我们在制订由IF到句子功能结构的映射规则时,根据说话者的角色和IF表达式的应用场景等领域信息的不同添加不同的句法和语义信息,或进行不同的映射。
图3.微观规划流程图
句子规划规则的描述由一个三元体(P,C,A)实现。
P(Pattern)指的是IF的主体部分(包括说话者和领域行为)的模式,C(Constraints)是约束,可以是空集,也可以是对IF所含Concepts和Arguments的约束。
A(Action)是动作,所含的内容是在输入的IF满足P和C的限制下,该IF所对应的句子的功能结构。
句子规划时,微观规划器输入的IF首先与P中的模式匹配,如果匹配,再看输入是否满足C中的约束,如果两者都满足,则执行动作A,获得句子的主要动词及框架信息。
规则中给出的是主要动词的语义,在词汇化(即查词典以确定主要动词)时,如果存在多个词汇的候选,通常由动词所规定框架中参与成分的语义加以限定。
这些信息都放在词典当中。
句子规划规则示例:
((speaker=a)(speechact=give-information)(topic=availability+room));//Pattern
(exist(argument,‘room-spec'));//Constraints
((cat=clause)(mood=declarative)
(tense=present)(voice=active)
(process((type=possessive)(lex=#dic(have))
(args=(((case=pos)
(pos=lex=(#get(argument,'who')|#dic(we)))//“we”为缺省值
(bel=lex=(#get(attribute,'room-spec')))),)),
(!
optional:
pre_mod=(time=#get(attribute,'time'))));
关于句子规划规则中各符号的定义和具体句子规划的过程请参照文献(吴华2000)。
句子模板的定义也是在句子规划层实现的。
在口语限定领域中,许多表达方式通常是固定的而又领域无关的,所不同的只是句子中的某个或某几个成分,如句子的宾语,这些成分往往又是领域相关的,例如:
“请给我<香皂>”、“请给我<一份沙拉>”。
而这些成分可以通过语义类限定。
此外,一些日常用语:
如感谢、问候、道歉等等,表达方式也是很固定的。
这些句子都可以使用句子模板。
比较英语和汉语,汉语词汇没有形态的变化,所以某些固定表达更加适合于模板方法。
我们在模板的定义中加入了变量,变量的取值由一个或数个语义类限定。
语义类的定义与IF的Values类相一致。
通过模板中加入变量,某些原本表达方式相对固定,可是又需要深层生成的句子就可以用模板的方法得到,既保持了一定的灵活性,又进一步提高了系统的效率。
为便于生成器在统一的程序框架下处理,模板与句子规划采用同样格式的规则。
在生成过程中,如果某个模板规则的模式和约束都匹配,则直接进入表层实现,把模板中的变量用相应的目标语言的短语或词汇替换即可。
下面给出一个示例。
其中,*payment-methods*代表“支付手段”语义类。
模板示例:
((speechact=give-information),(topic=payment));//Pattern
(exist(method),value(‘method’)∈*payment-methods*);//Constraints
((cat=clause),
(process.type=template),
(lex=用#dic(%pament)付账。
|By#dic(%pament).));
句子规划的深一层是短语规划。
我们最初的汉语生成器(HuaWuetal.2000)在微观规划的短语规划部分只是获得了生成各个短语所需要的成分功能结构信息,而微观规划的结果是大结构(句子结构)嵌套着小结构(短语结构)的、可以转化为树状结构的复杂特征及其属性值的集合。
到表层生成,需要再一次对短语层进行功能合一运算以获得短语的线性结构。
这样做,增大了表层生成时程序的递归深度和次数,大大降低了生成器的运行效率。
在我们目前的短语规划中,IF中的“参数—属性值”对应于句子的浅层短语结构。
短语规划主要处理的是IF中的“参数—属性值”部分,或者是IF中某些概念与该概念的“参数—属性值”部分的组合。
IF在“参数—属性值”结构中,明确指出了中心词,和按照语义定义的各个修饰成分,还包括相关的语法信息:
如名词的冠词信息(identifiability)。
这种形式已经非常有利于短语的生成。
本着保证系统运行效率,而又尽量使系统简化的原则,我们没有把IF的“参数—属性值”转换为另外一套深层语义表示,而是直接使用IF的“参数——属性值”表示短语的语义信息。
可是我们不能把这些表示保留到表层生成器再进行短语的生成,因为这样会破坏表层生成器的通用性。
所以我们的短语实现实际上是在微观规划器的短语规划部分实现的,从这个意义上说,这里的短语规划称为“短语实现”更加恰当。
短语规则的格式如下:
(type=[type],name=[name]);
(exist_set=([arg_e_1],[arg_e_m],…,[arg_e_n]),non-exist_set=([arg_n_1],[arg_n_2],…,[arg_n_m]));
((cat=[phrase_type]),
(c_rule=({left_cons=[sem_1]},{right_cons=[sem_2]}),
(#dic([name],%head),([arg_1],[arg_2],…,[arg_i-1],*,[arg_i+1],…,[arg_k])),),
(e_rule=({left_cons=[Sem_1]},{right_cons=[Sem_2]}),
(#dic([name],%head),([Arg_1],[Arg_2],…,[Arg_i-1],*,[Arg_i+1],…,[Arg_k])),),);
每条规则仍是由三元组构成。
在第一项中,‘type’取值为“argument”或“concept”,表示本条规则针对的是一个argument还是一个concept。
‘name’取值为相应的argument或concept值。
第二项是Constrains,由两个arguments集合构成,限定[name]所应该含有和不该含有的参数arguments。
对于不在这两个集合中的其它可以修饰[name]的arguments,则为可选项。
第三项是在满足Constrains限制下,相应的汉语(c_rule)和英语(e_rule)规则。
其中,“cat”表示词组类型,如np、vp、mp。
以c_rule为例,其中的“left_cons”和“right_cons”表示来自于左右语言成分的语义限制,这主要是为了消除歧义、进行词汇选择而设的。
后面一项正式给出了短语的形式,“#dic([name],%head)”代表去词典中查[name]的中心词;“%head”代表中心词的语义。
后面括号中的参数表是顺序的,给出的是短语的顺序结构,“*”号指示出中心词所在位置。
3.2表层生成
表层生成,又称为句子生成或实现,是目标语言生成器的最后一个阶段,其任务是利用微观规划的输出以及语言的语法规则生成正确、流畅的句子。
我们的生成方法采用系统功能语法定义单句层系统功能网络,具体操作采用功能合一算法。
具体地流程可以由下面的框图表示:
图4.表层生成器框图
3.2.1系统功能语法基本思想及其在我们系统中的应用
系统功能语法(SFG)由Halliday于1985年提出,它综合了系统和功能的思想,把语言解释成一种可以进行语义选择的系统网络。
SFG认为语言是分层次的,如语义层、语法层和音系层,各个层次都各自的系统。
这些系统由功能特征项通过析取或合取的关系组成。
当网络中有关系统的每个步骤一一实现后,便可产生语言的结构。
不难看出,系统功能语法是一个从功能到结构的过程,这个过程和自然语言生成是相吻合的,因而非常适用于自然语言生成。
Halliday认为任何语言都具有三个“元功能”,分别是概念功能、人际功能和语篇功能。
概念功能:
认为语言是对存在于主客观世界的过程和事物的反映,又叫做“经验”功能。
概念功能包括及物性、语态和归一度三个语义系统。
及物性系统主要探讨一个句子中主要动词与参与者(participant)之间的语义关系,并指明事件发生的时间、地点、方式等信息。
由此看,及物性系统用于确定句子的类型和顶层框架。
Halliday的及物性系统包括六种过程:
物质过程、心理过程、关系过程、行为过程、言语过程和存在过程。
按参与者不同,语态系统分为“中动语态”和“非中动语态”。
“中动语态”表示过程只与一个参与者有关。
“非中动语态”表示过程与两个及多个参与者有关,它包括主动语态和被动语态。
归一度系统则表示过程的语义是肯定还是否定。
人际功能:
指语言表达讲话者的态度和推断,并能进一步影响对方的态度和行为。
人际功能包括语气、情态和语调系统三个部分。
其基本网络如下图所示。
祈使
语气感叹陈述
直陈
人际功能情态疑问
语调
图5人际功能网络
由于英语语气和态制系统都是通过动词的形态来体现的,而且二者相关联,所以Halliday把时态系统也看作语气系统的一部分。
英语中语气的表达常常伴随着助动词的使用、语序的改变等等。
表达各种情态和时态时除了有相应的助动词外,还需要动词形态的变化。
而汉语通过词汇手段来实现语气、时态和情态功能。
如表达语气时,用“吗”、“呢”等语气词表疑问语气,而“啊”表示惊叹语气等等。
表达时态时,用“了”、“已经”表达完成时,用“正在”表达进行时等等。
各种情态也有相应的助动词,如用“会”表示“可能”这种情态。
语调是通过语音来体现的,本文中不涉及。
语篇功能:
认为语言通常需要被说话者组织成语篇才能表达相对完整的思想。
这个功能包括主位结构、信息结构和衔接三个语义系统。
主位结构系统、信息结构系统通常用在文本规划中,不在我们基于IF目标语言生成的研究范围之内。
而衔接系统主要用于句子类型为复句的情况,基本可以划分并列、递进、条件、因果等十类。
在IF中,衔接关系被进一步细化。
在我们的表层生成器中,目标语言语法的建立是按照这三个元功能进行的。
我们主要建立了中英文生成的单句功能网络,它由概念功能、人际功能和语篇功能三个功能体系组成。
在功能系统中,主要建立了及物性系统,这种及物性系统是根据动词的语义以及动词和名词之间的搭配关系进行分类的。
在人际功能系统中,包括时态系统、语气系统、情态系统。
在语篇系统中,主要建立了衔接系统。
限于篇幅,在此不对我们的生成语法进行详细介绍,仅给出一个应用的实例。
语义句法特征结构实例:
目标语句:
“Wehaveacheapersingleroom.|我们有一间便宜些的单人房。
”
上述例子中,为更清楚描述我们的语法,我们加入了“mood”、“tense”、“voice”项。
而在实际应用中,这三项在此取值均为缺省值,相应项并不出现在语义句法特征结构中。
在具体定义语法规则的时候,为提高生成系统的鲁棒性,针对口语常常出现省略现象,我们放松了某些句子参与成分的限制,允许生成不完整的句子。
3.2.2功能合一与线性化运算
在功能表达中,合一算法是基本的算法,它与集合算法的不同点在于在进行合一前,要检验被合一部分的相容性。
两个功能描述相容意味着它们同一特征的属性值相容或具有相容的不同特征。
自然语言的语言概念间存在等级关系,当两个属性值所属语义类存在上下位关系时,我们也认为它们相容,而且合一结果为处于下位的值。
如:
在语法规则中要求某一特征的语义类型为食品,但在输入中这一特征的语义类型为面包,我们认为两者相容,而且合一结果是面包。
合一算法能把若干个功能描述合并成一个单独的功能描述,使这个功能描述所描述对象是若干个功能描述对象之和。
具体功能合一算法的描述请参见文献(吴华