自然语言与机器语言的比较
人工智能中的机器视觉与自然语言处理

人工智能中的机器视觉与自然语言处理人工智能是一个正在迅速发展的领域,其中机器视觉和自然语言处理是人工智能应用中的两个重要分支。
机器视觉涉及计算机通过视觉来感知和理解复杂的图像和视频信息,而自然语言处理涉及计算机处理语言的方式,包括文本和语音。
机器视觉机器视觉是一项能够让计算机像人一样感知和处理图像和视频信息的技术。
该技术由框架、算法和应用程序三个基本组成部分构成。
框架包括计算机视觉和深度学习。
算法则包含了诸如图像识别、面部识别和目标跟踪等技术。
最后,应用程序相对更为广泛,包括自动驾驶汽车、安防系统和医学图像分析。
机器视觉最重要的算法之一是卷积神经网络(CNN),通过学习已有图像的特征来进行图像分类,从而不断提高系统的准确性。
1999年,基于最小均方误差(MSE)的人脸识别算法被第一次提出。
2012年,由于AlexNet的出现,图像识别准确度大幅提升,在ImageNet大型图像识别任务中得到了94%的准确度。
除了视觉识别,机器视觉还可以用于对象跟踪、移动识别和运动控制等领域。
例如,机器人使用机器视觉可以自主探索未知的环境和执行任务,同时还可以在安防系统中检测异常行为和在产品的制造和质检过程中检测缺陷和错误。
自然语言处理除了机器视觉外,自然语言处理也是人工智能的重要领域之一。
自然语言处理(NLP)是一种计算机处理人类语言的方式。
自然语言处理技术是指使用计算机算法处理文本或语音的能力。
这种技术的目的是使计算机能够理解、理解和产生语言,并在各种自然语言任务中表现良好。
自然语言处理的主要应用包括文本分类、语音识别、机器翻译、智能客服和情感分析。
语音识别可以将语音转换成文本,使计算机能够理解语音内容。
机器翻译可以帮助人们翻译文本或者语音,使得人们可以轻松跨越语言的障碍。
智能客服则可以自动处理电话、电子邮件或者在线聊天,大大缩短了通信的时间。
情感分析则可以帮助企业和政府掌握市场反馈和民意,从而优化策略和决策。
程序设计语言 习题与答案

第六章习题 P159-161一、复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。
自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。
用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。
这些使用助记符语言的语言后来就被称之为汇编语言。
(P144- P146)2、试述计算机语言的类型,它们各有什么特点?1.机器语言,是最低级的语言,由二进制码组成,最早期的程序员通过在纸带上打点来写程序2.汇编语言,用助记符和地址符代替了二进制码,更易于编写。
3.高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。
(P145-147)3、列举程序设计语言的几种范型。
程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。
(P147-149)4、简述语言虚拟机。
提示:语言虚拟机是某种语言的解释器。
语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。
这样使得硬件系统能够支持这种语言编写的程序的有效执行。
目前最流行的语言虚拟机是Java虚拟机。
(P156)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。
编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。
编译方式是一次编译,然后执行程序可以反复多次执行。
解释是另一种将高级语言转换为可执行程序的方式。
与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。
这样解释性语言每执行一次就要翻译一次,效率比较低。
机器语言与自然语言的差异和联系

