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













評論