自然语言理解.ppt
《自然语言理解.ppt》由会员分享,可在线阅读,更多相关《自然语言理解.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 11 章 自然语言理解 自然语言理解 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life, there is hope。有生命必有希望。有生命必有希望第 11 章 自然语言理解 11.1.1 理解的实现过程理解的实现过程 10.1.1 理解的实现过程理解的实现过程 要理解一个语句,需建立起一个和该简单句相对应的机内表达。而要建立机内表达,需要做以下两方面的工作: (1)理解语句中的每一个词。 (2)以这些词为基础组成一个可以表达整个语句意义的结构。第 11 章 自然语言理解 第一项工作看起来很容易, 似乎只是查一下字典就可
2、以解决。 而实际上由于许多单词有不止一种含义, 因而只由单词本身不能确定其在句中的确切含义, 需要通过语法分析, 并根据上下文关系才能最终确定, 例如, 单词diamond有“菱形”、“棒球场”和“钻石”三种意思, 在语句John saw Susans diamond shimmering from across the room.中, 由于“shimmering”的出现, 则显然“diamond”是“钻石”的含义, 因为“菱形”和“棒球场”都不会闪光。 再如在语句 Ill meet you at the diamond. 第 11 章 自然语言理解 中, 由于“at”后面需要一个时间或地点名
3、词作为它的宾语, 显然这里的“ diamond”是“棒球场”的含义, 而不能是其他含义。 第二项也是一个比较困难的工作。因为要以这些单词为基础来构成表示一个句子意义的结构, 需要依赖各种信息源, 其中包括所用语言的知识、 语句所涉及领域的知识以及有关该语言使用者应共同遵守的习惯用法的知识。由于这个解释过程涉及到许多事情, 因而常常将这项工作分成以下三个部分来进行: 第 11 章 自然语言理解 (1) 语法分析。 将单词之间的线性次序变换成一个显示单词如何与其他单词相关联的结构。语法分析确定语句是否合乎语法, 因为一个不合语法的语句就更难理解。 (2) 语义分析。各种意义被赋予由语法分析程序所建
4、立的结构, 即在语法结构和任务领域内对象之间进行映射变换。 (3) 语用分析。 为确定真正含义, 对表达的结构重新加以解释。 第 11 章 自然语言理解 11.1.2 11.1.2 语法分析语法分析 要进行语法分析, 必须首先给出该语言的文法规则, 以便为语法分析提供一个准则和依据。 对于自然语言人们已提出了许多种文法, 例如, 乔姆斯基(Chomsky)提出的上下文无关文法就是一种常用的文法。 一个语言的文法一般用一组文法规则(称为产生式或重写规则)以及非终结符与终结符来定义和描述。例如, 下面就是一个英语子集的上下文无关文法: 第 11 章 自然语言理解 11.1.2 11.1.2 语法分
5、析语法分析 要进行语法分析, 必须首先给出该语言的文法规则, 以便为语法分析提供一个准则和依据。对于自然语言人们已提出了许多种文法, 例如, 乔姆斯基(Chomsky)提出的上下文无关文法就是一种常用的文法。 一个语言的文法一般用一组文法规则(称为产生式或重写规则)以及非终结符与终结符来定义和描述。 例如, 下面就是一个英语子集的上下文无关文法: 第 11 章 自然语言理解 sentence=nounphraseverbphrasenounphrase=determinernounverbphrase=verbnounphrase|verbdeterminer=the|a|announ=man
6、|student|apple|computerverb=eats|operats 这个文法有6条文法规则, 它们是用BNF范式表示的。其中带尖括号的项为非终结符,第一个非终结符称为起始符, 不带尖括号的项为终结符, 符号“= ”的意思是“定义为”, 符号“|”是“或者”的意思, 而不带“|”的项之间是“与”关系。 符号“=”也可以用箭头“”表示。 第 11 章 自然语言理解 有了文法规则, 对于一个给定的句子, 就可以进行语法分析, 即根据文法规则来判断其是否合乎语法。可以看出, 上面的文法规则实际是非终结符的分解、变换规则。分解、变换从起始符开始, 到终结符结束。所以,全体文法规则就构成一棵
7、如图 111所示的与或树, 我们称其为文法树。所以, 对一个语句进行语法分析的过程也就是在这个与或树上搜索解树的过程。 可以看出, 搜索解树可以自顶向下进行, 也可以自底向上进行。自顶向下搜索就是从起始符sentence出发, 推导所给的句子; 自底向上搜索就是从所给的句子出发, 推导起始符sentence。 第 11 章 自然语言理解 图 11-1 文法树 第 11 章 自然语言理解 例例11.111.1下面是一个基于上述文法的语法分析程序。 它采用自顶向下搜索。 sentence(X):append(Y, Z, X), noun_phrase(Y), verb_phrase(Z).noun
8、_phrase(X):append(Y, Z, X), determiner(Y), noun(Z).verb_phrase(X):append(Y, Z, X), verb(Y), noun_phrase(Z).verb_phrase(X):verb(X).determiner(the).noun(H|_): member(H, man, student, apple, banana, computer).verb(H|_):member(H, eats, study, programming, operats). append(, L, L).append(H|T, L, H|L2): a
9、ppend(T, L, L2). member(X, X|_).member(X, _|T): member(X, T). 第 11 章 自然语言理解 这个程序是先把所给的句子以符号表的形式约束给谓词sentence的变量X,然后对其进行分解和变换。如果最终分解、 变换的结果与语言的文法树相符, 则证明所给的句子语法正确; 否则语法错误。 例如, 对于句子 the student operats the computer要用该程序进行语法分析, 则应给出询问: ?-sentence(the, student, operats, the, computer).这时, 系统则回答: yes 分析这
10、个句子所产生的解树如图 11-2所示。 这个解树称为该句子的语法分析树。 第 11 章 自然语言理解 图 11-2 语法分析树 第 11 章 自然语言理解 需指出的是, 这个程序虽然易于理解, 但运行效率较低。 因为在用append谓词对句子进行分解时一般要进行多次回溯。 为此, 我们把这个程序修改为如下形式: sentence(X, Y): noun_phrase(X, Z), verb_phrase(Z, Y).noun_phrase(X, Y): determiner(X, Z), noun(Z, Y).verb_phrase(X, Y): verb(X, Z), noun_phrase
11、(Z, Y).verb_phrase(X, Y): verb(X, Y).determiner(the|T, T).noun(H|T, T): member(H, man, student, apple, computer).verb(H|T, T): member(H, eats, operats). 第 11 章 自然语言理解 这个程序的每个谓词有两个参量, 它们都是符号表。对于一个给定的句子, 后一个表是前一个表的余表。语法分析时, 把所给的句子以符号表的形式约束给sentence 的第一个变量X, 第二个变量约束为空表。如 ?-sentence(the,student,operats,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自然语言 理解
限制150内