23、自然语言处理中的语义分析与机器翻译

自然语言处理中的语义分析与机器翻译

1. 语义分析

语义分析是指从自然语言文本中生成逻辑谓词的过程。用于从给定句子生成转换句子的方法,同样可用于生成句子含义的逻辑表示。例如,对于 “Lea is not loved by Joe” 这样的句子,我们可以生成 “NOT(love(Joe,Lea))” 这样的逻辑公式。

1.1 语义表示的应用

语义表示在自然语言处理(NLP)中有许多应用,常见的应用如下表所示:
|应用场景|具体描述|
| ---- | ---- |
|专家系统|专家系统软件通常使用语义表示来计算知识数据库中的推理。例如,在流行病学中,通过解析Epidemia语料库中的文本计算PROLOG谓词,这些谓词被用于填充知识数据库,专家系统对其进行处理,以自动定位流行病学事件、整合症状并计算推理。|
|信息检索和文本挖掘|信息检索和文本挖掘工具经常以XML注释的形式表示信息。例如:

<BUY 
BUYER="Arlington Value Capital" 
OBJ="IBM" 
NBSHARES="128000"> For his part, Allan Mecham, manager and CEO of Arlington Value Capital, bought 120,000 shares of IBM, i.e. 6.9% of his portfolio </BUY>

这些注释随后被商业智能应用程序使用,可用于计算网络(以显示商业伙伴之间的关系)、进行统计分析(以揭示事件之间的相关性)等。|
|自动文本生成|自动生成程序可以从语义表示中生成自然语言文本。如果我们先分析文本以生成其语义表示,然后可以自动重新表述该语义表示,以总结原文或将其翻译成另一种语言。|

2. 机器翻译

转换操作可用于生成给定文本的翻译。通过使用变量和约束,可以构建更通用的翻译语法。

2.1 简单的法英翻译语法

在法英翻译语法中,变量 $THIS 取当前原子语言单位(ALU)的值, $THIS$EN 取该ALU的 +EN 属性值,即其英文翻译。例如,对于法语词典中的以下词条:

le,DET+EN="the"
petit,A+EN="little"

变量 $THIS$EN 将分别取 “the” 和 “little” 的值。NooJ 可以对变量进行形态操作,例如,如果 $THIS$EN 的值为 “see”,操作 $THIS$EN_V+PT 将计算为 “saw”。因此,该语法可以识别像 “Lea a vu la petite chaise” 这样的法语句子,并生成相应的英文句子 “Lea saw the little chair”。

2.2 考虑多词单元和词序的翻译

虽然上述语法是逐词翻译,但由于对多词单元的定义,它仍然可以正确翻译一些句子,例如:
- “Joe a organisé cette table ronde” → “Joe organized this round table”
- “Lea a mangé la totalité du pain de seigle” → “Lea ate the whole rye bread”
- “Ida a cuit trois pommes de terre” → “Ida cooked three potatoes”

因为 “table ronde”、“la totalité de”、“pain complet” 和 “pomme de terre” 构成了ALU,所以它们作为一个整体进行处理。然而,在某些情况下,两种语言的词序不同。例如,法语名词短语 “la belle chaise bleue” 应翻译为英语名词短语 “the beautiful blue chair”,即将所有形容词移到名词左侧。以下是实现此功能的语法流程:

graph LR
    A[输入法语名词短语] --> B[翻译形容词序列]
    B --> C[翻译名词]
    C --> D[输出英文名词短语]

2.3 考虑名词数量的翻译

还有一种语法可以考虑名词的单复数。该语法识别由限定词、可选的形容词序列、名词以及名词后可选的形容词序列组成的法语名词短语,例如 “ma belle voiture rouge”,然后生成其英文翻译 “my beautiful red car”。具体翻译步骤如下:
1. 限定词翻译 :限定词立即被翻译。如果限定词是 “son”、“sa” 或 “ses”,在未计算其指代的情况下无法确定其英文翻译,因此翻译为 “it-his-her”。
2. 形容词翻译 :名词前后的形容词立即被翻译。例如,如果当前形容词与词条 “rouge,A+EN=“red”” 相关联,变量 $THIS$EN 的值为 “red”。
3. 名词翻译 :名词短语中的名词存储在变量 $N 中。语法检查其单复数,然后进行翻译。例如,如果 $N 的值为 “crayons”,变量 $N$EN 的值为 “pencil”,而复合变量 $N$EN_p 的值为 “pencils”。

2.4 自动翻译原型及挑战