机器语言与自然语言的差异和联系机器语言和自然语言都是人类交流时使用的语言形式,但它们的本质和表达方式存在很大的差异。
机器语言与自然语言相比,具有更高的精度和准确度,但是受限于逻辑和规则,表达能力和灵活性相对较差。
然而,机器语言和自然语言也存在一些联系和共通之处。
一、机器语言的特点机器语言是计算机和机器之间进行交流的语言,它主要由二进制指令构成,与自然语言相比,具有以下特点:1. 严谨性:由于机器语言是由计算机执行指令的语言,因此它具有很高的精确度和可靠性。
2. 晦涩难懂:机器语言是二进制指令的集合,对于人类来说,不同类型指令的含义晦涩难懂,需要通过特定的语言编译器转换为可读的汇编语言。
3. 直白简单:机器语言的指令由0和1组成,相对于自然语言来说,语言的形式更为直白和简单。
4. 逻辑性强:机器语言是由一系列指令构成的,不同的指令相互关联,需要遵循特定的逻辑。
二、自然语言的特点自然语言是人类日常交流和表达思想的语言,它主要由语音、文字和符号组成。
相较于机器语言,自然语言具有以下特点:1. 灵活性:自然语言的表达方式灵活多变,可以根据不同的情境选择不同的表述方式,表达出更加丰富和复杂的意义。
2. 歧义性:自然语言存在歧义性,同样的语句可以有多种不同的解释,需要结合上下文才能确定其意思。
3. 抽象性:自然语言可以表达一些抽象或难以描述的概念,如情感、感受等。
这些概念很难通过机器语言来表达。
4. 具备“人类感性”:自然语言的表达方式是基于人类感性的,能够准确地表现出人类的思考方式和交流习惯,从而实现有效的沟通。
三、机器语言和自然语言的联系和共通之处虽然机器语言和自然语言表达方式存在很大的差异,但是它们也存在一些联系和共通之处:1. 交互作用:机器语言和自然语言都是人类与机器之间进行交流的语言,它们有着相同的目的,即实现有效的沟通和信息交流。
2. 逻辑规则:机器语言的指令需要遵循特定的逻辑规则,而自然语言的表达方式也需要遵循一些语法和逻辑规则,如语序、词性搭配等。
计算机与自然语言的理解

论 。[ 2 ] 自然语言与人工语言的区别 ,主要表现在下面
四个方面 : ①自然语言中充满歧义 ,而人工语言的歧 义是可以控制的 。 ②自然语言的结构复杂多样 ,而 人工语言的结构则相对简单。 ③自然语言的语义表 达千变万化 ,迄今还没有一种简单而通用的途径来 描述它 。而人工语 言的语义则可以 由人来直接定 义 。 ④自然语言的结构和语义之间有着错综复杂的 联系 ,一般不存在一一对应的同构关系 ,而人工语言 则常常可以把结构和语义分别进行处理 ,人工语言 的结构和语义之间有着整齐的一一对应的同构 关系 。[ 3]
我们先来认识一 下什么叫做“自然 语言 ”。自 然语言在这里指的是人类进行交际所使用的语言。 人类使用的语言语种很多 ,有汉语 、英语、俄语 、日语 等等 。这些语言都属于“自然语言 ”。“自然语言 ” 是相对于“机器语言 ”而 提出来的 。所谓“机 器语 言 ”,是人类按照一定的规律 ,用二进位制数码 ,为 电子计算机编制的机器指令的集合 。“机器指令的 集合 ”这句话 ,不太好理解 ,我们可以把它改成比较 通俗的说法 :“供电子计算机使用的语言 ,就是机器 语言 。”和形式语言相对来说 ,机器语言是一种特殊 的形式语言 ,是一种经过严格定义的形式化的符号 语言 。由于“自然语言 ”和“机器语言 ”是作为矛盾 的对立面而提出来的 ,因此在讨论“自然语言 ”特点 的时候 ,我 们可以 把这两 种语 言对 比着 来进行 讨
(社会科学版 ) Science ( Soc ial
Sciences
Edition)
Feb. 2010
Vol. 13 No. 1
计算机与自然语言陕西 汉中 723000)
摘要 :自然语言是相 对于 机器 语言提 出来的 。在 计算机 看来 ,自然语 言是一 种不 好“理 解 ”的语 言 ,可以从 逻 辑 、语法 、语义三方面来理解使计算机感到困惑的问题 。这些困惑不解决 ,“人工智能 ”只能是一句空话 。 关键词 :自然语言 ;机器语言 ;人工 语言 ;应用和前景 中图分类号 : TP3 - 05 文献标识码 :A
计算机语言与自然语言种类的比较

