最近在学语言处理这门课,老师一直在讲文法啊什么的,听不懂,所以查了以下资料,进行对比。错误之处还请指出来,以共同学习!
1、从自然语言处理角度上来分析:
用“”“本来”造句如下:
本来这个进球就是违例的,但你不肯承认也没办法
我有一本来自美国的花花公子杂志
拿我的笔记本来
如果汉语是上下文无关文法的话,那我们任何时候看见“本来”两个字,都可以把它规约为一个词。可惜汉语不是上下文无关文法,所以“本来”能否归约为一个词,要看它的上下文是什么。上面的三个例子中,第一句里的“本来”可以规约为一个词:
((本来)(((这个)(进球))(就)(是)(违例的))),((但)((你)(不肯)(承认)(也)(没办法)))
但后面两句都不行。后面的两句大约应该这样规约:
(我)(有)(((一本)(来自)(美国)(的))(花花公子杂志))
(拿)((我的)(笔记本))(来)
2、从编译原理的角度上分析
上下文无关文法就是说这个文法中所有的产生式左边只有一个非终结符,比如:
S -> aSb
S -> ab
这个文法有两个产生式,每个产生式左边只有一个非终结符S,这就是上下文无关文法,因为你只要找到符合产生式右边的串,就可以把它归约为对应的非终结符。
比如:
aSb -> aaSbb
S -> ab
这就是上下文相关文法,因为它的第一个产生式左边有不止一个符号,所以你在匹配这个产生式中的S的时候必需确保这个S有正确的“上下文”,也就是左边的a和右边的b,所以叫上下文相关文法。