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