热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

自然语言和编译原理中的(1型文法)上下文有关文法和(2型文法)上下文无关文法CFG

最近在学语言处理这门课,老师一直在讲文法啊什么的,听不懂,所以查了以下资料,进行对比。错误之处还请指出来,以共同学习!1、从自然语言处理角度上来分析:用“”“本来”造句如下:本来这个进球就是违例的,但

最近在学语言处理这门课,老师一直在讲文法啊什么的,听不懂,所以查了以下资料,进行对比。错误之处还请指出来,以共同学习!

1、从自然语言处理角度上来分析:

用“”“本来”造句如下:
本来这个进球就是违例的,但你不肯承认也没办法
我有一本来自美国的花花公子杂志
拿我的笔记本来

如果汉语是上下文无关文法的话,那我们任何时候看见“本来”两个字,都可以把它规约为一个词。可惜汉语不是上下文无关文法,所以“本来”能否归约为一个词,要看它的上下文是什么。上面的三个例子中,第一句里的“本来”可以规约为一个词:

((本来)(((这个)(进球))(就)(是)(违例的))),((但)((你)(不肯)(承认)(也)(没办法)))

但后面两句都不行。后面的两句大约应该这样规约:

(我)(有)(((一本)(来自)(美国)(的))(花花公子杂志))
(拿)((我的)(笔记本))(来)

2、从编译原理的角度上分析

上下文无关文法就是说这个文法中所有的产生式左边只有一个非终结符,比如:
S -> aSb
S -> ab
这个文法有两个产生式,每个产生式左边只有一个非终结符S,这就是上下文无关文法,因为你只要找到符合产生式右边的串,就可以把它归约为对应的非终结符。

比如:
aSb -> aaSbb
S -> ab
这就是上下文相关文法,因为它的第一个产生式左边有不止一个符号,所以你在匹配这个产生式中的S的时候必需确保这个S有正确的“上下文”,也就是左边的a和右边的b,所以叫上下文相关文法。



推荐阅读
author-avatar
絮尘飘雪_896
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有