类自然语言程序设计分享 http://blog.sciencenet.cn/u/yinpu 博主开发开蒙语言。具备自然语言主要特征:语言表达知识;无限词汇量

博文

象人类一样思考

已有 4958 次阅读 2010-3-31 10:59 |个人分类:类自然语言程序设计|系统分类:论文交流| 自然语言理解, 类自然语言程序设计, 知识表示

象人类一样思考
当我们用人类语言要求你的配偶带一斤菠菜回家的时侯,我们只能用计算机语言要求电脑做一个加法;当我们用人类语言判断两个人相貌很相似的时侯,我们只能用计算机语言要求电脑判断一个数是否大于另一个数;我们甚至可以要求“统计全国环保从业女性”,用这样简单的文字传达非常复杂的意思。两相对比,人类语言表达的内容抽象而复杂,计算机语言具体而简单。从计算机语言出发表达人类语言的同样功能,往往不是不可能就是将耗费巨大的劳动成本。如果计算机语言也具有人类语言的表达能力,计算机的功能无疑将出现质的飞跃。
人类语言也叫自然语言。让计算机接受人类语言,按照自然语言的指令工作,一直是研究者追求的目标,但迄今为止,还没有真正接近人类语言的计算机语言。困难在两个方面:首先是需要新的语言解析方法,人类语言不象计算机语言,只有少数的命令,自然语言的词汇数量是不受限制的,因此对自然语言的文字处理方法和传统计算机语言有很大差异,简单的形式处理方法不能满足需要;第二个困难是语义表示方法,计算机语言只需要规定一套语法系统,而语义解释不是语言处理软件(编译器或解释器)的任务,语义解释留给应用程序处理,而自然语言的文字和语义是紧密绑定的,语言处理软件必须具有必要的语义处理功能,语言必须以适当的方法表示语义。
作者经十余年研究,抛弃了传统计算机语言的模式,采用新的语言处理理念,称为类自然语言,并据此设计了“开蒙”语言,具有了人类语言的基本特征。
自然语言和程序设计语言
人类语言和计算机语言的差别在哪里?这是首先要研究的问题。作者认为其最本质的差别在两个方面:其一是知识表示能力;其二是语言开放性。
自然语言的知识表示能力
自然语言天然地蕴含知识。我们说“大海”的时候,每一个人都知道它是蓝色。说“太阳”的时候,颜色一定是红色。尽管这两个词汇字面上看不出各自的颜色,但和语言密不可分的知识中已经蕴含了这些属性。相比之下,传统语言几乎不包含任何知识,传统语言的命令一般是处理最细节的数据和操作,如一个整数或一次加法,至于数的意义,计算机语言并不负责解释。
自然语言以同样的方式表达具体和抽象的知识,如果认为“大海”和“太阳”是具体的知识,那么“大自然”则是更为抽象的知识。但在自然语言中,不管具体还是抽象的知识都以相似的形式表示。如“爱护大海”和“热爱大自然”,文字上同样简单,“买一斤菠菜”和“办一个婚宴”,字面复杂性上没有差别。就是说自然语言可以简单的形式表达复杂的概念,这正是自然语言较计算机语言的优势。
自然语言是开放的语言
自然语言不断进化,不断丰富,新的词汇随着历史进入语言的词典,旧的词汇也经常被赋予新的含义。如计算机技术出现后,出现了新词汇“电脑”,“上网”等;工业革命后,词汇“车”被赋予了新的内涵,除了人力车,畜力车,也包括了自动车。这些语言的扩张,并不需要以重新构造我们的语言体系为代价。因此自然语言是开放的语言,一方面语言的词汇可以无限扩张,称为外延扩张;另一方面词汇的含义可以修改,称为内涵扩张。
而传统语言是封闭的语言,一般由十数个以致上百个命令组成。这些命令是处理语言的软件(编译器或解释器)预设的,编译器或解释器设计完成后,命令的数量、形式和功能也固定了。如果需要增加新命令或修改命令的含义,就需要重新设计语言处理软件。

类自然语言
作者提出类自然语言,企图以接近人类思维的方式实现计算机程序设计。在目前还不能做到完全自由的人类日常语言被计算机理解之前,一种具有自然语言特征、能够实现计算机程序设计的语言是一个必然的过渡。
类自然语言的语言处理平台(程序)和语言本身是两个相对独立的系统,其间通过类自然语言的基本语法和语义规则联系起来。只要遵循类自然语言的语法和语义规则,二者均可独立发展。
词汇
和自然语言一样,类自然语言的基本成分是词汇,词汇数量不受限制。词汇由一个词汇名和若干属性组成,如图 1。

图 1
一个属性由属性名和属性值构成。一个词汇至少有一个“词性”属性,这是定义词汇语法地位的属性,不可或缺。其它属性根据词汇的需要定义,数量不限。图 2是名词“语音”的定义。这个名词设定了计算机上处理一段语音所需要的各种属性。
 
图 2
这些属性也有相应名词进一步定义,如图 3是属性“语音头”的定义。其它属性的定义也相似。
 
