语义分析,语法分析,词法分析

中山野鬼 发布于 2013/08/11 22:23
阅读 6K+
收藏 1

最近在写的稿子,是针对用c设计一个通用的文本分析模块,原本用解析,这个词,觉得自己有点胡扯了,毕竟解析器要能做到动作触发。所以就用了“分析”。正好在写形式文法和分析之间的关联。就水篇帖子。

这年头张口闭口的流行词汇包括“大数据”,“语义网"。这两个合着落在互联网上,简直极品到“奇葩”的地步。因为足够有眼球效应,而且能引出一个我很讨厌的词“无限的想象空间”。

从系统设计角度,语义分析和后两者没有毛关系。后两者有很紧密的关系。

语义分析主要思想是根据上下文环境,通过对比“引申含义”的概率,来给出大概率下的表述映射。简单说是个环境识别+统计+指引的复合操作。如果谁的语义分析系统,没有统计算法在里面,没有语境分析在里面,基本就是扯淡。这如同“你+妈喊你回家吃饭”。在网站的屏蔽中,前面两个字被无情的卡擦一样,当然网站的敏感词汇屏蔽,没标榜自己是带语义分析的。

语法分析和词法分析不同。语法分析,多了规则实例化的过程。其他和词法分析一样,主要是用形式文法和待分析数据,进行匹配。正则表达式,只是形式文法的一种。大家的编译器的前端,都包含形式文法的处理。词法分析,主要是用于,符合形式文法的数据被提取出来,而语法分析的实例化,需要对提取出的数据,进行具体的可识别的规则进行实例化。比如,进入的单词流,究竟是个赋值语句,还是的调用行为。否则后面的触发器无法对应,触发器是用于根据不同的具体描述的内容,进行不同的处理工作,当然编译器的优化部分和这个无关。

当然语义分析和语法分析有关联,连语法都提取不出来的系统,语义分析就更扯淡了。这和你用什么聚类、分类,神经网络、或者什么一堆堆新名词没有关系,后者都是基础面向数据的算法,和排序算法一样,不落到工程里,只能做作理论研究,p用没有。别以为在几个数据表里,加个sql语句,凑凑,就可以语义了,数据库在语义分析系统里,只能做基础词法提取的动作。包括大数据,也是,数据库即便是oracle的数据库,扮演的角色,基本可以类比数据库系统中,磁盘文件扮演的角色。非常非常小的小角色。

不过我发现,国内这方面的忽悠数量不是太多,大多是“无知者无畏”,以为这个叫语义分析,所以喊自己是在做语义,国外这方面的忽悠其实更多,哈。这里提醒两点,装神弄鬼的,国外的比国内的多,别以为老外的软件或书籍就是真理,第二点,语义分析和神经网络一样,目前在理论上并没有良好的结论,并不成熟,不到可以立刻“骗”点钱的时候,不要说自己是在搞“语义”系统(产品),你可以说是“语义”研究。哈(挡人财路的事情我还是不干的)。

补充喷个神经网络。这两年相对降温了。谁能给出神经网络的层数,结点数,和系统负载容量的公式出来,那么我认为神经网络就真的有实用基础了,没有负载上限的系统,不知道谁见过?比如火箭说,我可以飞行无限快,起重机说,我可以举起任意重量的物品,扯淡吧,到了负载上限,基本散架。另外,谁能给出,神经网络自组织学习反馈方面的数学公式?给不出来,最终还是要人来判断,这又是扯淡了。这等于是人工控制的网络状态机的一种形式而已,而且内部存储还不可控,简单说,既不可控,还要人控。这等于就是工程设计中的废品。



加载中
1
中山野鬼
中山野鬼

引用来自“jingshishengxu”的答案

神经网络在很多地方都有应用,比如文字识别;所以能不能实用和有没有在理论上搞清楚是两回事。

