第十一章 自然语言理解
(Natural Language Understanding)
11.1 语言及其理解的一般问题
11.2 句法和语义的自动分析
11.3 句子的自动理解
11.4 语言的自动生成
11.5 自然语言理解系统应用举例
11.6 小结
2
11.1 语言及其理解的一般问题
(General Issues of Language and Its Understanding)
11.1.1 语言与语言理解
?语言是用于传递信息的表示方法、约定和规
则的集合,它由语句组成,每个语句又由单
词组成;组成语句和语言时,应遵循一定的
语法与语义规则。
?要研究自然语言理解,必须对自然语言的构
成有个基本认识。
?语言的构成框图如图 11.1所示
3
语言
词汇 语法
词 熟语 词法 句法
词素 构词法 词组构
造法
造句法构形法
图 11.1 语言的构成图
11.1 语言及其理解的一般问题
4
? 从微观上讲,语言理解是指从自然语
言到机器 (计算机系统 )内部之间的一种
映射。
?从宏观上看,语言理解是指机器能够
执行人类所期望的某些语言功能。这
些功能包括:
?回答有关提问;
?提取材料摘要;
?不同词语叙述;
?不同语言翻译。
11.1 语言及其理解的一般问题
5
怎样才算理解了语言呢? 归纳起来主要有
以下几个方面:
?能够理解句子的正确词序规则和概念,又能理
解不含规则的句子
?知道词的确切含义、形式、词类及构词法
?了解词的语义分类以及词的多义性和歧义性
?指定和不定特性及所有 (隶属 )特性
?问题领域的结构知识和时间概念
?语言的语气信息和韵律表现
?有关语言表达形式的文学知识
?论域的背景知识
11.1 语言及其理解的一般问题
6
11.1.2 自然语言理解研究的进展
?机器翻译是自然语言理解最早的研究领域。
?70年代初期,对语言理解对话系统的研究取得
进展。
?80年代,自然语言理解的应用研究广泛开展,
机器学习研究又十分活跃。
?自然语言理解的研究为专家系统的知识获取提
供了新的途径。
?自然语言理解的研究已促进计算机辅助语言教
学 (CALI)和计算机语言设计 (CLD)等的发展。
11.1 语言及其理解的一般问题
7
11.1.3 自然语言理解过程的层次
语言的分析和理解过程是一个层次化
的过程,它主要包括如下四个层次:
? 语音分析
? 词法分析
? 句法分析
? 语义分析
11.1 语言及其理解的一般问题
8
11.2 句法和语义的自动分析
(Automatic Analysis of Syntax and Semantics)
11.2.1 句法模式匹配和转移网络
句法分析最为简单直观的方法 ------模式匹配。
一个句子可以表示成:
(pronoun∨ (adj*noun))verb(pronoun∨ (adj*noun))
这也可以用状态转移图来表示,称之为转移网络
(TN,transition network),如图 11.2所示。
图中,q0,q1,…q T是状态,q0是初态,qT是终态。弧
上给出了状态转移的条件以及转移的方向。
9
图 11.2 转移网络 (TN)
q0
noun
pron.
q2
q1
adj
q3 qT
verb
verb
pron.
noun
q4
q5
adj
11.2 句法和语义的自动分析
10
11.2.2 扩充转移网络
扩充转移网络 ATN是由一组网络所构成
的,每个网络都有一个网络名,每条弧
上的条件扩展为条件加上操作。
ATN的每个寄存器由两部分构成:
?句法特征寄存器
?句法功能寄存器
图 11.3所示是一个简单的名词短语 (NP)
的扩充 转移网络。
11.2 句法和语义的自动分析
11
图 11.3 名词短语 (NP)的扩充转移网络
g hf
NP
7,pp
8,send
3,adj
4,noun
2,jump
1,det
5,pron.
6,prop.
11.2 句法和语义的自动分析
12
11.2.3 词汇功能语法 (LFG)
LFG用一种结构来表达特征、功能、词汇和
成分的顺序。
LFG对句子的描述分为两部分:
? 直接成分结构 (Constituent Structure,简称 C-
Structure);
? 功能结构 (Functional Structure,简称 F-structure)。
11.2 句法和语义的自动分析
13
用 LFG语法对句子进行分析的过程如下:
?用上下文无关语法分析获得 C-structure,不
考虑语法中的下标;该 C-structure就是一棵
直接成分树;
? 将各个非叶节点定义为变量, 根据词汇规
则和语法规则中的下标, 建立功能描述 (一
组方程式 );
?对方程式作代数变换, 求出各个变量, 获
得功能结构 F-structure。
11.2 句法和语义的自动分析
14
11.2.4 语义的解析
语义解析的步骤如下:
?第一步 确定每个词在句子中所表达的词义;
?第二步 根据已有的背景知识来确定语义。
逻辑形式表达是一种框架式的结构, 它表达一
个特定形式的事例及其一系列附加的事实, 如
,Jack kissed Jill”,可以用如下逻辑形式来表
达,
(PAST S1 KISS-ACTION[ AGENT(NAME j1
PERSON“Jack”)] [ THEM ENAME(NAME j2
PERSON“Jill”)] )
11.2 句法和语义的自动分析
15
11.3 句子的自动理解
(Automatic Understanding of Sentences)
11.3.1 简单句的理解方法
为了理解一个简单句,需要做以下两方
面 的工作:
? 理解语句中的每一个词 。
? 以这些词为基础组成一个可以表
达整个语句意义的结构。其中第
二项工作又可分成以下 3个部分来
进行:
16
?句法分析将单词之间的线性次序变换
成一个显示单词如何与其它单词相关
联的结构 。
?语义分析各种意义被赋于由句法分析
程序所建立的结构, 即在句法结构和
任务领域内对象之间进行映射变换 。
?语用分析为确定真正含义, 对表达的
结构重新加以解释 。
11.3 句子的自动理解
17
11.3.2 复合句的理解方法
复合句的理解,要求发现句子之间的相
互关系。这种关系包括以下几种:
? 相同的事物
? 事物的一部分
? 行动的一部分
? 与行动有关的事物
? 因果关系
? 计划次序
11.3 句子的自动理解
18
11.4 语言的自动生成
(Automatic Generation of Language)
语言生成就是把在计算机内部以某种形
式存放的需要交流的信息,以自然语言
的形式表达出来 。
语言生成是自然语言理解的一个逆过程。
一般包括以下两部分:
? 建立一种结构, 以表达出需要交流的信息
? 以适当的词汇和一定的句法规则, 把要交
流的信息以句子形式表达出来
19
11.5 自然语言理解系统应用举例
(Application Examples of Natural Language Understanding Systems)
11.5.1 自然语言自动理解系统
? 指挥机器人的自然语言理解系统 SHRDLU
SHRDLU系统是由 MIT研制的,这个系统能用自然语
言来指挥机器手在桌面上摆弄积木,按一定的要求
重新安排积木块的空间位置。
? 自然语言情报检索系统 LUNAR
LUNAR系统是由伍兹于 1972年研制成功的一个自然
语言情报检索系统,具有语义分析能力。
20
11.5.2 自然语言问答系统
简单的自然语言问答系统, 至少要做 3件事:
?分析一语句, 同时构造它的逻辑表示, 检查
它的语义正确性 。
?如果可能的话, 转换该逻辑形式为 Horn子
句 。
?如果该语句是陈述句, 则在知识库中增加该
子句, 否则认为该子句为一个问题, 并演绎
地检索相应的答案 。
11.5 自然语言理解系统应用举例
21
此 3项功能主要由谓词 talk完成, talk的
定义是:
talk(Sentence,Reply):
-Parse(Sentence,LF,-Type),
clausify(LF,Clause,Freevars),!,
reply(Type,Ereevars,Clause,Reply).
talk(Sentence,error(?too difficult')).
上述定义中引出 3 个谓词, 即 parse,
clausify,reply分别对应上述 3 项功能 。
11.5 自然语言理解系统应用举例
22
? 谓词 parse表达句法分析能力
parse主要根据文法规则记号系统的
规定, 执行分析和转换任务, 给出相
应的逻辑表示和该语句的类型
? 谓词 clausify表达生成子句的能力
? 谓词 reply表达回答功能
11.5 自然语言理解系统应用举例
23
11.6 小结 (Summary)
? 自然语言理解是一个困难的和富有挑战
性的研究任务, 它需要大量的和广泛的
知识 。
? 自然语言理解分解为语音分析, 语法分
析, 句法分析和语义分析等层次 。
? 句法分析方法包括句法模式匹配, 转移
网络, 扩充转移网络和词汇功能语法
(LFG)等 。
24
?语言自动生成是语言自动理解的逆过
程,其难点在于如何把要交流的信息
表示为机器内部的一种结构。
?举出了自然语言理解系统的 2个应用实
例,即自然语言自动理解系统以及自
然语言问答系统。从这些实例可以看
到自然语言理解的重要作用。
11.6 小结
(Natural Language Understanding)
11.1 语言及其理解的一般问题
11.2 句法和语义的自动分析
11.3 句子的自动理解
11.4 语言的自动生成
11.5 自然语言理解系统应用举例
11.6 小结
2
11.1 语言及其理解的一般问题
(General Issues of Language and Its Understanding)
11.1.1 语言与语言理解
?语言是用于传递信息的表示方法、约定和规
则的集合,它由语句组成,每个语句又由单
词组成;组成语句和语言时,应遵循一定的
语法与语义规则。
?要研究自然语言理解,必须对自然语言的构
成有个基本认识。
?语言的构成框图如图 11.1所示
3
语言
词汇 语法
词 熟语 词法 句法
词素 构词法 词组构
造法
造句法构形法
图 11.1 语言的构成图
11.1 语言及其理解的一般问题
4
? 从微观上讲,语言理解是指从自然语
言到机器 (计算机系统 )内部之间的一种
映射。
?从宏观上看,语言理解是指机器能够
执行人类所期望的某些语言功能。这
些功能包括:
?回答有关提问;
?提取材料摘要;
?不同词语叙述;
?不同语言翻译。
11.1 语言及其理解的一般问题
5
怎样才算理解了语言呢? 归纳起来主要有
以下几个方面:
?能够理解句子的正确词序规则和概念,又能理
解不含规则的句子
?知道词的确切含义、形式、词类及构词法
?了解词的语义分类以及词的多义性和歧义性
?指定和不定特性及所有 (隶属 )特性
?问题领域的结构知识和时间概念
?语言的语气信息和韵律表现
?有关语言表达形式的文学知识
?论域的背景知识
11.1 语言及其理解的一般问题
6
11.1.2 自然语言理解研究的进展
?机器翻译是自然语言理解最早的研究领域。
?70年代初期,对语言理解对话系统的研究取得
进展。
?80年代,自然语言理解的应用研究广泛开展,
机器学习研究又十分活跃。
?自然语言理解的研究为专家系统的知识获取提
供了新的途径。
?自然语言理解的研究已促进计算机辅助语言教
学 (CALI)和计算机语言设计 (CLD)等的发展。
11.1 语言及其理解的一般问题
7
11.1.3 自然语言理解过程的层次
语言的分析和理解过程是一个层次化
的过程,它主要包括如下四个层次:
? 语音分析
? 词法分析
? 句法分析
? 语义分析
11.1 语言及其理解的一般问题
8
11.2 句法和语义的自动分析
(Automatic Analysis of Syntax and Semantics)
11.2.1 句法模式匹配和转移网络
句法分析最为简单直观的方法 ------模式匹配。
一个句子可以表示成:
(pronoun∨ (adj*noun))verb(pronoun∨ (adj*noun))
这也可以用状态转移图来表示,称之为转移网络
(TN,transition network),如图 11.2所示。
图中,q0,q1,…q T是状态,q0是初态,qT是终态。弧
上给出了状态转移的条件以及转移的方向。
9
图 11.2 转移网络 (TN)
q0
noun
pron.
q2
q1
adj
q3 qT
verb
verb
pron.
noun
q4
q5
adj
11.2 句法和语义的自动分析
10
11.2.2 扩充转移网络
扩充转移网络 ATN是由一组网络所构成
的,每个网络都有一个网络名,每条弧
上的条件扩展为条件加上操作。
ATN的每个寄存器由两部分构成:
?句法特征寄存器
?句法功能寄存器
图 11.3所示是一个简单的名词短语 (NP)
的扩充 转移网络。
11.2 句法和语义的自动分析
11
图 11.3 名词短语 (NP)的扩充转移网络
g hf
NP
7,pp
8,send
3,adj
4,noun
2,jump
1,det
5,pron.
6,prop.
11.2 句法和语义的自动分析
12
11.2.3 词汇功能语法 (LFG)
LFG用一种结构来表达特征、功能、词汇和
成分的顺序。
LFG对句子的描述分为两部分:
? 直接成分结构 (Constituent Structure,简称 C-
Structure);
? 功能结构 (Functional Structure,简称 F-structure)。
11.2 句法和语义的自动分析
13
用 LFG语法对句子进行分析的过程如下:
?用上下文无关语法分析获得 C-structure,不
考虑语法中的下标;该 C-structure就是一棵
直接成分树;
? 将各个非叶节点定义为变量, 根据词汇规
则和语法规则中的下标, 建立功能描述 (一
组方程式 );
?对方程式作代数变换, 求出各个变量, 获
得功能结构 F-structure。
11.2 句法和语义的自动分析
14
11.2.4 语义的解析
语义解析的步骤如下:
?第一步 确定每个词在句子中所表达的词义;
?第二步 根据已有的背景知识来确定语义。
逻辑形式表达是一种框架式的结构, 它表达一
个特定形式的事例及其一系列附加的事实, 如
,Jack kissed Jill”,可以用如下逻辑形式来表
达,
(PAST S1 KISS-ACTION[ AGENT(NAME j1
PERSON“Jack”)] [ THEM ENAME(NAME j2
PERSON“Jill”)] )
11.2 句法和语义的自动分析
15
11.3 句子的自动理解
(Automatic Understanding of Sentences)
11.3.1 简单句的理解方法
为了理解一个简单句,需要做以下两方
面 的工作:
? 理解语句中的每一个词 。
? 以这些词为基础组成一个可以表
达整个语句意义的结构。其中第
二项工作又可分成以下 3个部分来
进行:
16
?句法分析将单词之间的线性次序变换
成一个显示单词如何与其它单词相关
联的结构 。
?语义分析各种意义被赋于由句法分析
程序所建立的结构, 即在句法结构和
任务领域内对象之间进行映射变换 。
?语用分析为确定真正含义, 对表达的
结构重新加以解释 。
11.3 句子的自动理解
17
11.3.2 复合句的理解方法
复合句的理解,要求发现句子之间的相
互关系。这种关系包括以下几种:
? 相同的事物
? 事物的一部分
? 行动的一部分
? 与行动有关的事物
? 因果关系
? 计划次序
11.3 句子的自动理解
18
11.4 语言的自动生成
(Automatic Generation of Language)
语言生成就是把在计算机内部以某种形
式存放的需要交流的信息,以自然语言
的形式表达出来 。
语言生成是自然语言理解的一个逆过程。
一般包括以下两部分:
? 建立一种结构, 以表达出需要交流的信息
? 以适当的词汇和一定的句法规则, 把要交
流的信息以句子形式表达出来
19
11.5 自然语言理解系统应用举例
(Application Examples of Natural Language Understanding Systems)
11.5.1 自然语言自动理解系统
? 指挥机器人的自然语言理解系统 SHRDLU
SHRDLU系统是由 MIT研制的,这个系统能用自然语
言来指挥机器手在桌面上摆弄积木,按一定的要求
重新安排积木块的空间位置。
? 自然语言情报检索系统 LUNAR
LUNAR系统是由伍兹于 1972年研制成功的一个自然
语言情报检索系统,具有语义分析能力。
20
11.5.2 自然语言问答系统
简单的自然语言问答系统, 至少要做 3件事:
?分析一语句, 同时构造它的逻辑表示, 检查
它的语义正确性 。
?如果可能的话, 转换该逻辑形式为 Horn子
句 。
?如果该语句是陈述句, 则在知识库中增加该
子句, 否则认为该子句为一个问题, 并演绎
地检索相应的答案 。
11.5 自然语言理解系统应用举例
21
此 3项功能主要由谓词 talk完成, talk的
定义是:
talk(Sentence,Reply):
-Parse(Sentence,LF,-Type),
clausify(LF,Clause,Freevars),!,
reply(Type,Ereevars,Clause,Reply).
talk(Sentence,error(?too difficult')).
上述定义中引出 3 个谓词, 即 parse,
clausify,reply分别对应上述 3 项功能 。
11.5 自然语言理解系统应用举例
22
? 谓词 parse表达句法分析能力
parse主要根据文法规则记号系统的
规定, 执行分析和转换任务, 给出相
应的逻辑表示和该语句的类型
? 谓词 clausify表达生成子句的能力
? 谓词 reply表达回答功能
11.5 自然语言理解系统应用举例
23
11.6 小结 (Summary)
? 自然语言理解是一个困难的和富有挑战
性的研究任务, 它需要大量的和广泛的
知识 。
? 自然语言理解分解为语音分析, 语法分
析, 句法分析和语义分析等层次 。
? 句法分析方法包括句法模式匹配, 转移
网络, 扩充转移网络和词汇功能语法
(LFG)等 。
24
?语言自动生成是语言自动理解的逆过
程,其难点在于如何把要交流的信息
表示为机器内部的一种结构。
?举出了自然语言理解系统的 2个应用实
例,即自然语言自动理解系统以及自
然语言问答系统。从这些实例可以看
到自然语言理解的重要作用。
11.6 小结