# 计算语言学

**計算語言學**，亦稱**電腦語言學**（英語：computational linguistics）是一門跨學科的研究領域，試圖找出自然語言的規律，建立運算模型，最終讓電腦能夠像人類般分析，理解和處理自然語言。

過去，計算語言學的研究一般由專門負責利用電腦處理自然語言的计算机科学家進行。由於近年的研究顯示人類語言是超乎想像的複雜，現在的計算語言學研究多由來自不同學科的專家共同進行。一般來說，研究隊伍的成員有電腦學家、語言學家、語言專家（熟悉有關研究項目所要處理的語言的人），以至研究人工智能、認知心理學、數學、邏輯學等的專家。

計算語言學具有理論和應用的成分。理論計算語言學聚焦於理論語言學與認知科學；應用計算語言學聚焦於模擬人類使用語言的實用成果。

计算语言学协会對於計算語言學的定義是：......從計算的觀點，以科學方法研究語言的學問。計算語言學家關注於提供各種語言學現象的計算模型。

## 起源

計算語言學始於一九五零年代的美國，是人工智能研究的開端。當時，美國希望能夠利用運算又快又準確的電腦，將大量外語材料瞬間翻譯成英語；研究重點特別放在翻譯俄文寫成的科學技術刊物上，以窺探蘇聯的科技發展。電腦既然比人類運算更快、更準確，當初認為電腦很快就可以開始處理語言。計算與計量方法也曾經用於重建現代語言的早先形式以及將現代語言組成語群。早期的方法例如詞彙統計學與語言年代學都證實未成熟、不準確。不過近年來跨領域研究借用生物學，尤其是基因作圖，產生了更精密的分析工具與更可靠的結果。

當機器翻譯無法立即產生精確的翻譯，人類語言的自動處理被視為遠比當初所設想的複雜。計算語言學這個新領域於是誕生，從而發展能夠智慧處理語言資料的演算法與軟體。「計算語言學」這個術語是由计算语言学协会與計算語言學國際委員會的起始成員大衛•海斯（David G. Hays）所創。1960年代，人工智慧出現，計算語言學這個領域成為人工智慧的分支，處理人類層次的理解與自然語言的產出。

為了翻譯一種語言成為另一種語言，發覺必須理解兩種語言的語法，包括詞法與句法。為了理解句法，又必須理解語義與詞彙表，甚至語用學。因此本來只是兩種語言之間的翻譯，演變成探究如何使用電腦去表述與處理自然語言。

## 門徑

正如計算語言學可以由不同領域、各個系所的專家進行研究，研究的領域也可以劃分成各樣的主題。下面各節探討橫跨整個領域的一些現有文獻，分為四個區塊：發展語言學，結構語言學，語言產出，以及語言理解。

### 發展門徑

語言是個人一生中發展出來的認知能力。這個發展過程已有一些檢視的技巧，運用計算是其中一種方法。人類的語言發展對於計算方法造成一些限制，增加了以其理解語言發展的難度。例如兒童在語言習得期間，大體上只遭逢正面例證，亦即在個人語言發展期間，只接觸到語言正確的形式，而無不正確的形式，這對於做簡單的假說檢定而言資料不足，因此造成了使用計算方法去模擬個人語言發展與習得的界限。

從計算的觀點去模擬語言習得的過程導致了統計語法與聯結模型。這方面的成果被提議用來作為解釋語言的起源之方法。利用模型已顯示，語言的學習可以隨著兒童發展出更佳的記憶力與更長的注意期間，經由漸進地提供簡單的輸入組合而達成。這同時也解釋了為什麼人類幼兒發展期之長。以上兩個結論都因為該計劃創建的人工神經網絡之優點而得以達成。

嬰兒的語言發展能力也已利用機器人去模擬，以便檢定語言學理論。一個可以如孩童般學習的模型，根據直觀功能的概念而建，映射行動、知覺、與效應，並且連結到口語。重要的是，這些機器人不需要語法結構，而能夠習得字詞與意義之間的關聯，大大地簡化了學習過程。這個模型揭示的訊息，增進了對於語言學發展的理解，必須注意的是，這些訊息只能使用計算方法進行經驗測試。

