楊磊
編者按:1950年,圖靈提出了著名的“圖靈測試”,其被認(rèn)為是自然語言處理思想的開端。自然語言處理是一門融語言學(xué)、計算機科學(xué)、數(shù)學(xué)于一體的科學(xué),它是計算機和人工智能的一個重要領(lǐng)域,主要研究實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。比爾·蓋茨曾說,“語言理解是人工智能領(lǐng)域皇冠上的明珠”。因此,我們將分兩期對自然語言的歷史、發(fā)展及應(yīng)用領(lǐng)域與原理、算法及技術(shù)路線進行詳細(xì)闡述及探討,希望能給大家?guī)硪欢ǖ膯l(fā)。
自然語言是指漢語、英語、日語等人們?nèi)粘J褂玫恼Z言,通常是指一種隨社會人文演化的語言,而不是人造的語言,可進一步解釋為以語音為介質(zhì),由詞匯和語法兩部分組成的符號系統(tǒng)。自然語言對人類思維與交流的影響和作用往往是決定性的。隨著人工智能(Artificial Intelligence,AI)的快速發(fā)展,自然語言處理(Natural Language Processing,NLP)在計算機領(lǐng)域的應(yīng)用取得了長足的進步,對當(dāng)代人類的日常生活產(chǎn)生了深遠(yuǎn)的影響。本文將從發(fā)展歷程、技術(shù)演變、應(yīng)用領(lǐng)域和未來展望四個方面淺析自然語言處理。
● 自然語言處理發(fā)展歷史
人們對NLP的探索最早始于對機器翻譯的研究。1947年,美國科學(xué)家韋弗博士和英國工程師布斯提出了利用計算機進行語言自動翻譯的設(shè)想,機器翻譯從此走上歷史舞臺。
1957年,美國麻省理工學(xué)院的語言學(xué)教授喬姆斯基在其《句法結(jié)構(gòu)》一書中,革新了語言的概念,提出“要使計算機理解語言,就必須更改句子的結(jié)構(gòu)”。以此為目標(biāo),喬姆斯基創(chuàng)建了一種語法,稱為階段結(jié)構(gòu)語法,該語法能夠有條不紊地將自然語言句子翻譯為計算機可以使用的格式。
1958年夏天,美國麻省理工學(xué)院人工智能研究先驅(qū)麥卡錫參與IBM資訊研究部的工作,研究符號運算及應(yīng)用需求。但I(xiàn)BM旗下的Fortran表處理語言卻未能支持符號運算的遞歸、條件表達(dá)式、動態(tài)存儲分配及隱式回收等功能。于是,麥卡錫帶領(lǐng)由麻省理工學(xué)院的學(xué)生組成的團隊開發(fā)了一門全新的表處理語言——LISP,賦予了編程語言更強的數(shù)學(xué)計算能力。
1964年,首個自然語言對話程序ELIZA誕生,該程序是由美國麻省理工學(xué)院人工智能實驗室的德裔計算機科學(xué)家維岑鮑姆使用一種名為MAD-SLIP的類LISP語言編寫,運行在實驗室中36位的分時系統(tǒng)早期的晶體管大型計算機IBM 7094上。由于當(dāng)時的計算能力有限,ELIZA只是通過重新排列句子并遵循相對簡單的語法規(guī)則來實現(xiàn)與人類的簡單交流。
1966年,美國國家研究委員會和自動語言處理咨詢委員會停止了對自然語言處理和機器翻譯相關(guān)項目的資金支持,AI和NLP的發(fā)展因此陷入停滯。此時,許多學(xué)者認(rèn)為人工智能和自然語言處理的研究進入了死胡同。人類早期結(jié)合語言學(xué)與統(tǒng)計學(xué)的初步探索以失敗告終。
1980年,在美國卡內(nèi)基梅隆大學(xué)召開了第一屆機器學(xué)習(xí)國際研討會,標(biāo)志著機器學(xué)習(xí)研究在全世界的重新興起。20世紀(jì)80年代,得益于計算能力的穩(wěn)定增長以及機器學(xué)習(xí)的發(fā)展,研究人員開始對人工智能和NLP進行根本性的重新定位,用簡單的近似法取代了深入的分析法,評估過程也變得更加量化。
2001年,法國AI專家本吉奧發(fā)表了一篇論文,提出了一種全新的語言神經(jīng)網(wǎng)絡(luò)模型。該模型使用前饋神經(jīng)網(wǎng)絡(luò)描述了一種不使用連接來形成循環(huán)的人工神經(jīng)網(wǎng)絡(luò)。2014年6月,一個名為古斯特曼的電腦聊天程序成功讓參與測試的33%人類裁判相信它是一個13歲的男孩,成為有史以來首個通過圖靈測試的計算機程序。
2018年,OpenAI公司提出了一種新的ELMo算法模型——GPT模型,該模型在預(yù)訓(xùn)練模型的基礎(chǔ)上,只需要做一些微調(diào)即可直接遷移到各種NLP任務(wù)中,因此具有很強的遷移能力。2019年推出的GPT-2擁有15億參數(shù),到了2020年推出的GPT-3已經(jīng)擁有驚人的1750億參數(shù),不僅能輕松通過圖靈測試,還能完成包括寫代碼在內(nèi)的大部分NLP任務(wù)。
● 自然語言處理的技術(shù)演變
從20世紀(jì)40年代開始,人們開始研究自然語言處理,隨著對機器翻譯需求的增加,圍繞自然語言處理進行了許多基本實踐。1948年,香農(nóng)在論文中概述了一種準(zhǔn)確測量消息中信息量的方法,為定義數(shù)字時代的信息論奠定了基礎(chǔ)。在實驗過程中,研究人員不僅建立了語言的統(tǒng)計模型,還嘗試?yán)矛F(xiàn)有的統(tǒng)計規(guī)則來生成全文。在離散馬爾可夫概率模型(使用統(tǒng)計概率,可以估計一個詞出現(xiàn)在一段文本中的概率)的基礎(chǔ)上,香農(nóng)將該理論應(yīng)用于語言描述并取得了成功。與此同時,美國數(shù)學(xué)家克萊因發(fā)展了有限自動機和正則表達(dá)式。1956年,美國語言學(xué)家喬姆斯基將他的上下文無關(guān)語法應(yīng)用于自然語言處理。他們的工作將自然語言處理分為兩個不同的方向:基于規(guī)則和基于概率。
20世紀(jì)60年代,人們將自然語言處理作為人工智能的研究范疇。這一時期的自然語言處理研究分為兩大陣營,即基于規(guī)則的符號學(xué)派和基于概率的隨機學(xué)派。在此期間,兩種不同的研究思路都取得了長足的發(fā)展。符號學(xué)派在這一時期開始了形式語言理論和句法的研究,并在20世紀(jì)60年代后期對形式邏輯系統(tǒng)進行了研究。隨機學(xué)派在這一時期也取得了很大的進步。他們將貝葉斯概率模型作為統(tǒng)計研究方法,進行了大量的研究。然而,由于大多數(shù)專家學(xué)者的研究都集中在推理和邏輯問題上,因此他們對統(tǒng)計方法和基于概率的神經(jīng)網(wǎng)絡(luò)的研究較少,而這些多為統(tǒng)計和電子學(xué)方面的學(xué)者所研究。
20世紀(jì)70年代,由于計算機硬件設(shè)備發(fā)展緩慢,學(xué)者們將研究重點轉(zhuǎn)向理論研究。此時,基于隱馬爾可夫模型的統(tǒng)計方法在語音識別領(lǐng)域取得了成功。20世紀(jì)80年代也出現(xiàn)了一批新的語法理論,語篇分析語法有了長足的發(fā)展。到了90年代中期以后,自然語言處理的研究取得了長足的進展。計算機計算能力和存儲空間的大幅增加為自然語言處理的研究提供了硬件基礎(chǔ),互聯(lián)網(wǎng)技術(shù)的發(fā)展使得基于自然語言處理的信息提取和信息檢索的需求更加突出。這一時期,自然語言處理已經(jīng)進入了一個相對成熟的時期,基于規(guī)則技術(shù)的語料庫方法已經(jīng)開始在機器翻譯領(lǐng)域應(yīng)用。1993年,美國IBM公司的布朗和達(dá)拉皮垂等人提出了一種基于詞對齊的翻譯模型,標(biāo)志著現(xiàn)代統(tǒng)計機器翻譯方法的誕生。
進入21世紀(jì),基于人工神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)成為人工智能領(lǐng)域最熱門的研究方向。許多科技公司已經(jīng)通過使用深度學(xué)習(xí)模型進行了圖像和語音識別的研究。2013年,谷歌開源了一款名為“Word2Vector”的詞向量工具,可以在數(shù)百萬詞典和數(shù)億數(shù)據(jù)集上高效訓(xùn)練自然語言處理。這一成就在自然語言處理史上具有里程碑的意義。隨著深度學(xué)習(xí)技術(shù)的發(fā)展和對圖形處理器硬件的不斷突破,研究人員開始利用圖形處理器更強大的計算能力來訓(xùn)練大型人工神經(jīng)網(wǎng)絡(luò),在深度學(xué)習(xí)框架和圖形處理器技術(shù)中,語音識別技術(shù)已達(dá)到90%以上?;跈C器學(xué)習(xí)的分類模型大多屬于淺層模型,這類模型的發(fā)展已比較成熟。
近年來,人們將注意力轉(zhuǎn)向深度學(xué)習(xí)方法,基于神經(jīng)網(wǎng)絡(luò)模型的分類算法比基于傳統(tǒng)機器學(xué)習(xí)的分類算法具有更高的準(zhǔn)確率。針對傳統(tǒng)主要采用監(jiān)督分類算法進行分類,基于語義特征的卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,結(jié)合深度學(xué)習(xí)模型對語義關(guān)系進行自動學(xué)習(xí),改進提取特征的累積誤差,提高文本分類的精度。深度學(xué)習(xí)已經(jīng)成為NLP領(lǐng)域的一項關(guān)鍵技術(shù)。2017年,谷歌團隊首先提出Transformer模型,這是第一個完全依賴自注意力來計算輸入和輸出的表示,而不使用序列對齊的遞歸神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)換模型。Transformer模型旨在解決序列到序列的任務(wù),同時輕松處理長期依賴問題,促使自然語言處理進入了新的發(fā)展階段。
● 自然語言處理的應(yīng)用領(lǐng)域
自然語言處理旨在設(shè)計算法使計算機像人一樣理解和處理自然語言,是互聯(lián)網(wǎng)和大數(shù)據(jù)時代的必然,涉及許多領(lǐng)域,包括聊天機器人、語音助手,語言翻譯、情感分析、語法檢查、搜索引擎等。相信隨著通信和計算機相關(guān)技術(shù)的發(fā)展,自然語言處理的應(yīng)用需求也會越來越大。
1.聊天機器人
聊天機器人是一種人工智能形式,經(jīng)過編程可以使它們像人類一樣與人進行語言互動。根據(jù)聊天機器人的復(fù)雜性,它們可以只響應(yīng)特定的關(guān)鍵字,或者進行完整的對話,這使得人們很難將它們與人類區(qū)分開來。聊天機器人是使用自然語言處理和機器學(xué)習(xí)創(chuàng)建的,這要求它們能夠理解自然語言的復(fù)雜性和句子的實際含義,并且它們還能在與人類的對話中學(xué)習(xí)并隨著時間的推移變得更好。聊天機器人只需兩個簡單的步驟即可工作。首先,機器人能夠確定所問問題的含義,并從用戶那里收集回答問題可能需要的所有數(shù)據(jù)。然后,它們給予適當(dāng)?shù)幕卮稹?/p>
2.語音助手
近年來,語音助手風(fēng)靡全球。無論是蘋果的Siri、微軟小冰,還是百度小度,人們可以方便地使用它們來撥打電話、發(fā)出提醒、設(shè)置鬧鐘、上網(wǎng)等。這些語音助手讓生活變得更加輕松。它們使用語音識別、自然語言理解和自然語言處理的復(fù)雜組合來理解人類在說什么,然后采取行動。語音助手的長期目標(biāo)是成為人類與互聯(lián)網(wǎng)之間的橋梁,并提供基于語音交互的各種服務(wù)。但從目前來看,它們離這個目標(biāo)還有不小的距離,因為它們有時仍然無法理解你在說什么。
3.語言翻譯
谷歌翻譯、百度翻譯、有道翻譯等都已經(jīng)進入了人們的工作生活。雖然它們不能達(dá)到100%準(zhǔn)確,但仍然可以實現(xiàn)文本從一種語言轉(zhuǎn)換為另一種語言。谷歌翻譯和其他翻譯工具都使用序列到序列建模,這是自然語言處理中的一種技術(shù)。這種模型將一系列單詞從一種語言轉(zhuǎn)換為另一種語言,即翻譯。早些時候,語言翻譯人員使用統(tǒng)計機器翻譯分析了數(shù)百萬已經(jīng)從一種語言翻譯成另一種語言的文檔,然后尋找該語言的常見模式和基本詞匯。然而,與序列到序列建模相比,這種方法并不那么準(zhǔn)確。
4.情緒分析
電商平臺可以使用情感分析來了解特定類型的用戶對特定主題、產(chǎn)品等的感受。很多互聯(lián)網(wǎng)公司通過使用自然語言處理、計算語言學(xué)、文本分析等來了解用戶對其產(chǎn)品的總體情感和服務(wù),并找出情緒是好是壞還是中性。這樣可以通過多種方式使用情緒分析,找出目標(biāo)受眾的情緒,了解產(chǎn)品評論,衡量他們的品牌情緒等。除了商業(yè)領(lǐng)域,政府部門也可以使用情緒分析來尋找流行觀點并發(fā)現(xiàn)對國家安全的任何威脅。
5.語法檢查器
語法和拼寫是一個非常重要的功能,尤其在一些正式的場合,如求職應(yīng)聘、工作報告等,出現(xiàn)重大錯誤可能會讓你失去重要機會。這就是為什么語法和拼寫檢查器對于任何專業(yè)作家來說都是一個非常重要的工具。語法檢查器不僅可以糾正語法和檢查拼寫,還會建議使用更好的同義詞并提高內(nèi)容的整體可讀性,利用自然語言處理來提供最好的寫作。NLP算法經(jīng)過了數(shù)百萬個句子的訓(xùn)練以理解正確的格式,這就是為什么它可以建議正確的動詞時態(tài)、更好的同義詞或比你所寫的更清晰的句子結(jié)構(gòu)。
6.搜索引擎中的自動完成
你是否注意到,搜索引擎傾向于猜測您輸入的內(nèi)容并自動完成您的句子?例如,在百度中輸入“語言”,你可能會得到關(guān)于“語言藝術(shù)”“語言翻譯”的進一步建議等。所有這些建議都是使用“自動完成”功能提供的,該功能使用自然語言處理來猜測你想問什么。搜索引擎使用其龐大的數(shù)據(jù)集來分析客戶在輸入特定單詞時可能鍵入的內(nèi)容并建議最常見的可能性。搜索引擎是通過使用自然語言處理來理解這些單詞以及它們?nèi)绾蜗嗷リP(guān)聯(lián)以形成不同的句子。
● 自然語言處理的未來展望
在NLP領(lǐng)域模型層面,語言模型預(yù)訓(xùn)練方法在很多NLP任務(wù)中取得了突破,受到了各界的廣泛關(guān)注。目前,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練基本都是基于反向傳播算法,通過隨機梯度下降法等優(yōu)化算法隨機初始化網(wǎng)絡(luò)模型參數(shù)和優(yōu)化模型參數(shù)。預(yù)訓(xùn)練的思想是參數(shù)不再隨機初始化,而是訓(xùn)練一個任務(wù)得到一組模型參數(shù),然后用這些參數(shù)初始化模型進行訓(xùn)練。即通過在大量語料庫上預(yù)訓(xùn)練語言模型,將預(yù)訓(xùn)練好的模型遷移到特定的下游NLP任務(wù)中,從而提升模型的能力。
在應(yīng)用層面,NLP的相關(guān)研究雖然比較抽象,但其最基本的研究仍然是語法、句法和語義的研究,重點是語言和文本。自然語言處理的難點在于理解語言不僅要靠邏輯,還要靠強大的知識庫,需要相互支持才能更好地處理數(shù)據(jù)并對文本做進一步的理解和分析。從長遠(yuǎn)來看,自然語言處理具有廣闊的應(yīng)用領(lǐng)域和前景,作為一個集計算機科學(xué)、人工智能和語言學(xué)于一體的新興領(lǐng)域,它的長期發(fā)展對各個學(xué)科都具有重要意義和影響。未來,自然語言的發(fā)展趨勢可能是從人工構(gòu)建走向自動化構(gòu)建,人們可以使用一些顯性知識來構(gòu)建一種方法來探索語言組件之間的關(guān)系,從而避免煩瑣耗時的手動構(gòu)建。在對自然語言的理解和推理層次上可以由淺入深,完成對語言的深層次理解。
未來的發(fā)展趨勢是NLP與許多領(lǐng)域深度結(jié)合,從而為各相關(guān)行業(yè)創(chuàng)造價值。教育、金融、交通和養(yǎng)老等領(lǐng)域?qū)ψ匀徽Z言處理的需要都在日益提高,NLP+的趨勢會越來越明顯。