什麼是語言?從世界語、冰與火之歌到形式語言

機器不是只看得懂數位編碼 0 與 1,為什麼能「讀懂」人類的語言,比如可以用 Python 寫「print」?

美國政治名嘴喬姆斯基 (Noam Chomsky) 還是引領語言學與電腦科學界的大師?

人類學習語言時是天生有一個內在機制幫助我們快速上手、還是後天的刺激呢?

《讓電腦讀懂你的話:形式語言》系列將為大家初探語言學,與後續引響電腦科學的重要理論──喬姆斯基的普遍-生成文法。此為第一集。


《進擊的巨人》作者諫山創說,他之所以會開始想畫巨人吃人、和人類無法溝通的故事,是因為受到過去打工經驗的啟發——

諫山創過去曾在東京網咖值大夜班,有時會遇上喝醉的客人:「最接近人類的動物應該就是人類,但是卻不知道人類在想什麼,這是最令人感到可怕的。」

今天,就要來跟大家聊聊,什麼是語言。

 

什麼是語言?

在聖經的《創世紀》中,有段故事叫「巴別塔」(Tower of Babel)。

故事中提到,西元兩千年前的巴比倫人,為了開通一條通往天堂的高塔,聯合建立了一座高聳入雲的塔、命名為巴別塔。那時候,全世界的人們都有著共通的語言。

為了阻止人類的意圖,上帝讓人類開始說不同的語言。人們無法進行溝通,因此計劃就這樣失敗了。

19世紀法國著名版畫家 Gustave Doré 所作《語言的淆亂》(The Confusion of Tongues, 1865)

我們每天都在說語言;也因此,對語言概念的探討,是一個非常古老的問題。

一個人的思想,總要透過表達、溝通才能讓其他人知道,其中的方式就是語言。

一個語言中,包含了「符號」與「規則」。符號通常稱為「文字」,會以視覺、聲音或者觸覺的方式來進行傳遞。而規則則稱為「文法」。

所以我們也可以把語言稱之為——將抽象思維符號化

Language is a set of symbols being used for communication.

語言就是用來溝通的一個符號的集合。

 

 

語言有哪幾種呢?

自然語言

提到語言 (Language),通常第一個會想到的是我們日常生活中所說的中文、英文等等。

這種自然隨著人類的文化、演化而出的語言,就稱作「自然語言」(Natural Language)。

自然語言是以器官(胸腔、喉嚨、嘴巴)發聲,作為基礎來傳遞信息的一種符號系統。

它也是人類最重要的交流溝通的工具,在還沒有文字之前就已經先有了自然語言。中文、英語、法語、日語等,都是自然語言。根據統計,全世界有 5000 多種自然語言。

語言學就是研究人類語言的分類與規則、而發展出來的一門學說;研究語言的學者們被稱呼為語言學家 (Linguist)。

語言學家可以透過追溯一族語言的演化,來發覺重要的歷史軌跡,例如判定該民族的地理起源、或該地祖先的生活方式、有否外來民族入侵或文化影響等等。

常常聽到最近因為機器學習技術的突破、而火紅起來的聊天機器人 (Chatbot),在研究的也是「自然語言處理」(Natural Language Processing, NLP)。

NLP 領域中,探討如何處理及運用人類的自然語言。包括 Apple 的 Siri、微軟的 Cortana 、Amazon 的 Echo、Google Now、Samsung 在 S8 手機上推出的 Bixby 等語音助理,都在發展並應用 NLP 技術。

事實上,人工智慧在 1956 年被作為一個研究問題正式提出來時,人們把西洋棋和機器翻譯作為兩個指標性的任務,認為只要電腦西洋棋能夠打敗人類世界冠軍、機器翻譯系統達到人類翻譯的水準,就可以宣告人工智慧的勝利。

四十年後的 1997 年,IBM 公司的深藍電腦已經能夠打敗西洋棋世界冠軍卡斯巴羅夫,而機器翻譯到現在仍無法與人類翻譯水平相比,可看出自然語言處理有多麼困難!

 

人造語言

我們會說「自然」,那就一定還有相反的「人造」來對應這個概念。

除了自然語言之外,還有一些語言是為了特定的目的和用途,由人工所創造出的語言,叫「人造語言」(Constructed Language)。

自然語言是自然演化出來的,並沒有特別哪個人去發明它,然而人造語言都是人為創造、發明出來的。

人造語言主要分成兩種:第一種是國際輔助語言,第二種是藝術語言;第三種是數學語言。

 

1. 輔助語言(世界語)

