自然语言与机器语言的比较

自然语言与机器语言的比较

ID:16151028

大小:88.50 KB

页数:15页

时间:2018-08-08

自然语言与机器语言的比较_第1页
自然语言与机器语言的比较_第2页
自然语言与机器语言的比较_第3页
自然语言与机器语言的比较_第4页
自然语言与机器语言的比较_第5页
资源描述:

《自然语言与机器语言的比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、周锡令经过几十年的全球性的努力,以机器翻译为代表的计算机自然语言处理工作始终没有达到人们预想的境界。于是我们竟不住要问:为什么电脑处理起“编程语言”来那样轻松自如,可以作好多非常复杂的事情;而在一句普通的自然语言面前却显得像一个大笨蛋呢?自然语言和编程语言的本质区别到底在哪里? 自然语言和编程语言显然有很多地方不同。但是作为“语言”,两者都面临语言使用这所需要的一些要求:(1)有强大的表达能力(能够把事情说清楚)(2)结构化。人的短时记忆容量不多,信息如果不分层次,无论听说还是阅读都会造成困难。(3)具有简洁、浓缩表达的机制(使听说双方都不觉得罗嗦)。 在这两种要求的驱动下,两种语言都会发展

2、出一些机制,这些机制在两种语言中的表现可能大不相同,但是会存在某种对应关系。 在文科领域有所谓“比较文学”的行当。考虑到不同民族,不同文化发源地发展出来的文学作品既有各自的特色,又有互通的共性,可以对它们的异同加以比较。事实证明,从这种比较中,可以得到许多有益的启示。“比较”既然是观察和分析事物的有效方法,把自然形成的语言和人工设计的语言(计算机编程语言就是应用最为广泛的一种人工语言)进行一番比较也许能给我们一些工作上的启示。 语言的设计者自然语言是在无数多人群之间的碰撞和交流之间产生、发展、筛选、淘汰之后形成的,好比是“市场经济”的产物。 计算机编程语言(以下简称“编程语言”)则是“计划经

3、济”的产物。它所使用的词汇、规则都是事先由一位“上帝”(语言的设计者)策划好的。词汇及其分类“词”是自然语言中的基石,它们是具有语义的最小独立单位。 在编程语言中对应的东西就是token。Token是编译程序中的术语,它包括外形像英语单词的Word,以及“=,+,-,*,/,==,>,<,(,),……”之类的符号。 从信息处理的角度来看,“词”和token都是“符号(Symbol)”,它们可以被我们“用来”映射到各种实体或者概念上去。根据一个符号所映射到各种实体或者概念的性质来把它们进行分类。 语言学家把自然语言中的词划分为许多类:名词、动词、形容词、副词、数词、连接词、感叹词、………。我们

4、应该注意到,它们不是在同一级别上的。 名词和动词:是最重要的。它们直接反映了我们对世界上形形色色的事物以及这些事物之间的相互作用。形容词、副词、数词、则是第二级的。它们只对事物以及这些事物之间的相互作用起修饰作用。剩下来的连接词、感叹词、………则是第三级的。它们主要起语法的作用。(用来提示语句内部的结构性信息,起连接作用、用来表述“词”与“词”之间的关系) 与之对应,在编程语言中,可以把token划分为:l       命令:运算符、子程序名。它们对应于自然语言中的动词。动词的“价”则相当于编程语言中的命令、运算符、子程序所需要的“变元(arguments)”的个数。在编程语言中,有时某些“

5、变元”可以省略不写,而用预先规定的“缺省值”代替。在自然语言中,也有类似的情况,但是缺省的东西要根据上下文来补充。自然语言中存在一些“泛义动词”,例如汉语中的“打”,“搞”,“干”……,英语中的“get”,“take”等。它们的进一步的具体含义要由这些动词所涉及的对象来确定。例如:“打毛衣”中的“打”应理解为“编织”,“打篮球”中的“打”应理解为“玩”,“打开水”中的“打”应理解为“取得”,等等。l       在面向对象的编程语言中,也有类似的“动态绑定(DynamicBinding)”机制:一个函数名或者子程序名字的具体含义要在“运行时”依据所涉及对象在当时的指的类型来决定。l     

6、  数据:常数、变量名。它们对应于自然语言中的名词。l       其他:起连接作用、用来表述token之间的关系的符号,例如if,then等等。它们对应于自然语言中的连接词、感叹词等等。动词和名词之间的互换性在自然语言中,有一个引人瞩目的现象,那就是“名词和动词之间的呼唤性”。这是因为,“词”或者token是用来表达“概念”的,而一个概念往往有多种侧面。所以自然语言中常常出现用同一个“符号”来表达不同的侧面的现象。举例来说:“钉”本来是名词,但是可以转化,作为动词来使用:我把画钉在墙上。“锁”本来是名词,但是可以转化,作为动词来使用:我用锁把门锁上。古汉语中这样的例子更多。“叔”可以转化为

7、“认……为叔叔”,“尘”可以当作“弄脏”,“污染”的意义来使用。 反过来,动词也往往可以转化为名词使用。比如,“偷”是动词。但是在“偷是不对的。”这句话中的“偷”却是一个名词,因为这句话也可以说成:“偷这种行为是不对的” 在计算机编程语言中,也有类似情况。在declaration(声明)中,函数、子程序名表现为“名词”,但是在执行语句中,他们就成了动词。例如在C语言中:doublex,y;doublesqrt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。