近日,微軟亞洲研究院副院長周明在「天然語言處理前沿技術分享會」上,與你們講解了天然語言處理(NLP)的最新進展,以及將來的研究方向,如下內容由CSDN記者根據周明博士的演講內容編寫,略有刪減。
周明博士於1999年加入微軟亞洲研究院,不久開始負責天然語言研究組。近年來,周明博士領導研究團隊與微軟產品組合做開發了微軟小冰(中國)、Rinna(日本)、Zo(美國)等聊天機器人系統。周明博士發表了120餘篇重要會議和期刊論文(包括50篇以上的ACL文章),擁有國際發明專利40餘項。網絡
今年微軟首先在語音翻譯上全面採用了神經網絡機器翻譯,並拓展了新的翻譯功能,咱們叫作Microsoft Translator Live Feature(現場翻譯功能),在演講和開會時,實時自動在手機端或桌面端,把演講者的話翻譯成多種語言。架構
圖1歸納了神經網絡機器翻譯,簡要的說,就是對源語言的句子進行編碼,通常都是用長短時記憶(LSTM)進行編碼。編碼的結果就是有不少隱節點,每一個隱節點表明從句首到當前詞彙爲止,與句子的語義信息。基於這些隱節點,經過一個注意力的模型來體現不一樣隱節點對於翻譯目標詞的做用。經過這樣的一個模式對目標語言能夠逐詞進行生成,直到生成句尾。中間在某一階段可能會有多個翻譯,咱們會保留最佳的翻譯,從左到右持續。
框架
這裏最重要的技術是對於源語言的編碼,還有體現不一樣詞彙翻譯的,不一樣做用的注意力模型。咱們又持續作了一些工做,引入了語言知識。由於在編碼的時候是僅把源語言和目標語言當作字符串,沒有體會內在的詞彙和詞彙之間的修飾關係。咱們把句法知識引入到神經網絡編碼、解碼之中,這是傳統的長短時記憶LSTM,這是模型,咱們引入了句法,獲得了更佳的翻譯,這使你們看到的指標有了很大程度的提高。工具
此外,咱們還考慮到在不少領域是有知識圖譜的,咱們想把知識圖譜歸入到傳統的神經網絡機器翻譯當中,來規劃語言理解的過程。咱們的一個假設就是雖然你們的語言可能不同,可是體如今知識圖譜的領域上多是一致的,就用知識圖譜加強編碼、解碼。具體來說,就是對於輸入句子,先映射到知識圖譜,而後再基於知識圖譜加強解碼過程,使得譯文獲得進一步改善。
學習
以上兩個工做都發表在本領域最重要的會議ACL上,獲得不少學者的好評。測試
你們會說,中國文化和人工智能有什麼關係?中國文化最有表明性的是對聯、詩歌、猜謎語等等,它怎麼可以用人工智能體現呢?好多人一想這件事就以爲不靠譜,無法作。可是咱們微軟亞洲研究院就利用然語言處理的技術,尤爲是機器翻譯的經驗,果斷進軍到中國文化裏,這個在全世界獨樹一幟。大數據
在2004年的時候,當時咱們的沈向洋院長領導咱們作了一個微軟對聯:用戶輸入上聯,電腦自動對出下聯,語句很是工整,甚至更進一步把橫批對出來。這個系統在當時跟新浪進行了合做,作成了一個手機遊戲,用戶能夠經過發短信的方式,將上聯發過去,而後經過短信接收下聯。當時你們都以爲頗有意思。微軟對聯也是世界上第一次採用機器翻譯的技術來模擬對聯全過程。過去也有人作對聯遊戲,都是用規則的方法寫不少不少的語言學規則,確保什麼樣的詞跟什麼樣的詞對,並符合對仗、平仄一堆語言學的規則,可是實際效果很差,也沒有人使用。網站
咱們把機器翻譯技術巧妙用在中國文化上,解決了這個問題。在微軟對聯的基礎上,咱們繼續去嘗試其餘的中國文化,其中有一個特點就是字謎。ui
咱們小時候都愛猜字謎,領獎品。字謎是給你謎面讓你猜謎底。固然也能夠反過來,給定一個謎底,讓你出謎面。如今,已經能夠用電腦來模擬整個猜字謎和出字謎的過程了,咱們也把這個功能放在了微軟對聯的網站上。
日後,更進一步,咱們還會用人工智能技術來發展中國最經典的文化,包括絕句和律詩等。例如宋詞有長短句,咱們也能夠用一樣的技術來創做律詩、絕句和宋詞。
最近,微軟亞洲研究院的主管研究員宋睿華博士就在用這種神經網絡的技術來進行詩歌的創做。這件事很是有創意:用戶提交一個照片,讓系統進行,而後變成一首詩,自由體的詩。寫詩是很不容易的,由於要體現意境。你說這是山,這是水,這不叫詩;詩歌必需要昇華、凝練,用詩的語言來體現此時的情或者景,由景入情,由情入景,這纔是詩。
不久前,微軟小冰發佈了微軟小冰寫詩的技能,引發了不少人的關注。咱們也在此基礎上展現其餘的中國文化,把人工智能和中國文化巧妙結合起來,弘揚中國文化。
「對話即平臺」英文叫作「Conversation as a Platform (CaaP)」。2016年,微軟首席執行官薩提亞在大會上提出了CaaP這個概念,他認爲繼圖形界面的下一代就是對話,它會對整我的工智能、計算機設備帶來一場新的革命。
●
●
而語音助手又能夠調用不少Bot,來完成一些具體的功能,好比說定杯咖啡,買一個車票等等。芸芸衆生,有不少不少需求,每一個需求都有多是一個小Bot,必須有人去作這個Bot。而於微軟而言,咱們做爲一個平臺公司,但願把本身的能力釋放出來,讓全世界的開發者,甚至普通的學生就能開發出本身喜歡的Bot,造成一個生態的平臺,生態的環境。
如何從人出發,經過智能助理,再經過Bot體現這一輩子態呢?微軟在作CaaP的時候,實際上有兩個主要的產品策略。
第一個是小娜,經過手機和智能設備介入,讓人與電腦進行交流:人發佈命令,小娜理解並執行任務。同時,小娜做爲你的貼身處理,也理解你的性格特色、喜愛、習慣,而後主動給你一些貼心提示。好比,你過去常常路過某個地方買牛奶,在你下次路過的時候,她就會提醒你,問你要不要買。她從過去的被動到如今的主動,由原來的手機,到微軟全部的產品,好比Xbox和Windows,都獲得了應用。如今,小娜已經擁有超過1.4億活躍用戶,在數以十億級計的設備上與人們進行交流。如今,小娜覆蓋的語言已經有十幾種語言,包括中文。小娜還在不斷髮展,這背後有不少天然語言技術來自微軟研究院,包括微軟亞洲研究院。
第二個就是小冰。它是一種新的理念,不少人一開始不理解。人們跟小冰一塊兒的這種閒聊有什麼意思?其實閒聊也是人工智能的一部分,咱們人與人見面的時候,寒喧、問候、甚至瞎扯,天南海北地聊,這個沒有智能是完成不了的,實際上除了語言方面的智能,還得有知識智能,必須得懂某一個領域的知識才能聊起來。因此,小冰是試圖把各個語言的知識融匯貫通,實現一個開放語言自由的聊天過程。這件事,在全球都是比較創新的。如今,小冰已經覆蓋了三種語言:中文、日文、英文,累積了上億用戶。不少人跟它聊天樂此不疲,而平均聊天的回數多達23輪。這是在全部聊天機器人裏面遙遙領先的。而平時聊天時長大概是25分鐘左右。小冰背後三種語言的聊天機器人也都來自於微軟亞洲研究院。
不管是小冰這種閒聊,仍是小娜這種注重任務執行的技術,其實背後單元處理引擎無外乎就三層技術:
●
●
●
實際上,人類擁有這所有三個智能,並且人知道何時用什麼智能,就是由於最上頭,還有一個調度系統。你跟我閒聊的時候,我就會跟你閒聊;你跟我嚴肅地問問題,那麼我就會回答你的問題。經過一個調度系統,能夠想象,咱們在作人機對話的時候,實際上是在根據用戶的提問調用不一樣的引擎,再根據不一樣的意圖調用不一樣的Bot。這樣總體來實現一個所謂的人機交互全過程。這背後的技術由不一樣的研究員分別去進行實施,而後再總體經過跟產品組合做體現一個完美的產品流程。
微軟想把有關的能力釋放給全世界,讓每一個人都可以體驗人工智能的好處,讓開發者開發本身的Bot。可是開發者的機器不懂天然語言,怎麼辦呢?咱們就經過一個叫Bot Framework的工具、平臺來實現。
任何一個開發者只用幾行代碼就能夠完成本身所須要的Bot。這裏有一個簡單的例子,這我的想作一個披薩的Bot,他用Bot的框架,這幾行語句填入相應的知識,相應的數據,就能夠實現一個簡單的定披薩的Bot。你能夠想象不少小業主,沒有這種開發能力,可是就是能夠簡單操做幾下,就能夠作一個小Bot吸引來不少客戶。
這裏面有不少關鍵技術。微軟有一個叫作LUIS(Language Understanding Intelligent Service)的平臺,提供了用戶的意圖理解能力、實體識別能力、對話的管理能力等等。好比說這句話「read me the headlines」,咱們識別的結果是他想作朗讀,內容就是今天的頭條新聞。再好比說「Pause for 5 minutes」,咱們理解它的意思是暫停,暫停多長時間?有一個參數:5分鐘。因此,經過LUIS,咱們能夠把意圖和重要的信息抽取出來,讓後面Bot來讀取。
微軟的聊天對話技術也在與不少企業合做,賦能這些企業。好比,咱們跟敦煌研究院合做。敦煌研究院提供出數據,咱們則把咱們的引擎加上去,很快就創建了一個敦煌研究院的客服系統,藉助敦煌研究院公衆號,可讓用戶和它聊與敦煌有關的事。用戶也能夠問問題,例如敦煌研究院何時開門、有什麼好吃的,他能夠把聊天、對話都集成在一個平臺上,發揮人工智能在公衆號上的做用。
閱讀理解顧名思義就是給你一篇文章,看你理解到什麼程度。人都有智能,並且是很是高的智能。除了累積知識,還要懂一些常識。具體測試你的閱讀能力、理解能力的手段,通常都是給一篇文章,再你一些問題。你能來就說明你理解了,答不上來就說明你不理解。對電腦的測試也是這樣。
我給你們舉個例子,說明一下閱讀理解。圖7中,這一段話的大意是在介紹萊茵河,它流經哪些國家,最終在哪裏注入大海。萊茵河畔最大的城市是德國科隆。它是中歐和西歐區域的第二長河流,僅次於多瑙河以後,約1230千米。而後,咱們問的問題是,什麼河比萊茵河長?當你讀完了這段話,你就要推斷,「after」在這裏是什麼意思,從而才能得出正確答案是多瑙河。電腦要作這道題,實際上要仔細解析不少問題,最終才能做出回答。
最後,再介紹一下我對天然語言處理目前存在的問題以及將來的研究方向的一些考慮,供你們參考。
●
●
●
●
●
●
可是,咱們也清醒地看到,雖然有一些很好的預期,可是天然語言處理還有不少不少沒有解決的問題。如下幾個我認爲比較重要的。
1.經過用戶畫像實現個性化服務。如今天然語言處理基本上用戶畫像用得很是很是少。人與人的對話,實際上是對不一樣的人說不一樣的話,由於咱們知道對話的人的性格、特色、知識層次,我瞭解了這個用戶,知道用戶的畫像,那麼在對話的時候就會有所調整。目前來說,咱們還遠遠不能作到這一點。
2.經過可解釋的學習洞察人工智能機理。如今天然語言處理跟其餘的人工智能同樣,都是經過一個端對端的訓練,而其實裏面是一個黑箱,你也不知道發生了什麼,哪一個東西起做用,哪一個東西沒有起做用。咱們也在思考,有沒有一種可解釋的人工智能,幫助咱們知道哪些地方發揮了做用,哪些地方是錯的,而後進行修正,快速調整咱們的系統。目前尚未針對這個問題很好的解決方案,儘管有一些視覺化的工做,可是都比較粗淺,尚未達到最精準的斷定和跟蹤。
3.經過知識與深度學習的結合提高效率。所謂知識和深度學習的結合,有可能不少狀況下是須要有人類知識的。好比說客服,是有一些常見處理過程的。那麼出現問題我該怎麼解決?這些知識如何跟數據巧妙結合,從而加快學習的過程、提升學習的質量,這也是比較使人關注的。
4.經過遷移學習實現領域自適應。若是們想翻某一個專業領域,好比說計算機領域,可能現有的翻譯工具翻得很差。因此你們都在研究,有沒有一種辦法,可以幫助機器進行遷移學習,可以更好的運用到語音自適應上。
5.經過強化學習實現自我演化。這就是說咱們天然語言系統上線以後有不少人用,獲得了有不少人的反饋,包括顯示的反饋、隱式的反饋,而後經過強化學習不斷的提高系統。這就是系統的自我演化。
6.最後,我認爲也是很是關鍵的,經過無監督學習充分利用未標註數據。如今都依賴於帶標註的數據,沒有帶標註的數據沒有辦法利用。可是不少場景下,標註數據不夠,你找人工標註代價又極大。那麼如何用這些沒有標註的數據呢?這就要經過一個所謂無監督的學習過程,或者半監督的學習過程加強總體的學習過程。這裏也是目前研究上很是使人關注的。
本文由CSDN根據周明博士的演講內容編寫,已獲受權轉載