自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數學于一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯系,但又有重要的區別。自然語言處理并不是一般地研究自然語言,而在于研制能有效地實現自然語言通信的計算機系統,特別是其中的軟件系統。因而它是計算機科學的一部分。
自然語言處理(NLP)是計算機科學,人工智能,語言學關注計算機和人類(自然)語言之間的相互作用的領域。
總結自然語言處理發展的曲折歷史可以看出,基于規則的理性主義方法和基于統計的經驗主義方法各有千秋,因此,我們應當用科學的態度來分析它們的優點和缺點。
我們認為,基于規則的理性主義方法的優點是:
* 基于規則的理性主義方法中的規則主要是語言學規則,這些規則的形式描述能力和形式生成能力都很強,在自然語言處理中有很好的應用價值。
* 基于規則的理性主義方法可以有效地處理句法分析中的長距離依存關系(long-distance dependencies)等困難問題,如句子中長距離的主語和謂語動詞之間的一致關系(subject-verb agreement)問題,wh 移位(wh-movement)問題。
* 基于規則的理性主義方法通常都是明白易懂的,表達得很清晰,描述得很明確,很多語言事實都可以使用語言模型的結構和組成成分直接地、明顯地表示出來。
* 基于規則的理性主義方法在本質上是沒有方向性的,使用這樣的方法研制出來的語言模型,既可以應用于分析,也可以應用于生成,這樣,同樣的一個語言模型就可以雙向使用。
* 基于規則的理性主義方法可以在語言知識的各個平面上使用,可以在語言的不同維度上得到多維的應用。這種方法不僅可以在語音和形態的研究中使用,而且,在句法、語義、語用、篇章的分析中也大顯身手。
* 基于規則的理性主義方法與計算機科學中提出的一些高效算法是兼容的,例如,計算機算法分析中使用Earley 算法(1970 年提出)和Marcus 算法(1978 年提出)都可以作為基于規則的理性主義方法在自然語言處理中得到有效的使用。
基于規則的理性主義方法的缺點是:
* 基于規則的理性主義方法研制的語言模型一般都比較脆弱,魯棒性很差,一些與語言模型稍微偏離的非本質性的錯誤,往往會使得整個的語言模型無法正常地工作,甚至導致嚴重的后果。不過,近來已經研制出一些魯棒的、靈活的剖析技術,這些技術能夠使基于規則的剖析系統在剖析失敗中得到恢復。
* 使用基于規則的理性主義方法來研制自然語言處理系統的時候,往往需要語言學家、語音學家和各種專家的配合工作,進行知識密集的研究,研究工作的強度很大;基于規則的語言模型不能通過機器學習的方法自動地獲得,也無法使用計算機自動地進行泛化。
* 使用基于規則的理性主義方法設計的自然語言處理系統的針對性都比較強,很難進行進一步的升級。例如,斯羅肯(Slocum)在1981 年曾經指出,LIFER 自然語言知識處理系統在經過兩年的研發之后,已經變得非常之復雜和龐大,以至于這個系統原來的設計人很難再對它進行一點點的改動。對于這個系統的稍微改動將會引起整個連續的“水波效應”(ripple effect),以至于“牽一發而動全身”,而這樣的副作用是無法避免和消除的。
* 基于規則的理性主義方法在實際的使用場合其表現往往不如基于統計的經驗主義方法那樣好。因為基于統計的經驗主義方法可以根據實際訓練數據的情況不斷地優化,而基于規則的理性主義方法很難根據實際的數據進行調整。基于規則的方法很難模擬語言中局部的約束關系,例如,單詞的優先關系對于詞類標注是非常有用的,但是基于規則的理性主義方法很難模擬這種優先關系。
不過,盡管基于規則的理性主義方法有這樣的或那樣的不足,這種方法終究是自然語言處理中研究得最為深入的技術,它仍然是非常有價值和非常強有力的技術,我們決不能忽視這種方法。事實證明,基于規則的理性主義方法的算法具有普適性,不會由于語種的不同而失去效應,這些算法不僅適用于英語、法語、德語等西方語言,也適用于漢語、日語、韓國語等東方語言。在一些領域針對性很強的應用中,在一些需要豐富的語言學知識支持的系統中,特別是在需要處理長距離依存關系的自然語言處理系統中,基于規則的理性主義方法是必不可少的。
我們認為,基于統計的經驗主義方法的優點是:
* 使用基于統計的經驗主義方法來訓練語言數據,從訓練的語言數據中自動地或半自動地獲取語言的統計知識,可以有效地建立語言的統計模型。這種方法在文字和語音的自動處理中效果良好,在句法自動分析和詞義排歧中也初露鋒芒。
* 基于統計的經驗主義方法的效果在很大的程度上依賴于訓練語言數據的規模,訓練的語言數據越多,基于統計的經驗主義方法的效果就越好。在統計機器翻譯中,語料庫的規模,特別是用來訓練語言模型的目標語言語料庫的規模,對于系統性能的提高,起著舉足輕重的作用。因此,可以通過擴大語料庫規模的辦法來不斷提高自然語言處理系統的性能。
* 基于統計的經驗主義方法很容易與基于規則的理性主義方法結合起來,從而處理語言中形形色色的約束條件問題,使自然語言處理系統的效果不斷地得到改善。
* 基于統計的經驗主義方法很適合用來模擬那些有細微差別的、不精確的、模糊的概念(如“很少、很多、若干”等),而這些概念,在傳統語言學中需要使用模糊邏輯(fuzzy logic)才能處理。
基于統計的經驗主義方法的缺點是:
* 使用基于統計的經驗主義方法研制的自然語言處理系統,其運行時間是與統計模式中所包含的符號類別的多少成比例線性地增長的,不論在訓練模型的分類中還是在測試模型的分類中,情況都是如此。因此,如果統計模式中的符號類別數量增加,系統的運行效率會明顯地降低。
* 在當前語料庫技術的條件下,要使用基于統計的經驗主義方法為某個特殊的應用領域獲取訓練數據,還是一件費時費力的工作,而且很難避免出錯。基于統計的經驗主義方法的效果與語料庫的規模、代表性、正確性以及加工深度都有密切的關系,可以說,用來訓練數據的語料庫的質量在很大的程度上決定了基于統計的經驗主義方法的效果。
* 基于統計的經驗主義方法很容易出現數據稀疏的問題,隨著訓練語料庫規模的增大,數據稀疏的問題會越來越嚴重,這個問題需要使用各種平滑(smoothing)技術來解決。
自然語言處理的5大優勢
新智元編譯
在自然語言處理領域,深度學習的承諾是:給新模型帶來更好的性能,這些新模型可能需要更多數據,但不再需要那么多的語言學專業知識。
關于深度學習方法有很多炒作和大話,但除了炒作之外,深度學習方法正在為挑戰性問題取得最先進的結果,特別是在自然語言處理領域。
在這篇文章中,您將看到深度學習方法應對自然語言處理問題的具體前景。看完這篇文章后,你會知道:
1. 自然語言處理深度學習的承諾。
2. 深度學習從業人員和研究科學家對自然語言處理深度學習的承諾有什么說法。
3. 自然語言處理的重要深度學習方法和應用。
深度學習的承諾
深度學習的方法很受歡迎,主要是因為它們兌現了當初的承諾。
這并不是說在技術上沒有任何炒作,而是說,這種炒作是基于非常真實的成果。這些成果正在從計算機視覺和自然語言處理的一系列極具挑戰性的人工智能問題中得到證實。
深度學習力量的第一次大型展現,就是在自然語言處理領域,特別是在語音識別方面。 最近的進展則是在機器翻譯方面。
在這篇文章中,我們將看到,自然語言處理領域的深度學習方法的五個具體承諾。這些承諾是這個領域的研究人員和從業人者最近所強調的,而這些人面對這些承諾的態度比一般的新聞報道要克制得多。
總而言之,這些承諾是:
深度學習插入替換現有模型 。深度學習方法可以插入現有的自然語言系統,由此產生的新模型可以實現同等或更好的性能。
新NLP模型 。深度學習方法提供了新的建模方法以挑戰自然語言問題(如序列-序列預測)。
特征學習 。深度學習方法可以從模型所需的自然語言中學習特征,而不需要專家指定、提取特征。
持續改進。自然語言處理中的深度學習的表現是基于真實世界的結果,并且所帶來的改進正在持續,還可能加速。
端對端模型 。大型端對端深度學習模型可以適應自然語言問題,提供更一般和更好的方法。
我們現在將仔細看看這些承諾中的每一個。其實自然語言處理深度學習還有一些其他承諾,這些只是我從中選擇的最突出的五個。
深度學習插入替換現有模型
自然語言處理中的深度學習的第一個承諾是,能夠用具有更好性能的模型替代現有的線性模型,能夠學習和利用非線性關系。
Yoav Goldberg在他的《NLP研究人員神經網絡入門》中強調,深度學習方法取得了令人印象深刻的成果,他說在此文中說:“最近,神經網絡模型也開始應用于文本自然語言信號,并再次帶來了非常有希望的結果。”
他還繼續強調,這些方法易于使用,有時可用于批量地替代現有的線性方法。他說:“最近,該領域在從稀疏輸入的線性模型切換到稠密數據的非線性神經網絡模型方面取得了一些成功。大多數神經網絡技術都很容易應用,有時候幾乎可以替代舊的線性分類器;不過,在許多情況下仍存在著使用神經網絡的障礙。”
新NLP模型
另一個承諾是,深度學習方法有助于開發全新的模型。
一個很好的例子是,使用能夠學習和判斷超長序列輸出的循環神經網絡。 這種方法與從前的完全不同,因為它們允許NLP從業者擺脫傳統的建模假設,并實現最先進的結果。
Yoav Goldberg在其NLP深度學習的專著《自然語言處理的神經網絡方法》第xvii頁指出,像循環神經網絡這樣復雜神經網絡模型可以帶來全新的NLP建模機會。他說,“在2014年左右,該領域已經開始看到,在從稀疏輸入的線性模型到稠密輸入的非線性神經網絡模型的轉換方面,已取得了一些成功。 。……其他的變化更高級,需要研究者改變思維,并能帶來新的建模機會。特別是,基于循環神經網絡(RNNs)的一系列方法減輕了對序列模型中普遍存在的馬爾可夫假設的依賴,允許以任意長序列為條件,并產生了有效的特征提取器。 這些進步導致了語言建模、自動機器翻譯和其他應用的突破。”
特征學習
深度學習方法具有學習特征表示的能力,不必要求專家從自然語言中人工指定和提取特征。
NLP研究員Chris Manning在自然語言處理深度學習課程的第一次講座中突出了這方面的觀點。
他描述了人工定義輸入特征的局限性:按照這種方法,在之前的應用中,機器學習只是在統計NLP中證明人類事先定義的特征,并且計算機幾乎沒有學習。
Chris 認為,深度學習方法帶來的承諾是自動特征學習。 他強調,特征學習是自動的,而不是人工;它易于適應,不脆弱,并可以不斷自動地改善。
Chris Mining 在2017年的《自然語言處理與深度學習》講座第一講幻燈片中說,“一般來說,我們人工設計的特征往往被過度地指定,它們不完整,需要很長時間才能設計和驗證,會讓你忙活一天后只能達到有限的性能水平。而深度學習到的特征易于適應,能快速訓練,它們可以持續學習,以便達到以前未能實現的、更好的性能水平。
持續改進
NLP的深度學習的另一個承諾是,在挑戰性問題上持續快速改進。
在《自然語言處理與深度學習》講座第一講中,Chris Manning表示,深度學習的方法很受歡迎,因為它們很管用。他說,“深度學習對大多數人來說如此令人興奮的真正原因是,它確實管用。“
他強調,深度學習的初步結果令人印象深刻。深度學習在語音領域的表現比過去30年中任何其他方法的表現都更好。
Chris 提到,深度學習帶來的不僅是最先進的成果,而且是不斷改進的進步速度。他說,”……在過去的六七年中,非常令人驚嘆的是,深度學習方法一直在不斷改進,并以驚人的速度變得更好。 我其實想說,這是前所未有的,我看到這個領域飛速地進展,每個月都會推出更好的方法。“
端對端模型的承諾
深度學習的最終承諾是,開發和訓練自然語言問題的端對端模型能力,而不是為專門模型開發流程。
端對端模型不僅能改進模型的性能,也能帶來更好的開發速度和簡潔性。
神經機器翻譯(簡稱NMT)是指,嘗試學習將一種語言翻譯成另一種語言的大型神經網絡。 傳統上,這是由一系列手工調整的模型組成的流程來處理的,而流程中的每個模型都需要專業語言知識。
Chris Manning 在斯坦福大學NLP深度學習課程第十講《神經機器翻譯和注意模型》中描述了這一點。他說:”神經機器翻譯是指,我們想要做的是構建一個大型神經網絡,在這個網絡中我們可以對訓練整個端到端機器翻譯過程并進行優化。……這種遠離人工定制模型、朝向端到端、序列到序列預測模型的趨勢,一直是語音識別的趨勢。 這樣做的系統被稱為NMT (神經機器翻譯)系統。
設計端到端模型,而非為專門系統設計流程,這也是語音識別的一個趨勢。
在斯坦福NLP課程第十二講《語音處理的端到端模型》中,目前就職于Nvidia的 NLP研究員Navdeep Jaitly強調,語音識別的每個組成部分都可以用神經網絡來代替。自動語音識別流程中的幾大組塊是語音處理,聲學模型,發音模型和語言模型。問題是,每個組塊的屬性和錯誤類型是不同的。這激發了開發一個神經網絡來端到端地學習整個問題的需要。
他說,“隨著時間的推移,人們開始注意到,如果我們使用神經網絡,這些組件中的每一個都可以做得更好。 ……但是,仍然有一個問題。 每個組件都有各自的神經網絡,但是每個組件中的錯誤都是不同的,所以它們可能無法很好地協同工作。 所以這讓我們擁有動機,嘗試去把整個語音識別當作一個大模型來訓練。”
設計端到端模型,而非為專門系統設計流程,這也是語音識別的一個趨勢。
在斯坦福NLP課程第十二講《語音處理的端到端模型》中,目前就職于Nvidia的 NLP研究員Navdeep Jaitly強調,語音識別的每個組成部分都可以用神經網絡來代替。自動語音識別流程中的幾大組塊是語音處理,聲學模型,發音模型和語言模型。問題是,每個組塊的屬性和錯誤類型是不同的。這激發了開發一個神經網絡來端到端地學習整個問題的需要。
他說,“隨著時間的推移,人們開始注意到,如果我們使用神經網絡,這些組件中的每一個都可以做得更好。 ……但是,仍然有一個問題。 每個組件都有各自的神經網絡,但是每個組件中的錯誤都是不同的,所以它們可能無法很好地協同工作。所以這讓我們擁有動機,嘗試去把整個語音識別當作一個大模型來訓練。”
自然語言處理深度學習網絡的類型
深度學習是一個很大的學習領域,并不是它的所有內容都與自然語言處理相關。
哪些類型的深度學習模型能提升性能?學習者在具體優化方法上很容易陷入泥沼。
從較高層次看,深度學習中有5種方法在自然語言處理中應用最為廣泛。
他們是:
嵌入圖層
多層感知器(MLP)
卷積神經網絡(CNN)
循環神經網絡(RNNs)
遞歸神經網絡(ReNNs)
NLP中的問題類型
深度學習不會徹底解決自然語言處理問題或人工智能問題。
迄今為止,在自然語言處理的一系列廣泛問題中,已經對深度學習方法進行了評估,并在其中一些問題上取得了成功。這些成功表明,使用深度學習能獲得高于以往的表現或能力。
重要的是,深度學習方法取得最大成功的領域,恰恰是一些更加面對終端用戶、更具挑戰性也更有趣的問題。
深度學習取得成功的5個例子包括:
· 詞表示和詞含義
· 文本分類
· 語言建模
· 機器翻譯
· 語音識別
評論
查看更多