英语学习点滴

题前的后记:

"人说:来吧,立一座通向神域的通天塔。让神看看我们的壮举。

  神说:看,他们有一样的语言,做起事来没有不成的,是那么的狂妄自大。要扰乱他们的语言,让他们团结不起来。

  于是,神让人们散落世界的角落,让他们有不同的语言、口音,让他们无法沟通,思想无法统一。 部落最终分裂,彼此之间不交流,互相只有战乱和纷争....."

PS: 谈语言的书,往往都要谈到通天塔(巴别塔)这个典故。通天塔在社会学上告诫我们缺少交流是产生纷争战乱的主要原因之一,在工程学上告诉我们人数不能决定生产力,交流所用的开销往往比人力更可怕,在硬件设计上告诫我们多核处理器并不一定意味着高效,核心通讯的开销往往超过我们的想象....., 人在大潮下是多么的无力.....

rongekuta

  2011-05-22

近在看英文语法,结合以前对语言以及语法的理解做一个小小的总结。

首先,从本质上讲,我们每时每刻都在进行语言的学习。不论是中文、英文、以及计算机程序语言等等,甚至是各种数学符号、电路符号、图像符号、声音甚至动作等等,都是一门语言。数学家要掌握数学符号和其上的演绎规则。电气工程师要掌握电路符号以及它们的组合规则,防止出现问题(例如短路、自激等)。驾驶员要明白各种路标标识,交警的手势以及旗语,以保证驾驶的安全性和高效性。电报员需要听懂滴答声以转译莫尔斯密码。语言的共同特征就是 知识的载体。熟练掌握一门语言将是一门精湛的技艺(至少是求生)。

其次,语言都有基本的共性。在这种层面上来讲,看任何一门计算机程序语言的书,本质上,与英语学习是一致的(甚至有人认为,程序设计语言是一种特殊的英语(也就是英语的子集))。从类别上来看,程序设计语言属于乔姆斯基定义的形式语言,而英语属于一门自然语言。两种语言尤其本质的区别,例如,我们的自然语言中的语句并不一定需要指代真实世界的事实(例如一些修辞方法),而我们的程序语言必须做到这一点,保证字面意思与实际意义一致(当然也会有转义序列的说法,参见《linux-C一站式学习》)。同时,自然语言不一定有合成性(或者说组合性),也就是说,语句的意义是由各部分含义组合得到的(参考 《人工智能:一种现代方法》)。

下述是一些不作为严谨的语言学断言的断言,主要的讲解对象为英语和计算程序语言,讨论它们的一些共性与区别。因为汉语过于复杂而且不严谨,则不讨论。

1. 语言的用途主要有两个:知识表示以及交流。《SICP》中的名言有证:程序语言是用于让人看的,只是偶尔在电脑上运行。同时,抒发感情也作为交流的范畴(有人认为编写程序不像是一门艺术,因为它没有表达感情,而更像一门工艺,见《编程人生》)。在逻辑学以及数学中,我们还要求逻辑以及数学语言可以有推理演绎的功能。当然,自然语言也可以做推理,例如亚里士多德的三段式论证。但是自然语言有过多的歧义性和上下文相关性(下文继续讲解),不适合做推理的原语。不过我们的逻辑和数学原语也不是完美的,同样会遇到逻辑层面上的悖论困境(当然这不是我们选取的语言问题)。

ps:为了满足交流功能,自然语言相对形式语言有了很多的区别,例如自然语言有一些修辞、一些语气等等。但是形式语言并不需要这些。

想要花短短的篇幅对语言做一个概述是不可能的。在此仅仅做一个启发式的概述。对于英文这种典型的自然语言来说,其有两个特性:上下文(context)相关性以及歧义性。语言的语法是语言的形式,语义是语言的意义。上下文相关性意味着英文语句的结构语义依赖于上下文环境(也就是通常说的语境),脱离上下文是无法真正理解语句结构和意义的。歧义性存在与自然语言中,也就是说一句话有多种理解。同时注意,歧义与上下文相关是两码事。有些歧义性是本身就有的,通过上下文也无法消歧的。

在计算机程序语言中,我们也遇到相同的困境。不过我们发现引入一些强的规则和限制条件后,我们的对语句结构的理解可以独立于上下文环境(context-free)了。在编译原理中,我们使用上下文无关文法对语法结构进行分析。但是即使对于结构严谨简单的计算机程序来说,语义分析也要依赖于上下文环境,例如《SICP》中给出的环境模型就是通过局部变量的赋值完成对环境的描述。显然,为了做到分析语义的目的,我们必须使用上下文相关文法(实际上我们用的更强大,即递归可枚举语言)。