輔助語言意指——為了讓非母語人士更容易上手、而進行某種程度轉換的語言。(像是 A 語言直接翻成 B 語言很困難;但 A 語言和 B 語言都可以很簡單的翻成 C 語言,兩個人再用 C 語言去溝通)

還記得我們本文一開始提到的巴別塔嗎?因為語言不通,人們開始分裂。

1859 年,猶太裔的柴門霍夫 (Zamenhof) 出生在一個波蘭小鎮上。鎮上有三種民族的人居住:波蘭人、猶太人和白俄羅斯人。

由於語言、宗教信仰不同,所以他們經常互相產生偏見和仇視。

柴門霍夫認為「語言不同使人們不能互相交流」是民族間彼此衝突的主要原因,所以他開始想:能不能創造一種人類共同的語言,使不同民族或文化的人能好好交流?

畢業後,柴門霍夫成為一名眼科醫生,在行醫過程中他一直學習外語、並研究各類語言長達十年,直到 1887 年以筆名「希望博士」出版他的研究成果:《Esperanto》、意為《世界語》。

世界語是以拉丁字母作為基礎,不是為了要取代現有的語言,而是統一自然語言的多樣性、拿它來輔助翻譯,讓翻譯時就不需要那麼困難。

可惜的是,由於柴門霍夫是猶太人的緣故,引發當時德國納粹對世界語的迫害。在希特勒《我的奮鬥》一書中,世界語被說成是猶太人陰謀支配世界後使用的語言。後續柴門霍夫的家人也慘遭屠殺。

目前人造的國際輔助語言中,不是僅有世界語一支。然而世界語的全球使用人數卻是最多的,約十萬至兩百萬人。維基百科也有世界語版本

 

2. 藝術語言

為了藝術創作而創造出的語言。

像是魔戒作者托爾金發明的各種中土世界的語言,包括精靈語、矮人語。或神奇寶貝的神奇寶貝語、電視影集《冰與火之歌》中龍后學的多斯拉其語(Dothraki Language)。

多斯拉其語是由語言學家大衛·彼得森、以馬丁小說中的多斯拉其語單詞和短語為基礎,為《冰與火之歌》所開發的人工語言,包含 3,163 個單字。

(要開發一款語言可不是這麼簡單的事情 (›´ω`‹ ) 沒經費的電視劇很可能就隨便發發怪音吧…)

 

3. 形式語言

形式語言(Formal language)是用精確的數學或機器,可處理的公式定義的語言,包括了數學語言或電腦語言。

數學語言中,包括了數學體系中的數學符號,或是用於證明數學定理的邏輯語言。

在電腦方面,也有「程式語言」。

(學語言有什麼難的? 我身邊的人都會五六種以上的語言… 包括:C/C++、Python、R、JavaScript、Go。 => 難笑的工程師笑話)

電腦的程式語言,就是人和機器之間進行訊息交流、傳遞的符號體系——讓人對機器下命令後, 機器能理解並執行人類的並令。

無論是數學語言還是程式語言,作為「傳遞訊息的符號系統」這個語言的本質並未改變。

只是數學語言更加的嚴密、精確。而程式語言是人類用來對電腦溝通用的。

 

 

所以… 語言到底怎麼來的?

為什麼要介紹這麼長一串「什麼是語言」、「語言有哪幾種」呢?

因為要瞭解語言是怎麼來的、探索人類的認知系統;要瞭解「機器能判定的語言」、要瞭解圖靈機,我們不能不懂語言學的基本概念。

目前,人們主要通過兩種思路來進行自然語言處理,一種是基於規則的理性主義,另外一種是基於統計的經驗主義。

理性主義方法認為,人類語言主要是由語言規則來產生和描述的,因此只要能夠用適當的形式將人類語言規則表示出來,就能夠理解人類語言,並實現語言之間的翻譯等各種自然語言處理任務。

而經驗主義方法則認為,從大量的資料中獲取語言統計知識,有效建立語言的統計模型。因此只要能夠有足夠多的用於統計的語言資料,就能夠理解人類語言。

前者論點的經典代表為 MIT 教授喬姆斯基 (Noam Chomsky),後者為現在用機器學習方法處理。他嘗試回答:

我們是怎麼學習語言的?是天生機制還是後天反應刺激?

為何我們能夠自然地學會語言,說出無數合乎文法的語句?在各種紛歧語言的樣貌下,是否存在某種規則?

甚至有人更進一步思考:能否讓電腦也運用一個語言的符號體系來溝通呢?

在第二集開始,讓我們為大家介紹重磅語言學大家──喬姆斯基,和他延續三十年、對認知心理學與電腦科學造成重大影響的「生成語法」理論吧!