解讀2015之自然語言處理篇 持續探索 穩中前行

2021-07-24 00:25:54 字數 4515 閱讀 2681

編者按

2023年,整個it技術領域發生了許多深刻而又複雜的變化,infoq策劃了「解讀2015」年終技術盤點系列文章,希望能夠給讀者清晰地梳理出技術領域在這一年的發展變化,回顧過去,繼續前行。

2023年,借助移動網際網路技術、機器學習領域深度學習技術的發展,以及大資料語料的積累,自然語言處理(natural language processing,簡稱nlp)技術發生了突飛猛進的變化。越來越多的科技巨頭開始看到了這塊潛在的「大蛋糕」中蘊藏的價值,通過招兵買馬、合作、併購的方式、拓展自己在自然語言處理研究領域的業務範圍,進一步提公升自然語言處理在整個公司中的主導地位。與此同時,也不斷有新興的科技公司湧現,提出自己的在智慧型互動、語音識別、機器翻譯等方面的解決方案,試圖在自然語言處理這片廣闊的藍海上劃分自己的領土、樹立自己的標桿。

本文通過回顧自然語言處理的發展歷史,解讀2023年整個自然語言處理行業的重大變化,進而提出新的時代下自然語言處理技術的發展瓶頸、以及對於自然語言處理所提出的挑戰、自然語言處理未來的發展方向。

回顧

自人工智慧在2023年達特茅斯會議上首次提出,讓機器完成更多的智力工作成為科學家努力的方向。其中乙個重要的目標就是希望機器能夠與人類進行更加自然高效的交流,希望機器讀懂人類深奧的語言,同時以一種我們習慣的方式進行互動,而解決這個問題的關鍵技術就是自然語言處理。

發展

2023年是自然語言處理技術進一步發展的一年。由於自然語言處理的主流技術主要是以統計機器學習為基礎的,因此這些技術的效能就依賴兩個因素:一是針對不同任務的統計模型和優化演算法,二是相應的大規模語料庫。2023年得益於深度學習演算法的快速進展和大規模社交文字資料以及語料資料的不斷積累,自然語言處理技術有了飛躍式的發展。在這一年,各大廠商致力於解決語音識別、語義理解、智慧型互動、搜尋優化等領域更加複雜、困難的問題,持續不斷地對原有產品的演算法、模型進行優化與革新。

2023年,遠場語音識別技術突破了5公尺的瓶頸,大幅度改進了語音互動的自由度,再次重新整理業界期待。利用麥克風陣列、回聲消除等技術將目標說話人的聲音增強,並抑制/消除雜訊和回聲,由此進行語音前端處理;在語音識別引擎,則針對麥克風陣列處理後的資料進行收集、訓練,以使遠場效果最優化。目前國內整合全新的4麥克風陣列方案,利用麥克風陣列的空域濾波特性——在目標說話人方向形成拾音波束(beamforming),抑制波束之外的雜訊;結合獨特的去混響演算法,最大程度的吸收反射聲,達到去除混響的目的。其中,漢語語音識別技術也取得了重大突破:識別相對錯誤率比現有技術降低15%以上,使漢語安靜環境普通話語音識別的識別率接近97%。通過基於多層單向lstm的漢語聲韻母整體建模技術,成功地把連線時序分類(ctc)訓練技術嵌入到傳統的語音識別建模框架中,再結合語音識別領域的決策樹聚類、跨詞解碼和區分度訓練等技術,大幅度提公升線上語音識別產品效能,是一次框架式的創新。2023年,「字根嵌入」的提出,將「字根作為中文語言處置懲罰的最小單位進行研究」,機器在處置懲罰中文分詞、短文本分類及網頁排序方面的效果大幅提公升,可以有效促進機器對使用者中文表意進行深度學習,讓搜尋引擎更加智慧型、更「懂「使用者。隨著大資料技術和深度學習演算法的不斷發展,2023年,基於資料驅動的自然語言對話系統也為我們開啟了新的思路:通過提出deep match cnn和deep match tree兩種匹配模型以及neural responding machine(nrm)對話生成模型,並深入挖掘大規模對話資料,很容易地構建乙個自動生成對話系統,其準確率相比傳統的機器翻譯模型由26%提高到76%,而且對話十分自然流暢。

2023年,許多廠商也紛紛開源了自己用於自然語言處理、機器學習的工具包和技術專利。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合作,整合金融市場語料資料,意在通過語音「識別一切」,構建更廣闊的識別平台。

瓶頸

目前自然語言處理技術的兩大瓶頸就是大規模語料資料的建設,以及語義分析的進一步完善。

主流的自然語言處理技術是以統計機器學習為基礎的,這就需要大規模的語料庫。在很多任務中,這些語料庫是需要人工構建的,這是非常費力的工作。因此,資料共享是乙個可以促進研究發展的必不可少的因素。可以說,自然語言處理的快速發展離不開一些開源的語料庫,比如wordnet、penntreebank等。第二,任何語料庫無論大小型別,都難以囊括某個領域的全部案例;而且,語料庫的標註體系往往難以把握,類別劃分過粗,則無法全面、細緻地描述語言,類別劃分過細,則標註資訊過於龐大、降低標註效率,統計資料的稀疏問題嚴重,訓練出來的模型健壯性差。第三,因為人工標註的語料庫畢竟是費時費力的工作,因此還需要從模型和演算法方面去研究如何利用大量的無人工標註或部分標註的資料,也就是半監督學習,但這方面的研究還不是特別成熟。