计算机语言与自然语言种类的比较计算机语言和自然语言是两种截然不同的信息传递方式,它们在语法、语义、表达方式等方面存在着显著的差异。
本文将从多个角度对计算机语言和自然语言进行比较,以便更好地理解这两种信息传递方式的特点和优劣。
一、基本概念计算机语言是一种用于人与计算机之间进行交流的语言,它通过特定的符号、数字、指令等方式,将人类的思维和行为转化为计算机可以理解和执行的代码。
计算机语言可以分为低级语言和高级语言两种,低级语言直接控制计算机硬件,而高级语言则更加接近人类的日常语言,易于理解和使用。
自然语言则是指人类使用的语言,它是一种用于人与人之间进行交流的语言,包含了语音、语法、语义等多个方面的要素。
自然语言具有非常丰富的表达能力和复杂的社会文化背景,是人们日常生活中不可或缺的一部分。
二、语法结构计算机语言的语法结构通常比较简单,易于学习和掌握。
例如,汇编语言中的指令通常只有几个字符,而且语法规则比较固定。
相比之下,自然语言的语法结构则非常复杂,不同的语言有不同的语法规则和表达方式。
例如,汉语中的词语和句子结构需要遵循一定的规则,而英语中的时态和语态则需要根据语境进行判断。
三、语义表达计算机语言和自然语言的语义表达方式也存在明显的差异。
计算机语言通常只能表达简单的概念和指令,而不能表达复杂的情感和思想。
相比之下,自然语言的语义表达则更加丰富和灵活,可以表达各种情感、态度和思想。
此外,自然语言还具有很强的文化和社会背景,不同的文化和社会环境会对语言的语义产生不同的影响。
四、学习难度计算机语言的学习难度相对较低,因为它们通常比较简单明了,易于理解和掌握。
相比之下,自然语言的学习难度则较高,因为它们包含了大量的文化和历史背景,需要长时间的积累和学习才能掌握。
此外,不同的人对同一种自然语言的掌握程度也可能存在差异,因为每个人的语言能力和学习方式都不同。
五、应用范围计算机语言的应用范围非常广泛,从简单的编程工具到复杂的操作系统和人工智能系统,都需要使用计算机语言进行编程。
人工智能中的自然语言处理与机器翻译

人工智能中的自然语言处理与机器翻译随着科技的不断发展,人工智能(Artificial Intelligence,简称AI)已经成为一个不可忽视的领域。
其中,自然语言处理(Natural Language Processing,简称NLP)和机器翻译(Machine Translation,简称MT)更是备受瞩目。
本文将从理论与实践两个层面探讨人工智能中的自然语言处理与机器翻译。
一、自然语言处理自然语言处理是指让计算机理解人类自然语言的一种技术,可以分为语音识别、自然语言理解、自然语言生成等多个方面。
其中,语音识别是最基础的环节,它能将人类语音转化成计算机可以理解的数字信号。
自然语言理解则是在语音识别的基础上,计算机能够将语音转化成一些可供算法运算的文本,同时计算机还能够分析出文本中的词汇义项、句法结构等。
自然语言生成则是让计算机通过一些算法生成自然语言的过程。
自然语言处理有着广泛的应用场景,比如人机对话系统、智能问答系统、智能语音助手等等。
其中最为典型的应用就是智能语音助手,如Apple的Siri、Amazon的Alexa、Google的Assistant等。
这些技术的应用场景越来越广泛,相信未来还有更多的技术会来丰富这个领域。
二、机器翻译机器翻译最初的研究是在二战期间进行的,当时美国军方急需获得外国情报,但又缺乏翻译人员,于是便提出了机器翻译的概念。
随着计算机技术的不断发展,机器翻译的研究也得以不断完善。
机器翻译主要有基于规则的方法、统计机器翻译、神经机器翻译等多种方式。
目前,机器翻译的应用场景已经十分广泛,比如国际贸易及其相关服务、自然语言学习教育、新闻资讯报道等等。
举一个最直观的例子,像谷歌翻译这样的机器翻译引擎,它已经成为许多非英语国家用户的生活必备工具,能够让人们更快捷地获取各类资讯和信息。
机器翻译技术的发展得到了很好的应用,但是,英语以外的语言仍是机器翻译的一个难点。
特别是对于中文这样的语言,语序的复杂性和词汇表的庞大性极大增加了机器翻译的难度。
计算机语言与自然语言的比较研究

