1. 程式人生 > >CIIS2018演講實錄丨百度王海峰:語言與知識

CIIS2018演講實錄丨百度王海峰:語言與知識

 

文章釋出於公號【數智物語】 (ID:decision_engine),關注公號不錯過每一篇乾貨。

 

 

 

轉自 | 中國人工智慧學會

作者 | 王海峰

 

此次小編為大家整理的是來自百度高階副總裁,ACL/CAAI Fellow王海峰先生主題為《語言與知識》的精彩演講。

 

王海峰

百度高階副總裁,ACL/CAAI Fellow

 

以下內容根據速記進行整理

經過王海峰老師本人校對

 

 

王海峰:尊敬的各位院士、各位專家,大家上午好,我叫王海峰。趙院士最後一頁我注意到他講的是AI,我在百度是負責AI,我演講的時候經常是在講人工智慧,從人工智慧的技術發展到整個大的產業趨勢到各行業應用,包括剛才講的AI在農業中的應用我也很感興趣。

 

今天我不從人工智慧全貌講,而是講語言和知識,一方面我個人是搞自然語言處理出身的,我搞了二十多年的語言處理和相關的技術。另一方面語言和知識也非常重要,百度從2000年開始做搜尋,搜尋最核心的技術就是對語言和資訊的處理,我們要理解網頁內容需要語言處理技術,我本人也是因為自然語言技術才加入百度的。這個我就不介紹了,自然語言處理大家都認為很重要,在各方面都很重要。

 

對於人工智慧來講我們有很多不同的解讀,其中我們希望機器像人一樣思考,而這背後是什麼技術在支援呢?請大家先看左半部分圖片,語言是思維的載體,就像我們學習外語的時候老師會說如果你要學好這門語言就要用這門語言當作母語一樣去思考。人類之所以不斷的在往前發展,知識的傳承也是很重要的,這種知識的凝練傳承很重要的載體就是語言文字。我們看到早期的字元到甲骨文再到現在紙質的書還有網際網路的文字,正是語言文字的力量促進了人類文明的發展。

 

語言一方面成就了人類的文明,另一方面人類也面臨著語言鴻溝的挑戰。我們都知道著名的“巴別塔”,這也是語言的一個很著名的例子。所以我們有了機器翻譯,我本人是從93年開始進入相關的領域,最早就是做機器翻譯,機器翻譯我們可以列舉出很多的問題,一個是譯文怎麼選擇,一個是怎麼調序,因為不同語言之間的語序是不一樣的。

 

而機器翻譯當然比我進入這行久得多了,從1946年現代計算機誕生之初,就開始有人提出用計算機來做翻譯的想法。

 

經過很多年的發展,80、90年代最流行的方法當時我們領域裡叫理性主義方法。更多的是像我們學語言的時候要背單詞、學語法,所以當時機器翻譯系統也在模擬這樣一個過程,用規則系統,知識工程來做。我從93年開始進入機器翻譯這個領域,當時是做規則系統。

 

做了兩年覺得還不錯,到了95年的時候,參加國家863的評測也得了第一,也覺得很自豪。但是後來很快發現規則不斷的增加,對於整個系統的控制越來越難,規則的衝突等各種問題越來越嚴重,導致這個系統越來越難做。所以我到96年開始就在想是否還能用其它的方法呢?當時看了很多資料,一些新的方法也開始出現,比如基於經驗主義的應用統計,機器學習包括神經網路的方法都開始出現了。當時我也不是很懂,我就想到底用什麼樣的方法能更好地解決問題呢?同時也受了一些影響,一個是剛才戴院士講的腦科學與人工智慧。另一個是恰巧去書店找書時碰到了幾本書,這幾本書都是一個老師寫的,也就是咱們的主持人焦老師寫的。神經網路有三本書,基礎理論、計算、如果沒記錯的話還有一本叫應用與實現,看了這些書我開始用神經網路來做自然語言處理。自然語言處理其實是有上下文的,我又看了國外的文章,最後用這種RNN反饋迴圈的方法,完成了我的博士論文。

 

在這之後我又遇到了問題,當時的計算能力特別有限,資料也特別少,做的過程中取得了一些成果,也寫了一些論文,但是大系統做不起來。那時候我已經博士畢業,開始到微軟研究院工作,工作後發現其實統計上做的人非常多,而且用了各種方法,包括平滑的方法去解決這些資料稀疏等問題,所以改做統計機器翻譯。

 

統計機器翻譯也有一些問題,比如中英語言之間有非常多的語料,統計機器翻譯做的不錯了,但是小語種由於缺少語料又做得不好了,這時候我提出一套基於樞軸語言進行模型推導的方法,把一些小語種語言做好。那時候還很願意參加評測,參加了國際口語機器翻譯五個專案的比賽,基本都得了第一。

 