你说的那个是模式识别。我读书那会,就知道,法国下水系统,应用了神经网络的算法实现。如果我的导师没吹水的话。哈。不过仍然是需要人工判断。无非人工判断是在数据统一处理前还是数据分析过程中。而不是系统自识别。文字识别仍然属于图像识别中的一种,类似的包括车牌识别,不用忽悠人,这些实际不是神经网络,都是带模版的。这种带模版的处理,说来说去还是个统计比对的算法。

我强调带模版,意思是,即便自组织学习,也是有约束的。并不会因为信息量的增加,获取设计之处额外的性能。道理很简单,如果你说的文字识别,可以动态的处理那种动态的网站“附加验证”的识别,好的,我承认,神经网络成功了,注意我说动态,因为设计者给不出结点和信息负载的公式,动态识别到一定程度,系统会不可控的丧失功能。负载上限是客观存在的,成品是能说清楚负载上限的。如同一个数组告诉你能存多少数据一样。你说的文字识别,设计者自己也不知道该明确用多少结点,无非开到足够大,现有样本学习,对大多数情况基本ok,就算设计完成。

正常的系统,比如一个加法器,会明确给出,可加的数据范围,超出范围就不能处理。神经网络系统能给出吗?其实我有点抬杠了,不抬杠的说,应该是,神经网络能给出承载的数据量的上限吗?多少结点,对多少差异样本之上,就失去了甄别能力,就这个问题,这个回答不出来,神经网络系统,面对任何一个明确的应用都只能靠猜,靠试。

ihuotui
ihuotui
觉得你说的很对
1
mallon
mallon
不明觉厉
1
mallon
mallon
野鬼说的那些神经网络扯淡的事情,我是绝对赞同的。不过上升到语义角度,我觉得就不是我们凡人能做的事情了,否则岂不是抢了上帝的饭碗了?计算机纯理论方面的东西太搞脑筋了,不好玩,还是玩玩软硬结合吧
0
jingshishengxu
jingshishengxu
神经网络在很多地方都有应用,比如文字识别;所以能不能实用和有没有在理论上搞清楚是两回事。
ihuotui
ihuotui
文字识别的确是模式识别,你可以看看的,就是把不同字的图片二值化,其实就是01数字化,然后和大量统计得出的二值对比,得出文字,字母和数字比较容易识别,中文需要更加复杂的规则。
0
把妹达人老张
把妹达人老张
给出一条曲线,求函数。或者求未画出部分的近似曲线。我想神经网络可以做到。通过反馈,调整神经网络的参数,可以得到近似函数。求多项式的系数值?np=p?哈哈
0
中山野鬼
中山野鬼

引用来自“张子游”的答案

给出一条曲线,求函数。或者求未画出部分的近似曲线。我想神经网络可以做到。通过反馈,调整神经网络的参数,可以得到近似函数。求多项式的系数值?np=p?哈哈
不用神经网络一样做到,其实系统设计更简单。哈。
0
liangtee
liangtee
谁问你的文本分析工具能实现什么功能?
0
中山野鬼
中山野鬼

引用来自“liangtee”的答案

谁问你的文本分析工具能实现什么功能?
基本目标是可以根据规则(这个是模块调用者给入的),自动提取文本的数据,或者自动生成目标格式的文本,或者可以对诸如sql语句进行预处理解释,当然执行动作,这种触发,就不涉及了,谁知道这段文本最终想要做什么。哈。不过没用正则文法,用的是上下文无关的。
0
中山野鬼
中山野鬼

引用来自“Mallon”的答案

野鬼说的那些神经网络扯淡的事情,我是绝对赞同的。不过上升到语义角度,我觉得就不是我们凡人能做的事情了,否则岂不是抢了上帝的饭碗了?计算机纯理论方面的东西太搞脑筋了,不好玩,还是玩玩软硬结合吧
如果有有效理论出来,还是可以玩的。不过现在还没看到。。。哈。
0
HZ先生
HZ先生
唉,在正常新闻文本的情况下,还是可以语义的,现在大多数都是分析新闻的,神马贴吧回复就算了
返回顶部
顶部