另外,通过一些强制规则,我们可以完成计算机程序语言的消歧。但在自然语言,定义这些规则是不可想象的。因为,我们有太多的歧义性,消歧是个浩大的工程,所以转而求助一些统计学习的方法,如贝叶斯网络等等。关于自然语言的两种处理思路(即所谓的理性方法:语法分析等,以及经验方法:统计学习等)以及它们的融合,请参见《人工智能——一种现代方法

2. 语言是字符串的集合,以及其上的文法。(暂不考虑意义和内容层面,事实上,人类大脑思考和记录并不是以语言为媒介)。对于图像和声音、动作,我们将其统一化为一种编码(显然电脑已经这么干了),所以也是一种字符串集合(参考 《编码的奥秘》)。在某些语言中,并不一定需要像自然语言对发音规则进行规定。因此,我们不考虑语言的发音规则。

3. 文法包含两个方面:词法以及语法;词法表示语言中的单词以及单词的变化、派生、组合规则,例如名词的单复数、名词的所有格和单复数、动词的时态和语态的变化。语法表示利用单词构造成短语语句的规则。由于翻译的问题,我们经常混淆文法、语法等概念。英文中的grammar以及syntax都译作语法。但是grammar的概念更为广泛,不论在计算机程序语言还是英文中,grammar都包含词法和句法(常被称作语法)这两个方面的内容。在计算机程序语言中,语法分析对应的是对语句结构的分析。在下文中,我们使用的语法概念对应句法,文法则包含词法和语法两个内容。

3.5 广义上来讲,语法结构只包含亚里士多德所提到的主谓式非主谓式两种结构。主谓式是亚里士多德逻辑学的核心概念。每一个符合主谓式的命题都是一个断言,即使它可能是错的。主谓式显然是我们进行知识表示最朴素的表达方式。在我们的自然语言往往有一些非主谓结构,例如只有一个动词或名词等等。尽管结构不完整,但表达的语义是完整而准确的。

关于语法的研究莫衷一是,很难得到一个统一的说法。例如英文中经典的“主系表”结构在我看来也只是主谓结构:表语只是谓语的一个部分(这也许为什么谓语叫做predicate,表语叫做predicative的原因了),和系动词(Link-verb,也称连系动词)一起组成谓语。能力有限,在此不再细说。

 


 

4. 语言的理解包含两个层面:文法分析以及语义理解。语义的理解需要建立在对文法的分析上。文法的分析分作词法分析和语法分析(有时计算机程程序语言的语法还包含语义上的定义,例如C语言的变量类型声明是无法靠上下文无关文法做到的,是语义分析的内容)。在计算机的编译原理中,我们分别称之为 lexical analysis 和 syntax analysis。在计算机程序语言中,我们只需要很简单的规则和判断就可以掌握词性,如标识符、关键字、常量等等。在英语中,我们遇到的词法更加的复杂,不仅会有如动词、名词等等词性还有词的变化形式,例如动词有时态的变化、名词有所有格的变化、形容词有比较级得变化等等,因此英语的词法称作 morphology,从而强调形态上的变化。英文的语法仍称之为 syntax。

语义的理解如上面提到的,是项复杂的任务。需要上下文环境才可以保证正确的理解语义。对程序语言更为复杂的自然语言的语义理解是个艰巨的任务。

5. 词以及其衍生的词按其有无实际意义可以分为:实词(notional word)和虚词(structrural word)两种。对于实词主要有以下几个词性:

名词(noun)、动词(verb)、形容词(adjective)、代词(pronoun)、数词(numeral)。

虚词没有实际的意义,只是为了让让句子结构更清晰而引入,甚至只是表达感情色彩而已,例如介词(preposition)、连词(conjunction)、副词(adverb)、冠词(article)以及表达感情的感叹词(interjection)。这些是词法范畴的概念。

5.5 语言的定义往往是递归的。例如一个句子往往又可以充当另一个句子的成分等等。在计算机语言中,语法树模型所蕴含的就是语言的递归结构。我们可以把一个子语句的返回值作为上一层语句的某个元素的值(当然我们要注意左值右值的区分)。理论上,只要不会发生意外(栈溢出),我们可以一直递归的让一个句子嵌套在另一个句子中。在自然语言中,这种现象也常见,例如关于和尚与庙的故事就是这种结构。从前有个庙,庙里一个老和尚给一个小和尚讲一个故事——从前,... 在我们实际的生活中,很少人能够接受嵌套超高两阶的句子,因为这看起来太疯狂了。在自然语言中,我们常用的只是一阶的嵌套:我们称嵌套的部分为从句(clause)。另外,还有一个比词更高阶的概念,也就是短语(phrase,也称为词组)。短语是由词组合而成,但是它们的结构不完整,也就是可能没有完整的主谓结构。因此,短语在语法层次上要比从句更低。但是,当今的语法学在短语和从句上仍有争议。