### 結構門徑

為了建立更佳語言的計算模型，理解語言的結構至關重要。這個目標，英語已利用計算方法周密地進行研究，以便更佳理解英語在結構層次如何運行。研究語言結構的要件之一是具備大型的語料庫或樣本，計算語言學家才能有足夠的原始資料進行模擬，並且在大量的資料裡，更佳理解任一語言的內在結構。最常引用的語料庫之一是賓大結構樹庫。這個語料庫來源多元廣泛，例如IBM的電腦手冊和轉寫的電話談話，包含超過四百五十萬個美式英文字。這個語料庫主要以詞類標記與句法加括（syntactic bracketing）來註釋，並且已產生關於結構的大量實證觀察。

語言結構的理論也已發展，讓計算語言學家能在架構內運用多種方法發展假說，從而增進對語言的理解。關於語法的內化與語言結構，一個原創理論提出了兩種模型，其中學習到的規則與模式，會隨著接觸的頻率而增強。這種模型也留下一個問題有待計算語言學家解答：嬰兒如何能在未學習簡單化語法的情況下，學習特定與異常的語法（喬姆斯基範式）。在這個領域的早期，此類理論的成果設定了研究的方向，對於其茁壯至關重要。

語言結構的資訊可以用於認定兩個類似的語句， 例如近來已證實，根據人類言談模式之中的語言結構，概念的遞歸圖可以用來模擬資料並使其圖像化，對於自然語句的相似性，建立起可靠的測量方法。這種技巧對於更進一步探究人類言談的結構，是有力的工具。這個問題不用計算的方法，科學家無法獲得言談資料之中巨量複雜的資訊。

### 產出門徑

語言產出有兩個同樣複雜的成分：語言內含的資訊，以及流利的產出者所需的技巧。亦即理解只是通訊問題的一半，另一半是系統如何產出語言，計算語言學家在這方面已有非常令人關注的發現。

艾倫•圖靈：電腦科學家，提議以圖靈測試測量機器的智慧。
1950年艾倫·圖靈在一篇現在著名的論文裡，提出機器或許有能夠思考的一天。他提議一種「模擬測試」，用來定義機器思考的概念，其中受試者以文字進行兩場談話，一次與真人，一次與模仿人的機器。圖靈提議，如果受試者無法分辨真人與機器之別，或許可以斷定該機器能夠思考。這種測試現今稱為圖靈測試，在人工智慧領域仍是重要概念。

最早期著名的自然交談程式之一是ELIZA，1966年由约瑟夫·维森鲍姆在麻省理工學院發展而成。該程式回答使用者提出的文字陳述或問題時，模擬一位羅傑斯式心理治療師。它看似能夠理解他人輸入的談話並且智慧地回應，但實際上只是執行句型對比的程序，只認得句子裡的幾個關鍵字。其回答是由未知的部分圍繞著轉化的已知單字而組成。以「你似乎厭惡我」舉例而言，ELIZA理解「你」和「我」 ，因而找出「你...我」的基本句型，再把「你」和「我」轉成「我」和「你」，然後回答「為什麼你會認為我厭惡你？」在這個例子裡，ELIZA並不理解「厭惡」這個詞，但不妨礙在這種心理分析的情境下形成一個合理的回答。

#### 文字互動門徑

許多最早期像ELIZA這種簡單的人機互動模式，電腦接受使用者的文字輸入然後產生回答。這種方法使用「關鍵詞擷取」：電腦識別使用者打入詞句的類型，再據以回答。

#### 語音互動門徑

最近的科技比較重視語音互動系統。這些系統，例如iOS作業系統的Siri，運用的技巧類似文字系統的句型辨識，只不過使用者的輸入是經由語音辨識。這個語言學的分支，把使用者的語音當作音波來處理，並解釋音質與語言的形式，讓電腦得以辨識使用者的輸入。

### 理解門徑