後來我到百度之後把這些統計、規則、神經網路等方法全部集中起來做,2011年上線了百度翻譯。神經網路由於演算法、資料、算力的共同進步復甦了,資料和計算能力起到了核心作用。從我做博士論文算起,過了差不多二十年後又開始用神經網路的方法,提出了新的神經網路機器翻譯方法。百度翻譯當時也做得不錯,也獲得了國家科技進步二等獎,現在百度翻譯每天提供網上翻譯服務是過千億的量級,已經非常大了。

 

當時我們上線了全球第一個網際網路神經網路翻譯系統,很好地解決了資料稀疏、詞表外的詞包括譯文缺失、解碼速度等一系列問題。但是語音翻譯對實時性的要求更高,前一段時間我們剛剛釋出了一個新技術,可以非常實時的來控制翻譯,並且延遲速度可調,這裡邊一個關鍵技術是對語言的預測,就是不僅我聽到什麼就知道什麼,而且對下面的內容也會進行預測。比如我們看到今年百度世界大會的例子,實時性已經非常好,基本你說中文同時英文就出來了。

 

講到這兒我回顧了我做機器翻譯的歷史,我不是在講我自己,而是說人工智慧的發展基本脈絡是從對人的一些表層的模擬開始,比如我們最初用規則系統,後來發現有很多弊端存在,才開始用統計的機器學習的方法,然後又遇到一些演算法算力等各方面的問題,解決後又上了一個臺階,這樣不斷持續進步的一個過程。

 

 

百度的人工智慧,除了剛才講的機器翻譯、自然語言處理,我們其實是一個完整的平臺,這裡邊除了對語言的理解,對知識的掌握運用以外,包括跟人的聽覺相關的語音技術,跟視覺相關的計算機視覺技術等。現在我們所有技術基本都到了要做深層次的語義理解的階段。而所有這些我們把它整體上整合起來形成這樣一個人工智慧平臺既可以在百度內部用,也同時對外開放出來了。

 

 

今天我的主題是語言與知識,說完百度大腦現在回到語言與知識,這就是百度在這方面的整體佈局,當然底層有知識圖譜,知識圖譜有很多不同的基本單位,通常的知識圖譜基本單位就是實體,除了實體比如我們為了做個性化推薦,可能要做關注點圖譜,同時要理解一些事件,要做序列化事件的圖譜。然後為了做不同的行業,要做行業的知識圖譜,包括要做地圖就會有POI地點圖譜等等,而後臺的技術會有知識的挖掘、知識的整合和補全,以及怎樣做分散式索引,儲存計算、知識的計算推理等。

 

 

而自然語言處理從基本的語言的詞、短語、句子到語義到篇章各方面都有很多工作的開展,這是從分析理解的角度。另一方面就是生成,可以做片段、摘要、也可以做整個篇章的。比如大家現在在網路上看到的很多文章其實都是機器自動寫的。這些技術綜合起來,相應會有很多不同的應用,比如說搜尋、問答、對話,智慧寫作、翻譯等等。

 

詞法分析相對是比較經典的技術,尤其對中文來講要做分詞,這裡我不詳細講分詞的原理,相信很多朋友也都很清楚。分詞現在的做法,主要靠語料的規模,人工標註的語料通常很有限,我們利用網際網路挖掘一些弱標註資料,然後再用它對人工標註資料進行不斷補充,產生更多的可以用來做訓練的資料。

 

從句法分析來講,比如搜尋引擎上使用者來查詢,會做基本的句法分析,對於中文來講我一直的觀點是對於中文完全沿用西方語法的短語結構文法其實還是有一些不那麼適合的地方,所以無論是我還是百度,我們做的句法分析一直在用依存文法。在語法層面有了以後就要做語義的分析,比如說我們看到的這個例子“胡歌演的古裝劇有哪些”,進入到語義分析層面就會發現核心成分我們要找古裝劇,然後知道是胡歌演的。一個完整的句子,使用者輸入進來,從基礎的詞法句法到語義分析,最後把核心語義成分提煉出來,最終就是兩個關鍵詞一個是胡歌,一個是古裝劇。

 

除了理解單句還要理解篇章,篇章我們還要做很多事情,比如一篇文章我要知道它的主題,就要知道里面一些關鍵資訊、話題、一些關鍵詞等,我們把它叫做主題分析,另一方面想知道這篇文章作者的觀點是贊成還是反對等等這些情感分析,這也是自然語言理解一個很重要的方向。我們讀一篇文章的時候,看了內容之後,希望能從中獲取一些知識、凝練一些知識,篇章理解對這些知識的獲取也很重要。後面我講知識圖譜的時候會談到知識獲取的問題。

 

通過對篇章內容的理解和主題分析,我們就可以根據使用者的興趣推薦相應的新聞和資訊,我們還可以做很多其它事情。比如說我們看到一段使用者的評論,我們可以去分析,這段評論對餐廳是推薦還是不推薦,是喜歡還是不喜歡。涉及到觀點抽取的時候,又涉及到很多具體的技術比如情感搭配的挖掘,觀點的計算等等,我就不詳細講具體的技術了。

 

