英語學習點滴

題前的後記:

"人說:來吧,立一座通向神域的通天塔。讓神看看我們的壯舉。

  神說:看,他們有一樣的語言,做起事來沒有不成的,是那麼的狂妄自大。要擾亂他們的語言,讓他們團結不起來。

  於是,神讓人們散落世界的角落,讓他們有不同的語言、口音,讓他們無法溝通,思想無法統一。 部落最終分裂,彼此之間不交流,互相只有戰亂和紛爭....."

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後綴等等。

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