時間:2017-06-05 來源:互聯網 瀏覽量:
按:6月1日,在微軟大廈舉行的自然語言處理前沿技術分享會活動上,微軟亞洲研究院(MSRA)副院長周明博士《自然語言處理前沿技術》為主題,分享了微軟對神經網絡翻譯、聊天機器人等領域的思考,並接受了等媒體的采訪。
周明博士認為,語言智能是人工智能皇冠上的明珠,如果語言智能能實現突破,跟它同屬認知智能的知識和推理就會得到長足的發展,就能推動整個人工智能體係,有更多的場景可以落地。
周明博士,微軟亞洲研究院副院長、國際計算語言學協會(ACL)候任主席、中國計算機學會理事、中文信息技術專委會主任、術語工作委員會主任、中國中文信息學會常務理事、哈爾濱工業大學、天津大學、南開大學、山東大學等多所學校博士導師。
以下是周明博士的現場演講和采訪,做了不改變原意的編輯。
人工智能和人類智能
人工智能是用電腦來模擬和實現人類的智能,而人類的智能大概分如下幾個層次:
第一是運算智能,記憶、計算的能力,這一點機器早已經超過人類。
第二是感知智能,包括聽覺、視覺、觸覺;最近兩年,隨著深度學習的引入,大幅度提高語音識別和圖像識別的識別率,所以計算機在感知智能層麵已經做得相當不錯了,在一些典型的測試題下,達到或者超過了人類的平均水平。
第三認知智能,包括理解、運用語言的能力,掌握知識、運用知識的能力,以及在語言和知識基礎上的推理能力。過去認知智能主要集中在語言智能這塊,即自然語言處理,它簡單理解了句子、篇章,實現了幫助搜索引擎、仿照係統提供一些基本的功能、提供一些簡單的對話翻譯。我認為語言智能是人工智能皇冠上的明珠,如果語言智能能實現突破,跟它同屬認知智能的知識和推理就會得到長足的發展,就能推動整個人工智能體係,有更多的場景可以落地。
最高一層是創造智能,人們利用已有的條件,利用一些想象力甚至有一些是臆斷、夢想,想象一些不存在的事情包括理論、方法、技術,通過實驗加以驗證,然後提出新的理論,指導更多實踐,最後產生很好的作品或產品。
自然語言處理的基礎技術和核心技術
我介紹一下語言在認知智能的作用,在整個人工智能體係下的作用。自然語言處理就是體現語言智能重要的技術,它是人工智能一個重要的分支,幫助分析、理解或者生成自然語言,實現人與機器的自然交流,同時也幫助人與人之間的交流。我認為自然語言處理包括以下幾方麵內容,第一是NLP的基礎技術,圍繞不同層次的自然語言處理,比如說分詞、詞性標注、語義分析做一些加工。後麵做任何其他新的技術或者應用都必須要用到基礎技術。
中間這塊是NLP核心技術,包括詞彙、短語、句子、篇章的表示,大家所說的Word Embedding就是在研究不同的語言單位的表示方法。它也包括機器翻譯、提問和回答、信息檢索、信息抽取、聊天和對話、知識工程、語言生成、推薦係統。
最後是“NLP+”,仿照“人工智能+”或“互聯網+”的概念,實際上就是把自然語言處理技術深入到各個應用係統和垂直領域中。比較有名的是搜索引擎、智能客服、商業智能和語音助手,還有更多在垂直領域——法律、醫療、教育等各個方麵的應用。
正如其他人工智能學科,自然語言處理也要有很多支撐技術、數據,包括用戶畫像,以提供個性化的服務,包括用來做訓練之用的大數據,包括雲計算提供、實施、訓練的基礎設施,包括機器學習和深度學習提供訓練的技能。它一定要有各種知識支撐,比如領域知識還有常識知識。
微軟對神經網絡機器翻譯的思考
這張圖概括了神經網絡機器翻譯,簡要的說,就是對源語言的句子進行編碼,一般都是用的長短時記憶LSTM,方向進行編碼。編碼的結果就是有很多隱節點,每個隱節點代表從句首到當前詞彙為止,與句子的語義信息。基於這些隱節點,通過一個注意力的模型來體現不同隱節點對於翻譯目標詞的作用。通過這樣的一個模式對目標語言可以逐詞進行生成,直到生成句尾。中間在某一階段可能會有多個翻譯,我們會保留最佳的翻譯,從左到右持續。
這裏最重要的技術是對於源語言的編碼,還有體現不同詞彙翻譯的,不同作用的注意力模型。我們又持續做了一些工作,引入了語言知識。因為在編碼的時候是僅把源語言和目標語言看成字符串,沒有體會內在的詞彙和詞彙之間的修飾關係。我們把句法知識引入到神經網絡編碼、解碼之中,這是傳統的長短時記憶LSTM,這是模型,我們引入了句法,得到了更佳的翻譯,這使大家看到的指標有了很大程度的提升。
此外,我們還考慮到在很多領域是有知識圖譜的,我們想把知識圖譜納入到傳統的神經網絡機器翻譯當中,來規劃語言理解的過程。我們的一個假設就是雖然大家的語言可能不一樣,但是體現在知識圖譜的領域上可能是一致的,就用知識圖譜增強編碼、解碼。具體來講,就是對於輸入句子,先映射到知識圖譜,然後再基於知識圖譜增強解碼過程,使得譯文得到進一步改善。
聊天機器人是下一個平台?
下一個方向就是“對話即平台”,英文叫做“Conversation as a Platform (CaaP)”。2016年,微軟首席執行官薩提亞在大會上提出了CaaP這個概念,他認為繼有圖形界麵的下一代就是對話,它會對整個人工智能、計算機設備帶來一場新的革命。
為什麼要提到這個概念呢?我個人認為,有兩個原因。
第一個原因,源於大家都已經習慣用社交手段,如微信、Facebook與他人聊天的過程。我們希望將這種通過自然的語言交流的過程呈現在當今的人機交互中,而語音交流的背後就是對話平台。第二個原因則在於,現在大家麵對的設備有的屏幕很小,有的甚至沒有屏幕,所以通過語音的交互,更為自然直觀的。因此,我們是需要對話式的自然語言交流的,通過語音助手來幫忙完成。
而語音助手又可以調用很多Bot,來完成一些具體的功能,比如說定杯咖啡,買一個車票等等。芸芸眾生,有很多很多需求,每個需求都有可能是一個小Bot,必須有人去做這個Bot。對於微軟而言,我們作為一個平台公司,希望把自己的能力釋放出來,讓全世界的開發者,甚至普通的學生就能開發出自己喜歡的Bot,形成一個生態的平台,生態的環境。
如何從人出發,通過智能助理,再通過Bot體現這一生態呢?微軟在做CaaP的時候,實際上有兩個主要的產品策略。
第一個是小娜,通過手機和智能設備介入,讓人與電腦進行交流:人發布命令,小娜理解並執行任務。同時,小娜作為你的貼身處理,也理解你的性格特點、喜好、習慣,然後主動給你一些貼心提示。第二個就是小冰,主要負責閑聊。
無論是小冰這種閑聊,還是小娜這種注重任務執行的技術,其實背後單元處理引擎無外乎就三層技術。
第一層:通用聊天,需要掌握溝通技巧、通用聊天數據、主題聊天數據,還要知道用戶畫像,投其所好。
第二層:信息服務和問答,需要搜索的能力,問答的能力,還需要對常見問題表進行收集、整理和搜索,從知識圖表、文檔和圖表中找出相應信息,並且回答問題,我們統稱為Info Bot。
第三層:麵向特定任務的對話能力,例如定咖啡、定花、買火車票,這個任務是固定的,狀態也是固定的,狀態轉移也是清晰的,那麼就可以用Bot一個一個實現。你有一個調度係統,你知道用戶的意圖就調用相應的Bot 執行相應的任務。它用到的技術就是對用戶意圖的理解,對話的管理,領域知識,對話圖譜等等。
微軟有一個叫Bot Framework的工具、平台。任何一個開發者隻用幾行代碼就可以完成自己所需要的Bot。
這裏麵有很多關鍵技術。微軟有一個叫做LUIS(Language Understanding Intelligent Service)的平台,提供了用戶的意圖理解能力、實體識別能力、對話的管理能力等等。比如說這句話“read me the headlines”,我們識別的結果是他想做朗讀,內容就是今天的頭條新聞。再比如說“Pause for 5 minutes”,我們理解它的意思是暫停,暫停多長時間?有一個參數:5分鍾。所以,通過LUIS,我們可以把意圖和重要的信息抽取出來,讓後麵Bot來讀取。
自然語言處理還需要解決的問題
第一,通過用戶畫像實現個性化服務。現在自然語言處理基本上用戶畫像用得非常非常少。其實人與人的對話,其實是對不同的人說不同的話,因為我們知道對話的人的性格、特點、知識層次,我了解了這個用戶,知道用戶的畫像,那麼在對話的時候就會有所調整。目前來講,我們還遠遠不能做到這一點。
第二,通過可解釋的學習洞察人工智能機理。現在自然語言處理跟其他的人工智能一樣,都是通過一個端對端的訓練,而其實裏麵是一個黑箱,你也不知道發生了什麼。目前還沒有針對這個問題很好的解決方案,盡管有一些視覺化的工作,但是都比較粗淺,還沒有達到最精準的判定和跟蹤。
第三,通過知識與深度學習的結合提升效率。所謂知識和深度學習的結合,有可能很多情況下是需要有人類知識的。比如說客服,是有一些常見處理過程的。
第四,通過遷移學習實現領域自適應。如果們想翻某一個專業領域,比如說計算機領域,可能現有的翻譯工具翻得不好。所以大家都在研究,有沒有一種辦法,能夠幫助機器進行遷移學習,能夠更好的運用到語音自適應上。
第五,通過強化學習實現自我演化。這就是說我們自然語言係統上線之後有很多人用,得到了有很多人的反饋,包括顯式的反饋、隱式的反饋,然後通過強化學習不斷的提升係統。這就是係統的自我演化。
最後,我認為也是非常關鍵的,通過無監督學習充分利用未標注數據。
自然語言處理未來的發展方向
第一,我認為,隨著大數據、深度學習、雲計算這三大要素推動,所謂認知智能,尤其是語言智能跟感知智能一樣會有長足的發展。你也可以說,自然語言處理迎來了60餘年發展曆史上最好的一個時期。
第二,自然語言的會話、聊天、問答、對話達到實用程度。
第三,智能客服加上人工客服完美的結合,一定會大大提高客服的效率。
第四,自動寫對聯、寫詩、寫新聞稿和歌曲等等,比如說寫新聞稿,給你一些數據,這個新聞稿草稿馬上就寫出來,你要做的就是糾正,添加內容,供不同的媒體使用等。
第五,在會話方麵,語音助手、物聯網、智能硬件、智能家居等等,凡是用到人機交互的,我認為基本上都可以得到應用,而且促進以上的一些產品推廣。
最後,認知智能、感知智能一起努力,在很多場景下,比如說法律、醫療診斷、醫療谘詢、法律顧問、投融資等等,這些方麵自然語言會得到廣泛的應用。
Q&A;
問:微軟在機器翻譯這塊做得怎麼樣,跟穀歌相比如何?微軟怎樣看待穀歌的神經網絡翻譯係統?
周明:第一,我剛才介紹了,微軟原來是著眼於統計,而現在做神經網絡,然後逐漸加入語言知識、領域知識。我認為我們這一條路是非常清晰的。有的公司觀念跟我們有不一樣,可能一直強調數據驅動,但是也做得很好。我們也不排斥他們做得好。我們認為人類的知識和數據應該好好的結合,這也是我們時刻想體現在微軟機器翻譯係統裏麵。
第二,由於微軟在中國設立了研究院,我們對中文、日文,亞洲語言的理解可能有自己的長處。因為中文和日文這類的語言,其實要是做大一統的訓練,推到極高的水平,其實很難,因為這裏麵其實有很多跟語言學有關的內容和語言知識。比如說日語有片假名、平假名,中文有成語,都要求我們做很多獨特的處理。由於我們長期在進行與中國和中文相關的研究,在這方麵有經驗,所以能很快加入到微軟機器翻譯係統之中,使得相關的語言翻譯質量得到保證。目前來講,在這方麵,我們在世界上是居於領先的位置。
問:微軟在英文和日文這塊的機器翻譯做得比穀歌好一點?
周明:我並不太清楚我們跟穀歌的比較,但是我自己自信的說,由於我們在這方麵所做的努力,我相信在涉及到特定語言的方麵我們有獨到的優勢。
問:漢譯英和英譯漢有什麼不同?哪個更難一點?
周明:中翻英是要做什麼呢?首先,我們要把中文分好詞,中文不像英文或者日文會有非常完全和清晰的表達。比如日文有隔助詞,幫助你理解知道哪個詞有什麼語法作用。英文則有各種時態,體現出時間的信息。在中文裏,這些信息是很模糊的,所以需要額外進行處理去幫助斷定。第二,中文詞序來回顛倒不影響大家理解相關的意思。但是英文是顛倒之後,會產生很大的歧義。所以,隨意型的語言翻譯又需要有新的技巧。
過去,中翻英要比英翻中在這方麵,在形態翻譯上區別非常大。可是現在有了深度學習了,這個差異就變得很小了。通過神經網絡編碼和解碼,中翻英和英翻中,說不清楚誰更難。可以說都難,但也都可以用一套方式得到解決。我覺得,如果非要說的話,還是翻譯中文難,因為中文中的成語搭配用現在的神經網絡翻譯起來會有很多問題。這是中翻英的一個難點。當然,英翻中也有自己的難點,因為英翻中裏一詞多譯現象比中文要嚴重。所以,英翻中詞義的斷定和翻譯可能仍麵臨一些困難。
問:中英夾雜的識別以及翻譯難點在哪?
周明:其實這是語音識別帶來的問題。中文夾英文,英文夾中文,在經曆語言模型的時候,沒有專門訓練,就會出現錯誤,從而也會對後麵的理解和翻譯造成影響。
這件事本身是語音識別的一個難點,就跟遠場識別一樣,中英文混雜識別,還有新詞都是語音識別目前的難點。如果識別對了,到自然語言這塊來說相對就不是那麼難了。因為自然語言知道這塊是中文,那塊是英文,處理完了之後走同樣的編碼、解碼過去,是沒有問題的。
問:為什麼說機器實時翻譯完全取代同聲傳譯還有一定的距離?
周明:什麼叫做同聲傳譯,就是講者說話的同時,譯者就翻譯。其中的一個難點就在於,譯者要預測你下麵要說什麼,保證跟你同步。機器要做到同樣的預測比較難,而且一旦預測錯了再回來就更困難了。
另外一個難點在於,現場遠場識別會給語言帶來了很多噪音,從而使識別經常會出錯。因為演示的環境是經過訓練的,機器適應這種語言環境。但是讓大家隨意在任何地方使用的話,往往不能達到很好的效果,就是因為這個環境影響因素太多,噪音太多。這都是屬於我剛才說的最後一公裏的問題。
問:現在機器能做到實時翻譯嗎?
周明:剛開始說話譯者就開始翻了,你說完了,幾乎瞬間我也聽完了,這才是同聲傳譯。這點確實有點難,包括語音識別,包括預測能力,包括兩種語言詞序大調整的時候,怎麼巧妙的調回來,這個還是有點難。
問:遠場降噪呢?
周明:遠場降噪我們也做了很多研究工作。我覺得五到十年遠場識別沒有太大的問題。我覺得五到十年說徹底解決同聲翻譯的挑戰,我不敢做這種預期,但是一定會比現在好很多。
問:關於GAN和對偶學習,微軟有什麼意圖嗎?還是都隻是單純用來減少標注性數據使用?
周明:對偶學習是我們機器學習組的研究項目,他們在最近一年內提出了新的方法,起到了很好的反響。他的思路是,在沒有任何標注語料的時候,中翻英,然後再翻譯回來,跟原來的句子相比較從而調整係統,使這兩個係統都能夠得到相應的改進。
我認為GAN的係統跟對偶學習不完全一樣。GAN初衷也不是非要解決無標注數據的問題。GAN其實是想把兩方通過一個對看的過程,使得它倆都得到提升。所以它們在初衷上有不同的地方。所以我認為他們是有細微不同的。