自然语言理解
自然语言理解
10.2 复合句理解
简单句的理解不涉及句与句之间的关系,它的理 解过程首先是赋单词以意义,然后再给整个语句赋予 一种结构。而一组语句的理解,无论它是一个文章选 段,还是对话节录,句子之间都有相互关系。所以, 复合句的理解,就不仅要分析各个简单句,而且要找 出句子之间的关系。这些关系的发现,对于理解起着 十分重要的作用。
自然语言理解
图10―2 语法分析树
自然语言理解
10.1.3 语义分析
语义分析就是要识别一个语句所表达的意思。语 义分析的方法很多,如运用格文法、语义文法等。这 里仅介绍其中的语义文法方法。 语义文法是进行语义分析的一种简单方法。所谓
语义文法,就是在传统的短语结构文法的基础上,将
名词短语、动词短语等不含语义信息的纯语法类别, 用所讨论领域的专门类别来代替。例如,下面就是一
有了文法规则,对于一个给定的句子,就可以进
行语法分析,即根据文法规则来判断其是否合乎语法。 可以看出,上面的文法规则实际是非终结符的分解、 变换规则。分解、变换从起始符开始,到终结符结束。 所以,全体文法规则就构成一棵如图 10-1 所示的与或 树,我们称其为文法树。
自然语言理解
图10―1 文法树
自然语言理解
句子之间关系包括以下几种: (1)相同的事物,例如: “小华有个计算器,小刘想用它。” 单词“它”和“计算器”指的是同一物体。 (2)事物的一部分,例如: “小林穿上她刚买的大衣,发现掉了一个扣子。” “扣子”指的是“刚买的大衣”的一部分。
(3)行动的一部分,例如:
“王宏去北京出差,他乘早班飞机动身。”
自然语言理解
乘飞机应看成是出差的一部分。
(4)与行动有关的事物,例如: “李明准备骑车去上学,但他骑上车子时,发现车胎没 气了。” 李明的自行车应理解为是与他骑车去上学这一行动有关 的事物。 (5)因果关系,例如: “今天下雨,所以不能上早操。”
banana,computer]). verb( [ H|- ] ):member(H ,[ eats , study , programming , operats]). append([],L,L). append([H|T],L,[H|L2]):append(T,L,L2). member(X,[X|-]). member(X,[-|T]):member(X,T).
自然语言理解
自然语言理解
10.1 简单句理解 10.2 复合句理解 10.3 转换文法和转换网络
自然语言理解
10.1 简单句理解
10.1.1 理解的实现过程 要理解一个语句,需建立起一个和该简单句相对 应的机内表达。而要建立机内表达,需要做以下两方 面的工作: (1)理解语句中的每一个词。
(2) 以这些词为基础组成一个可以表达整个语句意
个语义文法的例子:
自然语言理解
S→PRESENT the ATTRIBUTE of SHIP
PRESENT→what is|can you tell me ATTRIBUTE→length|class SHIP→the SHIPNAME|CLASSNAME class ship SHIPNAME→Huanghe|Changjiang
(3)语用分析。为确定真正含义,对表达的结构重新
加以解释。
自然语言理解
10.1.2 语法分析
要进行语法分析,必须首先给出该语言的文法规 则,以便为语法分析提供一个准则和依据。对于自然 语言人们已提出了许多种文法,例如,乔姆斯基 ( Chomsky )提出的上下文无关文法就是一种常用的 文法。 一个语言的文法一般用一组文法规则(称为产生 式或重写规则)以及非终结符与终结符来定义和描述。
义的结构。
Hale Waihona Puke 自然语言理解由于这个解释过程涉及到许多事情,因而常常将这
项工作分成以下三个部分来进行: (1)语法分析。将单词之间的线性次序变换成一个显 示单词如何与其他单词相关联的结构。语法分析确定语 句是否合乎语法,因为一个不合语法的语句就更难理解。 (2)语义分析。各种意义被赋予由语法分析程序所建 立的结构,即在语法结构和任务领域内对象之间进行映 射变换。
自然语言理解
这个文法有6条文法规则,它们是用BNF范式表示
的。其中带尖括号的项为非终结符,第一个非终结符 称为起始符,不带尖括号的项为终结符,符号“∷=”
的意思是“定义为”,符号“ |” 是“或者”的意思,
而不带“ |”的项之间是“与”关系。符号“∷ =” 也可 以用箭头“→”表示。
自然语言理解
自然语言理解
例10.1 下面是一个基于上述文法的语法分析程序。它采
用自顶向下搜索。 sentence(X):append(Y , Z , X) , noun-phrase(Y) , verbphrase(Z). noun-phrase(X):append(Y , Z , X) , determiner(Y) ,
CLASSNAME→carrier|submarine
自然语言理解
这是一个舰船管理数据库系统自然语言接口的语
义文法片段。 可以看出,语义文法的重写规则与上下文无关文 法的形式是类似的。但这里没有出现像名词短语和动 词短语等语法类别,而是用了PRESENT、 ATTRIBUTE、SHIP等专门领域中的类别。
noun(Z).
verb-phrase(X):append(Y , Z , X) , verb(Y) , nounphrase(Z). verb-phrase(X):verb(X). determiner([the]).
自然语言理解
noun( [ H|- ] ):member(H , [ man , student , apple ,
例如,下面就是一个英语子集的上下文无关文法:
自然语言理解
<sentence>∷=<noun-phrase><verb-phrase> <noun-phrase>∷=<determiner><noun> <verb-phrase>∷=<verb><noun-phrase>|<verb> <determiner>∷=the|a|an <noun>∷=man|student|apple|computer <verb>∷=eats|operats