人工智能作為新一輪科技革命和產業變革的重要驅動力量,正在深刻改變世界。而自然語言處理(Natural Language Processing,簡稱NLP)既是人工智能的核心技術,又是計算機科學和語言科學的分支學科;它推動著語言智能的持續發展和突破,并越來越多地應用于各個行業。正如國際知名學者周海中先生曾經所言:“自然語言處理是極有吸引力的研究領域,它具有重大的理論意義和實用價值。”
自然語言處理的主要內容
自然語言處理的主要內容包括但不限于如下分支領域:文本分類、文本生成、文本分析、信息抽取、自動摘要、智能問答、話題推薦、機器翻譯、主題詞識別、知識庫構建、深度文本表示、深度學習算法、命名實體識別、語音識別與合成等。自然語言處理主要研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。而用自然語言與計算機進行通信,有著十分重要的實際應用意義,也有著革命性的理論意義。
實現人機間自然語言通信意味著要使計算機既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等;前者稱為自然語言理解,后者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。因為處理自然語言的關鍵是要讓計算機“理解”自然語言,所以通常把自然語言理解視為自然語言處理, 也稱為計算語言學。它的終極目標是用自然語言與計算機進行通信,使人們可以用自己最習慣的語言來使用計算機,而無需再花大量的時間和精力去學習不很自然和習慣的各種計算機語言。
自然語言處理是一門融語言學、計算機科學、數學于一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯系,但又有重要的區別。自然語言處理并不是一般地研究自然語言,而在于研制能有效地實現自然語言通信的計算機系統,特別是其中的軟件系統。因而它是計算機科學的一部分。可以說,自然語言處理是計算機科學、語言科學,尤其是人工智能關注計算機與人類語言之間的相互作用的領域。
自然語言處理的基本任務包括正則表達式、分詞、詞法分析、語音識別、文本分類、信息檢索、問答系統——如對一些問題進行回答或與用戶進行交互——機器翻譯等;常用的模型則有馬科夫模型、樸素貝葉斯、循環神經網絡等。自然語言處理要使用語言知識,如UNIX的wc程序可以用來計算文本文件中的字節數、詞數或行數;當用它來計算字節數和行數時,wc只用于進行一般的數據處理,但當用它來計算一個文件中詞的數目時,就需要關于“什么是一個詞”的語言知識,這樣,這個wc也就成為了一個自然語言處理系統。
自然語言處理是人工智能中最為困難的問題之一。美國微軟公司創始人比爾·蓋茨先生曾經表示,“語言理解是人工智能領域皇冠上的明珠”。前微軟公司全球執行副總裁沈向洋先生也在公開演講時說:“懂語言者得天下……下一個十年,人工智能的突破在自然語言的理解……人工智能對人類影響最為深刻的就是自然語言方面”。由于理解自然語言需要關于外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理也被視為解決人工智能完備(AI-complete)的核心問題之一。可以說,自然語言處理目前是人工智能領域中的關鍵技術,對它的研究也是充滿魅力和挑戰的。
自然語言處理的發展簡史
最早的自然語言處理研究工作是機器翻譯;美國知名科學家沃倫?韋弗先生在1949年首先提出了機器翻譯設計方案。在60年代,許多科學家對機器翻譯曾有大規模的研究工作,投入了大量的人力物力財力。但是,受客觀歷史因素的限制,當時人們低估了自然語言的復雜性,語言處理的理論和技術均不成熱,所以進展并不大。其主要的做法是存儲兩種語言的單詞、短語對應譯法的大辭典,翻譯時一一對應,技術上只是調整語言的順序。但日常生活中語言的翻譯遠不是如此簡單,很多時候還要參考某句話前后的意思。
大約90年代開始,自然語言處理領域發生了巨大的變化。這種變化的兩個明顯的特征是:(1)對系統的輸入,要求研制的自然語言處理系統能處理大規模的真實文本,而不是如以前的研究性系統那樣,只能處理很少的詞條和典型句子。只有這樣,研制的系統才有真正的實用價值。(2)對系統的輸出,鑒于真實地理解自然語言是十分困難的,對系統并不要求能對自然語言文本進行深層的理解,但要能從中抽取有用的信息。同時,由于強調了“大規模”和“真實文本”,因此兩方面的基礎性工作也得到了重視和加強:(1)大規模真實語料庫的研制。大規模的經過不同深度加工的真實文本的語料庫,是研究自然語言統計性質的基礎;沒有它們,統計方法只能是無源之水。(2)大規模、信息豐富的詞典的編制工作。因此規模為幾萬、十幾萬、甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的計算機可用詞典對自然語言處理的重要性是很明顯的。
邁進21 世紀,互聯網的出現讓信息量呈現爆炸式增長,得益于大數據、云計算、知識圖譜、5G通信等各種新技術,自然語言處理的發展迎來加速,在日常生活中扮演著越來越重要的角色,走上更加豐富的應用舞臺。如今,搜索引擎已經成為人們獲取信息的重要工具,機器翻譯越來越普及,聊天機器人層出不窮,智能客服開始服務于人類,各類智能機器人不斷涌現;近年來,熱度漸升的亞馬遜 Alexa,既會作詩又能唱歌的微軟小冰,又將自然語言處理推向另一個全新的高度,讓其被越來越多的大眾熟知。與之相對應,不管學術界還是企業界,對自然語言處理的談論越來越多,更有甚者,自然語言處理被提升到戰略層面。
系統的輸入與輸出這兩個特征在自然語言處理的諸多領域都有所體現,其發展直接促進了計算機自動檢索技術的出現和興起。實際上,隨著計算機技術的不斷發展, 以海量計算為基礎的機器學習、數據挖掘等技術的表現也愈發優異。自然語言處理之所以能夠度過“寒冬”, 再次發展, 也是因為計算機科學與統計科學的不斷結合,才讓人類甚至機器能夠不斷從大量數據中發現“特征”并加以學習。不過要實現對自然語言真正意義上的理解,僅僅從原始文本中進行學習是不夠的,我們需要新的方法和模型。
目前存在的問題主要有兩個方面:一方面,迄今為止的語法都限于分析一個孤立的句子,上下文關系和談話環境對本句的約束和影響還缺乏系統的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規律可循,需要加強語義學和語用學的研究才能逐步解決。另一方面,人理解一個句子不是單憑語法,還運用了大量的有關知識,包括生活知識和專門知識,這些知識無法全部貯存在計算機里。因此一個書面理解系統只能建立在有限的詞匯、句型和特定的主題范圍內;計算機的貯存量和運轉速度大大提高之后,才有可能適當擴大范圍。
由于語言工程、認知科學等主要局限于實驗室,目前來看數據處理可能是自然語言處理應用場景最多的一個發展方向。實際上,自從進入大數據時代,各大平臺就沒有停止過對用戶數據的深度挖掘。要想提取出有用的信息,僅提取關鍵詞、統計詞頻等是遠遠不夠的,必須對用戶數據 (尤其是發言、評論等)進行語義上的理解。另外,利用離線大數據統計分析的方法進行自然語言處理任務的研究是目前非常有潛力的一種研究范式,尤其是谷歌、推特、臉書、百度等大公司在這類應用上的成功經驗,引領了目前大數據研究的浪潮。
自然語言處理的應用現狀
自然語言處理是為各類企業及開發者提供的用于文本分析及挖掘的核心工具,已經廣泛應用在電商、金融、物流、文化娛樂等行業客戶的多項業務中。它可幫助用戶搭建內容搜索、內容推薦、輿情識別及分析、文本結構化、對話機器人等智能產品,也能夠通過合作,定制個性化的解決方案。由于理解自然語言,需要關于外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理也被視為解決人工智能的核心問題之一,其未來一般也因此密切結合人工智能發展,尤其是設計一個模仿人類大腦的神經網絡。
訓練自然語言處理文本解析人工智能系統需要采集大量多源頭數據集,對科學家來說是一項持續的挑戰:需要使用最新的深度學習模型,模仿人類大腦中神經元的行為,在數百萬甚至數十億的注釋示例中進行訓練來持續改進。當下一種流行的自然語言處理解決方案是預訓練,它改進了對未標記文本進行訓練的通用語言模型,以執行特定任務;它的思想就是,該模型的參數不再是隨機初始化,而是先有一個任務進行訓練得到一套模型參數,然后用這套參數對模型進行初始化,再進行訓練,以獲得更好的預測性見解。
目前我們已經進入了以互聯網為主要標志的海量信息時代,這些海量信息大部分是以自然語言表示的。一方面,海量信息也為計算機學習人類語言提供了更多的“素材”,另一方面,這也為自然語言處理提供了更加寬廣的應用舞臺。例如,作為自然語言處理的重要應用,搜索引擎逐漸成為人們獲取信息的重要工具,出現了以谷歌、雅虎、百度等為代表的搜索引擎巨頭;機器翻譯也從實驗室走入尋常百姓家;基于自然語言處理的輸入法(如谷歌、微軟、百度、搜狗等輸入法)成為計算機用戶的必備工具;帶有語音識別的計算機和手機也正大行其道,協助用戶更有效地工作和學習。
數據標注是人工智能產業的基礎,是機器感知現實世界的起點;從某種程度上來說,沒有經過標注的數據就是無用的數據;數據標注得越精確,對算法模型訓練的效果就越好。自然語言處理領域現在已經有了大量的數據標注知識,而深度學習可以通過有監督學習得到相關的語義知識,這種知識和人類總結的知識應該存在某種對應關系,尤其是在一些淺層語義方面。因為數據標注,本質上已經給深度學習提供了學習的目標;只是深度學習可以不眠不休地學習,這種逐步靠攏學習目標的過程,可能遠比人類總結過程來得更快。這一點,從美國Google公司旗下DeepMind研究團隊開發的圍棋軟件AIphaGo短時間內連勝兩位人類圍棋高手的事實,似乎能夠得到驗證。
信息抽取旨在從非結構化的文本數據中抽取結構化的目標信息。這是一個熱點的任務,但是當前模型大多只能進行單一任務的信息抽取,效果也不是特別好。因此將來的一段時間,信息抽取還會是一個熱門話題。該任務也是其他行業對人工智能最熱切的期待之一。行業外的人經常問自然語言處理能不能做這個做那個,大多數是在問能不能從非結構化的海量文本中提取特定的某些信息。這也是所謂大數據公司或者大數據服務提供商的核心技術。值得一提的是,信息抽取和數據標注有很多交叉和重疊的地方,它們與深度學習的關系十分密切。
深度學習在自然語言處理中的應用非常廣泛,可以說橫掃自然語言處理的各個應用,從底層的分詞、語言模型、句法分析等到高層的語義理解、對話管理、知識問答等方面幾乎都有深度學習的模型,并且取得了不錯的效果。有關研究已從傳統的機器學習算法轉變成更有表現力的深度學習模型,如卷積神經網絡和回歸神經網絡。不過,目前的深度學習技術還不具備理解和使用自然語言所必需的概念抽象和邏輯推理能力,還有待今后進一步的研究。
自然語言處理的近期成果
互聯網搜索引擎已經有一段時間讓人們使用會話語言和術語來在線搜索事物。現在,Google公司的云端硬盤用戶已經可以使用這一功能。用戶可以搜索存儲在Google云端硬盤中的文件和內容,就像使用Google搜索提供的對云端硬盤內置自然語言處理的新支持一樣。該功能使用戶可以使用通常用詞組表達的查詢以及在實際對話中將要使用的查詢來更輕松地找到所需的內容。Google公司在在線和移動搜索、移動應用程序以及Google Translate等服務中廣泛使用自然語言處理;該公司在這一領域的研究是為提高機器閱讀和理解人類語言能力所做的更廣泛努力的一部分。隨著Google公司調整其算法,自然語言處理應該會隨著時間的推移變得更好。
在新冠病毒肺炎(Covid-19)疫情期間,美國哈佛醫學院的研究人員借助自然語言處理技術開發出了一種工具,可以評估新冠肺炎患者的病例、社交媒體和健康衛生數據。他們率先努力通過使用機器學習技術查看來自各種來源的數據和信息(包括患者記錄、社交媒體和公共衛生數據)來尋找新冠病毒肺炎的解決方案。借助自然語言處理工具,研究人員可以搜索有關新冠肺炎疫情的在線信息,并了解爆發的當前位置。另外,他們還借助自然語言處理技術,尤其是深度學習模型對新冠病毒、藥物和疫苗等密集展開研究,同時包括臨床診斷與治療以及流行病學研究等。
英國劍橋量子計算公司(CQC)最近宣布,他們利用自然語言的“固有量子”結構,開辟了一個全新的可能應用領域。其通過將語法句子翻譯成量子線路,然后在量子計算機上實現生成的程序,并實際執行問答。這是第一次在量子計算機上執行自然語言處理。通過使用CQC的一流的、平臺無關的可重定目標編譯器t|ket??,這些程序在IBM量子計算機上成功執行,從而朝著實現“意義感知”和“語法信息”的自然語言處理邁出了一大步——這是計算機時代早期以來計算機科學家及語言智能領域專家的夢想。
中國阿里達摩院的自然語言處理研究團隊最近提出優化模型StructBERT,能讓機器更好地掌握人類語法,加深對自然語言的理解。使用該模型好比給機器內置一個“語法識別器”,使機器在面對語序錯亂或不符合語法習慣的詞句時,仍能準確理解并給出正確的表達和回應,大大提高機器對詞語、句子以及語言整體的理解力。這一技術已廣泛使用于阿里旗下阿里小蜜、螞蟻金服、優酷等業務。阿里達摩院的語言模型和閱讀理解技術也被用于行業賦能,推進人工智能技術在醫療、電力、金融等行業的落地。據悉,StructBERT模型日前被評為全球性能最強的自然語言處理系統。
結束語
實現自然語言理解,遠不如人們原來想象的那么簡單,而是十分困難的。從現有的理論和技術現狀看,通用的、高質量的自然語言處理系統,仍然是較長期的努力目標,但是針對一定應用,具有相當自然語言處理能力的實用系統已經出現,有些已商業化,甚至開始產業化;典型的例子有:多語種數據庫和專家系統的自然語言接口、各種機器翻譯系統、全文信息檢索系統、自動文摘系統等。要實現人機間自然語言通信,或要完全實現自然語言理解,這不是在短時期內可以完成的,還有待長期的、系統的、扎實的工作。
總之,隨著互聯網的普及和海量信息的涌現,作為人工智能的核心技術,自然語言處理正在人們的工作、學習、生活中扮演著越來越重要的角色,并將在社會發展和科技進步的過程中發揮越來越重要的作用。
-
云計算
+關注
關注
39文章
7774瀏覽量
137355 -
機器翻譯
+關注
關注
0文章
139瀏覽量
14880 -
自然語言處理
+關注
關注
1文章
618瀏覽量
13552
發布評論請先 登錄
相關推薦
評論