6. 语句的实体主要以下几个: 主语(subject)、谓语(predicate)、宾语(object)、表语(predicative)、补语(complement )、状语(adverbial)、定语(attribute)、同位语(appositive) 。这些概念是语法范畴的。(关于表语和补语存在争议,暂不讨论)

词法和语法存在很多的联系,例如不同的词充当的语法成分不同,下面是一个简单的映射关系:

  • 名词(noun)—— 主语(subject)、宾语(object)
  • 动词(verb)—— 谓语(predicate)
  • 形容词(adjective)修饰名词 —— 定语(attribute),限定主语和宾语
  • 副词(adverb)修饰形容词和动词 —— 状语(adverbial),修饰谓语
  • 介词(proposition)——不单独作为句子成分,前置在其他词前(如名词)组成介词短语
  • ——不再赘述

从英文上,我们也可以看出一定的关联:

  • 主语和宾语的词源已有很多的资料,记得在新东方听过周老师讲过,也可参见网文
  • 动词(verb)源自拉丁语中的(word和verbum),表示命令,字等意思,
  • 谓语(predicate)源自拉丁语中的“宣称”一词,这可能与亚里士多德的逻辑学有关。
  • 形容词和定语都有“从属,属性”的意思;
  • 名词noun可能来自中古英语、英法语或者拉丁语中的“名字”;
  • 形容词 (ad+jective) 和 副词 (ad+verb) 中的前缀 ad 表示从属的意思,因此可以清晰的看出,形容词从属于主语(subject)或者宾语(objective),而副词显然是从属于动词(verb)了。[关于这一点,尚没有得到词源学上的佐证,]

只是通过了中文的翻译,导致我们失去了对这种内在的关联的直觉。

6.5 孤立的学习词法和语法都是不可取的,因为它们是互相联系的(《张道真实用英语语法》)。不同词性的词能够充当的句子成分也不同。词经过变化形式后则具备了其他词性的能力,如动词可以转成动名词形式,而拥有了名词一样的特性,可以充当主语、宾语、定语。本质上,它只是原词的不同形式。尽管特性变了,我们并不说其由动词变成了名词,而只是说是动名词形式,从而回避逻辑上的困境。

同时,某些词即使不变化形式,但是仍然拥有很多词性的性质。例如一些词既是动词又是名词;而有些词既是形容词又是名词等等。

相对于中文,英文的词的变化更加丰富。下面做一个启发性的概述:

名词(noun)首先有单复数的形式,同时依照其充当的句子成分,可以分为多种(case),如主格、宾格、所有格。

ps:我猜想“格”是case的硬译。因为在英文中,case可以表示箱子也可以表示情况。在英语语法书中的case表示:名词充当不同句子成分的不同情况,而不是箱子(中文的格表示木制的方块)。但同时,格这个词在中文中的意义特别多,也可以解释为规范、标准、模样等等,因此在此不再咬文嚼字。

名词除了格的变化,还有(gender)的变化,即阴阳、通性以及中性。

代词(pronoun)(代词可以理解为名词的替代形式,也称作代名词 pronoun)的特性类似于名词,充当的句子成分也类似于名词,但是有一类代词:物主代词存在争议,其用法和意义类似于形容词。

动词的变化形式最多。多种动词的变化用以区别时态、数量等等。例如动词的变化包含了人称、时态、语态对应的变化形式以及不定式(infinitive)、动名词(gerud)以及分词(participle)。动词充当句子的核心结构,一般是语法学习的难点。

形容词的变化相对动词要少,常见的有比较级和最高级这两个概念。

7. 英文语法与中文语法的最大不同就是动词的使用。 英文中的动词按其在句子上充当的成份可以分为两类:谓语动词 以及 非谓语动词

8. 谓语动词充当句子的谓语。不同于中文,动词在英文中有人称变化、时态变化、语态变化、语气变化以及他们的复合形式,例如第三人称单数形式、过去式,现在式、主动语态以及被动语态、被动过去式等。谓语动词需要根据上述因素变化形式,以示区别。但究其本质,它们都是动词的不同形式而已。

9. 非谓语动词可以充当除了谓语之外的句子任何成分,如主语、宾语、定语等等。上述句子成分的特性只出现在名词,形容词上,因此,动词需要变换一定的形式(但是形式要相对前者简单),使之可以同时拥有名词和形容词的特性。

10.  为了使动词拥有名词和形容词的特性,动词主要可以变化成三种形式:不定式动名词分词

11. 不定式全称为“动词不定式”,表示不确定形式的动词。在英语中,通过“to+动词原形”实现。其可以使动词兼有名词、形容词、副词的特征,功能很强大。但是不定式的使用往往有局限,例如它只能放在被修饰词的后面,而不是如动名词、分词可以放置在前后都可以。

