首页> 中国专利> 中间语系统、中间语引擎、中间语翻译系统和相应方法

中间语系统、中间语引擎、中间语翻译系统和相应方法

摘要

本发明提供了一种中间语系统,其用一种机器可读的统一中间语编码来代表自然语言,该系统包括中间语词库模块和中间语句型库模块,在两个模块中分别对词和子句进行编码。本发明还提供了一种使用中间语系统的中间语翻译引擎、中间语方式的机器翻译系统和上述各系统所对应的方法。在本发明中,由于使用了单一的中间语系统,不仅自然语言处理过程中的语言标准问题得以解决,还大大地缩减了翻译软件开发成本,简化了翻译软件的构架。本发明还可以成为开发各种自然语言处理方面的应用软件和器具的基础。

著录项

  • 公开/公告号CN102622342A

    专利类型发明专利

  • 公开/公告日2012-08-01

    原文格式PDF

  • 申请/专利权人 上海肇通信息技术有限公司;

    申请/专利号CN201110031950.7

  • 发明设计人 陈重庆;

    申请日2011-01-28

  • 分类号G06F17/28(20060101);G06F17/22(20060101);

  • 代理机构

  • 代理人

  • 地址 201203 上海市张江高科技园区郭守敬路498号14幢22301-092座

  • 入库时间 2023-12-18 06:20:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-28

    授权

    授权

  • 2014-01-08

    实质审查的生效 IPC(主分类):G06F17/28 申请日:20110128

    实质审查的生效

  • 2012-08-01

    公开

    公开

说明书

发明领域

本发明涉及到自然语言的处理、解析和翻译,特别涉及到一种中 间语系统、中间语的文本转换系统、中间语方式的机器翻译系统和上 述各系统所对应的方法。

背景技术

本发明的最主要应用是机器翻译(MT)。一般的机器翻译采取的是 直接转换法,就是将A语种的原文本输入计算机后,通过一个从A 语种到B语种的翻译程序,转换成B语种的翻译文本。而用本发明 的中间语方式,则是将A语种的原文本,先通过本发明的计算机中间 语文本转换系统(称为中间语引擎)的A语种输入模组(即将A语 种转换为中间语的程序),解析成中间语文本,然后再通过中间语引 擎的另一B语言的输出模组(即从中间语生成B语种的程序),而从 该中间语文本生成B语言的翻译文本。前者是直接转换,后者是间接 转换。虽然是直接与间接的一字之差,而后者的优点却是前者所不可 比拟的。

先从最直观的数量上来看:如果有N个语种要互译,前者要编制 N(N-1)个语种间翻译转换程序,后者不编制语种间翻译转换程序,而 是编制语种与共同的中间语之间的转换程序,所以只要编制2N个这 样的程序。当N大于3时,后者的数量就少于前者。事实上,间接 转换方法在翻译转换程序(即输入模组和输出模组,统称模组)数量 上的优势是其众多优势中最小的一个。其最大的优势在于,各语种同 中间语之间的模组是独立于其他语种而编制的。显然,这种编制方法 所带来的优点之一是,开发各语种同中间语之间的模组的人员,理论 上只要精通母语就可;优点之二是,所有语言的“共同”部分已经编 入核心的中间语引擎,各语种在这部分的开发就标准化了——实现这 一点是机器翻译上的巨大跨越,也是对时间、物力、人力、资金的巨 大节省,更是理论方面的突破。优点之三是,中间语既是各语种的共 同代表,并且是计算机形式的语言代表,而语种的文本则经过中间语 引擎转换成这种共同的计算机形式的文本,因此各语种的自然语言处 理也就水到渠成。

机器翻译是自然语言处理(NLP)这门学科或技术的一个分支,是 一个主要分支,也就是说,机器翻译(中间语引擎)的技术是解决自 然语言处理其他分支的最后关键技术。换句话说,机器翻译的技术完 善后,就可以帮助其它分支达到完善化。机器翻译是自然语言处理方 面最早被提出来的项目或学科,儿乎可以说是与电子计算机的发明同 步的。机器翻译又是自然语言处理方面迄今仍未被完全(即全自动, Fully Automatic)和真正(即高质量,High Quality)解决的一门难 题、项目或学科。全自动、高质量(FAHQ)就是机器翻译界梦寐以求 的目标。其次,中间语方式的提出也几乎是与机器翻译研究的开始同 步的。不幸的是,六十多年过去,无论是机器翻译或中间语方式,都 没有出现突破式的进展。

由于人工翻译的耗时费力、成本昂贵、人才缺乏、不规范、不保 密等原因,全世界有能力的国际组织、国家、机构、院校、企业,都 投入了大量人力物力和资金来研发机器翻译,有关的资料、方法、理 论、实践,见之于文献的更是汗牛充栋。参考之一如2004年12月 中国对外翻译出版公司出版的冯志伟著《机器翻译研究》。

关于中间语方面,不仅没有突破,并且不见什么进展,甚至在其 定义上也存在不同说法。有的认为是一种严格的符号,有的认为是像 世界语(Esperanto)那样新造的一个人造语言,有的认为是电子计算 机的程序,等等。在各国的专利中,虽然有很多专利提到中间语 (interlingua)一词,但其内容没有一件与本节第一段的表述相近,尤 其在以下三个方面:(1)中间语是“共同”的,只有一个;(2)各语种 通过其输入模组和输出模组与中间语转换,‘独立’于其他语种之外; (3)“存在”一个中间语“文本”,换句话说,一个文本解析成中间语 ‘文本’后,其他语种文本的生成就都通过这个中间语文本。

在有关机器翻译的美国专利中,最靠近中间语方式的一件是专利 号6275689(Moser,et al.2001年8月14日),但其使用的连接性 可选择语言-(LAL)是每个语种自身的“强化”语言,不是共同的中间 语。虽然该专利在其说明中也提到了近似中间语的词,例如“核心语 言”(PL)、“国际辅助语言”(IAL)、“通用中间语言”,但是无论是 其权利要求或具体实施方式,它们都没有满足上述“共同”、“独立”、 “存在”的三个要求。事实上,从其说明中可看出,其实际上是在用 英语的LAL来充当这个IAL的角色。另外,从其权利要求2中可知, 其采用的翻译方法实际上是人机互动的方式,并不是全自动方式。最 后,也是最重要的一点,该专利基本上没有讨论排歧问题或提出解决 方法,而这是整个机器翻译难题的核心所在。

从上述专利反映了一个基本的事实:自然语言处理的基本问题是 语言的解析——解析的越彻底,语言的处理也越完善。正是在解析方 面,该专利用概略的方式,避开了这个问题。可以这么说,彻底解析 后的语言就是、并且才是中间语。而中间语也正是解析语言的方向和 目标。下面就从这个角度说明本发明提出的解决方法。

发明内容

本发明的目的就是为了解决上述技术问题,提供了一种中间语系 统,其用一种机器可读的统一中间语编码来代表自然语言,

其包括中间语词汇模块和中间语句型模块:

a.所述中间语词汇模块由词库构成,所述词库是各种词性的 原型义词的数据库,内包括有原型义的名词、形容词、动词和副词, 所述原型义词分别由不同的特定分类编码代表,而每一个所述原型义 词均可附带一个同义词近似特征参数组,但不填入参数值,以作为汇 合各语种对应所述原型义词的同义词近似特征参数组的总参数组;

b.所述中间语句型模块由关于子句的句型库构成,所述句型 库是对应每个所述原型义动词的分数据库汇合后的总数据库,所述分 数据库内包括所述原型义动词的非原型子句的变体子句的句型的记 录,并且在所述记录内皆包括与所述原型义动词共享的同一的分类编 码,以及包括句型特征参数组和分别对应时间因素和空间因素的时间 参数组和空间参数组,另外所述分数据库均可附带一个同义句近似特 征参数组,但不填入参数值,以作为各语种对应所述原型子句的同义 句近似特征参数组的规范。

较佳地,所述的原型义名词包括具体名词、抽象名词和本体名词, 而所述的抽象名词则包括事件名词、属性名词和概念名词。

较佳地,所述的属性名词则包括性质属性名词、附加属性名词和 事件属性名词。

较佳地,所述的原型义形容词是所述的属性名词的值,其所对应 的分类编码是一种属体-属性-属性值的三位一体编码,所述原型义形 容词对应所述属性名词包括性质形容词、附加形容词和事件形容词。

较佳地,所述具体名词的所述分类编码包括指称整体物的整体类 编码和指称构件物的构件类编码,后者是附属于所属整体物的编码的 次级编码。

较佳地,所述原型义动词与其所构成的子句在所述共享编码分类 的第一层包括描述句、关系句、动态句、事件句和特殊句。

较佳地,所述描述句包括属性句和状态句,所述动态句包括一元 动态句和二元动态句。

较佳地,所述动态句的其中一个动元必须是施事动元。

较佳地,所述施事动元的事物按权重依次为人或人的组织、动物、 动力机械物、自然力和植物。

较佳地,所述二元动态句的两个动元分别以S动元和O动元表示, 它们与其子句的动词V构成所属自然语言的自然语序,其中S动元 是所述的施事动元。

较佳地,所述二元动态句包括操作句、社交句、言语句、活动句、 感觉句、思想句和心理句,

其中:

所述操作句、社交句、言语句和活动句带有正向动态特征,所述 感觉句、思想句和心理句带有反向动态特征。

较佳地,在原型子句中,其S动元分别要满足以下条件:对所述 社交句、思想句和心理句,S动元必须是人;对所述操作句和感觉句, S动元必须是人,少数还可是动物;对所述言语句和活动句,S动元 必须是人和人的组织。

较佳地,在原型子句中,其O动元分别要满足以下条件:对所述 操作句,O动元是具体物;对所述社交句,O动元是人;对所述言语 句,O动元是事件名词或子句,并且有以人或人的组织为主体的与格 动元;对所述活动句和思想句,O动元是抽象名词;对所述感觉句和 心理句,O动元是一般名词。

较佳地,所述原型子句的组成成分包括所述的原型子句分类编码 和零至三个动元,而变体子句的组成成分另外还包括所述的时间参数 组和空间参数组、零至多个辅助动元、所述的句型特征参数组、和所 述的同义句近似特征参数组。

较佳地,所述的句型特征参数组包括表示以下信息的参数:S动元 或O动元的省略;增加一个或多个辅助动元,以及所带介词的变化; S动元、O动元和辅助动元在句中位置的变换;S动元、O动元和辅 助动元与动词的不搭配;时空参数的省略、增减和位置的变化;补语 的不同类型和数目。

本发明还提供一种文本转换系统,其包括有语言输入模组,所述 语言输入模组包括如上文所述的中间语系统并用计算机将一个自然 语言的任一文本转换为中间语编码文本,所述文本转换系统可另外称 为所述语言的中间语引擎,其还包括:

a.一个安装有所述中间语系统并能够对所述的自然语言进行文 字处理的计算机;

b.在所述的计算机内安装有与所述中间语的词库和句型库配套 的所述自然语言的词库和句型库,以及安装一套所述自然语言的特殊 词汇库,所述特殊词汇库包括已经转换成对应中间语编码的所述自然 语言的跨类词、衍生词、习语和成语;

c.在所述的计算机内安装的所述自然语言的语义规则库,所述 语义规则库按所述中间语编码统一编制并包含有与所述原型义动词 相对应的搭配信息,所述自然语言的语义规则库则还包括有所述自然 语言内所特有的增补搭配信息;

d.在所述的计算机内安装的所述自然语言的语义关联库,所述 语义关联库按所述中间语统一编制并包含有所述原型义词之间的关 联关系的信息,所述自然语言的语义关联库则还包括有所述自然语言 内所特有的增补关联关系的信息;

e.在所述的计算机内安装的所述自然语言的比喻处理程序,所 述比喻处理程序按所述中间语统一编制并包括有比喻标志词、喻体和 喻状的相关信息,所述比喻处理程序还包括有所述自然语言内所特有 的增补比喻标志词、喻体和喻状的相关信息;

f.在所述的计算机内安装的以所述中间语编码表示的辅助知识 库;

g.在所述的计算机内安装的计算机输入程序,该输入程序利用 所述自然语言在所述中间语系统中所对应的中间语编码来替代所述 自然语言,并利用所述的语义规则库、语义关联库、辅助知识库和比 喻处理程序中所提供的相关信息来排除在替代过程中面对的歧义情 况。

较佳地,所述的辅助知识库包括常识库、文化知识库、百科知识 库和专业知识库。

较佳地,除所述的输入模组外,还包括有语言输出模组,所述语 言输出模组包括如权利要求1所述的中间语系统并利用所述计算机 将任何所述的中间语编码文本转换成所述自然语言的文本,其中输出 模组还包括:

a.在所述的计算机内安装的按所述同义句近似特征参数组编制 的所述自然语言的同义句库和同义句近似特征参数组;

b.在所述的计算机内安装的计算机输出程序,该输出程序利用 所述自然语言的词库和句型库中所对应的中间语编码来转换生成所 述的自然语言的文本,利用所述的同义词近似特征参数组对所生成的 自然语言的词汇进行同义词选择,并利用所述的同义句库和同义句近 似特征参数组对所生成的自然语言的文句进行修辞处理。

本发明还提供了一个在多个语种之间进行文本翻译的机器翻译 系统,所述的各语种上述的文本转换系统通过所述的中间语来与所述 的其它语种进行翻译,其中包括一个计算机,在所述计算机内安装了 所述各语种所对应的所述输入和输出模组和各种将所述各语种的语 音或文本输入或输出所述计算机的器具。

本发明还提供了一种中间语方法,其用机器可读的统一中间语编 码来代表自然语言,其中包括提供中间语词库和中间语句型库的步 骤,其特征是:

a.所述词库对名词、形容词、动词和副词分别选用原型义的 名词、形容词、动词和副词,并且分别为其设计不同的特定分类编码, 而每一个原型义词均附带一个同义词近似特征参数组,但不填入参数 值,以作为汇合各语种对应所述原型义词的同义词近似特征参数组的 总参数组;

b.所述句型库中,原型子句和变体子句对应其原型义动词, 双方共享同一的分类编码;对变体子句的时间因素和空间因素,设计 时间参数组和空间参数组;对同一原型义动词的变体子句,设计句型 特征参数组;每一原型义动词对应的所有变体子句共同附带一个同义 句近似特征参数组,但不填入参数值,以作为各语种对应所述原型义 动词的同义句近似特征参数组的规范。

较佳地,所述的原型义名词包括具体名词、抽象名词和本体名词, 而所述的抽象名词则包括事件名词、属性名词和概念名词。

较佳地,所述的属性名词包括性质属性名词、附加属性名词和事 件属性名词。

较佳地,所述的原型义形容词是所述的属性名词的值,其所述的 分类编码是一种属体-属性-属性值的三位一体编码,它对应所述属性 名词包括性质形容词、附加形容词和事件形容词。

较佳地,所述具体名词的所述分类编码包括指称整体物的整体类 编码和指称构件物的构件类编码,后者是附属于所属整体物的编码的 次级编码。

较佳地,所述原型义动词与其所构成的子句在所述共享编码分类 的第一层包括描述句、关系句、动态句、事件句和特殊句。

较佳地,所述描述句包括属性句和状态句,所述动态句包括一元 动态句和二元动态句。

较佳地,所述动态句的其中一个动元必须是施事动元。

较佳地,施事动元的事物按权重依次为人或人的组织、动物、动 力机械物、自然力和植物。

较佳地,所述二元动态句的两个动元分别以S动元和O动元表示, 它们与其子句的动词V构成所属自然语言的自然语序,其中S动元 是所述的施事动元。

