自然語言處理

人工智慧

前言

簡介

知識表達

知識學習

理論方法

搜尋優化

邏輯推論

神經網路

機率統計

實務應用

專家系統

自然語言

分群分類

程式語言

Prolog

javascript

程式實作

邏輯推論

爬山算法

基因算法

機率學習

交談程式

數字辨識

訊息

相關網站

參考文獻

最新修改

簡體版

English

簡介

自然語言處理是要讓電腦能妥善的處理中文、英文等自然語言,其最終目標是要讓電腦能『理解』自然語言。自然語言處理技術的核心包含語法理論、語義理論等兩大部分。以下分別介紹之。

語法理論

規則比對法是早期的自然語言研究重心,這個方法企圖利用語言知識庫處理機器翻譯的問題。其主要的核心理念來源於 Chromsky 的生成語法路線,Chromsky 考察語言的結構後,提出一套使用語法規則描述語句結構的的方法,稱為生成語法。許多學習外語的人都曾經學習過文法的概念, Chromsky 所謂的語法與這些文法其實是類似的。舉例而言,以下是一組簡單的生成語法規則。

規則 說明
S => NP VP 句子 = 名詞子句 接 動詞子句
NP => Det Adj* N PP* 名詞子句 = 定詞 接 名詞
VP => V (NP PP*) 動詞子句 = 動詞 接 名詞子句 接副詞子句
PP => P NP 副詞子句 = 副詞 接 名詞子句

根據這樣的規則,我們就可以將 『The dog saw a man in the park.』 這句話,剖析成下列的語法樹。

ParseTree1.jpg

圖一、簡單的語法樹的範例

甚至,對於更複雜的句子,像是 『Ordinary daily multivitamin and mineral supplements could help adults with diabetes fight off some minor infections.』,也可能轉換成下列的剖析樹。

ParseTree2.jpg

圖二、複雜的語法樹的範例

但是,一般來說,目前的自然語言剖析技術並沒有辦法將所有句子都轉換成完整的樹狀結構,通常只有 60%-70% 左右的成功率而已。因此,有時會採用部分剖析樹直接使用,而非一定要完全剖析成功。

語義理論

剖析法是規則比對的重要應用。但是,即使我們利用與法理論完成了剖析,仍然不足以建構有價值的應用,許多有價值的應用,像是機器翻譯系統、問答系統、交談式系統、智慧型檢索等應用,都需要進一步抓住語句的意義,才能有應用的價值。

這時,我們需要某種語義理論,才能讓程式從語法形式的表像中,得知語句所表達的意義。但是,甚麼是語句的意義呢?電腦又如何能理解語句的意義呢?這個問題是自然語言當中最重要,但卻也最神祕難解的議題。在語言學與人工智慧上,都仍然是個謎。

讓我們暫且撇開語句意義的爭議不談,先看看前輩們如何處理意義問題。在語法理論當中,有一個較為特別且受注目的語法學派,這個學派並不使用生成語法進行剖析,而是採用意義導向式的語法,直接支解句子當中的元素。這個學派沒有固定的名稱,其語法通常稱為 Case Grammar (格狀語法) 、Semantic Role (語意角色語法)、或 Conceptual Dependency (概念依存語法)。在本書當中,我們以格狀語法統稱之。

格狀語法通常不需要先進行剖析,程式會跳過剖析的階段,直接採用物件導向式的方式,根據語意規則比對的方式進行理解。

格狀語法是以角色與動作為核心的語法,例如,主角通常稱為 Role,動作通常稱為 Action,物體通常稱為 Object,而工具稱為 Tools。如此,以下的語法規則 1就非常的具有語意上的抓取能力。

語法規則 1:Role Action Object by Tools

舉例而言,『爸爸用榔頭敲釘子』這個句子經過『理解』之後,就會建構出下列圖狀結構。

CaseGrammar.jpg

圖三、語義結構的範例

很明顯的,這樣的語法會以動詞 Action 為核心,而主角 Role、工具 Tool 與目標物 Object 都是該動作上的一個角色。這種強調動作語意的語法結構,對語意的『理解』會比生成語法直接。因此,通常被用在交談式系統的設計上,以避開剖析的困難,直接處理語意問題。

結語

雖然目前自然語言處理的技術仍然相當不成熟,但是語法理論和語意理論仍是自然語言處理的兩大利器,想要進入這個領域的人,必須熟悉這兩個理論。這是50年來所累積的成果。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License