NooJ 已被用于构建十几个自动翻译原型,如英语到葡萄牙语翻译、阿拉伯语命名实体到法语翻译、阿拉伯语某些句法结构到英语翻译以及法语某些名词短语到中文翻译等。然而,构建一套能够翻译任何实际文本的完整语法并不简单,首先需要为源语言构建完整的语法。需要克服的三个主要困难如下:
- 源语言的歧义性 :如果对源文本的分析未能解决所有词汇、句法和语义歧义,则必须生成多个翻译。
- 目标语言中多义词的翻译 :例如,动词 “to eat” 在德语中根据主语是人类还是动物分别翻译为 “essen” 或 “fressen”。在中文中,形容词 “big” 根据描述的是人、抽象概念还是事物而有不同的翻译。为了正确翻译文本,需要在对源语言分析的基础上,增加对目标语言的特定分析。
- 超语言问题 :例如,在计算英语代词时会遇到问题,“Il mange (Luc)” 应翻译为 “He eats”,“Il mange (le rat)” 应翻译为 “It eats”,“Il pleut” 应翻译为 “It rains”。

3. 转换分析的总结与应用

转换分析能够解析由语法描述的任何句子(简单或复杂),并自动生成所有相应的转换句子。每个生成的句子都与以特征序列形式呈现的 “转换分析” 相关联,该特征序列描述了将生成的句子与其对应的基本句子联系起来的转换序列。

与传统的转换语法不同,这种系统不需要构建独立于语言纯句法描述的特定语法。也就是说,构建语言的生成语法也使我们能够从转换的角度描述其句子。具有处理转换能力的语言引擎有很多出色的应用,以下是一些主要应用:
|应用类型|具体描述|
| ---- | ---- |
|语言语义分析器|能够生成代表复杂句子语言意义的所有意义单元(带参数的谓词),但不计算共指关系和推理。|
|问答应用|可以根据文本内容进行问题解答,为用户提供准确的信息。|
|机器翻译|将一种语言的文本翻译成另一种语言,如前面提到的各种翻译原型。|

4. 自然语言形式化的整体框架

自然语言的形式化涉及对与书面语言使用相关的五个层面现象进行形式化,包括正字法、词汇、形态学、句法和语义。这一过程需要定义每个层面的基本元素(字母、原子语言单位、词素、短语和谓词),以及一套使这些元素能够在每个语言层面进行组合的规则系统。

计算机在这个项目中是理想的工具,具体体现在以下几个方面:
1. 数字化语言元素 :计算机要求语言学家将语言元素数字化,即通过位序列来表示它们。在这个基本步骤中会出现一些复杂问题,如词汇元素数量多达数十万,仅词汇识别就需要开发许多复杂程序并将它们相互关联,还需要考虑大多数通用规则的许多变体和例外情况(如缩合、省略、大写、连字、词形变化、派生等)。
2. 自动识别语言 :计算机可以自动识别由特定语法定义的语言。常见的语法类型有:
- 正则语言 :可以用正则表达式和有限状态图进行数学描述。
- 上下文无关语言 :可以用上下文无关语法和递归图进行描述。
- 上下文敏感语言 :可以用上下文敏感语法进行描述。
- 递归可枚举语言 :可以用无限制语法进行描述。
3. 解析大量文本 :计算机使语言学家能够解析大量文本。可以将形式化的语言资源(以电子词典和语法的形式)按顺序应用,从词汇、形态、句法和语义角度对文本进行解析,每个中间分析结果都存储在文本注释结构(TAS)中。

下面是计算机处理自然语言形式化的流程图:

graph LR
    A[输入文本] --> B[词汇分析]
    B --> C[形态分析]
    C --> D[句法分析]
    D --> E[语义分析]
    E --> F[输出分析结果]

5. 各层面分析的特点与挑战

5.1 词汇分析

词汇分析处理的问题可以用正则语法表示,因此可以通过有限状态图进行处理。但要构建的图的数量、大小和相互作用使得完整的词汇分析实现起来并不简单,需要一个复杂的软件程序来自动识别文本中的原子语言单位(ALU)。

5.2 句法分析

传统的句法分析涉及多个层面的分析,使用局部语法(处理小上下文)、完整的生成语法(计算句子结构)以及上下文约束(验证短语和句子中各种类型的ALU兼容性)。前两种现象可以由有限状态图和递归图处理,而一致性问题更适合用上下文敏感语法处理。

5.3 语言形式化的关键

形式化语言需要系统地描述基本句子与实际出现在现实文本中的复杂转换句子之间的联系。这种描述不需要构建特定的转换语法,因为用于进行句法分析的生成语法已经能够实现转换解析器和生成器。拥有自动转换解析器和生成器为实现优秀的软件应用程序开辟了道路,如前面提到的语言语义分析器、问答应用和机器翻译等。

虽然构建词汇(以电子词典的形式)和语法(以正则、上下文无关和上下文敏感语法的形式)的形式化描述是可行的,且与构建用于统计自然语言处理应用的大型标注语料库相比,所需的努力并非巨大,但仍然面临一些挑战,如源语言的歧义性、目标语言中多义词的翻译以及超语言问题等。只有克服这些挑战,才能更好地实现自然语言处理的各种应用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值