较佳地,所述二元动态句包括操作句、社交句、言语句、活动句、 感觉句、思想句和心理句,其中:所述操作句、社交句、言语句和活 动句带有正向动态特征,所述感觉句、思想句和心理句带有反向动态 特征。

较佳地,在原型子句中,其S动元分别要满足以下条件:对所述 社交句、思想句和心理句,S动元必须是人;对所述操作句和感觉句, S动元必须是人,少数还可是动物;对所述言语句和活动句,S动元 必须是人和人的组织。

较佳地,在原型子句中,其O动元分别要满足以下条件:对所述 操作句,O动元是具体物;对所述社交句,O动元是人;对所述言语 句,O动元是事件名词或子句,并且有以人或人的组织为主体的与格 动元;对所述活动句和思想句,O动元是抽象名词;对所述感觉句和 心理句,O动元是一般名词。

较佳地,所述原型子句的组成成分包括所述的原型子句分类编码 和零至三个动元,而变体子句的组成成分另外还包括所述的时间参数 组和空间参数组,零至多个辅助动元、所述的句型特征参数组、和所 述的同义句近似特征参数组。

较佳地,所述的句型特征参数组包括表示以下信息的参数:S动元 或O动元的省略;增加一个或多个辅助动元,以及所带介词的变化; S动元、O动元和辅助动元在句中位置的变换;S动元、O动元和辅 助动元与动词的不搭配;时空参数的省略、增减和位置的变化;补语 的不同类型和数目。

本发明还提供一种文本转换方法,其使用上文所述的中间语方法 将一个自然语言的任一文本转换成所述中间语编码文本,其包括提供 作为语言输入模组的计算机系统并将一个自然语言的任一文本转换 成中间语编码文本的步骤,所述计算机系统中包括:

a.提供一个对所述的自然语言进行文字处理的计算机;

b.在所述的计算机内安装与所述中间语词库和句型库配套的所 述自然语言的词库和句型库,以及所述自然语言的特殊词汇库,所述 特殊词汇库包括已经转换成对应中间语编码的所述自然语言的跨类 词、衍生词、习语和成语;

c.在所述的计算机内安装所述自然语言所对应的语义规则库, 所述语义规则库按所述中间语编码统一编制并包含有与所述原型义 动词相对应的搭配信息,所述自然语言的语义规则库还包括有所述自 然语言内所特有的增补搭配信息;

d.在所述的计算机内安装所述自然语言所对应的语义关联库, 所述语义关联库按所述中间语统一编制并包含有所述原型义词之间 的关联关系的信息,所述自然语言的语义关联库则还包括有所述自然 语言内所特有的增补关联信息;

e.在所述的计算机内安装所述自然语言所对应的比喻处理程 序,所述比喻处理程序按所述中间语统一编制并包括有比喻标志词、 喻体和喻状的相关信息,所述自然语言的比喻处理程序还包括有所述 自然语言内所特有的增补比喻标志词、喻体和喻状的相关信息;

f.在所述的计算机内安装以所述中间语编码表示的辅助知识库;

g.在所述的计算机内安装计算机输入程序,该输入程序利用所 述自然语言在所述中间语系统中所对应的中间语编码来替代所述自 然语言,并利用所述语义规则库、语义关联库、辅助知识库和比喻处 理程序中所提供的相关信息来排除在替代过程中面对的歧义情况。

较佳地,所述的辅助知识库包括常识库、文化知识库、百科知识 库和专业知识库。

较佳地,所述计算机输入程序包括以下步骤:

a.对所述计算机进行初始化,包括初始化三个待动态建立的数 据库,称为角色库、歧义库和语流库,它们分别记录文本转换过程中 依次产生的动元角色、歧义情况和语流顺序;

b.进行词一级的处理:在所述自然语言的词库中检索词义;除 名词、形容词、动词和介词的词义外,将其它词义标志为暂时剥离, 被剥离的词义包括表示时间和空间的词;将检索到的无歧义的词转换 成所述的中间语编码,删除已确定无用的词义,将仍待解决的歧义情 况记录到歧义库;记录其它有关信息后,准备下一步的短语一级处理;

c.进行短语一级的处理:按词义在未剥离的词中,标识出子句、 定语和名词短语,将标识为定语的词标志为暂时剥离;检查剩下的词 中是否只有名词、动词、介词和组成子句的词;如结果为是,则重新 进行c步骤;如结果为否,则将剩下字串按词义排列组合,成为待处 理的子句组,删除已确定无用的词义并将仍待解决的歧义词记录到歧 义库,将本步骤中检索到的无歧义的词以及已确定的短语转换成所述 的中间语编码,记录其它有关信息后,准备下一步的子句一级的语法 处理;

d.进行子句一级的语法处理:对短语处理阶段的待处理子句组, 按其中每一子句,查对所述的句型库,若结果为无,则删除,若有, 则记录其句型编码和句型参数,将所有的词转换成所述的中间语编 码,然后记录其它有关信息,准备下一步的子句一级的语义处理;

e.进行子句一级的语义处理:在所述的语义规则库和比喻处理 程序的帮助下,对子句一级语法处理阶段中查对结果为有的待处理子 句组,按其中每一子句的句型编码和句型参数,并参考所述的语义关 联库和常识库,检验有关的搭配情况和语义规则,对每个子句的检验 结果,赋予相应的权重,然后按权重次序排列剩下的子句组;

f.进行子句一级的语用处理:在所述的句型库和保存有动元和句 型的有关信息的动态生成的角色库和语流库的帮助下,对子句一级语 义处理阶段处理后的子句组,排除由于指代和省略所造成而尚未解决 的歧义,

g.按预先确定的权重选句原则,确定结果子句,将其保存为中 间语文本,同时保存所述的动态生成的角色库和语流库。

较佳地,其还包括利用语言输出模组将所述的中间语的任何编码 文本转换成所述自然语言的文本的步骤,其中输出模组包括:

a.在所述的计算机内安装的按所述的同义句近似特征参数组配 套编制的所述自然语言的同义句库和同义句近似特征参数组,

b.在所述的计算机内安装的计算机输出程序,该输出程序利用 所述自然语言的词库和句型库中所对应的中间语编码而将所述的中 间语编码文本转换生成所述自然语言的文本,并利用所述的同义词近 似特征参数组对所生成的自然语言的词汇进行同义词选择,利用所述 的同义句近似特征参数组对所生成的自然语言文本的文句进行修辞 处理。

较佳地,所述的计算机输出程序包括:

a.语言转换模块,其在所述自然语言的所述词库和句型库的帮 助下,将所述的中间语编码文本转换为所述自然语言的文本,

b.修辞处理模块,其利用所述自然语言的所述同义句库及其近 似特征参数组,并在所述的比喻处理程序和动态生成的角色库和语流 库的帮助下,对所转换成的所述自然语言的文本进行修辞处理。

本发明还提供一个在多个语种之间进行文本翻译的机器翻译方 法,其采用权利要求上文所述的文本转换方法,所述的各语种皆利用 所述的各自的输入和输出模组而通过所述的中间语来与所述的其它 语种进行翻译,其中包括在所述计算机上安装将所述各语种的语音或 文本输入或输出所述计算机的器具。

本发明与现有技术相比具有的主要优点如下:

1、本发明解决了自然语言处理方面的语言标准问题,提供了 一种统一的、可以在翻译过程中作为参照物的标准语言。

2、本发明使得语种转换的程序编程规范化,从而大大减低编 程的难度,进而减低编程过程中人力方面的成本。

3、本发明将编程工作与语文工作分开,并且将语文工作的结 果直接写入数据库,可以随时更新,从而大大提高了程序的维持效率 和降低了升级、维护成本。

4、本发明降低了对编程人员的语言学知识和外语知识的要 求,缓解了这方面的编程人员短缺的困境。

5、本发明以中间语词库和句型库为“范本’”、为指引、为基 础,从而能为各语种的语文整理工作,编制有关的工具软件,使得原 来是学术性的、语言学的语文工作,变成规范的、工具化的数据库更 新工作,大大降低开发各种本国的和多语种的语文软件的成本。

6、本发明使得语种转换的程序模组脱离了两个语种混杂的困 境,从而使得编程的效率大大提高、成本大大减少。

7、本发明使得多语种之间转换的程序模组数目减少一个数量 级,不仅大大减少编制模组的成本,并且减少程序的规模和复杂度。

8、本发明使得多语种之间文本翻译的次数减少一个数量级, 即一个文本只要翻译一次为中间语“文本”,再翻译为其它语种的文本, 所有的语种文本均是从中间语文本译出。这不仅减少翻译次数,并且 减少了错误率。

9、在多语种的领域,如联合国、欧盟,甚至两国之间的条约、 协定等,都可以用本发明的中间语“文本”作为标准本,还可节省保 管的人力和费用。

10、本发明正式、直面地解决语义分析的难题,提高了自然语 言处理的准确度。

11、本发明设计有角色库、语流库,首次提供了修辞处理功能, 提高了译文的可读性。

12、基于本发明,可以开发各种自然语言处理方面的应用软件 和器具,例如基于分类的单语种和多语种的词典、计算机的自动摘要 和知识学习、互联网的语义搜索等。

附图说明

附图示出了本发明的实施例,并与说明书一起,用来解释本发明 的原理。通过以下结合附图所作的详细描述,可以更清楚地理解本发 明的目的、优点及特征,其中:

图1是机器翻译应用的总体方框图。

图2是任一语种的词汇的大范围分类表。

图3是任一语种的通用词汇的大范围分类表。

图4表示名词下的较上层次的分类表。

图5是具体名词下的较上层次的分类表。

图6是抽象名词下的属性名词下的较上层次的分类表。

图7是抽象名词下的属性名词下的性质属性名词下的人的属性 名词的继续细化的分类表。

图8是抽象名词下的属性名词下的附加属性名词下的普通附加 属性名词下的人的附加属性名词的继续细化的分类表。

图9是形容词下的较上层次的分类表。

图10是副词下的较上层次的分类表。

图11是动词兼子句的较上层次的分类表。

图12是二元动态句的操作句的语义判定流程图。

图13是中间语引擎的系统方框图。

图14是子句语法分析中的主动词判定流程图。

图15是子句语法分析中的语义检验流程图。

具体实施方式

在自然语言处理领域,本发明由三个紧密相关、但又各自具有本 身应用范围的部分组成,它们是:中间语、中间语引擎和中间语[机 器]翻译系统。由于这三个部分都是以自然语言为主体,而自然语言 是一个复杂的综合体,所以下面的说明也必须把这个综合体配合发明 的设计,一并说明清楚。为此目的,又为前后对应的方便,所以每段 加上四位数的段号,放在方括号内。其中,第一位数表部分,第二位 数表主要节次。

1中间语部分

1.1中间语对词汇的设计

1.1.1中间语在词汇方面要解决的技术难题

[1101]语音和文字。任何语种都是由词汇和语法两个部分组成 的。词汇是语言的载体,语言学上称为符号,分为语音和文字。计算 机处理自然语言时,必须先将所要处理的语言内容输入电脑,称为语 篇或文本。如果语言内容在处理前的形式是语音,就必须先转换成文 字,这方面的计算机技术称为语音辨识,已经相当成熟;如果计算机 处理完毕后需要语音输出,就必须从文字转换成语音,这方面的计算 机技术称为语音合成,已经基本解决。附图1给出机器翻译应用的总 体方框图。因此,自然语言处理主要针对的还是文字内容。以下说明 就是针对文字内容。

[1102]符号的兼用。任何一个语种,其语言的发展过程带有随 意性、偶然性,并且会吸收和消化其它语种的语言,从而词汇的数量 可能增加很快。但是由于符号的数量有限,因此一个符号经常会对应 多个词,也就是一个符号可以兼用而表示多个词。词具有词义。如果 一个符号都是对应一个词,那么说“符号”、或“词”、或“词义”, 说的都是一回事。但是由于符号有兼用,就必须区别。一般不说一个 符号对应多个词,而是说一个词(指符号)有多个义——该词就是一 个多义词。反过来,每个义就是该符号的一个兼用词——这样,符号 的兼用就被淡化了。例如,“花”这个符号,对应两个兼用词,也就 是对应两个义,可用右加数标来区别为“花1”——对应“花朵”的 花,和“花2”——对应“花钱”的花。符号的兼用,或词有多义, 是造成计算机难以处理自然语言的始作俑者(但不是全部)。但是人 区别兼用词却毫不费力,如何使计算机也能做到这一点,这是本发明 的任务。在以下的说明中,除非特别说明,自然语言的词或词汇指的 是兼用词。也就是把多义词视为多个带右加数标的单义词。再强调, 兼用是语种所不可避免的现实;但是中间语设计的词汇则完全是单义 词,也就是一个符号(编码)对应一个词义。

[1103]词汇的大分类。本发明设计中间语词汇,作为语种词汇 的共同代表。附图2是任一语种的词汇的大范围分类。首先可基本分 为通用词汇、特殊名词词汇和专业词汇。专业词汇是学科或行业的术 语,如物理学词汇、商务词汇等;特殊名词词汇是特殊性质的名词, 包括专门名词,如人名、地名、公司名、以至于花卉或动物的品种名 等。前者由专业的定义来规范,后者基本就是罗列名词,所以这两类 词汇的处理都没有太大困难。通用词汇相当于普通字典的词汇,是语 言的核心,所以下面对中间语词汇的介绍中集中说明这类词汇。

[1104]通用词汇。附图3是通用词汇的大范围分类。首先分为 实词和功能词。实词包括名词、形容词、动词和副词,它们是语言表 达的主要词汇,使用频率高,变化复杂,词义难处理,并且数量在通 用词汇中也最多,所以是中间语词汇设计的重中之重,尤其是名词、 形容词和动词。功能词可分为主要功能词和次要功能词。所有的功能 词,每类数量一般不超过一百个,词义简单,所以可以个别地分类、 编码和处理。辅助词汇用途单一,即使像拟声词这样数量不定的词, 由于其性质或用途极有限,都可以罗列处理。所以就中间语对功能词 和辅助词汇的设计来说,没有什么大的困难。

[1105]功能词。功能词顾名思义就是在语言中起功能作用的 词。主要功能词是语种共同都有的,包括代名词、连词、介词、数词 (包括数字)等,标点符号也视为功能词。次要功能词是语种相异的 功能词。例如中文有专门的量词词类,其它语种基本没有(其它语种 的少数量词,一般作为单位名词处理)。而印欧语言一般有冠词,中 文没有(中文把冠词的定指功能一般让语义来处理,必要时加指示代 词“该”、“其”等)。也就是说,次要功能词的功能,有些语种不是 用特定的词类来实现。所有主要和次要功能词的处理,都可以直接编 入中间语引擎,因为涉及编程技巧,所以有关它们的设计的说明从略。 辅助词汇包括叹词、拟声词、礼词等,是语言中可有可无或有随意性、 文化性质的词类,有时还是词素形式(例如有些礼词)。因为它们的 词义单纯,语法功能固定,所以中间语对它们的设计没有什么大的困 难,以下说明也从略。