涉及到知識獲取,大家看到醫院的這樣一段病歷,這樣一個病歷裡頭我們可以做要素和關係的抽取,然後可以把一個無結構的文字先進行結構化,基於結構化的文字我們構建出相應的這個領域的知識圖譜。

 

百度做搜尋已經很多年了,而自然語言理解技術其實在推動搜尋引擎不斷進步,我們能更好的理解使用者的query,就可以更好的知道客戶到底需要什麼,另一方面我們更好的理解文字就能找到更精準的答案。所以搜尋引擎從傳統的只給一些連結,使用者點進去自己看,發展到現在的智慧搜尋能更精準的理解需求,直接給使用者答案。閱讀理解除了我們自己做,我們也會開放一些資料跟大家共享,像我們開放的DuReader機器閱讀理解資料集不僅規模非常大,而且都是每天使用者搜尋的真實資料。

 

剛才說起語言的事兒,我再接著說,怎麼樣基於大規模的海量資料,以及自然語言處理技術來構建大規模的圖譜。這時候涉及到對完全沒有標籤的大資料進行開放的知識挖掘,涉及到語義空間的變換和知識整合,這些方面整合在一起,構成了我們龐大的知識圖譜。比如百度基本的知識圖譜是基於實體的,也就是現在ppt中間部分的,這個也是大家用知識圖譜通常會用到的,百度現在構建了世界上最大的,包括三千多億事實的知識圖譜。大家可以想象,人腦雖然非常強大,但作為個體,沒有人能記住幾千億個知識點。而靠知識圖譜技術,靠這種自動挖掘、學習,構建的知識量是很大的。我們針對不同的應用可以構建行業的應用知識圖譜,可以構建為了地圖做出行、POI等等各方面的,針對特定應用的圖譜。

 

 

舉個醫療的例子,醫療對於人類來說是非常重要的,我們從基礎醫療的大資料,比如教材,藥典,病例等各方面獲取基礎資料,然後基於這些資料通過實體連結、結構化解析等技術構建出醫療知識圖譜。形成圖譜以後我們可以做很多的事情,比如說利用互動式問答、智慧推理等技術進行分診,自助診斷等等。

 

剛才說起了語言又說起了知識,我們也構建關於漢語語言的知識,比如我們從小學習語文,學了很多的成語、歇後語等等這些,這些對於漢語語言本身的知識也構成一個圖譜。在百度搜索裡非常多的使用者有這樣的需求,當一個使用者不知道這個字怎麼讀的時候他可能會描述一下。比如說上面一個草字頭,下面一個句子的句這個字怎麼讀,你可以輸入文字搜尋,也可以用語音來問,這個背後是基於漢語語言的知識圖譜來做的。再比如我知道這個字之後我來問,包含“苟”的詩句是什麼,他會找出相關的詩,背後都有漢語語言知識圖譜在做支撐。  

 

除了做語言和知識本身的技術應用以外,還有很多是與其它人工智慧技術的結合,比如說我們做語音、做視覺,包括大資料,最後它還是會跟語言知識結合起來,這個時候會是一個融合的深度語義理解過程,我們看到一個視訊,除了對視訊內容的分析以外,想進一步理解的是背後的相關知識,這個時候又要用到知識圖譜。

 

 

時間關係這個部分我不詳細講了。大家看到這樣一個片子,通過視覺技術來識別裡面的關鍵資訊,同時結合知識圖譜我們能對這個片子有個更完整的理解。大家看到這個世界盃期間的一小段視訊,前半段是用視訊語義理解的技術,讓電腦自動的在看這段視訊,然後把相應的內容理解出來。之後我們要結合知識圖譜,結合背景知識把它給完整的理解之後,利用語言的生成技術,最後用語音合成技術,合成一個世界盃比賽的自動解說。

 

另一個例子智慧客服,更多是語言和知識與語音技術的結合,這個已經接入運營商的系統自動接客戶的電話,不需要人來干預接聽。這是一段真實的使用者打進來電話,機器接聽的例子,這背後需要語音的識別,需要對使用者意圖的理解,也需要背後的知識圖譜,需要對業務流程的理解,最後合成出來幫使用者完成他的需求,這也是各種人工智慧技術綜合在一起做成的智慧客服。

 

語言和知識已經有很多地方在應用,如前面的例子。但也面臨有幾個挑戰,在我看來這些方面是挑戰很大的。

 

現在大資料規模非常大,但做特定應用、特定任務的時候仍然有語料稀疏的問題,怎麼用無標註,弱標註資料去指導模型訓練仍然是很重要的一個方向;

 

另一方面是知識有效的利用,為了有效利用知識,涉及到知識的發現、凝練、儲存、計算、推理等一系列的事情。大家都知道神經網路非常熱,如何讓這兩個差別很大的體系更好的深度融合,也我們需要進一步去探索;

 

另一方面就是結合應用場景的語用問題的解決,或者說我們做語言理解的時候涉及到各種語用的問題。

 

今天我的報告就到這裡,我相信隨著技術發展,我們會讓機器越來越深入地理解語言、掌握知識、也擁有智慧。謝謝大家!