自然語言處理是什麼?它到底有何用武之地?

作者:馮芸、潘蓉

自然語言處理(英文Natural Language Processing,簡稱NLP) 是近年來科技界最熱門的詞語之一,也是當下人工智慧研究的主要領域。自然語言處理推動著語言智慧的持續發展和突破,並越來越多地應用於各個行業。正如中國著名學者周海中先生曾經所言:“自然語言處理是極有吸引力的研究領域,它具有重大的理論意義和實用價值。”

那麼,自然語言處理究竟是什麼? 它到底有什麼用武之地?這些問題值得人們探討和關注。所謂自然語言處理,是電腦科學領域與人工智慧領域中的一個重要方向;它研究能實現人與機器之間用自然語言進行有效通信的各種理論和方法。自然語言處理主要應用於機器翻譯、語音辨識、知識回答、自動摘要、輿情監測、觀點提取、知識庫構建、文本語義對比、深度學習演算法、語音辨識與合成等方面。因此,自然語言處理有著革命性的理論意義,也有著十分重要的實用價值。

實現人機間自然語言通信意味著要使電腦既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等;前者稱為自然語言理解,後者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。因為處理自然語言的關鍵是要讓電腦“理解”自然語言,所以通常把自然語言理解視為自然語言處理, 也稱為計算語言學。它的終極目標是用自然語言與電腦進行通信,使人們可以用自己最習慣的語言來使用電腦,而無需再花大量的時間和精力去學習不很自然和習慣的各種電腦語言。

自然語言處理是人工智慧中最為困難的問題之一。美國微軟公司創始人比爾·蓋茨先生曾經表示,“語言理解是人工智慧領域皇冠上的明珠”。前微軟公司全球執行副總裁沈向洋先生也在公開演講時說:“懂語言者得天下……下一個十年,人工智慧的突破在自然語言的理解……人工智慧對人類影響最為深刻的就是自然語言方面”。由於理解自然語言需要關於外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理也被視為解決人工智慧完備(AI-complete)的核心問題之一。可見自然語言處理是目前人工智慧領域中的關鍵技術,對它的研究也是充滿魅力和挑戰的。

自然語言處理的基本任務包括規則運算式、分詞、詞法分析、語音辨識、文本分類、資訊檢索、問答系統——如對一些問題進行回答或與用戶進行交互——機器翻譯等;常用的模型則有馬科夫模型、樸素貝葉斯、迴圈神經網路等。自然語言處理要使用語言知識,如UNIX的wc程式可以用來計算文字檔中的位元組數、詞數或行數;當用它來計算位元組數和行數時,wc只用於進行一般的資料處理,但當用它來計算一個檔中詞的數目時,就需要關於“什麼是一個詞”的語言知識,這時wc也就成為了一個自然語言處理系統。

目前存在的問題主要有兩個方面:一方面,迄今為止的語法都限於分析一個孤立的句子,上下文關係和談話環境對本句的約束和影響還缺乏系統的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規律可循,需要加強語用學的研究才能逐步解決。另一方面,人理解一個句子不是單憑語法,還運用了大量的有關知識,包括生活知識和專門知識,這些知識無法全部貯存在電腦裡。因此一個書面理解系統只能建立在有限的詞彙、句型和特定的主題範圍內;電腦的貯存量和運轉速度大大提高之後,才有可能適當擴大範圍。

無論實現自然語言理解,還是自然語言生成,都遠不如人們原來想像的那麼簡單,而是十分困難的。從現有的理論和技術現狀看,通用的、高品質的自然語言處理系統,仍然是較長期的努力目標,但是針對一定應用,具有相當自然語言處理能力的實用系統已經出現,有些已商品化,甚至開始產業化。典型的例子有:多語種資料庫和專家系統的自然語言介面、各種機器翻譯系統、全文資訊檢索系統、自動文摘系統等。自然語言處理系統的演算法是基於機器學習,特別是統計機器學習;許多不同類的機器學習演算法已應用于自然語言處理任務。

深度學習在自然語言處理中的應用非常廣泛,可以說橫掃自然語言處理的各個方面,從底層的分詞、語言模型、句法分析等到高層的語義理解、對話管理、知識問答等方面幾乎都有深度學習的模型,並且取得了不錯的效果。有關研究已從傳統的機器學習演算法轉變成更有表現力的深度學習模型,如卷積神經網路、回歸神經網路等。不過,目前的深度學習技術還不具備理解和使用自然語言所必需的概念抽象和邏輯推理能力,還有待今後進一步的研究。

總之,隨著互聯網的普及和海量資訊的湧現,作為人工智慧的核心技術,自然語言處理有著極為廣闊的用武之地,並扮演著越來越重要的角色。毫無疑問,自然語言處理將在社會發展和科技進步的過程中發揮越來越重要的作用。

文/馮芸、潘蓉(作者單位分別為南京大學、福州大學)

留下一個答复

請輸入你的評論!
請在這裡輸入你的名字