[1106]树状分类编码。计算机要处理语言,首先就要求把词汇 的一切资料(如词形、词性、词义等)以计算机规定的形式存放在计 算机内。按照目前的计算机技术,这就是要把词汇做成数据库形式, 这样的数据库以下称为词库。中间语的词汇设计也采用数据库形式, 它的词汇的文字符号(即词形)自然以编码形式最适合计算机处理。 怎么编码,这是本发明的重点之一。这里所说的编码不是为信息传播 的效率所设计的信息编码,也不是为保密目的所设计的密码。因此, 从文字编码方式来说,分类编码是最直观、最常用的方式,呈树枝状, 词汇就相当于分枝的节点。以下就以树和节点来形象地称呼它们。前 面图2和图3的大范围分类就是树状分类的例子。事实上,图3是图 2的通用词汇这个分枝的继续细分。注意,这些树状分类图习惯上是 倒着画的,即根部在上方。从而,这样颠倒后的节点上、下位关系就 被分类后的词汇借用,而有上位词、下位词的称呼。从分类图中可以 看出,树状分类编码的优点不仅在代表词形,其实更大的优点在于分 类的编码可以自动包括词性的信息,甚至还包括基本的词义信息,下 面会提到(见[1120])。

[1107]参数法编码。但是,当分类越来越细时,继续分类则效 率减低,并且交叉分类的情况也越来越严重,这时,改用参数法就更 有效(参数在语言学上一般称特征、或特征参数,本说明一概用参数 ——事实上,特征比较对应于参数值)。例如当名词“桌子”再往下 细分时,无论是按形状细分圆桌、方桌、条桌等,按功能细分饭桌、 书桌、供桌等,按材料细分木桌、铁桌、石桌等,这些桌子名词就不 宜按分类来区别,而宜按形状、功能、材料等这样的参数来区别。这 个例子还表明,参数一般是一个多维的矢量,普遍是二维,第一维是 参数名称,第二维是参数值。这样的多维矢量以下称为参数组。参数 如果仍要按分类来区别,还有一个麻烦,那就是必须创造词汇节点, 例如“形状桌”、“功能桌”、“材料桌”等节点,以便在它们下面有系 统地列出有关的桌子。但是词汇树上要尽量避免这样的节点。即使容 许这样的节点,还有前述的交叉分类问题不能解决。例如假如有一个 词A是指圆形的供桌,那么A要放在哪个节点下呢。参数法就解决 了这个问题。所以中间语的分类编码是先树状分类编码,再参数编码。 不过分类法还是有一个与交叉问题类似的情况,一般要用特例来处 理。那就是某些词本身就具有跨类的性质,例如名词中的集合名词。 中文这种情况尤其普遍,这牵涉到中文的双音节词是由单音节词组 成,例如“德貌”是“德”与“貌”,“兵马”是“兵”与“马”等。 跨类的词由于数量不是很多,并且有语种的特性,所以作为特例处理, 例如放入各语种的特殊词汇库(见[1118])。

[1108]词汇的语义场。从另一个角度,桌子的原型定义是“一 个稳定支撑的水平面物体,供在其水平面上从事书写、摆放物品等的 用途”。所有符合这个定义的物体在发挥相应功能时,都可指称为“桌 子”。也就是说,一个词的语义不是局限在一个狭小的范围,而是可 以很广泛的。一般称这种广泛范围的定义为“语义场”。原型定义就 是对语义场的概括性描述。为本发明的目的,原型义词指的是最靠近 原型定义的词。语义场可以划分,参数就是划分的依据。所以按形状 划分就是圆桌、方桌、条桌,等等。这样得出来的词,各有其较为狭 小范围的自身语义场。如果各种划分不相互交叉,则语义场里的词可 以用分类法区别。因此,分类法与参数法的划界原则,主要还是在语 义场划分时,是否有交叉的情况。其次则是取决于参数值的多少和复 杂程度。如果某个参数值少,则不妨用分类。例如当桌子的形状只有 圆和方两种时,则桌子可继续分圆桌(类)和方桌(类),然后再使用参 数法继续细分。还有一种情况,当某个参数值异常时,也宜用该参数 值加以区别,例如“茶几”就是“高度”参数异常的桌子。

[1109]划界问题。什么时候停止用分类法继续往下分类,而改 用参数法,对具体名词比较好判定,对动词、形容词等其它词类的词, 就是取舍的问题,还牵涉到词义的研究。一般的原则是,尽量把用某 个参数区别的词的数目保持在合理范围,即编写处理程序时易于掌握 的范围。这是词汇分类法的划界问题。还有其它形式的广义划界问题, 在以下设计中间语时还将不断出现。因为语言对付的世间事物是一个 连续一体,而语言的词汇和语法是有限的。有限表无限,出现灰色区 域是难免的,也是造成自然语言处理难以解决的又一个主要原因。所 以在以下说明中经常用“一般”两字来表示“灰色区域”是要另外处 理的,要么做出取舍,要么用特例(如前面的跨类词例子)。

[1110]同义词。上面用桌子举例说明分类法加参数法的编码方 法,因为桌子是具体物,很直观,事实上,进入参数法领域,也就是 进入语义场领域,无论是圆桌、方桌、饭桌、书桌、木桌等,它们都 是桌子的“同义词”(这是语言学上约定俗成的用语,严格说应该称 为近义词)。同义词一般用在形容词、动词或抽象名词方面,因为这 些词很抽象,既不容易掌握其原型定义,也不容易看出其语义场范围, 只有靠同义词彼此间的相似情况来对比定义(字典对这类词的定义经 常使用的就是同义词的对比,所以也经常发生循环定义的现象)。同 义词就是属于同一语义场的词,从而参数法是区别同义词的理想方 法。

[1111]中间语关于参数编码的原则。参数编码是对分类编码的 补充。因此,加参数编码的词就不是词汇分类树上的节点,而是其所 属分类编码节点“内”的词。例如,圆桌、方桌等同义词就都属于“桌 子”这个节点。由于各语种的同义词不尽相同,所以原则上,中间语 词汇树上不收同义词,只收集各语种出现的近似特征参数,即(矢量) 参数组(见前面[1107])——对同义词而言,全称为同义词近似特征 参数组。同义词本身则由语种自身的词库收录。不过这是理想的情况, 因为各语种的参数组不会是一致的,所以中间语收集的参数组是各语 种参数组的综合。由于参数的整理和收集是一个细致、长期的语言学 工作,所以原型义词和同义词的分界要随着中间语词汇树的完善而明 晰。

[1112]词的使用义。上面说明了词汇的外部关系,从而确定了 词的分类和参数编码。词的自身还有两种内部关系。其一是关于词的 语义。上面说到,词“桌子”的原型定义是“一个稳定支撑的水平面 物体,供......”,这是该词的本义。在“杂技演员用桌子的一个角把 桌子顶在额头上”句中,桌子只是作为道具而存在,它的意义现在是 “杂技演员的一种道具”,这称为桌子的使用义。即,在句中使用时 所呈现的意义。桌子一般没有道具这个功能,现在使用时临时增加了 这个功能,也就是说,临时把桌子的功能延伸了,故称为使用时的延 伸义。还有一种情况,在“他把两个纸箱叠在一起当桌子,就在上面 书写起来”句中,“桌子”一词是用来比喻两个叠在一起的纸箱的功 能,这是使用时的比喻义。所以使用义包括延伸义和比喻义。显而易 见,使用义是不容易预先收录在中间语词汇树上的,除非已经固化(见 [1114])

[1113]词义重叠。具体名词的使用义好理解,因为被其指称的 具体物是直观而不可变的,但是动词和形容词的使用义难理解,不过 它们的道理一样,也包括延伸义和比喻义;只是它们的使用义情况更 普遍,可说随时发生。不像同义词可被用来认识和区别动词和形容词, 使用义却增加和混淆了动词和形容词的语义,尤其是对动词。前面说 过,动词和形容词的语义场的范围很模糊,一个原因就是被使用义掺 合进来,使语义场广泛地延伸。这种延伸如果延伸到其它词的语义场 内,与其发生重叠,就会“人为地”造成同义词——因为同义词的前 述的定义是指同一语义场内根据各种参数而产生的不同词汇;而现在 是不同语义场的词汇因为词义延伸重叠而形成同义词。至于怎么区别 这种同义词,或者说,怎么判断延伸后的词义,这要在句中使用时来 进行,见下面第1.3节“中间语对语义的处理”的说明。

[1114]中间语关于使用义的处理。使用义原则上不列入中间语 词库内词的义项,因为是动态的。对于个别语种的词库,如果某一使 用义的使用很频繁,已经固化,变为静态,则为效率起见(尤其是计 算机在判断词义时的效率),可将其收入有关语种的词库。此处虽然 是说明中间语的设计,但是语种的词库也要配套设计,供后面中间语 引擎使用。所谓把使用义收入语种的词库,指的是在该收入的义项内 注明是延伸义或比喻义——这时,从计算机处理的角度,带此义项的 该词也可作为兼用词来处理,虽然这与符号的兼用是有本质上的不 同。这种固化收入的词如果成为原型义词,就必须在中间语词汇树上 有相应的节点,也就是赋予分类编码;否则就必须是某个原型义词的 同义词,而按同义词处理。

[1115]衍生词及其中间语的处理。自然语言的词的另外一种内 部关系是,词可以发生词性的改变,但是词义基本保持不变。主要是 在名词、动词和形容词之间的词性改变以及形容词向副词的词性改 变,有的语种的词还带有词形的变化。改变后的词称为衍生词。中间 语的词汇基本不列入衍生词。但是对于配套的语种词库,各语种的衍 生词必须设计处理的方式:

(1)在衍生词的词性的该语种词汇树上设立一个有关原来词性的 空节点,作为衍生词的标志。更准确说应该称为虚节点,因为在中间 语词汇树上没有该节点。但是有些语种的衍生词的词形变化有时是不 规则的,所以语种的衍生词节点上要收入不规则变化的衍生词,从而 不一定是空的节点;

(2)这些衍生词节点以其“原词性-新词性”为名,外加方括弧。 例如各语种的名词树的根节点上就有[动词-名词]和[形容词-名词]两 个衍生词虚节点;

(3)该衍生词的编码就是“该虚节点的编码+该衍生词原词的编 码”而可自动生成。这样设计的目的是,计算机在读到一个衍生词时, 根据其编码就能迅速知道其原词性、新词性和词义。其好处是,这类 衍生词除不规则变化的外,均不必列入词库而另外编码。例如中文没 有词形变化,动词基本都可作名词和形容词。如果把这种衍生的名词 和形容词都列入中文词库,实属多余。

[1116]广义衍生词。印欧语言的衍生词有词形变化,从而衍生 词可以再衍生出衍生词,例如英文的care可以衍生careful,可以再 衍生carefulness。其次,词形变化可以有多种,从而增加了复杂度, 例如英文的动词变名词,可以加-ing,-ion,-ity,-ness等。第三, 词形变化还可以造出词义不同的词,也就是用加上特定词缀的方法, 包括前缀、后缀和中缀。所有这些称为广义衍生词(有时为区别起见, 上段的衍生词称为狭义衍生词)。对于广义衍生词,各语种的词汇一 般作为普通词处理。狭义与广义衍生词之间也存在前面说过的划界问 题。一般原则是,如果衍生情况是语种的共性,并且词义可根据规则 计算出来,则作为狭义衍生词,否则作为广义衍生词。另外,对于有 词形变化的语种,其狭义衍生词还可以细分。例如衍生成名词时,可 以细分具体名词和抽象名词——这样,衍生词的虚节点就不只是‘原 词性-新词性’的词性之分,而是“原词类-新词类”的词类之分。但 是这种细分只在有关语种的词汇树上作出,以供该语种对其衍生词有 系统、有效率地提供语法或语义的计算词义的规则。

[1117]衍生词与虚节点。要强调的是,中间语词汇树不直接处 理衍生词,而是由配套的语种词汇树来处理,后者属于第二部分“中 间语引擎”的范围。另外,语种词汇树上的虚节点只是处理衍生词的 一个标志手段。它的特点是,它被赋予了词汇编码,从而使衍生词的 编码与词汇树的编码有了直接的联系。

[1118]组合词和习语及其中间语的处理。组合词是两个或两个 以上(主要是两个)的词的固化成词的组合,印欧语言一般中间要加 短线。组合词一般以组成名词为主。由于是成词的组合,所以无论是 在语种或中间语内都按词处理。习语也是两个或两个以上词的固化组 合,但是没有成词。所谓没有成词,它与组合词的划界也是模糊的。 例如英文大量的习语(idiom)是动词性的。中文更是如此,例如: 中文有大量的“同源词”,如“洗澡、唱歌”,都收在词典内;还有一 些词性不定的“词”,如“善于、习惯于、有利于”,它们是‘形容词 或名词’加介词“于”字的组合;更有大量具有文化特征的四字成语。 不论是组合词或习语,如果它们是语种特有的,都不在中间语设计的 范围,而由有关语种特别处理。为本发明的目的,每个语种的这些不 易列入语种词库的词,例如中文的同源词和四字成语,都列入各语种 的“特殊词汇库”,各根据其特定的规则处理。由于它们有特定的处 理规则,它们的内部关系和外部关系反而比词库内的词要简单多了。 特殊词汇库也属于第二部分“中间语引擎”的范围。

1.1.2中间语对于实词的具体实施方案

[1119]名词。不同词类有不同的分类考量。前面[1104]说过, 实词才是中间语词汇树设计的难题所在。首先是名词分类。图4表示 名词较上位的分类情况。本说明为帮助阅读词汇树的方便,在附图中 的每一个节点的分类号前增加了其所处的节点层次数。本说明重点在 实词的分类,其第一层的分类,分别按名词(Noun)、形容词 (adJective)、动词(Verb)和副词(Modifier)编号为1N、1J、1V、 1M(对这4个节点特别赋予它们能反映其词性的英文字母,其中数 字“1”即表示第一层节点)。名词第一次下分为2A“具体名词”、2B “抽象名词”、和2C“本体名词”。因此,具体名词的编号就是NA (图中为1N2A)。另外,每个节点的继续细分都自成树状,即以其 名,例如“名词树”指的是从名词节点开始的分支,以下类同。注意, “具体名词”不是一个基本词,而是组合词。这表明词汇树上的节点 名,除叶节点外,都不必一定是词名,但必须是反映原型义。因此, 这些非叶节点的节点词汇都具有分类性质,可称为类词。

[1120]具体名词。图5表示具体名词较上位的继续分类情况。 其中有两点与一般的分类不同:

(1)具体名词分类树基本是整体物的分类。对于非整体物,包 括构件、部分、部位、成分等(以下统称构件),它们按所属整体物 另行分支来分类。注意,这是一种‘嫁接’的分支,不是具体名词树 支的分支,也可以看做是长在一个整体物的“节点内”的分支(但与 [1111]所述同义词那样的在节点内的矢量参数不同)。换句话说,非整 体物的编码是“其所属整体物的编码+构件编码”。不过构件编码仍是 分类编码,是单独的分类。“整体-部分(构件)”是语言中的一个基 本语义概念,包括领有概念,因此这样的分类编码就自动包括了这一 语义概念,为以后计算机的语义分析工作提供了重要的信息。另外, 构件编码在其所属整体物的上下位之间还有继承关系,也是一个基本 的语义概念。又注意,有些非整体物具有整体物的使用特征,则采用 交叉收录的方式来表示。例如水果,其本质是果类植物的构件(称为 果实),但是水果又是人类食用物的一个大类,所以两处都要列入。 就编码而言,为计算机处理的效率起见,选择其中一个最常用的作为 主编码,其它作为关联的交叉编码。另外,图5中的节点NABB“人 造物”是一个大分类。具体细分可以参照统计分类标准或工商行业分 类标准,但要注意两点:一是要区别好整体与构件;另一是太细的分 类属于专业领域,则要区别好通用名词与专业名词的分界,少数可以 交叉兼列。