自然語言處理技術的另一大瓶頸就是如何精確地表現自然語言的語義,比如在人機互動過程中,首先就要理解使用者的意圖,而這裡「使用者的意圖」就是語義。目前業界常用的方法有兩種:基於知識或語義學規則的語義分析方法和基於統計學的語義分析方法。儘管兩類方法都能在一定程度上進行自然語言語義的推導以及資訊之間關聯的判別,但是基於知識與語義學規則的方法無法覆蓋全部語言現象、推理過程複雜,無法處理不確定性事件,規則間的相容性和適用層次範圍存在缺陷和限制,知識和語義規則的建立是瓶頸問題;而基於統計學的方法則過多地依賴於大規模語料庫的支援,效能依賴語料庫的優劣,易受資料稀疏和資料雜訊的干擾,正如之前提到,大規模語料庫的建立和語料質量的保證仍是瓶頸問題。

可喜的是,如火如荼的雲計算為複雜模型計算以及大規模語料庫的收集與建立提供了基礎設施上的支撐。例如,借助microsoft azure,使用者可以在幾分鐘內完成nlp on azure站點的部署,並立即開始對nlp開源工具的使用,或者以rest api的形式呼叫開源工具的語言分析功能,而無需關注基礎結構,只需專注於應用程式的業務邏輯。paas(平台即服務)的特性隱藏了基礎設施的細節,讓使用者無須關心作業系統、執行環境、安全補丁、錯誤恢復等問題,這使得使用者進行nlp語料庫建設以及應用程式使用的門檻大大降低。

挑戰

隨著智慧型硬體技術與移動技術的蓬勃爆發,自然語言處理技術的應用趨勢也發生了變化。一方面使用者要求自然語言處理技術可以精準地理解自己的需求,而且直接給出最匹配的答案,而非簡單地給出url讓使用者自己去找答案(起碼目前代表業內較高水平的小度機械人還是這樣做的)。另一方面是需要自然語言處理技術可以與使用者進行對話式搜尋與智慧型互動,例如針對「我到**可以買到漂亮衣服?」網際網路針對衣服款式的定位、價錢的定位等條件與使用者進行對話與互動,通過基於自然語言處理技術的搜尋引擎來步步引導使用者,幫助使用者逐漸發現自己的真實需求,進而給出最優答案。第三方面,需要自然語言處理技術對使用者進行「畫像」,提供「主動推薦、不問即得」的個性化推薦服務。由於每個人各個方面的生活需求(尤其是娛樂方面的需求)不盡相同,自然語言處理技術可以根據使用者的瀏覽歷史來挖掘使用者的喜好,進而針對使用者的喜好進行精準式推薦。

在這樣的需求下面,對於自然語言處理技術的未來發展提出了很大的挑戰。它要求未來的自然語言處理技術能夠做到:

展望2016

在電影《her》裡,語音互動成為普遍的互動方式:孤獨的作家西奧多,有語音操控的隨身計算裝置,用語音撰寫感人的書信安撫受傷人,還找到了「機械人女友」莎曼薩。我想,擁有乙個貼心的「莎曼薩」,能做到「知我心、懂我意」,彷彿看到第二個自己,應該是很多人都會憧憬的事情。

隨著大資料技術的不斷發展,大規模語料樣本資料以驚人的數量不斷積累以及自然語言處理在深度學習方面的不斷深耕,目前業界已經開始使用上萬小時的樣本進行模型訓練。不難**,不久,自然語言處理技術發展將很快進入10萬小時資料樣本訓練階段,只有這樣,才能覆蓋千差萬別的使用者口音差異、多領域歧義語料資料以及複雜的語法規則。再考慮環境變化的影響,未來訓練語料量可能會突破100萬小時。未來,基於統計學的語義分析方法研究將會繼續深化,會隨著大規模語料樣本資料的不斷積累以及大資料探勘技術、深度模型演算法的不斷發展呈現質的飛躍。

隨著訓練資料量的迅速增加,如何實現大規模lstm(長短時記憶模型)建模和ctc(連線時序分類)的有效訓練,會成為乙個核心的技術難題。未來語音識別領域的深度學習將進入數百gpu並行訓練的狀態,理論創新和演算法技術創新都將圍繞大資料展開。語音識別技術的研發方法,相對於現在必將發生深刻的變革。此外,ctc建模技術進一步降低了語音識別應用的解碼成本,隨著適合深度模型計算的專業硬體的大量湧現,語音識別雲服務的成本將大量降低,從而推動語言處理與語音互動技術的更大範圍的普及。

自然語言處理之 SentencePiece分詞

sentencepiece是乙個google開源的自然語言處理工具包。網上是這麼描述它的 資料驅動 跨語言 高效能 輕量級 面向神經網路文字生成系統的無監督文字詞條化工具。那麼它究竟是幹什麼的呢?先舉個例子 假設在資料探勘時,有一列特徵t是文字描述,我們需要將其轉成列舉型,或者多個布林型代入模型,即...

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...