图 3
“语音”的数据属性定义完成后,可以动词定义与其相关的动作。图 4是动词“播放语音”,其中的“引用对象”属性规定这个动词仅用于“语音”类对象。其它相关动词,如“录音”,也类似地定义。
 
图 4
以上的词汇细节定义相当繁琐,但这是语言设计者的责任。语言的使用者并不需要了解所有细节,只需要知道和自己的目标有关的知识。
字典
所有的词汇都在字典中定义,字典的结构遵循语言规则,但字典内容独立于语言处理平台。因此修改字典就修改了语言,而不需要重新设计语言处理平台。
知识继承
类自然语言知识继承方式简单,在一名词中定义一“词汇类”属性,其属性值是另一名词,前一名词将继承后一名词的全部数据属性和适用动词。前者称后代名词,后者称前辈名词。图 5中的名词“存档语音”通过定义一个“词汇类”属性,并将其属性值定义为“语音”继承了名词“语音”的所有属性和适用动词。后代名词中还可以定义自己的其它属性,如果前辈名词中有同名属性,将被后代名词的属性覆盖,如果前辈名词中没有同名属性将增加新属性。任何名词都可以被其它名词作为类词汇继承。
 
图 5

句子和程序
有了名词和其适用动词的定义,我们就可以写出相关的类自然语言程序了:


有存档语音,称为我的歌声。录音我的歌声。播放语音我的歌声。


这个程序有三个句子。第一个句子说明了一个叫“我的歌声”的对象,这个对象是“存档语音”类对象。第二句执行动词“录音”,通过麦克风将声音录入“我的歌声”中。第三个句子将录制的声音通过喇叭放出。

类自然语言的实现
“开蒙”语言处理平台由字典管理器、程序编辑器、现场管理器和程序解释器构成。
字典管理器
提供建立、删除、修改、浏览字典和字典中词汇的功能。
程序编辑器
提供“开蒙”语言程序建立、打开、编辑等功能。由于“开蒙”语言程序源文件具有结构,普通文本编辑器不能编辑“开蒙”语言程序。
现场管理器
现场管理器不是独立的应用程序,需使用现场管理器的应用程序通过现场管理器接口命令使用其功能。这些命令提供对象建立、修改、删除、访问、程序执行等功能。
程序解释器
提供“开蒙”语言程序的解释执行功能。
实例
下面列出几个用“开蒙”语言编写的程序,这些程序都运行成功。
简单循环
以下脚本实现1到9的阶乘运算。

正文:有整数,称为p。p是1。有整数,称为i。i是1。如果i<10,重复{Link1}。
Link1:p是p*i。i是i+1。

各句语义如下
有整数,称为p:建立一个整数型对象,对象命名为p。
p是1:将p赋值1
有整数,称为i:建立一个整数型对象,对象名为i。
i是1:将i赋值1
如果i<10,重复{Link1}:表达式i<10为真时反复执行{Link1}

{Link1}
p是p*i:p赋值p*i
i是i+1:i赋值i+1
很明显,类自然语言实现低层次的程序较传统程序设计语言没有任何优势。{Link1}在“开蒙”语言中称为“链接”,相当于C语言中的复合语句。
利用语言知识的例子
以下文字实现录音,对语音滤波后播放。
正文:有语音,称为原始语音。原始语音下的语音格式是标准语音格式。录音原始语音。FFT原始语音,产生语音频谱。滤波语音频谱和3000和200。逆FFT频谱,产生滤波语音。播放语音滤波语音。

各句语义如下
有语音,称为原始语音:建立一语音对象,命名为“原始语音”
原始语音下的语音格式是标准语音格式:将对象“原始语音”属性设置成“标准语音格式”(“标准语音格式”是字典中的一个词汇,定义了语音格式的各个参数取值)。
录音原始语音:以动词“录音”作用于对象“原始语音”,实现录音操作。“录音”操作采集的语音数据写入作为属性的文件中。
FFT原始语音,产生语音频谱:以动词“FFT”(快速傅立叶变换)作用于对象“原始语音”,生成一新对象,命名为“频谱”。
滤波语音频谱和3000和200:以三目动词“滤波”作用于对象“语音频谱”和常量“3000”及“200”,以滤除3000Hz以上和200Hz以下的信号。
逆FFT频谱,产生滤波语音:以动词“逆FFT”(逆快速傅立叶变换)作用于对象“语音频谱”,生成一新语音对象,命名为“滤波语音”。
播放语音滤波语音:以动词“播放语音”作用于对象“滤波语音”,实现滤波后的语音播放。

第一例中类自然语言的一个句子和传统语言相似,这种情况下类自然语言并无优势。第二个例子中,类自然语言的一个句子在传统程序设计语言中可能需要数千行命令实现,这是类自然语言优势所在。
参考文献:
类自然语言程序设计http://www.sciencenet.cn/blog/user_content.aspx?id=249130




https://wap.sciencenet.cn/blog-271176-307625.html

上一篇:类自然语言
下一篇:Quasi_Natural Language Programming
收藏 IP: .*| 热度|

4 黄富强 唐常杰 yinglu ffy

发表评论 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 04:33

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部