(2)有大量的名词,传统语言学上一般都按具体名词分类,例 如“工程师、护士、哥哥”等,本发明则将它们归入抽象名词,见下 面[1127]的说明。

[1121]抽象名词。什么是抽象名词,一般有两种回答,一是 “不是具体名词的名词”,另一是“看不见、摸不着的物体”。这样的 回答不能解决分类的需要。因此,一般对抽象名词的分类比较笼统, 没有规律。本发明对抽象名词进行了词义的分类,同时也就明确了其 定义。图4的节点NB下再分为3A“事件名词”、3B“属性名词”、 和3C“概念名词”。

[1122]事件名词。节点NBA“事件名词”下再分4A“单纯事 件名词”(主要对应各语种的衍生词虚节点[动词-名词])和4B“复合 事件名词”。后者下面可再分:“一般事件名词”(例如“故事、消息”)、 “个人事件名词”(例如“上学”)、家庭事件名词”(例如“迁居”)、 “社会/国家事件名词”(例如“水灾”)等。“事件”在语法里的定义 是句子的语义指称,所以事件名词都含有句子的意义,包括成组的句 子。

[1123]属性名词。节点NBB“属性名词”是对一组特定形容词 的指称。形容词则是对事物的描述。而事物是属性的属体,形容词是 属性的值。因此,“属体-属性-属性值(形容词)”是三位一体的分类 方式。所以关于属性名词的说明将与下面[1126]关于形容词的说明一 起进行。

[1124]概念名词。节点NBC“概念名词”是必须以文字定义的 名词,例如学术或专业的名词,大部分属于专业词汇,但也有许多已 经进入通用词汇,例如“微积分、汇率、加速度”。这样的文字定义 就相当于前面[1108]的原型定义(因此在专业词汇里也包括专业的具 体名词)。有一批通用的概念名词,如“国家、机构、社会”等,它 们是列在“人的组织”这个分类下面(见图4,节点NBCA)。而人的 组织这个分类则像具体名词的“构件类”包括“整体-部分”的语义 信息一样,它本身也是一个重要的语义概念,即“事物的关联”关系。 不过这种关联关系没有直接设计在中间语词库内,而是作为一个附属 词库“语义关联库”,设计在中间语引擎内(见第二部分,[2305])。

[1125]本体名词。节点NC“本体名词”是不以事物的本身为 依归的名词,主要是传统上视为抽象名词的时间和空间名词。不过空 间名词中的场所名词基本是具体名词,但为计算机处理的效率起见, 交叉列在此处。同样,本体属性名词都没有特定的属体,因此不列在 属性名词节点下,但也可交叉兼列。其它本体名词,例如“宇宙、星 球”,也可以交叉列在具体名词树上。

[1126]形容词与属性名词。形容词是对事物的描述,例如“房 子高”、“道路长”、“河水深”。“高、长、深”是形容词,而“高度、 长度、深度”则分别是“高”和“低”、“长”和“短”、“深”和“浅” 的指称,也分别是所描述的“房子、道路、河水”的一个属性。所以 图9的形容词分类是与图6的属性名词的大分类对应的,而后者则与 属体的大分类对应,从而形成三位一体的分类方式。为此,图9只是 简单地列出最上层的分类,也无例词。而在属性名词的分支下面,则 列出很多形容词的例词。语言是灵活多变的,要适应所有的情况。所 以少数形容词可以没有对应的属性名词或属体,例如“好/坏”这对 百搭形容词。事件和概念名词虽然是抽象名词,但是也要描述的,所 以也有属性值。但是有关的属性名词却不明显,或被省略,或选其中 一个显性词加以名词化。例如最常见的事件形容词“容易/困难”、“正 确/错误”等,其属性名词一般是加“度、性”等词缀,如“容易性/ 困难度”、“正确度/错误性”等。少数属性名词可以没有对应的属体, 本体属性是一个例子,例如“数量”和“多/少”、“距离”和“远/近” 等。形容词和属性名词中,与人有关的词汇数量最多、最复杂,图7 做了细分类。最后,形容词本身可以名词化,也就是成为[形容词-名 词]的衍生词。这是一种临时的属性名词,以对该形容词进行指称。 例如,当觉得光说“这个花瓶很漂亮”还不足以表达心里的感受时, 就说“这个花瓶的漂亮难以形容”——把原来用以描述的词汇“漂亮” 提升到被描述的地位,以作为一种强调的方式。

[1127]附加形容词与附加属性。形容词除描述用途外,还有限 定用途,例如“那个房子很高”是描述,而“那是一个高房子”则是 限定,以把该房子与别的低房子区别开来。限定的作用也等于是标签 的作用。但是标签更可以用名词,例如“木头的房子”,“木头的”就 是一个[名词-形容词]的衍生词。“的”字就是中文形容词衍生词的标 志(不说它是词缀或词形变化,因为“的”字经常可省略,也是计算 机处理时的一个主要歧异来源)。这样的形容词称为附加形容词,而 不直接说[名词-形容词]的衍生词,就是强调其标签性质。另外,附加 形容词虽然是衍生词,不过在图9的中间语词汇树上还是列出虚节点 JB,以与图4C的节点NBBB对应。另外,像英文等印欧语言,其衍 生形式多种多样,并且不规则变化也多,很容易失去衍生的来源。最 后,附加形容词也有相应的附加属性,例如“木头的”就是房子“材 料”属性的值。图8特别显示了人的附加属性的细分类。从这里可以 看出,“工程师、护士”和“哥哥”分别是人的“职业”属性和“亲 戚”属性的值。在“公司新来一名工程师”句中,“工程师”是“担 任工程师职务的人”的缩写。根据语言的精简或经济原则,这样的缩 写已经成为语言的规律,并且也符合语言的引喻(metonymy)原则。 所以这类词都可直接衍生为“人”节点下的一个虚节点的衍生词。

[1128]副词。副词不是句法的主要部分,它的功能是修饰形容 词、动词、句子、以及别的副词;它也称状语,尤其是当其以短语形 式出现时。同样,名词是由形容词修饰的,当形容词以短语形式出现 时则称定语。所以状语包括副词,定语包括形容词。若都从修饰的角 度说,形容词也不是句法的主要部分。因此下一节在说明中间语语法 时,定语和状语要暂时剥离,即不加以考虑。但是形容词是属性句的 组成部分,所以它具有了句法的作用,这就增加了剥离定语时的复杂 性。同样,副词也可作补语,所以它也不是完全没有句法功能。这些 都是本发明面对的语言的现实,计算机处理时都要加以考虑在内。副 词作为词汇的一种,中间语对它的分类编码并没有太大的困难,见图 10。特别要注意的是,与人的心里、情绪有关的形容词所衍生的副词, 是衍生词,不必列在各语种的词汇树上,并且其语义指向实际上是人, 而不是动作。

[1129]动词。动词是句子的灵魂;而句是文本的基本单元。句 法是语法的核心,中间语语法就是各语种句法的共同部分,可称为大 语法。下面提到语法时基本指的是句法,都是针对中间语的大语法。 其它非共同部分的语法称为有关语种的小语法。因此,从大语法的角 度看,动词的分类与句的分类是一体的两面,这是本发明对中间语语 法以及动词提出的创新设计,一并都在下一节说明。

1.2中间语对语法的设计

1.2.1中间语在语法方面要解决的技术难题

[1201]简单句和子句。语言是人类交流时用以表达的工具。一 场表达的文字记录称为语篇或文本。句是语篇或文本的最小单位。句 有单句和复句之分。复句是单句的组合,所以应该说单句是最小的单 位。这样,句法主要就是关于单句的构成规则。为说明中间语语法的 目的,下面又把单句中的定语和状语剥离,所谓剥离就是暂时不加以 考虑。另外,还要剥离时间和空间的参数(见下段的说明)以及有关 的副词。最后,再剥离次要功能词和辅助词汇。剩下的句子称为子句。 须要指出,这样剥离后的句子是没有内容、没有信息量的,它只是句 法分析的工具:例如“他吃苹果”,毫无信息可言;那怕只加一个“了” 字,就有语感了:“他吃了苹果”。其实,子句就是基本由名词、动词 和介词组成(有形容词、副词作为结构部分的子句作为特例)。所以 要用这样一步步分解的方式定义子句,一方面因为后面说明中间语引 擎时,计算机处理的次序就是这样;另一方面,子句还有一些有形容 词、副词、甚至其它子句参加的情况,从而不能简单地定义。这是语 言的现实,只有在出现这类情况时再加以说明。因此以下说明时用的 句子都针对的是这样定义的子句。

[1202]句的时间和空间因素。句除了特别的情况(例如说明事 物的原理)以外,总是离开不了时间和空间的范畴。因此任何语言都 有专门的针对时间和空间的表达方式,它们在语种之间各不相同,互 有千秋。但是时空表达的目的则是一样的,因此中间语对时空表达方 式的设计是把它们作为参数来处理。比如时间,就有:时态(过去、 现在、将来);时性(时点或时段);时体(进行或完成);时限(定时与泛 时);等等。时态、时性、时体、时限等都是时间的参数。空间是三 维的,表达方式更多、更复杂,有方向和场所的参数,有直接包括在 动词内部的参数,等等。所以中间语语法为它们设计了句的时间参数 组和空间参数组,从而不直接参加子句的句法。

[1203]动词的内在副词参数。前面[1128]说过,副词的“功能 是修饰形容词、动词、句子......”,所以它虽然“不是句法的主要部 分”,却在许多方面间接地参与了句法。例如副词在修饰动词时,很 多也包括对时空的表达,如“向前看”是“看:方向=向前”。另外, 有些动词,本身就包括了副词的修饰,如“跳”有“方向=垂直”的 副词在内;而“徘徊”有“心理=犹豫”的副词在内——这些“副词” 是内在的,它们与动词外部的修饰用副词或副词短语有别,因为后者 是动态出现的。动词的内在副词参数可以纳入动词的同义词特征参数 组,以便在做句分析时,与时间和空间参数以及其它外在副词,互相 参照考虑。

[1204]原型子句。与1.1节说明的词的核心定义是原型义一样, 子句的核心定义是原型子句,就是按照语种自然语序的陈述句句型 (句法)的子句。关于自然语序,后面会说明(见[1209])。非原型 的子句称为变体子句,包括疑问句、祈使句、感叹句、被动句等。一 个动词的原型子句及其所有变体子句构成该动词的句族,从而动词分 类就是句族分类,这就是前面[1129]说的“动词的分类与句的分类是 一体的两面”。图11表示动词或子句的上位的分类情况。以下的说明 按情况方便,把动词和子句交换或混淆使用,例如说子句分类也就等 于说动词分类。因此,在做了以上的剥离后,原型子句的中间语结构 现在是:{子句(或动词)分类编码,[自然语序动元]}(描述句除外, 见下面),其中方括号表示动元的数目从零到三不等。很明显,原型 子句本身只是一个句族的框架,或一个标签,没有实用性,真正的实 用句是各种变体子句。下面分段说明原型子句(或动词)的分类(以 下把“(或动词)”省略),参看图11。

[1205]描述句。子句的第一层分类为描述句、关系句和动态句, 以及少数的事件句和特殊句。描述句(图11,节点VA)就是对一个 事物的描述,包括属性描述(称为属性句,节点VAA)和状态描述(称 为状态句,节点VAB)。属性描述就是用形容词进行的描述,基本是 静态的。属性句动词基本只有一个(若不考虑同义词的话),并且各 语种经常借用判断动词“是”(因为描述总有判断的成分),中文甚至 不使用动词,如前例“房高、路长、水深”。状态描述则是用感觉动 词“感觉、感到”等和动词分词(衍生词)等进行的描述,基本是动 态的。动词分词由于是衍生词,所以不直接列入形容词的分类树,而 是通过[动词-形容词]这个虚节点列在语种的形容词树上。因此描述句 的原型句中间语组成现在是:{描述句分类编码,动元,形容词},其 中动元是被描述的事物。

[1206]关系句。关系句(图11,节点VB)是表达两个事物之 间的关系,基本是静态的。关系句最基本的就是判断句“是”字句。 其它还有领属句、比较句、称呼句、因果句等。关系句的原型句中间 语组成现在是:{关系句分类编码,动元1,动元2},其中动元1、2 是两个相互关系的事物,二者一般要满足同类或近类名词的搭配关 系。

[1207]动态句。动态句(图11,节点VC),尤其是二元动态 句,是语言中变化最复杂、语义最丰富、语法最难解的句子,因此也 是子句或动词分类方面的重中之重。因此下面围绕动态句详细说明。

[1208]S动元。动态句的首要工作就是确定动态的主使者或发 生者,本说明称之为“S动元”。根据本发明制定的中间语规则,能 够充当S动元的名词首要的是人或人的组织,其余能够充当S动元 的名词不多,它们还必须满足与有关动词搭配的条件,它们按其使用 频率有:动物、有动力的机械物、自然力、植物、虚构的人物。其它 的名词基本不能充当S动元,除非在语境中表明是拟人化的物体。下 面为说明方便,把满足这样规范的名词称为满足施事的条件,或简称 S动元为施事。反之,不满足这样规范的名词就称为S动元与动词不 搭配,从而该子句成为变体子句(见后面[1219])——这是语义上的 变体子句。

[1209]O动元。在二元动态句中,还有一个动元,本说明称之 为“O动元”。O动元没有固定的名词规范,但必须满足与有关动词 搭配的条件,因此本发明反过来利用O动元作为对子句/动词继续分 类的一个依据。另外特别指出,子句本身也可以充当O动元。O动 元如果与动词不搭配,有关子句就成为变体子句(见后面[1219])。

[1210]自然语序。动元的数目一般不能超过两个(例外情况如 传统所谓的“双宾语句”有三个动元),这是受语言线性排列所制约 的,否则就要产生歧义。这种制约甚至体现在对S动元、O动元和 动词V的排列的限制上,即S、O和V可以有六种排列方式:S-V-O, S-O-V,V-S-O,V-O-S,O-S-V,O-V-S,而任一语种只能选择其中 一种方式作为其固定语序,称为其自然语序。这样才能区别例如像中 文句“老王打小李”中老王是打人者这样的情况,因为中文的排列方 式是S-V-O。中文的这个排列方式就是自然语序的中文语序,而自然 语序就成为语种最常用和简捷的分类方法。但是中间语涵盖(中间语 机器翻译系统内的)所有的语种,同时因为中间语是供计算机使用的, 计算机可以不受线性语流的限制,所以中间语的句法是没有语序的。 或者更正确的说,计算机因为对所有词类(当然包括动元,尤其是S 和O)都指定数据符号和类型,所以中间语对所有的动元都打上了标 志,即中间语实际上是全语序的因为语序是语种对包括S和O 的所有动元的标志。

[1211]在理解和设计中间语时,不能脱离语种的实际,同时也 不能受语种实际的影响。语种的实际要反映在语种的输入和输出模组 中,而中间语则反映语种的共性。本说明是中文版,所举的例子也以 中文为主,偶尔会提到一些英文例子,而中文和英文都是S-V-O语 序的语言,所以一般人很容易忽略语序的因素。另外还要指出,自然 语序源自于二元动态句,对其它句型意义不大。也因为这个原因,在 以下的说明中,其它句型借用S和O作为其动元的符号,不会引起 误会。所以凡是一元句,都借用S作为其一个动元的符号;凡是二元 句,都借用S和O作为其两个动元的符号。而只有在动态句时,S 动元和O动元才有前述的语义限制和特定的搭配条件。