12. 动名词(gerund)是兼有动词和名词特征的动词形式,在英语中通过ing后缀形式实现。

13. 分词(participle)是使动词能够分享形容词特征的动词变化形式。分词的英文来源于拉丁语中的“分享participium”一词,中文中的分词即表示“分享”中的分。

上述三种形式统称为非限定形式的动词(non-finite verb,尽管同为否定之意,但由于长时间的演化,infinitive特指动词不定式),意味着这些动词形式不用受时态(tense)、语气(mood)、数量(number)、性(gender)、以及人称(person)、语态(voice)的影响。

ps: 在wiki百科中,还有一个概念称为 aspect。这个概念和tense都有时态的概念。在中国的语法书上似乎回避了其中的区别和繁琐(因为老外也觉得区别两者确实也不容易)。直接用时态说明两者。但是细节大概是这样的:

tense(可能来自古法语、拉丁语、希腊语中的时间一词,参见wiki)是一种时间观念,也就是说,事件是何时发生的:当前或者过去。[参考: tensenrefers to the absolute location of an event or action in time, either the present or the past.]

而aspect以事件角度,也就说站在某个时间点上(在英语中,严谨的时态只有过去或者当前,将来属于情态),事件是一种什么样的状态:完成或者正在进行等。[参考: aspect refers to how an event or action is to be viewed with respect to time, rather than to its actual location in time.](参见[tense & aspect])。

ps:tense和aspect似乎又让我们联想起时间驱动事件驱动这两个不同的世界观。两种世界观渗透到数学、计算机、物理学、工程学等等。不再赘述。[上述说法有争议,事件驱动与时间驱动之间的关系仍不明确。只是简单谈谈]

附注: 2011-5-11

关于时态还是有很多的争议,不同的语法书和网络上的说法都有分歧,例如,一些语法书[张道真实用语法和]将时态(tense)分作两个概念,一个称为时间time,一个称为方面aspect; 每一概念都有四个属性值:

time : 现在,过去,未来,过去将来;

aspect:一般,进行,完成,完成进行;

因此,时态共有十六个组合。这种划分比较实用也方便理解,比wiki中给出的(即下文给出的)理解的更简单一些。

 tense 和 aspect可以组合使用,例如我们所言的现在完成时等等。同时注意,我们上述的两种时态观点都没有涉及“将来(future tense)”这个时间角度。因为严谨的来说,未来的事既不是已发生(Perfect),也不是进行中(Progressive)这两种事件真实形态上,它只是依据当前的条件给出的断言,或者被期望发生(也许只是一个感情、信念等等)。在英语中,“将来时态”对应的动词并没有对应时态的变化,而是加上情态动词(如will)或者直接借鉴进行时的"be going to",将其作为新划分:情态(modal)。最终我们得到一个时态表(参见wiki):[上述有争议,事实上语法学家对时态的研究仍然没有统一的说法。不过当今趋势是趋向于一种统一的角度去描述语法,例如把一部分短语(phrase)也看作从句(clause),见《张道真实用英语语法》附录]

Tense, aspect, and modals in English
Tense Modal Aspect
Perfect Progressive
-?0?1 (nonpast)
-ed (past)
?0?1 (none)
will (future)
?0?1 (none)
have -en (perfect)
?0?1 (none)
be -ing (progressive)
go, goes
went
will go have gone

be going

 ”

ps: 英语属于印欧语系中的日耳曼语族的Anglo-Frisian 一支(德语也属于日耳曼语族,但与英语不同支),拉丁语属于意大利语系,随着罗马(Roman)帝国的崛起(罗马帝国使用拉丁语作官方语言,希腊语在科学教育、基督教上广泛使用。这也是现代数学有很多希腊符号的原因)而在欧洲广泛传播,衍生出印欧语系中的罗曼(Romance)语族(例如意大利语、法语、西班牙语以及葡萄牙语等),这也是为什么有拉丁美洲称呼的来历。不过各种语言都有联系(例如格、性、时态、语态等等性质)和区别,也互相影响(参见wiki百科)。 

14. 兼有形容词的特性,动词的分词同时保存着其原有的动词特征,例如时态和语态的变化。因此,分词分为 现在分词和过去分词两种。现在分词对应:主动与进行,过去分词对应:被动和完成。

15. 现在分词的实现通过“ing后缀”完成。实现方法同 动名词形式一致,但是实现形式和本身意义是两种概念,这个一定要在语言的学习中搞清楚,不要混淆。

16. 过去分词按其实现分为:规则形和不规则形。规则形的分词只需要ed后缀就可以了,不规则形就是一些特例,包括n后缀等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章