人工智慧前言簡介知識表達知識學習理論方法搜尋優化邏輯推論神經網路機率統計實務應用專家系統自然語言分群分類程式語言Prologjavascript程式實作邏輯推論爬山算法基因算法機率學習交談程式數字辨識訊息相關網站參考文獻最新修改簡體版English |
簡介自然語言處理是要讓電腦能妥善的處理中文、英文等自然語言,其最終目標是要讓電腦能『理解』自然語言。自然語言處理技術的核心包含語法理論、語義理論等兩大部分。以下分別介紹之。 語法理論規則比對法是早期的自然語言研究重心,這個方法企圖利用語言知識庫處理機器翻譯的問題。其主要的核心理念來源於 Chromsky 的生成語法路線,Chromsky 考察語言的結構後,提出一套使用語法規則描述語句結構的的方法,稱為生成語法。許多學習外語的人都曾經學習過文法的概念, Chromsky 所謂的語法與這些文法其實是類似的。舉例而言,以下是一組簡單的生成語法規則。
根據這樣的規則,我們就可以將 『The dog saw a man in the park.』 這句話,剖析成下列的語法樹。 ![]() 圖一、簡單的語法樹的範例 甚至,對於更複雜的句子,像是 『Ordinary daily multivitamin and mineral supplements could help adults with diabetes fight off some minor infections.』,也可能轉換成下列的剖析樹。 ![]() 圖二、複雜的語法樹的範例 但是,一般來說,目前的自然語言剖析技術並沒有辦法將所有句子都轉換成完整的樹狀結構,通常只有 60%-70% 左右的成功率而已。因此,有時會採用部分剖析樹直接使用,而非一定要完全剖析成功。 語義理論剖析法是規則比對的重要應用。但是,即使我們利用與法理論完成了剖析,仍然不足以建構有價值的應用,許多有價值的應用,像是機器翻譯系統、問答系統、交談式系統、智慧型檢索等應用,都需要進一步抓住語句的意義,才能有應用的價值。 這時,我們需要某種語義理論,才能讓程式從語法形式的表像中,得知語句所表達的意義。但是,甚麼是語句的意義呢?電腦又如何能理解語句的意義呢?這個問題是自然語言當中最重要,但卻也最神祕難解的議題。在語言學與人工智慧上,都仍然是個謎。 讓我們暫且撇開語句意義的爭議不談,先看看前輩們如何處理意義問題。在語法理論當中,有一個較為特別且受注目的語法學派,這個學派並不使用生成語法進行剖析,而是採用意義導向式的語法,直接支解句子當中的元素。這個學派沒有固定的名稱,其語法通常稱為 Case Grammar (格狀語法) 、Semantic Role (語意角色語法)、或 Conceptual Dependency (概念依存語法)。在本書當中,我們以格狀語法統稱之。 格狀語法通常不需要先進行剖析,程式會跳過剖析的階段,直接採用物件導向式的方式,根據語意規則比對的方式進行理解。 格狀語法是以角色與動作為核心的語法,例如,主角通常稱為 Role,動作通常稱為 Action,物體通常稱為 Object,而工具稱為 Tools。如此,以下的語法規則 1就非常的具有語意上的抓取能力。 語法規則 1:Role Action Object by Tools 舉例而言,『爸爸用榔頭敲釘子』這個句子經過『理解』之後,就會建構出下列圖狀結構。 圖三、語義結構的範例 很明顯的,這樣的語法會以動詞 Action 為核心,而主角 Role、工具 Tool 與目標物 Object 都是該動作上的一個角色。這種強調動作語意的語法結構,對語意的『理解』會比生成語法直接。因此,通常被用在交談式系統的設計上,以避開剖析的困難,直接處理語意問題。 結語雖然目前自然語言處理的技術仍然相當不成熟,但是語法理論和語意理論仍是自然語言處理的兩大利器,想要進入這個領域的人,必須熟悉這兩個理論。這是50年來所累積的成果。 |
自然語言處理
page revision: 15, last edited: 23 Aug 2010 07:38
Post preview:
Close preview