清華大學劉知遠:知識表示學習及其應用(附視訊、PPT下載)

資料派THU發表於2018-05-21


本講座選自清華大學計算機系副教授劉知遠於2018年4月27日在第二屆“大資料在清華”高峰論壇上所做的題為《知識表示學習及其應用》的演講。


注:後臺回覆關鍵詞“0520”,下載完整版PPT。

演講視訊:

視訊時長約半個小時,建議使用wifi觀看

 演講全文

劉知遠:今天跟大家分享的題目叫"知識表示學習及其應用"。

大概在二三十年前,我們早就面臨所謂的資料過載的問題,當時就有一個專門的領域叫資訊檢索,研究如何在大資料裡面快速地獲取相關的資訊。


搜尋引擎是一個非常重要的應用,我們每天都要無數次地使用,比如谷歌、百度,它們已經有快20年的歷史了。


我們過去的搜尋更多地是使用關鍵詞匹配的形式。首先,使用者寫入若干關鍵詞,然後搜尋引擎進行關鍵詞的匹配。2012年,谷歌提出新的口號,叫“Things,Not Strings”。它的意思是說搜尋引擎不希望只是把使用者輸入的關鍵詞或者它要處理的海量網際網路資料,看成一個一個的字串,而是希望能夠真正地去認識,或者說真正地挖掘這些字串背後所反映的現實世界的真實事情。


在這個理念的驅動下,誕生了谷歌的知識圖譜產品。無論使用者使用百度、搜狗還是谷歌,無論搜尋名人、一個機構還是地名,都會出現關於機構或者人的一些結構化資訊。


比如,我們搜尋姚明,姚明的相關資訊就會列出來,這些資訊就是所謂的知識圖譜。它嘗試著把現實世界所有的資訊都能夠通過結構化的形式來儲存。這種知識圖譜,不只是為了支援我們的搜尋引擎,能夠把資訊更精準地推送給我們,也是人工智慧一些應用的基礎設施。我們單從搜尋引擎來看,在知識圖譜的支援下,已經有了非常多新的應用。


在搜尋引擎裡,越來越多的時候不需要輸入一些關鍵詞,也不需要到網頁裡找答案,而是直接去問這個問題,搜尋引擎就可以把答案告訴我們。


比如我們問"中國GDP最高的省份是哪個?",它就可以直接把相關的答案告訴你。如果可以的話,還可以點選進去了解相關的資訊。



比如我們問“清華大學成立於哪一年?”,它會把相關的資訊告訴你,這些資訊都是儲存在背後的知識圖譜裡,需要應用自然語言處理技術還有知識圖譜的技術,來了解你的問題,然後到知識圖譜裡找到答案。


甚至還可以嘗試著回答一些更復雜的問題,比如說“清華和北大哪個好?”。搜狗告訴我們:有64%的人認為是清華好。


在知識圖譜的支援下,我們還可以進行相關的智慧推理。比如說“梁啟超兒子的妻子的情人是誰?",它的答案並不直接存在知識圖譜裡,而是需要在知識圖譜結構裡,跳若干次才能找到答案。這本身需要相關的一些智慧推理來完成。實際上無論是谷歌,還是中國的百度,這些相對的搜尋引擎都在嘗試構建大量的知識圖譜,給使用者提供更好的服務。對於大資料時代來說,這件事情非常重要。


甚至還可以嘗試著回答一些更復雜的問題,比如說“清華和北大哪個好?”。搜狗告訴我們:有64%的人認為是清華好。


在知識圖譜的支援下,我們還可以進行相關的智慧推理。比如說“梁啟超兒子的妻子的情人是誰?",它的答案並不直接存在知識圖譜裡,而是需要在知識圖譜結構裡,跳若干次才能找到答案。這本身需要相關的一些智慧推理來完成。實際上無論是谷歌,還是中國的百度,這些相對的搜尋引擎都在嘗試構建大量的知識圖譜,給使用者提供更好的服務。對於大資料時代來說,這件事情非常重要。


到目前為止,這些商業的知識圖譜應用都秉承一種比較傳統的表示,我們稱為"符號表示"。在計算機裡,要想把知識圖譜表示進來,就要把每一個實體都表示成一個獨一無二的符號,把它表示成一個非常長的向量,只有一個位置是1,其他的全是0,這樣就可以把不同的物件區分開。

這次深度學習的浪潮,席捲了人工智慧非常多的領域,包括自然語言處理領域。分散式表示的物件均被表示成一個低維的稠密、實值向量。通過這種方式,我們就可以利用物件在空間的相對距離,反映它們之間的語義關係。兩個物件離得越近,說明關係越緊密,兩個物件離得越遠,說明它們之間沒有太強的關係。

自然語言處理是一種典型的長尾分佈的大資料,最大的特點是會在長尾的部分有非常顯著的資料稀疏問題。如果把這些物件都表述在低維向量空間裡面,可以在這個空間裡面利用少量的但是特別高頻的物件,學習得到這個空間裡面不同位置上的語義。當把那些長尾上稀疏的資料也對映到這個空間的時候,就可以藉助那些高頻的資料,一定程度上可以幫助我們解決大資料裡面典型的長尾分佈帶來的資料稀疏問題。


