前言
借助移動互聯網技術、機器學習領域深度學習技術的發展,以及大數據語料的積累,自然語言處理技術發生了突飛猛進的變化。越來越多的科技巨頭開始看到了這塊潛在的“大蛋糕”中蘊藏的價值,通過招兵買馬、合作、并購的方式、拓展自己在自然語言處理研究領域的業務范圍,進一步提升自然語言處理在整個公司中的主導地位。與此同時,也不斷有新興的科技公司涌現,提出自己的在智能交互、語音識別、機器翻譯等方面的解決方案,試圖在自然語言處理這片廣闊的藍海上劃分自己的領土、樹立自己的標桿。
人工智能已經是大部分普通人都耳熟能詳的詞匯,而人們對自然語言處理技術的了解程度卻大部分還停留在表面階段。本文通過回顧自然語言處理的發展歷史,解讀2015年整個自然語言處理行業的重大變化,進而提出新的時代下自然語言處理技術的發展瓶頸、以及對于自然語言處理所提出的挑戰、自然語言處理未來的發展方向。
一、追本溯源——自然語言處理技術發展歷程
自人工智能在1956年達特茅斯會議上首次提出,讓機器完成更多的智力工作成為科學家努力的方向。其中一個重要的目標就是希望機器能夠與人類進行更加自然高效的交流,希望機器讀懂人類深奧的語言,同時以一種我們習慣的方式進行交互,而解決這個問題的關鍵技術就是自然語言處理。
尤其是近20年來,隨著互聯網的發展引發了對這一技術的強勁需求,這一技術在得到長足發展的同時,也在有力地促進互聯網核心能力的增強。比如,目前互聯網提供的一個基礎性能力是信息檢索。人們在搜索引擎中輸入關鍵詞,就可以獲得相關信息。在20年前,互聯網剛開始發展的初期,給搜索引擎輸入“和服”,返回的結果中很可能包含不少生產、銷售“鞋子和服裝”的公司的信息。現在這種錯誤已經比較少了,而促進其質量不斷提升的一個核心就是采用了不斷改進的自然語言理解技術。“互聯網”自然語言理解已經成為互聯網發展的一個共識,并在不斷深化。
最近幾年,眾多科技巨頭正在這方面進行布局。2013年谷歌以超過3000萬美元收購了新聞閱讀應用開發商Wavii。Wavii擅長自然語言處理技術,可以通過掃描互聯網發現新聞,并給出一句話摘要;微軟將自然語言處理技術應用在了智能助手小冰、Cortana上,取得了不錯的效果,通過機器翻譯使Skype具備了實時翻譯功能;自然語言處理技術是Facebook智能助手M背后的核心技術之一,其產品負責人稱“我們對M做的事情可以讓我們更好地理解自然語言處理。”國內的科大訊飛在去年年底發布了自然語言處理云平臺,很早推出語音合成產品,在中文領域的自然語言處理和語音合成方面有著深厚積累。可見,早在前幾年,眾多科技巨頭和國內IT廠商就已對自然語言處理這篇潛在的廣闊市場覬覦已久,紛紛開始摩拳擦掌,準備將自然語言處理技術向公司的核心業務方向進行轉移,針對業務線轉型、新產品提出來醞釀更大的動作。
?
二、自然語言處理技術發展歷程——持續探索 穩中前行
2015年是自然語言處理技術進一步發展的一年。由于自然語言處理的主流技術主要是以統計機器學習為基礎的,因此這些技術的性能就依賴兩個因素:一是針對不同任務的統計模型和優化算法,二是相應的大規模語料庫。2015年得益于深度學習算法的快速進展和大規模社交文本數據以及語料數據的不斷積累,自然語言處理技術有了飛躍式的發展。在這一年,各大廠商致力于解決語音識別、語義理解、智能交互、搜索優化等領域更加復雜、困難的問題,持續不斷地對原有產品的算法、模型進行優化與革新。
在新產品方面,2015年帶給了我們太多的驚喜。高考期間,百度推出了小度機器人,無獨有偶,十月底,Rokid團隊推出的Rokid機器人也與公眾見面。這些實體機器人不僅能用擬人的思維識別語義,嘗試與用戶建立起更深層、連續的溝通,還能模仿人的“思考”,先從海量互聯網內容中提取信息,然后按人的思維邏輯對信息進行推理分析和篩選,再得到答案。不僅如此,優秀的實體機器人還能與智能家居設備深度融合,并接入音樂、新聞等內容,還能給予攝像頭進行手勢喚醒與遠場識別。
2015年,遠場語音識別技術突破了5米的瓶頸,大幅度改進了語音交互的自由度,再次刷新業界期待。利用麥克風陣列、回聲消除等技術將目標說話人的聲音增強,并抑制/消除噪聲和回聲,由此進行語音前端處理;在語音識別引擎,則針對麥克風陣列處理后的數據進行收集、訓練,以使遠場效果最優化。目前國內集成全新的4麥克風陣列方案,利用麥克風陣列的空域濾波特性——在目標說話人方向形成拾音波束(BeamForming),抑制波束之外的噪聲;結合獨特的去混響算法,最大程度的吸收反射聲,達到去除混響的目的。其中,漢語語音識別技術也取得了重大突破:識別相對錯誤率比現有技術降低15%以上,使漢語安靜環境普通話語音識別的識別率接近97%。通過基于多層單向LSTM的漢語聲韻母整體建模技術,成功地把連接時序分類(CTC)訓練技術嵌入到傳統的語音識別建模框架中,再結合語音識別領域的決策樹聚類、跨詞解碼和區分度訓練等技術,大幅度提升線上語音識別產品性能,是一次框架式的創新。2015年,“字根嵌入”的提出,將“字根作為中文語言處置懲罰的最小單位進行研究”,機器在處置懲罰中文分詞、短文本分類及網頁排序方面的效果大幅提升,可以有效促進機器對用戶中文表意進行深度學習,讓搜索引擎更加智慧、更“懂“用戶。隨著大數據技術和深度學習算法的不斷發展,2015年,基于數據驅動的自然語言對話系統也為我們打開了新的思路:通過提出Deep Match CNN和Deep Match Tree兩種匹配模型以及Neural Responding Machine(NRM)對話生成模型,并深入挖掘大規模對話數據,很容易地構建一個自動生成對話系統,其準確率相比傳統的機器翻譯模型由26%提高到76%,而且對話十分自然流暢。
2015年,許多廠商也紛紛開源了自己用于自然語言處理、機器學習的工具包和技術專利。Facebook人工智能研究院(FAIR)宣布開源了一組深度學習工具,這些工具主要是針對Torch機器學習框架的插件,包括iTorch、fbcunn、fbnn、fbcuda和fblualib。這些插件能夠在很大程度上提升深度學習的速度,并可用于計算機視覺和自然語言處理等場景。Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。Google、Microsoft和IBM分別發布并開源了自己的機器學習工具包TensorFlow、DMTK和SystemML。Google已將TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、圖片(生成圖像分類模型--Inception Image Classification Model)、翻譯器(字符識別)等產品。DMTK其功能特點以及定位更傾向于自然語言處理方面,例如文本分類與聚類、話題識別以及情感分析等。SystemML則是IBM研發了超過十年的機器學習技術,沃森(Watson)在幾年前的大型活動里就整合了很多SystemML的機器學習功能。語音識別知名廠商SoundHound.inc年底也開放了自己的“Houndify”平臺,通過與各大傳統行業廠商深入合作,集成各個方面的行業數據:如與Expedia.com合作,集成酒店、航班方面的語料數據;與Xignite合作,集成金融市場語料數據,意在通過語音“識別一切”,構建更廣闊的識別平臺。?
#e#
三、當前國內外在自然語言處理領域的研究熱點和難點
自然語言處理的難點
單詞的邊界界定
在口語中,詞與詞之間通常是連貫的,而界定字詞邊界通常使用的辦法是取用能讓給定的上下文最為通順且在文法上無誤的一種最佳組合。在書寫上,漢語也沒有詞與詞之間的邊界。
詞義的消歧
許多字詞不單只有一個意思,因而我們必須選出使句意最為通順的解釋。
句法的模糊性
自然語言的文法通常是模棱兩可的,針對一個句子通常可能會剖析(Parse)出多棵剖析樹(Parse Tree),而我們必須要仰賴語意及前后文的資訊才能在其中選擇一棵最為適合的剖析樹。
有瑕疵的或不規范的輸入
例如語音處理時遇到外國口音或地方口音,或者在文本的處理中處理拼寫,語法或者光學字符識別(OCR)的錯誤。
語言行為與計劃
句子常常并不只是字面上的意思;例如,“你能把鹽遞過來嗎”,一個好的回答應當是把鹽遞過去;在大多數上下文環境中,“能”將是糟糕的回答,雖說回答“不”或者“太遠了我拿不到”也是可以接受的。再者,如果一門課程去年沒開設,對于提問“這門課程去年有多少學生沒通過?”回答“去年沒開這門課”要比回答“沒人沒通過”好。
關于如何解決語境的問題:
同時,由于強調了“大規模”,強調了“真實文本”,下面兩方面的基礎性工作也得到了重視和加強。
(1)大規模真實語料庫的研制。大規模的經過不同深度加工的真實文本的語料庫,是研究自然語言統計性質的基礎。沒有它們,統計方法只能是無源之水。
(2)大規模、信息豐富的詞典的編制工作。規模為幾萬,十幾萬,甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的計算機可用詞典對自然語言處理的重要性是很明顯的。
?
自然語言處理技術發展瓶頸
目前自然語言處理技術的兩大瓶頸就是大規模語料數據的建設,以及語義分析的進一步完善。
主流的自然語言處理技術是以統計機器學習為基礎的,這就需要大規模的語料庫。在很多任務中,這些語料庫是需要人工構建的,這是非常費力的工作。因此,數據共享是一個可以促進研究發展的必不可少的因素。可以說,自然語言處理的快速發展離不開一些開源的語料庫,比如WordNet、PennTreebank等。第二,任何語料庫無論大小類型,都難以囊括某個領域的全部案例;而且,語料庫的標注體系往往難以把握,類別劃分過粗,則無法全面、細致地描述語言,類別劃分過細,則標注信息過于龐大、降低標注效率,統計數據的稀疏問題嚴重,訓練出來的模型健壯性差。第三,因為人工標注的語料庫畢竟是費時費力的工作,因此還需要從模型和算法方面去研究如何利用大量的無人工標注或部分標注的數據,也就是半監督學習,但這方面的研究還不是特別成熟。
自然語言處理技術的另一大瓶頸就是如何精確地表現自然語言的語義,比如在人機交互過程中,首先就要理解用戶的意圖,而這里“用戶的意圖”就是語義。目前業界常用的方法有兩種:基于知識或語義學規則的語義分析方法和基于統計學的語義分析方法。盡管兩類方法都能在一定程度上進行自然語言語義的推導以及信息之間關聯的判別,但是基于知識與語義學規則的方法無法覆蓋全部語言現象、推理過程復雜,無法處理不確定性事件,規則間的相容性和適用層次范圍存在缺陷和限制,知識和語義規則的建立是瓶頸問題;而基于統計學的方法則過多地依賴于大規模語料庫的支持,性能依賴語料庫的優劣,易受數據稀疏和數據噪聲的干擾,正如之前提到,大規模語料庫的建立和語料質量的保證仍是瓶頸問題。
可喜的是,如火如荼的云計算為復雜模型計算以及大規模語料庫的收集與建立提供了基礎設施上的支撐。例如,借助Microsoft Azure,用戶可以在幾分鐘內完成NLP on Azure站點的部署,并立即開始對NLP開源工具的使用,或者以REST API的形式調用開源工具的語言分析功能,而無需關注基礎結構,只需專注于應用程序的業務邏輯。PaaS(平臺即服務)的特性隱藏了基礎設施的細節,讓用戶無須關心操作系統、運行環境、安全補丁、錯誤恢復等問題,這使得用戶進行NLP語料庫建設以及應用程序使用的門檻大大降低。
#e#
四、自然語言處理技術——面臨的挑戰
隨著智能硬件技術與移動技術的蓬勃爆發,自然語言處理技術的應用趨勢也發生了變化。一方面用戶要求自然語言處理技術可以精準地理解自己的需求,而且直接給出最匹配的答案,而非簡單地給出Url讓用戶自己去找答案(起碼目前代表業內較高水平的小度機器人還是這樣做的)。另一方面是需要自然語言處理技術可以與用戶進行對話式搜索與智能交互,例如針對“我到哪里可以買到漂亮衣服?”互聯網針對衣服款式的定位、價錢的定位等條件與用戶進行對話與交互,通過基于自然語言處理技術的搜索引擎來步步引導用戶,幫助用戶逐漸發現自己的真實需求,進而給出最優答案。第三方面,需要自然語言處理技術對用戶進行“畫像”,提供“主動推薦、不問即得”的個性化推薦服務。由于每個人各個方面的生活需求(尤其是娛樂方面的需求)不盡相同,自然語言處理技術可以根據用戶的瀏覽歷史來挖掘用戶的喜好,進而針對用戶的喜好進行精準式推薦。
在這樣的需求下面,對于自然語言處理技術的未來發展提出了很大的挑戰。它要求未來的自然語言處理技術能夠做到:
· 1、需求識別。通過用戶提出了多種多樣的、復雜的、基于情感式的、語意模糊的需求進行深刻分析,精確地理解用戶的需求。
· 2、知識挖掘。經過海量的網絡數據與知識的挖掘分析,將各種結構化、非結構化、半結構化的知識進行組織與梳理,最終以結構化、清晰化的知識形式完整地呈現給用戶。
· 3、用戶引導。這與對話式智能交互相關,不僅根據用戶的需求來提供“建議”,還能“猜測”用戶可能會有什么未想到、未提出的需求,從而“先人一步”為用戶提供相關的擴展信息。
· 4、結果組織和展現。由于用戶更加青睞直接的答案,答案的形式可以是唯一答案、聚合答案、圖片、多媒體的形式,這就要求自然語言處理技術能夠將挖掘出的信息進行有效地組織與整理,以條理化、簡潔化、直接化的形式呈現給用戶。?
五、自然語言處理技術——展望未來
在電影《Her》里,語音交互成為普遍的交互方式:孤獨的作家西奧多,有語音操控的隨身計算設備,用語音撰寫感人的書信安撫受傷人,還找到了“機器人女友”莎曼薩。我想,擁有一個貼心的“莎曼薩”,能做到“知我心、懂我意”,仿佛看到第二個自己,應該是很多人都會憧憬的事情。
展望2018年,自然語言處理技術還將沿著致力于實現智能化、人性化的搜索推薦、語音交互、語義理解的道路繼續前行。相信不僅會有更多技術難題被攻克,也會有越來越多類似于“莎曼薩”的產品問世。
隨著大數據技術的不斷發展,大規模語料樣本數據以驚人的數量不斷積累以及自然語言處理在深度學習方面的不斷深耕,目前業界已經開始使用上萬小時的樣本進行模型訓練。不難預測,不久,自然語言處理技術發展將很快進入10萬小時數據樣本訓練階段,只有這樣,才能覆蓋千差萬別的用戶口音差異、多領域歧義語料數據以及復雜的語法規則。再考慮環境變化的影響,未來訓練語料量可能會突破100萬小時。未來,基于統計學的語義分析方法研究將會繼續深化,會隨著大規模語料樣本數據的不斷積累以及大數據挖掘技術、深度模型算法的不斷發展呈現質的飛躍。
隨著訓練數據量的迅速增加,如何實現大規模LSTM(長短時記憶模型)建模和CTC(連接時序分類)的有效訓練,會成為一個核心的技術難題。未來語音識別領域的深度學習將進入數百GPU并行訓練的狀態,理論創新和算法技術創新都將圍繞大數據展開。語音識別技術的研發方法,相對于現在必將發生深刻的變革。此外,CTC建模技術進一步降低了語音識別應用的解碼成本,隨著適合深度模型計算的專業硬件的大量涌現,語音識別云服務的成本將大量降低,從而推動語言處理與語音交互技術的更大范圍的普及。
?
評論
查看更多