[1212]一元动态句。图11的节点VCA是一元动态句的树分枝。 下位节点VCAA的分支是对应属性句VAA的属性变化句,而VCAB 则是一般熟悉的自主动作句。自主动作句VCAB其下再细分,都是 跟人体及部位有关,说明从略。一元动态句的原型句中间语结构现在 是:{一元动态句分类编码、S动元}。

[1213]二元动态句。图11的节点VCB是二元动态句的树分枝。 下位可有七个节点分支,它们显性地是按S动元和O动元来分类的, 例如操作句的O动元是具体物,社交句的S动元和O动元都是人, 等(见图11中有关节点在‘//’后面的说明)。但是它们另外还有一 个隐性的分类:前面4个节点是正向动态,即动态的结果是O动元 发生了改变;后面3个节点是反向动态,即动态的结果是O动元没 有发生改变,反而是S动元自身发生了改变。这些分类都既是对子句, 也是对动词的分类。这七个节点的分类是最一般性的,它们还可以做 得更细,或者在它们各自的节点下再细分,如下面[1217]对操作句的 再细分。一般来说,越往下分,越是对语义、对动词的分类;反之, 则越是对语法、对子句的分类。二元动态句的原型句中间语结构现在 是:{二元动态句分类编码、S动元、O动元}。

[1214]补语。动态句还有一个“副”分类,即一个动态句(主 要是二元动态句)有时还可以同时表达动态的结果或效果,成为动态 句的补语部分。换句话说,同一个动词的动态句可以有两个句型,一 个不带补语,一个带补语,由于这只是针对子句的分类,所以带补语 的句型列入为变体子句(见[1219])。补语的条件是,虽然它也是在 做一个表达,但它必须与子句的本身紧密结合在一起,因此经常与子 句共享S动元或O动元或动词V(汉语语言学称之为补语的语义指 向)。补语的词类可以是名词、形容词、小品词(如中文的动量词)、 副词、动词、甚至短语、子句,但它们都必须是一个子句的组成部分。 广义来看,所有表述都可以有补充,如果补充的词语同原子句紧密结 合在一起,就可视为补语成分。所以属性句也可以有补语句型,例如 “他好在很诚实”。

[1215]动补结构。补语在各种语言里都存在,但是中文发挥得 最极致。就S-V-O语序的语言而言,补语(用B表示)一般出现在 句尾,即O动元之后,形成S+V+O+B的句型结构。但是中文更喜 欢出现在O动元之前,尤其是单字补语,形成S+V+B+O的句型结 构,例如“打酸手腕”、“打完桥牌”、“打破瓶子”(补语“酸”、“完”、 “破”的语义指向分别为S、V、O)。由于中文词的双音节化趋势, 当V和B都是单字时,常用的这种V+B组合(称为动补结构)就凝 结成一个固化的双音节词,例如“打破”,而被收入词典。

[1216]动词的分解。中文的这种动补结构还表明一个重要信 息,那就是表意文字的中文,它的单音节动词有相当大部分都是单纯 动词,词义只涉及简单的动作,不含动作的结果或效果。由于中文是 一个发展完善和成熟的语言,因此中文的单音节动词可作为动词分解 的参考。也就是说,像英文这样的拼音文字,动词是否带动补结构, 须要分析才能确定。例如英文动词break,经分析后才能确定是“打 +破”的组合,并且重点是在“破”,所以还能单独作“破”使用。动 词的分解是一直困惑语言学界和计算语言学界的难题,本发明从中间 语的动词与子句的分类的需求出发,得出动补结构,从而设计出既符 合语言自然发展规律、又结合句型实际的动词分解方式。具体的实施 是在动词的分类中,本说明书从略。

[1217]工具动元。在二元动态句的一个分支“操作句”节点 VCBA下,还作了细分,是根据动词在词义中有无带工具而细分的。 顺便指出,“操作句”也就是“操作动词”,这反映了比较上位的节点 倾向于按句分类,比较下位的节点、则倾向于按动词分类。工具还可作 为分类依据将操作动词再细分为人类肢体部位的工具(节点VCBAA) 和非人类肢体部位的工具(节点VCBAB)。很显然,这样越往下细分, 就越是动词的细分,所以也越是因语种而不同。也就是说,越上位的 分类越倾向于句分类,是语法分类,而属于中间语部分;越下位的分 类越倾向于动词分类,是语义分类,而与语种有特殊性。注意,在这 样的动词(操作动词)的子句中,其常规工具动元经常不出现,而是 默认的。工具出现时,子句就成为变体子句。

[1218]广义工具——T动元。工具本身叉可作为参数,细分为 狭义和广义。前者即一般理解的工具;后者还包括材料、方法和状态 (或姿态)。广义工具如果要出现在句中,与其它动元比较,其出现 频率占第三位,以下统称之为T动元(T从英文Tool)。工具出现频 率高是很显然的;事实上,几乎所有动词都可在句中带上广义工具, 例如“他用心算法计算出价钱”——此处,“心算”作为“计算”的 方法。而且中文在工具动元前面几乎都带介词“用”字,英文则是带 “with”。

[1219]T、C、X辅助动元。S动元和O动元是自然语序所容许 的两个无须标志的动元。T动元如要出现在自然语言的句中,就必须 加标志,否则要打乱自然语序。同理,所有要出现在子句中的其它动 元都必须加标志。为同S和O动元区别起见,这些要加标志的动元 称为辅助动元(须要区别时,S和O动元称为自然语序动元,简称 主动元)。大多数语种加标志的方法都是用介词。注意,前面说过, 这种加标志的区别主要是针对自然语言,但是中间语必须与自然语言 对应,故保留辅助动元的名称。子句带辅助动元后就列为变体子句。 所有动元都含有语义成分,称为语义格。在传统的语法中,时间和空 间的名词也经常被当作为辅助动元。从而,到底有多少语义格,这是 传统语法争论的问题。本发明在把时间和空间参数化后,基本不按语 义格区分动元,而是按在句型中的出现频率区分。所以按出现频率列 出的第四个动元是C动元(C从英文Compa nion)。C动元指的是与 S动元有协同或对立关系的人或人的组织,传统语言学上称当事或与 事。就协同关系而言,理论上,二元动态句绝大部分都可以有C动 元,因为它们都可以带上“同某某某一起”的成分。最后,所有其它 的辅助动元都归为X动元,因为它们加起来的出现频率都很小;它们 包括范围、依据、承接(前句)等,有些还是抽象名词。这样,二元 动态变体子句的中间语结构是:{子句(原型句)分类编码、动元[S、 O、T、C、X]、[补语B]、时间参数、空间参数}。

[1220]变体子句。从上面举例的变体子句的中间语结构可以 看出,各语种的变体子句的变化方式可以有如下种类:

1.S或O主动元的省略;

2.增加一个或多个T、C和X动元,以及所带介词的可能变化 (例如省略介词);

3.S、O、T、C和X动元在句中位置的变换;

4.S、O、T、C和X动元与动词的不搭配;

5.时空参数的省略、增减和位置的变化;

6.补语的不同类型和数目。

粗略估计,这些变化方式的排列组合可以达到百万数级。

[1221]标志系统。任一语种都必须靠各种标志来补充语法的不 足。作为主要用途,例如标点符号是断句的标志;连词是组成复句的 标志;介词是引导辅助动元的标志;词在句中的相对位置是句法的标 志;等等。但是所有的标志也都有歧义,例如中文的逗号随意性很强; 英文的介词也引导定语;连词还可组合同类的词和短语;等等。其次, 每一种目的的标志也都不是唯一的,也是一种歧义情况,这在英文中 比较多见,例如其定语的标志就有关系代名词、某些介词、动词分词 等,而中文则相对简单,只一个“的”字。这些都是语言的现实,它 们既帮助语法分析工作,也是造成语法分析复杂性的一个来源。词作 为标志时称为标志词,功能词是主要的标志词。

1.2.2中间语在语法方面的具体实施方案

[1222]句型库。对于中文语种,如果把S、O、V、B按原型语 序(S-V-O语种的,其它语种类似)排列的句中位置称为Ws、Wv、 Wo、Wb(但描述句要相应调整),则辅助动元、补语以及时间和空 间参数,可以出现的位置是Ws前、Ws后、Wv前(经常与Ws后 重合)、Wv后、Wo前(可与Wv后重合)、Wo后、Wb、Wb后。 那么,一个变体子句的S、V、O、T、C、X、B和时间、空间参数 及其各自的位置和搭配条件就代表该变体子句的句型。将它们所有的 百万数级排列组合,以这些数十个参数的方式,记录在数据库内,这 就是该动词的句族的句型集。所有的句型集汇合后的数据库就是语种 的句型库。注意,中间语的句型库不须要考虑位置参数和介词,但是 它要根据对应的有关句型的语义和语用内涵,记录详细的说明(以下 称之为子句的句型参数)并加以编码,以供语种句型库的编辑人员针 对相应的句型给予相应的编码。例如所有语种都有被动句,“被动句” 就是其句型参数,中间语将其编码为[×××],则各语种的“被动句”就 通过[×××]编码来对应(即翻译)。

[1223]特殊句(或动词)及其句型。分类是有限的,在类与类 之间还是有漏网之鱼,也就是前面[1109]说的划界问题。只要这些漏 网之鱼数目不多,就可以作为特殊句来处理。它们有些是语种特有的, 就作为语种特殊句来处理。例如中文的“把”字句,可以作为“准” 原型句处理。又如中文有大量的“同源词”,如“洗澡、唱歌”,它们 在一般词典中虽然列为(一元)动词,但是实际上不是真正的动词, 而是“习语词”,即习语浓缩后固化的双音节词。习语或习语词是每 个语言都有的特色,所以中间语是不宜直接处理它们;最好的做法是 由各语种建立各自的习语库(放在前面[1118]所述的特殊词汇库里), 按每个或每类习语的结构制定相应的处理办法。还有一些特殊动词或 句类具有语种的共同性,则把它们分类列在图11的节点VE‘特殊句’ 之下。例如“存现句”,它特殊的地方在于它有一个空间或时间参数 具有主动元的作用,因此有相应的特殊句型,例如英文的“there is/are 句型”,而中文则是直接把它们提到主动元地位。还有一些动词是专 门针对事件的,例如“开始、发生、停止、结束”。由于这些动词数 量不多,而其句型中有些与存现句类似,所以也宜作为特殊动词和句 类处理(图11,节点VD“事件句”)。还有一个大类可称之为“虚动 词”句,即该动词只是充当句标签的角色,而句的语义部分则由其它 部分、主要是O动元来表现。这种虚动词在英文中比较多,如“get、 give、have、make、set、take”等(例如“He gave a bad speech.” ——语义在bad speech)。中文则有“打、给、弄、搞、做”等(注 意,这些动词都有一个原型义,虚动词用法是兼用、或延伸义、或比 喻义)。其它特殊句类的例子如“连动句、兼语句”,它们涉及语言学 讨论,本说明书省略。

[1224]嵌套句型。前面说补语是“表达动态的结果或效果”, 并且可以是“名词、形容词、动词、副词、小品词、短语、子句等”。 补语如果是子句,这样的变体子句(但缺省某动元)就成为句中有句, 成为嵌套句型。事实上,在图11的节点VCB下的分支中,节点VCBC “言语句”和节点VCBD“活动句”的O动元都是事件(即事件名 词和子句),所以它们的原型句中已经包括嵌套句型。其它连动句、 兼语句等的句型都包括嵌套句型。附带说明,因为子句中能够包括嵌 套句型,所以前面定义子句时无法或不便从动词数目的角度来定义。 嵌套句型之所以重要,是因为嵌套句自己的动词与S-V-O语序内的 动词(以下称为主动词,见图14)在出现歧异的情况下会产生混淆。 人很容易区别这种混淆,但是计算机若不教给区别的技巧,就要出错, 所以这是本发明的重点之一(见第二部分第2.4.4节,尤其是[2409])。

[1225]同义句。一个事物的表达可以有多方面的视角。反映在 句法上,就是对一个子句可以用许多不同的子句来代替,它们就好像 是对该子句的“意译”(英文paraphrasing)。这种情况有点类似于同 义词的情况,所以本发明称之为同义句。例如“他是一名老师”等于 “他的职业是教书”等于“他在学校里教书”,等等。意译是翻译实 践中经常采取的手段,但在机器翻译领域,还没有看到有认真的探讨。 事实上,同义句是可以系统地分类整理的。例如,最简单的一类是用 同义词替换所产生的同义句,如“他很勇敢”=“他很大胆”=“他不 害怕”等。这一类可以包括习语、成语的替换,如“他胆大包天”。 其次是属性与属性值的替换,如“他很有勇气”。这个替换其实是更 大范围的“整体-部分”替换的一种。前面多次提到,“整体-部分”是 一个基本的语义概念,其中包括领属关系,而“属体-属性-属性值” 的三位一体关系就包括了三个领属关系。“整体-构件”也是“整体- 部分”关系的一种,例句如“他换了房子的窗户”等于“他把房子换 了窗户”——这里不仅句型改变,并且动元数目也从2个变为3个。 整体-部分的替换还引出另一个同义句大类,即因句型的改变所产生 的同义句。二者有重叠,例如“他很勇敢”是属性句,而“他很有勇 气”是领属关系句。关系句的细分类之间也可转换,如“他是一个勇 敢的人”是判断关系句。中文的“把”字句是一个很特殊的同义句来 源,例如“他吃了苹果”=“他把苹果吃了”。有些动词是成对出现的, 也可形成同义句,例如“给/收”:“他给她一本书”等于“她从他收 到一本书”。有些动词是对称的,自然形成同义句,例如“遇”:“他 遇到她”等于“她遇到他”等于“他和她相遇”。依此类推,其它的 举例说明从略。

[1226]同义句库及其近似特征参数组。与同义词是用近似特征 参数组来区别一样,同义句也是用其近似特征参数组来区别。不过前 者在语种之间目前还没有统一,而后者在语种之间基本已经是可以统 一的,因为从前面的说明中可看出,同义句的分类已是有条理可循的, 并且基本是语言的共性。因为同义句的参数组能够统一,所以它可以 在中间语领域内集中编制,然后各语种对每一个或每一类动词,按照 参数填入参数值,或加入语种特有的同义句,就成为语种自己的同义 句库和同义句近似特征参数组。

1.3中间语引擎对语义的处理

[1300]语义问题应该属于中间语引擎的范畴。为说明的方便, 放在本节。

1.3.1中间语引擎在语义方面要解决的技术难题

[1301]词的原型义和使用义。从中间语词汇的角度,也就是从 计算机处理词汇的角度,词的原型义总的来说就是词性及其分类编 码。细的来说,对于同义词,还要加上其参数编码;对于衍生词,就 是其原型词的词义加衍生词的词义,也就是原型词的词性及其分类编 码加衍生词的词性及其分类编码(主要是参数编码)。这样的分类编 码词义虽然因为词汇树的上下位关系而已经包括了语言中关于整体- 部分(包括部位、构件、成分)关系的基本语义信息,却仍局限于词 汇一级,而没有包括语言中其它关系的词义信息。可以说,词本身的 词义信息是静态的,内在的,而词与其它词的关系则是动态的,是外 延的。词的动态或外延词义,就是词在句中的语义信息,包括前面 [1112]提到的使用义,尤其是动元与动词的搭配,所以要与子句的语 义一起处理。因此,为自然语言处理的目的,作为子句语义的依据, 本发明还设计了一个辅助知识库和前面[1124]已经提到的语义关联 库,作为语义方面的辅助数据库。辅助知识库按级次分为常识库、文 化知识库、百科知识库、和专业知识库(见后面第二部分,尤其是 [2101])。语义关联库则是广义的搭配关系库(见后面第二部分)。

[1302]子句的原型义。子句的原型义就是子句的分类编码(与 动词共用)及其句型信息。隐含在分类编码后面还有一个重要信息, 也是子句语义的主要内容:V与S、O、T、C、X之间(主要是V与 O之间)的搭配关系。由于句型库是中间语语法的实现,而搭配是基 本的语法关系,所以搭配关系自然也被设计而记录在句型库内。

[1303]子句的使用义。前面[1112]说过,词在使用时会有使用 义,包括延伸义和比喻义。因此,词的使用义是子句一级的语义问题。 上段说子句的原型义就是其分类编码和原型句型及其动词、S动元和 O动元及补语的原型义,包括搭配关系。显然,如果S动元和O动 元不符合搭配条件时(其它辅助动元的搭配情况相似,但比较次要, 因此说明省略。另外,其它不搭配情况,例如形容词的不搭配,基本 属于比喻句,可按比喻规则处理,说明也省略),子句就变为变体子 句,而其语义就不是原型义,而是使用义。例如,S动元不满足施事 的条件(见前面[1207])的情况。而O动元不符合搭配条件的使用情 况基本有两类,一是O动元仍是具体名词、但与动词不搭配,另一 是O动元应为具体名词、但被抽象名词替换后所造成的不搭配(抽 象名词动元换成具体名词动元的情况比较少,可作为特例处理)。子 句在使用时发生不搭配情况,不论是S动元不搭配,或O动元不搭 配,或其它次要的不搭配情况,基本有两个动机。一个是活用稀缺的 词汇资源,另一个是增加文字的生动性。两者都可以说是在使用比喻 手法。由于它们背离了搭配规则,也就失去了原型义,造成计算机判 定语义的难题,包括判定词义和判定句义。这是现有机器翻译系统普 遍没有解决的问题。

[1304]变体子句的语义问题。对于变体子句,因为词汇不搭配 所造成的使用义是子句语义问题的核心。但是从前面[1219]中列出的 其它变体子句类型可看出,由于动元位置能够改变,计算机在判别搭 配是否成立的时候,还必须同时确定动元的身份。这是迄今机器翻译 领域没有正面或很好解决的问题,也是语义问题的核心。下面说明本 发明设计的解决办法。

1.3.2中间语引擎在语义方面的具体实施方案

[1305]子句的语义判定法。从前面[1304]可看出,在动元不搭 配、句型是变体的情况下,如何确定子句的语义,这是一个须要通盘 考虑的问题。本发明由于用中间语语法,系统地处理了子句的内部和 外部结构,因此能够提出一个供计算机处理的语义分析算法。这个算 法的要义是:一要结合句型来处理搭配,二是对O动元不搭配情况, 先确定是否是抽象名词造成的不搭配,否则再确定是否是具体名词的 不搭配。由于二元动态句的操作句经常有T动元显性或隐性地参与, 句型变化最多端,所以最能够作为例子说明:图12是操作句的语义 判定程序,其中Ns和No分别表示在原型子句的S动元和O动元位 置上所填入的名词。左边是程序的序号,按层次编号。另外,程序的 每条指令按层次做了缩格处理。所以图12不必再多加说明,因为都 是一层层的IF THEN编程指令。其中要特别提到最后一条1320的情 况,即Ns和No都是抽象名词的情况。例句如“他的言语刺伤了她 的自尊”。这里,动词“刺伤”毫无动作可言,它被借喻来表达因为 ‘他的言语’使得‘她的自尊’受到刺伤这样的因果关系,而刺伤的 果就是很‘痛苦’。日常的语言里存在大量这样的句法,人们习以为 常,因为这是表达这种抽象“动态关系”关系的唯一途径。

[1306]语义判定表。图12的语义判定程序可以换成下面的表格:

其中TCn=工具/材料,TAb=方法/状态,两者都表示Ns可以作 为T动元,而与动词V存在T动元的搭配关系。因此“-T”就表示 Ns与动词V没有T动元的搭配关系。这是本发明解决子句语义判定 问题方面的一个关键步骤。关于T动元充当Ns的情况,见前面[1219] 和[1220]的说明。其次,第2211和2212条,当Ns和No都是抽象 名词时,表中的“SO”表示Ns和No具有广义的同类关系(即Ns 和No在名词分类树的分支上相距不超过一、二个节点);相反,“-SO” 表示Ns和No不具有广义的同类关系。第三,对于表中子句项下的 “或不成立”的情况,在下面[1307]中说明,由于在比喻句中,计算 机还无能力分析“喻状”,所以无法确定比喻是否成立。但是在机器 翻译的实用操作时,所有的源语言句子都是假定成立的,因此“或不 成立”就没有必要;而凡是有关子句没有其它更好的解释时,就是这 样的比喻句。换句话说,可以把子句有“或不成立”的情况赋予很低 的权重。至于有关子句确定为比喻句后,“喻状”是怎样,就由读者 去领悟。

[1307]语义规则库。从这个表中可以看出,Ns有{具体/抽象, 是否施事,是否T搭配}三个参数,No有{具体/抽象,是否搭配}两个 参数。另外还可以建立{Ns和No是否同类,No是否喻状}这样的细 分参数。这个表虽然是针对二元动态句的操作句而导出的,但是其它 句类由于相比简单,导出类似的语义规则参数表更容易。从而,对每 一个动词,可以把前面[1302]建立的搭配信息抽出来,与此处的语义 规则参数结合,制定该动词的语义规则表。所有动词的语义规则表汇 总后就成为中间语的语义规则库。至于其它的辅助动元,它们也像前 面[1303]提到的“抽象名词动元换成具体名词动元的情况比较少”一 样,都可以作为特例处理;尤其是这些特例的情况还经常具有语种特 性,更是可以在编制语种的对应的语义规则库时一并处理。有了语义 规则库后,子句语义处理的程序就不再用图12的IF THEN编程指令, 而是改用DO CASE来验证子句对应库中的规则属于哪种情况。这样 做的好处不言而喻,最重要的是规则可以在两个方面极大地细化。一 方面是规则的变化可以细化,另一方面是可以针对每个动词细化,尤 其当动词有特殊句型或搭配时。这两种细化如果用IF THEN编程指 令来做,几乎是不可能的。最后,也可以是最重要的好处是,规则库 可以很容易地和随时地增补更新。

[1308]比喻处理程序。比喻处理程序也像同义句或上述语义 规则一样,具有语种的共性。语言学上一般把比喻作为修辞学来处理, 这可能是迄今机器翻译领域没有正面或彻底解决的原因。事实上,比 喻是语法中不可缺少的一环,它已经紧密地与人的生活联系在一起。 举一个最直接的例子:关于时间的形容词“长/短”就是借用空间的 形容词来比喻的,否则人们如何表达时间的“长度”呢。比喻既然具 有语种的共性,自然也只须在中间语领域内集中编制有关的处理程 序,然后适用于所有语种。比喻的第一个基本要素是“喻体”,它有 出现(明喻)或不出现(暗喻)两个情况。第二个要素是标志或标志 词,也是有出现(如“像......一样”、“......似地”、“好像”、“似乎”、 “仿佛”、“犹如”等)和不出现两个情况。第三个要素是“喻状”, 也就是用怎么样的类比。喻状基本有两种,一种是事物的属性的类比, 这可以参考常识库E1(见[2101]);另一种是结构的类比,即事物与 事物之间相互关系的类比,这可以参考构件类的编码(见[1120])或 语义关联库(见[1124]和[2305])。喻状基本是不出现的,要读者去“体 会”,甚至有时候人都不容易或不能够看出比喻的是什么,更别说要 由计算机来分析出来。因此,计算机处理比喻,不是要“解释”比喻, 而是要确定:在用到比喻的句中,有关词的“身份”(即,是多义词 的哪个义)和有关子句确实是比喻句。至于“喻状”是怎样,就由读 者去领悟。这样,比喻处理程序就是:首先把标志词进行整理和分类 编码;其次是确定喻体;然后参考辅助数据库(常识库、语义关联库 等)以确定喻状——这方面,程序是尽力为之。

2中间语引擎部分

2.1导言

[2101]语言交流的六个参与方。语言是人类交流的工具。语篇 或文本是一次交流的记录,而交流是一个过程,牵涉的至少六个“参 与方”:明显地,说者(作者)A和听者(读者)B,以及交流的内容 C(即语篇或文本),是人人都知道的三个参与方。A和B作为参与 方所须具备的条件是,A和B必须能够使用某一语言(文字)——语 种D——来表述内容C。为说明方便,以下集中于文字的交流。譬如 语种D为中文,则作者A必须能够使用中文来表述。当A表述“我 吃了苹果”时,读者B要能够理解A的意思,首先B必须熟悉A使 用的中文,所以语种D是第四个参与方,它包括该语种的词汇D1和 语法D2。如果B是电脑,那么B如何能够像人一样知道该特定具体 名词除了词性和词义以外所代表的其它意义呢?靠的是检索“知识 库”E。所以知识库E(即人的知识)是第五个参与方,它包括基本 知识(常识)库E1、文化知识库E2、百科知识库E3、和专业知识 库E4。其中E2随语种、甚至民族、国家、地区、社群而异。E1包 括自然界的基本知识,即一般所谓常识。也就是说,当读者B在理解 A的表述“我吃了苹果”时,他不仅知道这五个字和这一表述的语法, 他并且知道苹果是一种水果,一般是红色,形状接近球形,直径大约 是5、6厘米等关于苹果的基本属性信息。当然,B在理解A的任何 表述时,不必一定都要用到这些常识,但是它们是存在B的意识中, 随时或在有排歧需要时可以用上的。因此,E1是语言交流时必不可 少的参与方。若交流要达到一定的丰富程度,就必须具备E2。换句 话说,没有E2,交流双方只能停留在使用基本的词汇和常识进行交 流。当交流有深度时,就必须具备E3。再进一步,就到专业的交流 领域,就必须具备E4。所以这第五个参与方E是有程度深浅之别。 最后,交流的第六个参与方是语境F,包括语篇或文本的背景(可称 之为篇外语境F1,与E有重叠)和交流所处的场景(可称之为篇内 语境F2,即所谓的上下文)。背景是静态的信息,场景是动态的信息。

[2102]第七个参与方。当使用不同语种D的人要进行交流时, 就必须有第七个参与方G(翻译)的参与。在理想的情况下,交流的 内容C不应该因为有G的参与而受到影响。但是即使在使用相同语 种D的交流情况下,也会由于参与方B掌握D的能力和拥有知识E 的程度而使其对内容C的理解有误差。在不同语种交流的情况下, 前述误差还因增加一层翻译的理解和不同语种之间的差异而加重。机 器翻译系统就是由计算机来充当第七个参与方G的系统。

[2103]中间语引擎是中间语翻译系统的核心部分,它的作用是 把输入计算机的源语种文本转换成中间语“文本”(这个中间语“文 本”是计算机文档,不是自然语言的文本,所以加上引号),以及把 中间语“文本”转换成(生成)目标语种文本。前面部分叫该语种的 输入模组,后面部分叫其输出模组。对于参与方A和B的两个语种 采用直接转换法翻译来说,其程序没有输入模组和输出模组之分,而 是A译B(或B译A)的程序。而对于中间语翻译来说,每个语种各 有自己的输入模组和输出模组,独立于其它语种之外。当进行A、B 的两个语种的互译时,A译B就是将A语种的文本通过A语种的输 入模组转换成中间语‘文本’,然后通过B语科的输出模组将该“文 本”转换成B语种的文本。输入和输出两个部分是独立、分开作业的。 换句话说,A转换成中间语“文本”后,任何语种C只要配制了其自 己的C输出模组,就能得出A译C的文本。

[2104]另外,从理论上说,各语种的输入模组程序和输出模组 程序是按各该语种的语法编程的。但是,前面中间语部分已经说明, 中间语语法是系统内的所有语种的共同语法部分。因此,中间语语法 就成为系统内所有语种语法的标准。换句话说,输入模组的编程是要 以此标准为规范的。从而,本发明就使各语种的输入模组程序编程的 标准化成为可能。本说明将在下面提出这样一个标准化编程的框架。

2.2中间语引擎要解决的技术难题

[2201]歧义与排歧。各语种的语言中都存在大量的、无所不在 的、形式多样的歧义现象,这是语言与生俱来的本质。它们有因语言 符号稀缺性、兼用性和模糊性而造成歧义的内在原因。另外还有因为 历史的发展、或因为不同语种互相接触而吸收融合其它语种的词汇和 语法、或因为语用上(精简性)和语境上(省略性)等,而造成歧义 的各种外在原因。这些内在、外在原因造成的歧义从词汇一级,延伸 到语法、语义、逻辑各级,以至于语用一级,无所不在。排除歧义—— ——排歧——便是机器翻译的核心内容之一。对于使用直接转换方法的 机器翻译,这可以说是其唯一、或主要内容,但也是其面对的最大难 点,最做不到的地方。但是对于使用中间语方法的机器翻译,也就是 对于中间语引擎来说,建立中间语和中间语语法是其另外一个核心内 容,并且是排歧的基础。

[2202]更深入的说,中间语和中间语语法为中间语引擎建立了 规范或标准,即程序的主干。从中间语的角度,歧义的产生可以分为 两种。一种是各语种在大语法方面都可能产生的歧义,另外一种是由 于个别语种在词汇、小语法、语用上的不规范和在语义、文化、逻辑 上特别的丰富和模糊内涵,而可能造成的歧义。前者是主干程序所处 理的目标。后者是语种的细节变化,不宜放在主干程序内来处理;最 好就是放在数据库(词库和句型库,以及各种特征参数组)内,既不 与主干混淆,又容易更新。直接转换方法由于两者都放在主干程序内, 所以程序庞杂。既不容易编程,又容易出错,更难更新。

[2203]排歧能力的比较。因此,采用直接转换方法的机器翻译 便是根据源语种和目标语种的语法,对源语种文本进行生成目标语种 文本的对应转换。显而易见,对于这种机器翻译软件的设计来说,每 一个词汇、每一条语法规则,都必须仔细地分析两对语种之间的对应, 进行不断的、必要的排歧。这是一件吃力、繁琐的工作,并且不讨好、 不准确。所以译文普遍不通顺而时常错误百出,须要进行译前和/或 译后的人工补充处理,从而失去了机器全自动翻译的本意。事实上, 市面上已有的机器翻译软件,甚至基本的词汇排歧都做不完善。

[2204]基于中间语方法的机器翻译,不仅能够考虑到所有因素, 包括语用因素,并且还可考虑更高层的语篇因素和修辞因素。它能够 这样做,不仅是因为中间语是各语种的代表,建立了一套能够解释各 语种语法的统一的中间语语法,并且因为它有系统地区分歧义,抓住 大语法方面的主干条理,使思路清晰,轻重有序。另外,它的输入模 组对源语种文本进行分析的过程是独立于目标语种之外,或者说,不 受目标语种的影响。从而,它能尽量利用源语种从词素到语篇、甚至 修辞的所有信息,有条理、有系统、彻底地做好排歧,并且将这些利 用到的信息,传递给目标语种供其综合考虑来生成译文。这样,中间 语引擎的内容便包括了各语种的词库、特殊词汇库和句型库、各种特 征参数组、语义关联库、语义规则库、知识库(见上面[2101])、各 语种的输入模组和输出模组。其中,输入模组是中间语引擎部分的重 头戏,也可以说,输入模组就是中间语引擎。下面说明中间语引擎, 重点在输入模组。

2.3中间语引擎的具体实施方案

2.3.1编制语种的词库和句型库

[2301]每个语种L首先都要建立其对应中间语D1词库和D2句 型库的L-D1词库和L-D2句型库。中间语部分已经说明了D1词库和 D2句型库的设计。L-D1词库和L-D2句型库的编制都将利用一套专 门为编制词库和句型库用的工具软件来进行。工作者通过电脑屏幕的 界面,在D1词库和D2句型库指引下进行,效率是很高的。

[2302]具体来说,针对L-D1词库的工作,工作者对语种L的每 个词的每个词义,依次确定:

(1)如果词义是原型义,则在中间语词汇树的指引下,点击对 应的节点,该词义就取得该对应的中间语编码。要说明的是,中间语 词汇树原始的编制是以某个语种为依据的,例如本发明在实践过程中 用的是中文(还有英文),所以最初的指引语种是中文(或英文)。随 着开发语种的增多,可选择的指引语种也增加,并且中间语词汇树也 更丰富和完善。

(2)如果词义是构件类名词,则按构件类继续分类,作为其整 体物编码的次级编码。

(3)如果词义是另一个原型义词的同义词,则除了取得该原型 义词的对应编码外,再加上其同义词的近似特征参数。例如“方桌” 就是“桌子的编码”加“形状=方形”这一特征参数。

(4)如果词义是一个衍生词,则赋予对应该衍生词的词类的虚 编码,加该衍生词的原始词的中间语编码,再加其衍生参数。例如“读 者”就是“具体名词节点下的虚编码”(可以更细化为“人节点下的 虚编码”),加“读”这个动词的中间语编码,再加“人”这一特征参 数(若已细化为“人”,则特征参数已包括在虚节点内)——这相当 于中文“者”字的词缀造字的过程。常用和词形不规则的衍生词也可 酌情收录于特殊词汇库。其它规则变化的衍生词则要经过预先编制好 的词缀处理程序来动态生成这样的编码。

(5)如果词义是一个固化的引申义或比喻义的词,则对应一个 具有该引申义或比喻义的原型义词的编码,外加其引申参数。例如“打 球”的“打”就是“玩”的编码加“球类运动或游戏”这一特征参数。

(6)如果词义是用于特殊句或习语中的词,则分别按照其在该 特殊句或习语中的使用规则来处理其对应中间语的编码,并且酌情收 录在“特殊词汇库”中(参看前面[1118])。

[2303]针对L-D2句型库的工作,工作者对语种L的每个动词, 在中间语句型库的指引下,填入该动词的原型句和每个对应的变体子 句的句型参数值。要注意的是,原型义动词的编码即该“句族”的编 码(参看前面[1203])。其次,搭配关系一般来说,与中间语的指引 语种的句型库中已经建立的搭配关系基本相同,所以工作者主要是检 查语种L是否有微小的不同。再者,工具软件应该提供例句,使语种 L的工作者能够参考指引语种例句的翻译来造句。最好是工具软件按 照L的语序先自动生成翻译句,工作者则主要是检查翻译句的准确 性,从而减少劳动量和错误率,这对于不同语序的语种尤其有用。

2.3.2编制辅助数据库

[2304]首先是前面[1118]提到的特殊词汇库。这是附属于各语种 的通用词库而为各语种所特有的词库,其中按语种酌情收录跨类词、 衍生词、习语或成语等。库中的词汇都要赋予对应的中间语编码或编 码组合加必要的参数。

[2305]其次是前面[1124]提到的由人的组织产生的语义关联库。 这个库的编制也有什么时候采取树状分类编码,什么时候采取参数法 编码的考虑(见[1107])。从分类的角度,其中最主要、也是最大的 一类是人的组织,其下可按参数法分类:按规模参数分,从最大的国 际组织,如联合国、世界卫生组织等,到区域性组织,到国家组织, 到省、市组织,到最小的家庭组织;按性质分,有政府组织、非政府 组织、军事组织、社会组织、民间组织、文化组织、慈善组织、公益 组织;按成员分,有政府、团体、公司、个人;等等。人的组织的语 义关联,有点类似动物的构件。在最上层,它们都必须具有{成员(人), 总部(位置,建筑物),宗旨,行政或管理系统,财政,专用动词, 等},然后可一级级地细分。例如按“成员”可分“均匀性”(如委员 会、作家协会)和“阶层性”(如在“学校”里分行政人员、教师和 学生)。关于专用动词,它们把子句的语义与其中的动元有机地结合 在库内。例如“学校”就有“教/学”这两个动词是专用的。人的组 织与物的构件类相似,都是语义的重要基础。另外一个语义关联库的 例子是运动类词汇的关联。例如‘篮球’涉及{球员、裁判、观众、 篮球、球场、篮球架、球框、边线...,前场、后场,前锋、中锋、后 卫、篮球规则,专用动词(投篮、传球、罚球...),...}。

[2306]同义句库及其近似特征参数组。按照前面[1226]的说明, 同义句库及其近似特征参数组有语种的共性,也有语种的特性,例如 在前面[1225]所说的转换基本都是语种共有的,而由于成语、习语等 所产生的句型则是语种的特有的。所以各语种要在中间语整理好的共 性框架指导下,编制本语种的同义句库和同义句近似特征参数组。因 为是同义句,所以投射到中间语相对简单,基本就是赋予正确的子句 编码和同义句近似特征参数。但是对于本语种特有的句型,例如中文 的‘把’字句、双字动补动词和大量的同源词动词,则要编制恰当的 中间语转换句型。同义句库的主要用途是在输出模组。

[2307]语义规则库和比喻处理程序。前面[1307]和[1308]已经 说明,这两者都具有语种的共性,可以在中间语领域一次编制,然后 各语种配套编制本语种的语义规则库和比喻处理程序,主要是填入本 语种的词汇,再在各语种领域进行增补和加入特例。不过这两个库都 只是语种自身使用,不必投射回中间语。

[2308]知识库,包括常识、文化、百科和专业四个层次的知识 库,虽然不是中间语系统的直接组成部分,但是它们是中间语引擎的 重要辅助部分,尤其是在语义分析阶段。在中间语的系统下,这四层 知识库,除文化库外,基本都只要编制一次,然后转换成中间语编码, 就可通用于系统内所有语种,大大降低编制成本。

2.3.3输入模组

[2309]首先,再强调,输入模组是因语种而异的,但是异中有 同——同的是大语法,异的是小语法。语种L的输入模组的任务就是 根据中间语大语法和语种L的小语法,分析其文本,将其转换成中间 语“文本”。如果分析阶段不存在歧义情况,那么转换相对比较容易。 从这一点来说,歧义是阻碍语言学家迄今没有找到中间语语法的迷 雾。当然,结构语法和后来的转换生成语法的盛行更是本质性的原因。 因为中间语语法是人观察自然的自然结果,故也可称其为自然语法; 而结构语法或转换生成语法则是人为地从自然语言归纳出来的语法 ——这是两条截然不同的方向。因此从同的方面说,中间语和中间语 语法是所有语种的输入模组、也就是中间语引擎的核心部分;从异的 方面说,排歧是各语种的输入模组的核心部分。

[2310]因此,歧义的普遍性和语篇信息的不完全是输入模组必 须认识的语言现实。在确认这个现实的基础上,对排歧的定义就是用 尽一切手段将各层次的歧义的数目减到最小。因此,不论是词义上的 歧义数目、还是短语上的、语法方面的、语义方面的、逻辑上的、一 直到句子层次的歧义数目,排歧过程中要逐层将其减到最少。对于各 层次已经减到最小数目的歧义,本发明采取权重的方式分别对其进行 排序。从而,一个歧义句的各个可能句型和/或句义(它们构成歧义 句组)也有了排序。这样最后排序的歧义句组就是句分析的结果。因 为是加权的排序,通常情况下,排序最高的一句经常是最准确的结果。 权重的具体计算方法是自然语言处理这一学科经常探讨的课题,简单 的方法可以是词频以及词频的相加和乘积。更精确的权重计算就要涉 及语义,例如词汇树所提供的“整体-部分”信息、句型库所提供的 搭配信息和人的组织的语义关联库,就是最基本的语义信息。另外, 知识库E补充各层次的语义信息。其中常识库E1记录事物的一般属 性资料。

[2311]前面说过,排歧是各语种的输入模组的核心部分;也就 是说,排歧还与各语种的小语法密不可分。因此,中间语引擎不可能 是一个泛语种的统一的程序。它必须由各语种的输入模组程序组成。 这是前面说的异的部分。但是中间语引擎对各语种的输入模组程序要 加以规范,首先就是规范其处理后的结果是统一的中间语文本,这是 前面说的同的部分。中间语文本的要素(词汇和句子的信息等)和组 成(从句子到语篇等)已经在第一部分(中间语部分)做了说明。在 统一的中间语文本的指引下,各语种的输入模组程序虽然受语种的特 定语法的影响或制约,但是其程序的编制则与直接转换方法不同,是 有规范可依的——即大语法为主干,小语法为细化。这是本发明的优 势。换句话说,中间语为语种的转换规定了统一的目标和达到目标的 途径;而直接转换是漫无目标和方向的转换,要随语种的不同而须重 新编制,并且经常得出错误的结果。更深一层说,直接转换只分析句 子是否合语法,而中间语转换则从语法、语义、语用三个层次,综合 考虑语言本身的信息、语境的信息、和背景知识的信息,而对可能成 立的句子逐层进行排歧并将结果进行排序,然后用优选法得出最合适 的句子,进行排歧后的排序。

2.4输入模组的程序框架

[2401]首先,输入模组程序的流程是按层次进行,从预处理、 到词处理、到短语处理、到子句(变体子句)处理、到复杂句处理、 到段处理、到章节处理、到语篇或文本处理,逐层体现前面第一部分 对中间语的设计说明。

[2402]下面的示范程序流程框架还是针对SVO语种,其它语种 则根据各自不同的语序调整,所以基本上适用于所有语种,因为框架 的核心是中间语语法,即大语法,而各语种的小语法则是对框架的增 补、调整、和细化。这是本发明的一个重大优势。流程列出所有这类 语种的输入模组的基本六个阶段。阶段之间的划界按实际编程的需 要,可以调整。在每个阶段内,有的次级程序是某些语种所特有的, 例如中文的分词程序。各个次级程序的次序按语种的不同也会不同。 下面的流程先列出主干,然后在说明中讨论细节。

2.4.1预处理阶段

[2403]本阶段是程序的初始化部分,包括有关数据库的初始化, 特别是对以下三个随流程的进展而建立并不断更新的数据库的初始 化:第一个是角色库,这是记录文本中出现的名词的情况和它们之间 的关系,尤其是上下位关系,其中具体名词和抽象名词因为角色不同 而要分开处理;第二个是歧义库,这是记录已处理和待处理的歧义字 词和结构;第三个是语流库,这是记录句的结构(主要是句型和主动 词)、动元在句与句之间的承接关系、以及语篇或文本的结构。

2.4.2词处理阶段

[2404]本阶段主要包括:

(1)字或词的输入——包括处理:标点符号和数字、高频字词、 词缀和形状变化(尤其是衍生词)、分词(中文特有)、习语或成语、 专门名词、时间词等。其中,高频词是本发明的创见,对中文的切词、 各语种的短语定界,都是重要的参考判断信息之一。高频词的定义是 介词、连词、代词、冠词等功能词,以及各语种的一些出现频率高的 特殊词(如中文的“的、各”字)。本阶段的重头戏按语种而有不同, 中文是分词以及单字的组合成词,尤其是双字组合;而对屈折文字而 言,词形变化的处理是重头戏。

(2)词库检索——多义情况要处理好,这是歧义的第一来源, 可根据词缀和词形变化,进行第一步排歧。另外,高频词也有多义, 中文经常可利用检索词库对其进行排歧。关于多义排歧,本说明是先 做词一级的排歧,但是也可先对每一义进行语法分析,这是编程策略 问题;并且不同语种有不同的选择,甚至两者混合使用。对中文的高 频词而言,则一般先做词一级的排歧,因为中文的高频单字与其它字 结合成词后,基本就不是高频词了。例如“的”字,组成“的确、目 的”等词后就不是高频词了。

[2405]词处理阶段要达到的目标是把词(包括标点符号等)的 所有信息(如高频词、词性、词义、数、性等),包括多义和歧义的 信息,收集和判断后,传递给下一阶段使用。对于没有歧义的词,可 即转换为中间语编码。对于仍有s个词义无法判别的多义词w,就须 分别记录为s个单词w[i],j=1,...,s。

2.4.3短语处理阶段

[2406]就本阶段而言,子句也当作短语。本阶段主要包括:

(1)按句号将文本断句,并依序将句编号为S[k],k=1,2,3,...n。 这一步也可在前面词处理阶段进行。

以下按标志词(或语种特有的其它标志)将句子逐层切分出短语。 按标志(主要是标志词)切分是本框架的指导思想之一;另一是本阶 段主要依序切分子句、定语和名词短语。由于标志词经常有多义,包 括因省略而空缺,所以切分是不完善的,这是所有语种皆然的语用现 实。不过,因字词多义造成歧义的情况会逐层放大,这也是语种皆然, 从而成为采用逐层切分策略的基础。换句话说,例如连词,多义情况 最少,所以第一层按连词切分子句。其次是定语标志切分,等等。这 样,尽早排歧以减少歧义放大的后果,这是本流程的策略之一。

排歧编程的原则是:任何词、短语、子句、句等的处理阶段,都 要考虑排歧,并且是与动态建立的歧义库联动进行。也就是说,每次 排歧的时候,要查看歧义库中有无待排歧的字词,现在是否有新资料 可供对其排歧;而本次排歧若不能解决,也要记入歧义库,作为新加 入的待排歧字词。

(2)对每一句S[k],按连词,将句切分成准子句字串(因为切 分后不一定是子句,也可能是更小单位,所以说是准子句字串。这是 连词的歧义所造成的)。

一般来说,连词可按歧异的多少,设计权重。歧异越少,权重越 高。对于成对出现的连词,句子成功地切分为两个子句的权重是很高 的。其次是连词本身权重很高,但与其成对的另一连词不明确,包括 省略的情况,则可以标出其子句字串的开头,而另一端的终止点须要 以后排歧决定。再其次是连词本身权重不高(相对其它连词来说), 即存在歧义,如英文的as,则两端都须要进行排歧决定。一端决定 该词的身份,另一端决定其终止点。最后,有些连词,权重很低,尤 其是“并联”(中文的“和”,英文的and)与“选择”(中文的“或”, 英文的or)的连词,它们可以连接所有的“同等字串”(即同等的词、 组合词、短语、子句、句、以至于句群),并不仅仅是子句。基本上 这是所有语种皆然,至于具体怎么排歧,各语种不同。就中文和英文 来说,它们连接哪种字串的频率是从小到大,也就是词>组合词>短 语>子句。因此,对它们的排歧,要把这方面考虑进去。

因此,连词切分的意思是,该连词后面(或前面)的字串“可能” 是子句。“可能”的程度首先是由连词的权重来决定。切分(包括其 它切分)的目的就是,一方面把长字串逐步切成有结构成分的短字串, 另一方面切分到能够确定字串中所有字词的身份为止。

(3)继对每一句S[k],按动元(广义)标志将其切分出准介词 短语字串(因为切分后不一定是介词短语,也可能是其它单位,所以 说准介词短语字串。这是介词的歧义所造成的。)对于没有独立动元 标志的连续名词,则组成名词短语。

对有格标的语种,动元标志主要就是介词,但也包括一些辅助标 志,例如英文的冠词;而且单个名词本身也是动元标志。动元切分的 意思就是,该介词后面(对前置介词而言)的字串“可能”是介词短 语。就介词而言,决定“可能”程度的因素视语种而不同。例如,英 文使用介词很普遍,包括有些还作为后置定语标志(如of),或还作 为动词不定式的标志(如to),所以这两个介词应该加以特别处理。 另外,时间和空间的字串(时空字串),包括例如中文这样有时没有 介词格标的时空字串也要加以时空标志,作为参数切出。

(4)再对每一句S[k],按定语标志将其切分出定语字串。

定语标志就是能够标识定语短语的字、词或语素。所以除形容词 本身是一个定语标志外,其它定语标志则随语种而不同。例如中文主 要是“的”字;而英文就有冠词a,分词语素-ing和-ed,to不定式 (to infinitive),以及关系代词和介词of等多种方式(of作为后置定 语标志的几率远大于作为动元标志,所以前面若是名词,则几乎肯定 它是定语标志)。另外,这是一个不完全的过程,因为一方面定语标 志经常会不出现,例如中文的“的”字省略。另一方面定语标志会有 歧义,例如英文的that可以是定语、也可以是名词子句标志;而to 作为动词不定式的标志,与of作为后置定语标志,都使用非常普遍。 这些都应该特别处理,尽早排除歧义。

定语短语由于包括从属子句,而从属子句是嵌套在S[k]句内的子 句,其中内含的动词若与S[k]的主动词发生混淆,就要排歧解决。这 是句法排歧的最难阶段。若从属子句多,或嵌套层次多,排歧的难度 和误差也将成几何级数地增加。难上加难的是,从属子句的标志经常 不明晰,或省略,并且有语种的特殊性,例如英文的分词短语也有从 属子句的结构,不一定是作定语短语用。

(5)再对每一句S[k],按具有断句作用的标点符号(主要是逗 号),将其切分。

标点符号的切分,也可以放在连词切分与介词切分之间进行,尤 其是分号。但是标点符号的出现,带有很大的不规范性,而它的作用 很大程度上也是为了打破语法的规范,尤其是作为定语短语时。因此 本说明书将其放在此处。最后,副词(或状语短语)、代词、高频词、 时体标志词、趋向动词等,有明显词类标志的功能词或短语也尽量标 志出来。词类标志许多可以在词处理阶段时就一并进行。

[2407]在以上进程中,还一直不断地根据词库和语种句法(小 语法)进行初步的排歧。所以到这时,大多数S[k]字串都已经确定了 字词的词性和词义(基本是取最高权重值),确定了名词短语、介词 短语、定语短语、副词(或状语短语,如中文的“得”字短语)、其 它功能词语(如语法和语气的助词等)。对采用直接转换方法的机器 翻译软件来说,下一步就是造出输出句子,完成翻译;至于造出的句 子是否合格,就不敢说了。但是对中间语翻译软件来说,还有以下几 个阶段:语法处理、语义处理、语用处理、同义句选择和语篇修饰。

[2408]所以在本阶段终了,对于已经确定字词和短语的S[k], 程序将把有关的信息记录下来,包括时间和空间参数,然后转到下一 个语法处理阶段,以确定其句型。这样的S[k]应该占文本内句子的绝 大多数。因为如果不确定情况的数量太多,也就是有歧义的数量太多, 对于阅读者将是很大的负担。只有诗词等讲究文采的文章才会这样 做,一般以传达信息内容为目的的文章必然是尽量减少歧义,让阅读 者读得顺利。对于少数含有歧义的S[k]字串,也是转到下一个语法处 理阶段,以先进行语法排歧,然后确定其句型。

2.4.4语法处理阶段

[2409]语法处理是对S[k]是否组成合格句子的测试。这一阶段 的算法是本发明的创新算法,也是流程的核心部分之一,以从事主要 的语法排歧工作。下面为说明简洁起见,S[k]只考虑没有连词组合的 单句,即子句,但可以有从属子句。(对于有连词组合的复句,也是 依样分开处理其组合的单句,但是有一个会使处理变复杂的情况,即 连词有歧义的情况,为简化说明,故省略。)本阶段主要包括:

(1)对每一个S[k],如果没有字词和短语的歧义,则把其中的 定语、状语(副词)、时间和空间参数、及其它辅助功能词语暂时剥 离(即在后面的处理时,加以标志为暂时不加以考虑,但必要时还是 可以拿掉标志来考虑,例如后面[2411]的流程的104中,就要考虑属 性句的形容词)。对于动态句情况,还要确定哪个名词是S动元,或 S动元空缺。然后检索本语种的句型库,确定其句型。程序接着记录 有关信息,包括句型编码和句型特征参数。然后转到下一个语义处理 阶段,以确定其语义。

(2)对每一个S[k],如果存在字词或短语的歧义,即表示它有 多个(设为T个)组合方式。程序也是像(1)一样先进行所述暂时 剥离,然后以A表S[k]剥离后的字串。设A共有w个词w[i],i=1,..., w;每个w[i]有s[i]个未定词义w[i][j],j=1,...s[i]。注意,暂时剥离后, 绝大多数情况是,w[i][j]只可能是名词或动词两种待确定的词性。至 于少数是形容词的情况,则是属性句或补语,它们有严格的句型限制, 所以可作为特例处理,因此下面的说明省略。A可简化表示为 At={w[1][.],w[2][.],w[3][.],....,w[w][.]},t=1,...,T,其中[.]=[j],j=1,... s[i]。

(3)由于w[i][j]除形容词特例以外,只可能是名词或动词,因此 排歧的核心内容就是找出主动词。下面的子程序(参看图14)就是 按照这个思路,按词义的权重(或按义序),轮流选择一个w[i][j],作 为主动词,直到待定词选完(或根据某个阀值而中断)为止。对该主 动词,进行下面的语法成句测试。

01对每一个At,执行:

02若At已处理完毕,结束子程序。

03否则,若At的权重低于预定的阀值,结束子程序。

04否则,令n=At中待定的动词数目。

05若n=0,则返回“名词短语”,然后转02进行下一个 At。

06否则,对每一个待定的动词w[i][j],令Vij=w[i][j],

07若Vij已处理光,转02进行下一个At。

08否则,令Vij为主动词,(其它动词就应该是其它从属 子句的动词),

若从属子句形成定语短语,则将其剥离。称剥离后形成的 句型为Aij。

09对于动态句,测试Vij的动元中是否有合乎S动元资格的 名词,并将其定为S动元(这一步在图14中未显示)。然后检索句 型库中该Vij主动词的句型集,并与Aij比较。

10若句型集中没有与Aij相符合的句型,则删除该Aij,转 07进行下一个待定的动词。

11否则,就是有一个符合的句型,则赋予该Aij该句型的 编码和特征参数,重新计算其权重,并将其中字词按所定词义转换为 中间语编码,然后连同前面各阶段收集到的所有信息,包括参数和短 语信息,将该Aij记录为语法合格句,留待下一阶段的语义处理。然 后转07进行下一个待定的动词。

[2410]在本子程序结束后,所有的{At}就被筛选为剩下的语法合 格句{Aij}。在绝大多数情况下,这个合格句单中只有一个权重高于阀 值的句子,少数情况才会有多个。不过不论多少,所有合格句都要通 过下一阶段的语义检验。当然,如果合格句有多个,下一阶段就须先 进行子句的语义排歧。

2.4.5语义处理阶段

[2411]语义处理是本发明的创新优势。一般转换生成法的翻译 在语义处理方面很难做得彻底、完善而有系统。至于目前流行的统计 法翻译(即翻译记忆库(Translation Memory,TM)方法的翻译),则 根本无法进行语义处理。下面的子程序(参看图15)简单说明关键 的步骤,其中令B=任一语法合格句{Aij}。注意,若{Aij}中没有歧义, 只有一个语法合格句(这是大多数情况),该子句仍然要通过此子程 序走一遍,以便记录有关的语义信息。

101对每个语法合格的子句B,从权重排序最高的句子做起, 执行:

102若所有B(或权重大于预定阀值的B)都已处理完毕,结 束子程序。

103否则DO CASE(B的子句编码),//主要是检验B的句型 和搭配情况

104B=属性句:主要是动元和形容词的搭配(这时要把有关 形容词的暂时剥离标志拿掉)。若带补语,还包括补语的搭配(以下 类似,故不再提)。如果检验成功,转110进行“正常程序”,即保存 有关信息,必要时重新计算权重等(以下类似,故不再提),然后转 102进行下一个B;如果检验失败,即不搭配,则转120进行“比喻 处理程序”(见[1308]),然后转102进行下一个B。

105B=状态句:关于搭配,见前面[1205];其它同104。

106B=关系句:主要是两个动元之间的同类或近类名词的搭 配关系,见前面[1206];其它同104。

107B=一元动态句:主要是S动元和动词的搭配;其它同104。

108B=二元动态句:这是最复杂、多变的情况,见前面[1220] 关于变体句的说明。其它的句类基本靠相对简单的句型和搭配,就能 判定其语义。只有二元动态句须要特别靠检索语义规则库来便利地判 定其语义,见[1307]关于语义规则库的说明。其它的步骤类似104。 如果检验结果是原型句或变体子句,则转110进行“正常程序”,然 后转102进行下一个B;否则就是比喻句(包括比喻因果关系句), 则转120进行‘比喻处理程序’,然后转102进行下一个B。

109B=特殊句(包括事件句):见前面[1205];由于它们的特 殊性,所以不能完全靠句型库,还要转130“特殊句程序”来处理; 其它同104。

[2412]到本阶段终了,原来的子句现在已经处理出其句型和语 义,并且转换为中间语编码。如果该子句还是有不只一个结果,这表 示它缺乏某些信息,要靠语境F来提供解决,例如指代和省略造成的 歧义。因此,每个子句这时就须要将动元和句型的有关信息,登记到 角色库和语流库中,逐步构成语篇或文本的语境F。并若还有歧义, 也登记到歧义库,交给下一个语用处理阶段处理。

2.4.6语用处理阶段

[2413]指代是语用方面的一个核心问题。当然,语用还包括省 略等其它问题,甚至一些比喻的用法也涉及到语用,如借代。各语种 在使用指代上有不同的做法,例如英文指代用得很普遍,任何词类都 有代词,并且像代名词还包括中性的,所以任何子句都必须有S动元; 而中文则正好相反,所以翻译时必须处理好指代。传统的机器翻译在 处理语用上,主要集中在处理指代,但都不是有系统地在做。原因是 处理指代,首先要确定每个动元的角色,而这方面的一个先决条件就 是要处理好子句的语义分析,这是传统机器翻译的短板。本发明由于 设计语义规则库,解决了语义分析的难题,又动态建立角色库和语流 库,从而为处理指代提供了必要资料。另外,其它的辅助数据库,如 语义关联库、知识库等,也都有助于处理指代。解决指代问题,其它 的语用问题也相对容易多了。

2.5输出模组的程序框架

[2501]输出模组相对于输入模组容易多了,因为生成译文时, 用到的词汇都是已经确定的中间语编码。但是译文是否通顺,传统的 转换法翻译一般顾不了那么多。但是中间语方法的翻译就有条件进行 修辞,所以多了一个修辞阶段。

2.5.1目标语言的生成阶段

[2502]将中间语编码的子句生成目标语言就是打开目标语言的 词库和句型库,将编码转换为词和句。不过对于词来说,还要参考其 同义词特征参数而选择一个最恰当的词。那么每个词的特征参数从何 而来。它们来自每个处理阶段所记录在角色库和语流库内的信息,以 及语义关联库、知识库等所提供的静态资料。另外,有些泛语种的同 义句转换规则,尤其是前面说明中多次提到的由于“整体-部分”关 系(广义)所具有的转换规则(例子见前面[1225]),也要参考利用, 因为语种的造句有其特定的规律。

2.5.2修辞阶段

[2503]修辞可分为词、句和文三个层次。词一级基本已经在生 成阶段利用同义词特征参数做过。句一级在生成阶段基本也利用一些 语义关系初步做了一些(见上段)。本阶段则是继续利用同义句库和 同义句特征参数来选择更合适的句型。不过,句的修辞最好结合文一 级的修辞来做,因为两者都要考虑文的风格或语体等的修辞问题。文 一级的修辞,最重要的是利用动态生成的语流库(和角色库),因为 语体或风格是从语流中计算出来的。

3中间语的应用和中间语机器翻译系统

3.1中间语的应用

中间语除了用于机器翻译系统以外,它本身也有许多应用。首先 就是用于编制基于分类的词典。它优于其它词典、包括分类词典的地 方很多,例如:(1)它的分类是语种共同的,(2)它的分类是针对全 部词汇的,而其它的分类基本是针对名词、并且是针对具体名词的分 类,(3)它的抽象名词分类是创新的,基于对语言的彻底理解,(4) 它的构件具体名词分类为这些名词的图示法(剖示图)提供了基础, (5)它的原型词义和同义词的设计是掌握词义的最好方法,(6)它 的衍生词设计认识到这方面还须要系统研究,等等。其次的应用自然 就是编制双语词典,最好是电子双语词典,因为利用它的编码系统能 够自动生成双语词典。更有利的是,这样的n个母语词典能够自动生 成n(n-1)对双语词典。同样的道理,第三个应用是基于中间语的语文 教学,包括母语教学和外语教学。它的优势也不言而喻,首先是主体 教材(指语言本身,不牵涉文化的内容)可以统一编辑,其次是基于 中间语的语法是语言共通的,容易领悟。类似的应用还有很多,例如 作为语种的统一代码,尤其是在具体名词方面:中间语的编码虽然是 供计算机使用,但是它的树型分类部分很直观,能够作为像商品条码 这样的应用(但它比条码更高一级,是语言的“条码”)。

3.2中间语引擎的应用

中间语引擎包括(语种的)输入模组和输出模组。狭义的说,输 入模组就是中间语引擎,因为这部分要做源语言的词汇、语法、语义、 语用的分析,其中牵涉到大量而复杂的排除歧义工作,是最难的;而 输出模组的生成部分只要按规则组词成句,相对容易多了。所以(某 语种的)中间语引擎的应用就是(该语种的)输入模组的应用。简言 之,所有自然语言处理的应用,其核心都是中间语引擎输入模组的应 用。最简单的一个就是应用于作文辅助软件,道理很简单:(某语种 的)输入模组既然要分析文本,它必然要掌握(该语种的)词汇和语 法的知识。在这个基础上,再加入修辞的规则,就能在文本写作的同 时,同步地利用输入模组进行分析,指出错误或提出修辞方面的改善 建议。它优于已有的这类软件的地方是,它站在中间语的高度和视角, 能力更强。另一个应用是增进文字识别软件(OCR)和语音辨识软件 (VOR)的精确度,因为这两个软件的最后难关都在排除歧义的工作上 面。还有其它的应用,例如计算机的自动学习、自动摘要等。最后, 在当今互联网的大趋势下,中间语引擎应用的最高应用是语义搜索。

3.3中间语机器翻译系统

机器翻译是自然语言处理的最高境界。一个计算机,安装一套有 数个语种的输入模组和输出模组的中间语引擎,再配置适当的输入和 输出工具后,就构成一个关于这些语种的中间语机器翻译系统。图1 给出这样一个系统的系统图,其中列出常用的输入工具:键盘、扫描 仪(需要有关语种的文字识别软件)、麦克风(需要有关语种的语音 辨识软件)、互联网接入;以及常用的输出工具:打印机、显示器、 扬声器(需要有关语种的语音合成软件)、互联网接出。

很明显本领域普通技术人员可以按照本发明做出各种各样的修 改和变化。这些修改和变化均落入本发明的权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号