另外一個非常重要的挑戰是,自然語言存在多種粒度語言單位。在進行自然語言處理的時候,往往需要專門設計演算法進行不同粒度單位的語義計算,比如算一個詞跟一個句子的相似度,算一個句子跟一個文件的相似度。如果能夠把這些物件都放在低維的向量空間裡面,我們就可以有一個統一的計算方案,可以算它們之間的相似度。


比如對於同一個研究物件,一個句子或者一個文件,都會有非常多不同的任務,要做詞化分析、句法分析或者語義分析,底層的表示如果一致,也能夠更好地幫我們提供多工學習的支援,這是我們認為的分散式表示的一個優勢。

大規模知識圖譜傳統表示也是基於符號的方式,都是用獨一無二的符號來進行表示。把知識圖譜對映到低維的向量空間裡面去,就是所謂的知識表示學習。

知識圖譜裡面有很多的事實,我們可以把每一個事實,它的向量看成是從頭實體到尾實體向量平移的操作。

如上圖,頭實體用h表示,尾實體用t表示。假如說存在r的關係,這個r就是從頭實體到尾實體的平移。簡言之,我們的優化目標,就是要讓h+r=t。這樣有了成千上百萬的三元組一起做優化,我們就可以得到所有實體和它們關係之間低維的向量表示。有了低維向量表示,就可以做非常多的相關的語義的計算。

從大規模知識圖譜到低維向量空間過程中一定是有資訊損失的,但是能夠快速定位那些最有可能的實體集合,然後利用一些更復雜的演算法找它的真正的答案。這是低維向量表示的應用意義。

我們嘗試利用知識圖譜進行關係預測,得到了所有實體和關係之間的表示,用t-h就可以判斷。


知識獲取的另一個非常重要的來源是文字資訊,可以通過一句話判斷兩個實體之間可能存在的關係。


如果把知識圖譜對映到低維向量空間裡面,能夠非常好地把文字語義空間結合起來,相當於資訊量能夠充分地擴充套件出來,顯著地提升知識獲取的準確度。


另外一個嘗試叫做實體對齊。我們面臨一個問題,不同的機構和國家,他們可能會構建各種各樣不同的知識圖譜,這些知識圖譜既有不同,也會存在一定共性。我們怎麼能夠把這些不同來源的知識圖譜給融合成一個更大的知識圖譜,這裡面就面臨一個實體對齊的問題。知識圖譜裡面的實體和另一個知識圖譜的實體是同一個實體,我們叫做實體對齊。


兩個知識圖譜可以分別學習兩個空間,然後用已知的兩個知識圖譜裡面對齊的實體,就可以把這兩個空間真正關聯起來。我可以知道這個空間裡面的一個位置,跟這個空間裡面的另一個位置,它們之間有關聯,相當於分別學習兩個Knowledge Graph的表示空間,然後用非常有限的種子的實體,把這兩個空間給融合在一起。


大量的實驗證明,我們的方法能夠顯著地提高兩個知識圖譜進行對齊的效果,同時說明知識圖譜有非常顯著的長尾效應,把它對映到低維向量空間裡,能夠更好地利用知識圖譜全域性資訊建立語義空間。


第三個任務叫實體分類,這對於理解一句話,或者從這句話中抽取實體之間的關係都非常重要。最大的問題在於知識圖譜如果用符號表示,它很難能夠跟深度學習結合在一起。現在由於可以進行分散式表示,那麼很自然地可以把這兩個模型融合在一起。

在過去,知識圖譜雖然很大很重要,但是很難用,因為它是一個典型的結構化的資訊,跟文字的資訊很難融合。但是現在有了低維向量表示,就真正地可以把知識圖譜的知識,和文字資訊放在一個空間裡面進行相關的操作。在這個方面,我們認為未來對於知識圖譜的大規模表示的語義空間,會在非常多的方向上有應用。但是,我們發現在一些通用的知識圖譜上,學一個大規模知識圖譜表示學習的模型還是比較難。所以我們做了一個平臺,把目前來看比較有效的一些知識表示的模型全都實現,都用統一的介面。


我們面向兩個通用的大規模知識圖譜WikiDATAFreebase,基於表示學習的技術將知識圖譜對映到一個低維的語義空間裡面,有望深入地應用到多個領域,如資訊檢索、推薦系統。這兩個領域都在積極考慮使用大規模知識圖譜資訊,我們也正嘗試把知識用低維空間提升檢索效果,效果非常明顯。


在金融、醫療、法律等垂直領域,構建知識圖譜的過程非常複雜且耗時耗力,我們認為表示學習能夠在知識獲取方面發揮一些作用。目前,大規模知識圖譜對日常知識的覆蓋度以及更新的速度都非常有限。未來我們希望能夠做一些深入的工作,花足夠多的力氣在知識圖譜技術上。以上就是今天希望跟大家分享的主要內容,謝謝大家!


整理:杜佳豪


相關文章