如 果能 够用 自然语 言来 了解计算 机 语言, 则会 大 大降 低 我们 学 习 计算 机语言 的难 度 , 促 进计 算机语 言的 普及 。
是发 展速 度快 , 主要 的 计算机语 言种类 是有 限的。
1 . 2适 应 互联 网时代 的 需要
互 联网 时代 的到来 离 不开 计算机 的 功劳 , 随着 互联 网时代 的 深 入 发 展, 计 算机 必将 在 更广 阔范 围 内被 使用 , 探 究 自然 语言 和
2 . 1 表 达 方式上的相同之处
本 的 构成 要 素是 拼 音字母 ; 汉字最 基 本 的构成 要 素 是笔 画 ; 英语
单 词的 最基 本构成 要素 是英语字母 等。 并且 , 无论 哪一种 自然语言 ,
语 气” , 也不 存在 “ 措辞 ” 等可 以灵活操 作的 要素。 无 论 哪 种 自然 语言 , 都 有 自己最 基 本 的构 成 要素 : 拼音 最 基 在 “
言 中时 常要 对某 个 字母 或 者单词 赋值 , 还 要 判断 某些 信号 是可变 情 境下 可 能有 多种不 同的解 释 。 计算 机语 言在 这一方 面远 不如 自 位 信号 还是 不 可变 位信 号, 这 些 内容就 像 自然 语言 中对某 个 词语 然语 言, 计算 机语言 有固定 的公 式和 套路 , 机 械性非 常明显 , 无 法 进 行释义 , 判 断某 个词 是动 词还是 形容词 一样 。 在表 达方 式方 面,
研究计 算机 语言和 自然语言 的异 同点 我 们可 以知道二 者 的联 系,
5 . 1 发 展 程度 与时 间不 同
自然语 言是 伴随 人 类产生 就 存在 的 一种历史 悠久 的 语言, 计
算机语 言是在 二十世 纪 计算 机被 源自 明之 后才 逐渐产 生的 自然语
自然语言处理:机器理解与应用自然语言的能力