現代計算語言學多著重於語言理解。隨著網際網路的擴張，人寫的文字隨處可見，如果有程式能夠理解自然語言，會帶來廣泛、令人振奮的機會，包括改良的搜索引擎、自動化客服、以及線上教育。

語言理解的早期成果包括應用貝氏統計進行光學字符識別。其它貝氏統計的語言分析應用包括分析《聯邦黨人文集》以決定作者是誰。

理解口語方面，最初是奠基於1960、1970年代信號模擬的成果——分析未知的信號，從中找尋類型，並且根據歷史做出預測。這種信號模擬應用於語言，最早、還算成功的一例是在1989年利用隱馬爾可夫模型達成。這些統計方法更近期被應用在較難的任務，例如主題識別——估計貝氏參數以推斷文件主題為何的機率。

## 應用

現代計算語言學是門混合的學問，包括計算機科學與程序設計、數學（尤其是統計學）、語言結構、以及自然語言處理。這些領域的結合，發展出辨認語音然後據以執行任務的系統。例如語音識別軟體（蘋果的Siri）、拼字檢查工具、語音合成程式（示範發音或輔助語言障礙者）、以及機器翻譯（谷歌翻譯、WordReference） 。

計算語言學在社交媒體與網際網络的場域可能特別有助益。例如過濾聊天室與網站的內容必須利用計算語言學，也有許多程序讓家長使用「家長控制」。計算語言學家也能利用「社交媒體挖掘」發展出分類與組織內容的程式。例如推特，程式可以根據主題或關鍵字去分類「推文」。計算語言學也能應用於文件檢索與分类。當你在線上搜尋時，出現的文件與網站取決於你鍵入的文字相應的獨特標示。

## 次領域

計算語言學可以根據語言的媒介與執行的任務區分：語音或文字；分析（識別）或合成（生成）。

### 語音合成、語音識別

主要包括以下几个方面：语音编码（speech coding）、语音识别（speech recognition）、语种识别（language identification）、说话人识别（speaker recognition）或说话人确认（speaker verification）、语义理解(semantics understanding)、语音合成（speech synthesis）等。

在人机交互过程中，经常用到语音识别技术和语音合成技术。

### 訊息检索

### 訊息抽取

### 问答系统

### 机器翻译

机器翻译的主要方法包括规则机器翻译，实例机器翻译及统计机器翻译

## 延伸閱讀

* Bates, M. Models of natural language understanding. Proceedings of the National Academy of Sciences of the United States of America. 1995, **92** (22): 9977–9982. doi:10.1073/pnas.92.22.9977.
* Steven Bird, Ewan Klein, and Edward Loper (2009). *Natural Language Processing with Python*. O'Reilly Media. ISBN 978-0-596-51649-9.
* Daniel Jurafsky and James H. Martin (2008). *Speech and Language Processing*, 2nd edition. Pearson Prentice Hall. ISBN 978-0-13-187321-6.
* Mohamed Zakaria KURDI (2016). *Natural Language Processing and Computational Linguistics: speech, morphology, and syntax*, Volume 1. ISTE-Wiley. ISBN 978-1848218482.
* Mohamed Zakaria KURDI (2017). *Natural Language Processing and Computational Linguistics: semantics, discourse, and applications*, Volume 2. ISTE-Wiley. ISBN 978-1848219212.

## 参見

* 自然语言处理
* 統計語義學
* 计算词汇学
* 计算语义学
* 数理语言学
* 语料库语言学

* Association for Computational Linguistics (ACL)（页面存档备份，存于互联网档案馆）
	+ ACL Anthology of research papers（页面存档备份，存于互联网档案馆）
	+ ACL Wiki for Computational Linguistics（页面存档备份，存于互联网档案馆）
* CICLing annual conferences on Computational Linguistics（页面存档备份，存于互联网档案馆）
* Computational Linguistics – Applications workshop
* Free online introductory book on Computational Linguistics.  [2018-02-13]. （原始内容存档于2008-01-25）.
* Language Technology World
* Resources for Text, Speech and Language Processing
* The Research Group in Computational Linguistics（页面存档备份，存于互联网档案馆）