2.1.1 语言

对大多数人类而言,语言,首要的作用是用来进行交流和思想沟通的。当人们在激烈的辩论中,这个作用尤为明显,不过当然了这是一种无意识行为。人们沟通交流,是指传递信息,更准确的说是通过空气振动传递声音信息或者是在纸面上书写文字信息。我们仔细看一下语言文字(话语),就是由一堆单词组成的句子,或者说,就是由一堆写在纸上的符号组成的信息。语言的组成上,总体来说有三个层面的区别。各种语言之间,有的存在微小的差异,就好比英语和爱尔兰语;但有的也存在巨大的差别,就好比英语和汉语。但是对单词的使用上却往往有这巨大的不同,甚至对使用同一种的人来说都是如此,比如在德语中“un cheval”和“ein Pferd”都表示“一匹马”。而句子结构的差异很容易被忽视,例如荷兰人中,有的人会有类似莎士比亚的语言习惯像“Ik geloof je niet”,如此来表达“我不相信你(I believe you not)”,而另一个地区的荷兰人则会有类似匈牙利的“Pénzem van”的语言习惯,像“Money-my is”表达的是英语中的“我有钱(I have money)”

但是,计算机研究学者却用一个非常抽象的角度来看待这一切。确实一种语言总是拥有着大量的句子,并且这些句子都有着一种特殊结构;我们不必关心这些句子是不是能传达某些信息,但句子们所具有的结构实实在在的含有了某种“意义”。而句子中包含的单词,这些在计算机中被称为“标记(token)”的东西,每一个都包含了一些特殊的信息,而这些信息汇总起来,就是这个句子所被希望表达的意义。但是在自然语言中,词语是具有意义的不能再分的最小单位了,即便一个单词所包含的意义可能很多。不过,即使单词不能被继续细分。但对计算机研究学者来说并不是问题。通过可伸缩解决方案(telescoping solutions)以及多层技术(multi-level techniques),他们很容易的就能证明,如果一句话确实含有某种结构,那么这句话就属于另外一种语言,其中的单词就属于标记(token)。

形式语言学的从业者,通常被成为形式的语言学家(formal-linguist)(用以和“形式语言学家”做区分,这两者间的不同就留着读者见仁见智了)再次以一种不同的抽象角度来看待语言。语言是句子的“集合”,句子是“符号”的有序集合;这就是说:如果一句话没有意义那是因为没有结构,一个句子是否属于某种语言,就看他的结构是否能在这种语言下产生意义。符号的唯一属性是它具有的标识;在任何语言中一定有一组确定数量的符号集,并且这一数字必须有限,比如字母表。比如,我们可以将这些符号写作a,b,c...,或者✆,✈,❐...也可以,只有数量是足够的就行。词语的顺序(word sequence)表明了,在每一个句子中词语都有他们固定的位置,我们不应该随意更改这些位置组合。而词语集则是把所有不同的词语都放在一起的一个无序的集合(word set)。这个无序集合可以写下来,通过把所包含的所有对象写在一对大括号中里面(就是这个{})。对形式的语言学家(formal-linguist)来说,以下是一种语言:a,b,ab,ba;还有{a,aa,aaa,aaaa,...}也是一种语言,后者所涉及到的符号问题(逗号)我们稍后再说。根据计算机科学家眼中的“句子/单词,单词/字母”之间的对应关系,形式的语言学家(formal-linguist)也把句子称作一个“词语”,所以就会出现“ab这个句子,属于{a,b,ab,ba}这个语言”。

现在我们来思考一下这种巧妙而伟大的思想的含义。

对计算机研究学者来说,语言就是一个无限大的句子的集合,这些句子由标记按照某种结构组成;标记和特定结构通力合作最终表达了句子的语义,也就是句子的“含义”。变成语言的句子结构和语义都是全新的,也就是在现有的结构模式中所没有的,而研究学者们的任务就是提供和完善他们。对计算机研究学者来说,3+4×5 是“个位数运算”的一个句子(“个位数”则是为了保证数字是一个有限的符号集);这个算式的结构可以通过插入括号来展示:(3+(4×5));而这个算式的含义就是 23.

即便是语言学家(linguist)也不得不承认,语言是所有可能有关联的句子的无限集合,这种说法要比上面的两种说法都要正常的多。每一个句子由在现实生活中有明确意义的单词,按照结构化的方式组成。结构和词语一起传达出了一句话的意思。现在再次说到单词是由字母组成,这些字母和结构一起传达出了词语的意思。语义的重点、和现实世界的关系以及“句子/单词”“单词/字母”这两层的融合,是语言学家(linguist)的领域。“圆在疯狂的旋转”是个句子,而“圆睡的发红”就是句胡话。

形式语言学家(formal-linguist)坚持他们对语言的看法,因为他们希望在研究语言的基本性质同时领略语言的原始美。计算机科学家坚持着自己的观点,因为他们想要一种清晰、 易于理解和明确的手段,来描述计算机中的对象以及语言和计算机之间的通信,这种手段严格的不像人类。而语言学家(linguist)也坚持自己的看法,因为这让他找到了和一种看似杂乱无章并且似乎无限复杂的语言:自然语言。