自然语言处理:机器理解与应用自然语言的能力自然语言处理(Natural Language Processing,NLP)是人工智能领域中的一个重要分支,致力于让机器能够理解和应用自然语言。
自然语言是人类交流和表达思想的主要方式,但却具有复杂性和多样性,这给机器理解和处理带来了巨大的挑战。
然而,随着机器学习和深度学习等技术的进步,NLP在解决这些挑战的能力不断增强。
1. 机器理解自然语言的困境对于机器而言,理解自然语言是一项困难的任务。
自然语言包含着丰富的语义和上下文信息,包括词义消歧、语法结构、逻辑推理和情感表达等。
例如,一个简单的句子“她看着窗外的蓝天”,对于人类来说,很容易理解为“她看到了窗外的蓝天”,但对于机器来说,可能需要深入的语义分析和推理才能得出正确的理解。
此外,多义词和歧义语句也增加了机器理解的难度。
2. 机器理解自然语言的方法为了让机器能够理解自然语言,研究者们提出了多种方法和技术。
其中,基于规则的方法在早期得到了广泛应用。
这种方法主要依靠人工定义的规则和规则库来实现语义解析。
然而,规则的编写和维护成本较高,且无法应对复杂和多样化的语言现象。
随着机器学习的兴起,基于统计的方法逐渐成为主流。
这种方法通过从大量的语料中学习规律和模式,让机器自动去发现和学习语言的知识。
典型的方法是词袋模型(Bag of Words)和n-gram模型,它们可以用来进行词汇分析和文本分类等任务。
此外,随着深度学习技术的发展,基于神经网络的方法在NLP 领域表现出了强大的能力。
例如,循环神经网络(Recurrent Neural Network,RNN)和长短时记忆网络(Long Short-Term Memory,LSTM)可以处理文本序列信息,而注意力机制(Attention Mechanism)可以帮助机器更好地理解上下文信息。
除了基于统计和深度学习的方法,还有一些基于知识库的方法被应用于NLP。
知识库是人类对于世界知识的形式化表示,可以帮助机器进行知识推理和语义理解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
周锡令经过几十年的全球性的努力,以机器翻译为代表的计算机自然语言处理工作始终没有达到人们预想的境界。
于是我们竟不住要问:为什么电脑处理起“编程语言”来那样轻松自如,可以作好多非常复杂的事情;而在一句普通的自然语言面前却显得像一个大笨蛋呢?自然语言和编程语言的本质区别到底在哪里?自然语言和编程语言显然有很多地方不同。
但是作为“语言”,两者都面临语言使用这所需要的一些要求:(1)有强大的表达能力(能够把事情说清楚)(2)结构化。
人的短时记忆容量不多,信息如果不分层次,无论听说还是阅读都会造成困难。
(3)具有简洁、浓缩表达的机制(使听说双方都不觉得罗嗦)。
在这两种要求的驱动下,两种语言都会发展出一些机制,这些机制在两种语言中的表现可能大不相同,但是会存在某种对应关系。
在文科领域有所谓“比较文学”的行当。
考虑到不同民族,不同文化发源地发展出来的文学作品既有各自的特色,又有互通的共性,可以对它们的异同加以比较。
事实证明,从这种比较中,可以得到许多有益的启示。
“比较”既然是观察和分析事物的有效方法,把自然形成的语言和人工设计的语言(计算机编程语言就是应用最为广泛的一种人工语言)进行一番比较也许能给我们一些工作上的启示。
语言的设计者自然语言是在无数多人群之间的碰撞和交流之间产生、发展、筛选、淘汰之后形成的,好比是“市场经济”的产物。
计算机编程语言(以下简称“编程语言”)则是“计划经济”的产物。
它所使用的词汇、规则都是事先由一位“上帝”(语言的设计者)策划好的。
词汇及其分类“词”是自然语言中的基石,它们是具有语义的最小独立单位。
在编程语言中对应的东西就是token。
Token是编译程序中的术语,它包括外形像英语单词的Word,以及“=, +, -, *, /, ==,>, <, (, ), ……” 之类的符号。
从信息处理的角度来看,“词”和token都是“符号(Symbol)”,它们可以被我们“用来”映射到各种实体或者概念上去。
根据一个符号所映射到各种实体或者概念的性质来把它们进行分类。
语言学家把自然语言中的词划分为许多类:名词、动词、形容词、副词、数词、连接词、感叹词、………。
我们应该注意到,它们不是在同一级别上的。
名词和动词:是最重要的。
它们直接反映了我们对世界上形形色色的事物以及这些事物之间的相互作用。
形容词、副词、数词、则是第二级的。
它们只对事物以及这些事物之间的相互作用起修饰作用。
剩下来的连接词、感叹词、………则是第三级的。
它们主要起语法的作用。
(用来提示语句内部的结构性信息,起连接作用、用来表述“词”与“词”之间的关系)与之对应,在编程语言中,可以把token划分为:l 命令:运算符、子程序名。
它们对应于自然语言中的动词。
动词的“价”则相当于编程语言中的命令、运算符、子程序所需要的“变元(arguments)”的个数。
在编程语言中,有时某些“变元”可以省略不写,而用预先规定的“缺省值”代替。
在自然语言中,也有类似的情况,但是缺省的东西要根据上下文来补充。
自然语言中存在一些“泛义动词”,例如汉语中的“打”,“搞”,“干”……,英语中的“get”,“take”等。
它们的进一步的具体含义要由这些动词所涉及的对象来确定。
例如:“打毛衣”中的“打”应理解为“编织”,“打篮球”中的“打”应理解为“玩”,“打开水”中的“打”应理解为“取得”,等等。
l 在面向对象的编程语言中,也有类似的“动态绑定(Dynamic Binding)”机制:一个函数名或者子程序名字的具体含义要在“运行时”依据所涉及对象在当时的指的类型来决定。
l 数据:常数、变量名。
它们对应于自然语言中的名词。
l 其他:起连接作用、用来表述token 之间的关系的符号,例如if, then等等。
它们对应于自然语言中的连接词、感叹词等等。
动词和名词之间的互换性在自然语言中,有一个引人瞩目的现象,那就是“名词和动词之间的呼唤性”。
这是因为,“词”或者token 是用来表达“概念”的,而一个概念往往有多种侧面。
所以自然语言中常常出现用同一个“符号”来表达不同的侧面的现象。
举例来说:“钉”本来是名词,但是可以转化,作为动词来使用:我把画钉在墙上。
“锁”本来是名词,但是可以转化,作为动词来使用:我用锁把门锁上。
古汉语中这样的例子更多。
“叔”可以转化为“认……为叔叔”,“尘”可以当作“弄脏”,“污染”的意义来使用。
反过来,动词也往往可以转化为名词使用。
比如,“偷”是动词。
但是在“偷是不对的。
”这句话中的“偷”却是一个名词,因为这句话也可以说成:“偷这种行为是不对的”在计算机编程语言中,也有类似情况。
在declaration(声明)中,函数、子程序名表现为“名词”,但是在执行语句中,他们就成了动词。
例如在C语言中:double x,y;double sqrt(double); /* sqrt 在这里以名词的面貌出现*/…………….x = sqrt(y); /* sqrt 在这里以动词的面貌出现*/词类的判断从语法分析的角度看,对词或token 进行分类的依据是它的语法功能。
从语言使用者的角度看,则是他们的使用方式。
因此如何对词或token所属类别进行判断乃是一件至关重要的事情。
不管在自然语言中,还是在编程语言中,判断一个词或者token 的类别的办法基本上是两种:词典和词本身所携带的形态标志。
词典中提供的信息在编程语言中,为判断一个token 的类别而提供的“词典”有两种:1. 一种是语言中“先验地”规定好了的外部词典。
例如关键字和一些保留字。
2. 另外一种是编程人员(用户)临时定义的内部词典,这就是程序中的declaration.在自然语言中,基本上只使用外部词典。
(在某些文件[特别是有关技术标准的文件] 中,有时也在文件的开头部分定义一个“术语”集合,但是很少涉及词性的问题)。
例如中,市面上提供的英语词典对其中所收罗的词的词性都给出了说明。
与编程语言不同的地方是:有相当一部分词具有多种词性。
例如:字符串“increase” 既可以当作名词来使用,又可以当作动词来使用。
奇怪的是,汉语词典基本上都没有给出词性方面的信息。
其主要原因大概是由于汉语中大部分的词都允许以多种方式使用,也就是说具有不止一种词性。
这种现象在古汉语中标显得尤为明显。
汉语中的这种“传统”的来源可能如下:汉语是象形文字,最方便给有形的对象起名字。
所以至少在汉语中“名词”最优先地得到发展。
在古汉语中,由于为抽象的动作设计象形字比较困难,所以往往就把名词直截了当地转化为动词使用:“老”指老年人,老年人应予以“尊重”,所以就把它当作现代汉语中的“尊重”这一动词来使用。
“幼”指婴幼儿,婴幼儿需要“爱护”,所以就把它当作现代汉语中的“爱护”这一动词来使用。
于是就出现了“老吾老以及人之老,幼吾幼以及人之幼”以及与之类似的“君君臣臣父父子子”这类令现代人费解的句子。
词类划分的形式标志如果能够从词或token的外形(形式上的)特征就能判断出他是属于哪一类,那么无论从“书写者撰写”的角度,还是从“阅读者理解”的角度,都能够大大减少出错的机会。
在某些编程语言(例如Visual Basic)中,如果一个变量没有在任何地方加以声明,也可以从变量名字的外形上看出它的类型。
例如:名字以%结尾的变量是‘整数’,名字以&结尾的变量是‘字符串’,名字以&结尾的变量是‘浮点数’等等。
英语中,在某种程度上也有类似的机制,例如:以tion, ing 结尾的基本上是名词。
以-lize 结尾的基本上是名词。
以-ful 结尾的基本上是形容词。
以-ly 结尾的大概是副词。
汉语使用方块字,没有办法添加尾缀,所以没有这样的形态标志。
因此大家认为,这一现象给汉语的计算机处理增加了困难。
不过话不能说得太绝对。
在某些情况下,汉语还是有“形态标志”的。
例如,在名词的前面加“很”“还”之类一般用来修饰形容词的副词,就是在“形态”上指出:后面的这个名词已经转化为“形容词”了。
例子如:“同学们说我穿这条裙子很青春。
”,“我们排演的这套节目还是很生活的。
”,“他比林彪还林彪。
”。
作用域编程语言的名字都有“作用域(scope)”问题。
这一点在语言设计中都作了明确、毫不含糊的规定。
程序被划分为模块、分程序,它们是作用域的天然边界。
自然语言中当然有类似要求。
章节、段落的划分,引号(“”,‘’)的使用也是名字的作用域的天然边界。
但是与编程语言相比,并没有硬性的规定,读者往往要利用生活常识依据“语义合理性”来进行判断。
指针自然语言中的指代词(你、我、他、它等等)好比编程语言中的“指针(point)”。
但是自然语言中从不明显地交待:从现在起,“他”表示“张三”,直到遇见新的声明为止。
每一个具体的代词指向何方要根据句子域句子之间的前后语义来联系来判断。
在为了处理自然语言而为计算机编制词典的时候,一个十分重要的问题是:我们把自然语言中的“词”看成是一个“概念(concept)”还是只看成一个“符号(symbol)”。
字面上的一个词可以对应多个概念,例如“编辑”既可以指一种工作、职业,又可以指以这种工作为职业的“人”。
目前这方面似乎仍存在不同的看法,但是从计算机处理的角度看,当然是看成一个“符号”为宜。
这样就出现了如何判断某一个“词(符号)”指向何种概念的问题。
自然语言中使用最多、最具有生命力的词大多具有多个“义项”。
从这个观点看,多义项词更接近于编程语言中的指针。
语句类型动作语句自然语言中,像:税收人员向大家宣传税收政策。
”我吃了一块蛋糕。
”都表示某一主体采取了某种动作,因而改变了世界。
这种句子围绕着中心动词“宣传”,“吃”而展开。
这种“动作语句”显然对应于编程语言中的“命令语句”(赋值语句,子程序调用,带有副作用的函数调用等。
)如果使用编程语言中的形式来书写上述两个句子,结果就是:宣传(税收人员,大家,税收政策)吃(我,一块蛋糕)子程序“宣传”有三个变元,所以“宣传”是三价动词。
子程序“吃”有两个变元,所以“吃”是二价动词。
描述语句自然语言中,描述句以静态的方式描写周围的世界,某种事物的存在,或者它的属性。
在汉语中,最常见的是以“是”为中心谓词的描写句,例如:她是近视眼。
(健康)他是小孩。
(年龄)他是高个子。
(身材)他是工程师。
(职业)……可见,中心谓词“是”把句子分成左右两个部分。
右边部分叙述了左边部分的某种属性。
至于具体是什么属性,完全要依靠读者的知识来判断。
也许把“是”称为“系动词”就是因为它的功能只不过是把左右两部分联系起来,或者说,只是指出左右两部分有联系,至于什么样的联系,则语焉不详。
由于系动词只起“语法上分割、语义上联系”的作用,因此它往往可以被省略(这时可以认为中心谓词是“Φ” )。