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

博文

类自然语言简介

已有 5421 次阅读 2019-11-3 11:54 |个人分类:类自然语言程序设计|系统分类:论文交流

类自然语言简介

用最简单的语言表述最复杂的事物,用最少的命令完成最多的任务始终是程序设计语言的追求。而这些方面,自然语言无疑最佳。如自然语言词汇“生态环境”可以具有极其复杂的内涵,自然语言指令“制定十一五发展规划”的实现过程包含海量的工作。如果这样的表达能力能在程序设计语言中实现,无疑将把编程能力提高到一个崭新的高度。

过去虽然进行过很多自然语言程序设计的尝试,但这些努力都是建立在谓词逻辑的基础上。如有断语“飞机能飞”,“战斗机是飞机”,得出结论“战斗机能飞”。但推理并不是智能的全部,甚至不是主要部分。这类语言也就难以具有普遍的实用性。

自然语言的特征

人类语言和现有计算机程序设计语言(以下称传统语言)最本质的差别在两个方面:其一是知识表示能力;其二是语言开放性。

语言的知识性:自然语言天然地蕴含知识。如词汇“太阳”,蕴含颜色,温度等信息。而传统语言几乎不包含任何知识,传统语言中一个变量仅仅是一个数据,语言本身并不解释数据的意义,解释数据完全是应用程序设计者的责任。因此传统语言不表示知识。

语言的开放性:自然语言是开放的语言,语言的词汇量是无限的,每个词汇的内涵也是无限的。而传统语言是封闭的语言,语言由数量固定的少量命令或关键词构成。而且自然语言的词汇可以扩充,每个词汇的内涵也可以扩充,且不以重构整个语言体系为扩充的代价。传统语言一旦设计完成,其命令和关键词就固定下来,每个命令的功能也不可更改,除非重新构造编译器或解释器。

类自然语言的知识表示

类自然语言是具有自然语言基本特征的程序设计语言。类自然语言以词汇作为语言基本要素,词汇量可无限扩充,每个词汇的内容也可无限扩充。

词汇的结构

词汇由一个词汇名和若干属性组成,如图表 1


fig1c.png 


图表 1

名词知识表示

名词主要定义一类对象的语法成分和数据结构。如名词“语音”定义了处理语音类对象所需的基本数据,如图表 2

fig2c.png 

图表 2

 “语音”中的每一个属性必须由其它名词定义,如属性“语音头”定义如图表 3

fig3c.png 

图表 3

 “语音头”的“段标识”属性定义如图表 4

fig4c.png 

图表 4

此时,词汇“段标识”已是基本数据类型,不再需要进一步定义。

类似地用其它名词进一步定义出“语音”的所有属性及其下级属性。

动词知识表示

所有操作以动词实现。动词中定义该动词适用的对象和实现操作的代码位置。如图表 5定义了动词“录音”。

fig5c.png 

图表 5

字典

所有词汇保存在称为字典的文件中,图表 6是字典中部分词汇列表。

fig6c.png 

图表 6

继承

字典中所有名词都可以被继承,如图表 7,词汇“单音”通过定义一个“词汇类”属性,继承词汇“语音”的所有数据结构和适用动词,其“文件标识”和“语音格式”属性覆盖“语音”中的同名属性。

fig7c.png 

图表 7

类自然语言执行代码例

至此,即可用简单句子完成传统语言中复杂的编程。如图表 8是实现录音操作的代码。

fig8c.png 

图表 8

句子有单音。说明了一个对象“单音”。句子录音单音。将动词“录音”作用于对象“单音”,实现录音操作。

上例中对象“单音”的各数据已经定义在词汇中,不需要在代码中设定。更普遍的情况可能是用字典中的名词作为类,代码中说明一个类的实例,再说明该实例的各参数。图表 9中的代码实现录音并保存在文件中,然后对声音信号进行FFT运算,并显示频谱。代码解释如下:

有语音,称为天籁。:说明“语音”类的一个实例对象,并命名为“天籁”

天籁下的文件标识下的文件路径是c:\Kaimeng\voice”。:设置对象的“文件路径”属性

天籁下的文件标识下的文件名是“天籁.wav”。:设置对象的“文件名”属性

录音天籁。:执行动词“录音”对“天籁”实现录音操作

快速傅立叶变换天籁下的左声道信号,产生波形频谱。:执行动词“快速傅立叶变换”对“天籁”的“左声道信号”实现FFT运算,并用运算结果建立一个名为“波形频谱”的对象

显示信号波形频谱下的实部。:执行动词“显示信号”以显示“频谱”的实部

显示信号波形频谱下的虚部。:执行动词“显示信号”以显示“频谱”的虚部

fig9c.png 

图表 9

结论

由此可见,类自然语言以简单的名词概括复杂的数据结构,以简单的动词取代传统语言中大段的代码,从而用简洁的句子完成复杂的任务。虽然语言的设计者定义这些名词和动词相当繁复,但语言的使用者却得以摆脱底层的细节设计,享用成果。

说明

类自然语言的基本思想已经在一个语言原型——开蒙语言中实现。

其它一些重要问题,如语言处理平台和语言的分离,东方语言词汇拆分算法,语言二义性处理以及语言中更多的细节等不在简介中讨论。

殷朴

E-mailyinpu@whu.edu.cn





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

上一篇:Brief of Quasi_Natural Language
下一篇:下载地址
收藏 IP: 171.43.162.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

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

GMT+8, 2024-5-20 02:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部