Paper: TranE

論文標題Translating Embeddings for Modeling Multi-relational Data

標題翻譯多元關係數據翻譯嵌入建模

摘要算法

  考慮多元關係數據的實體和關係在低維向量空間的嵌入問題。咱們的目標是提出一個權威模型,該模型比較容易訓練,包含一組簡化了的參數,而且可以擴展到很是大的數據庫。所以,咱們提出了TransE,一個將關係做爲低維空間實體嵌入的翻譯的方法。儘管它很簡單,可是這種假設被證實是強大的,由於大量的實驗代表在兩個知識庫鏈接預測方面,TransE明顯優於目前最新的方法。除此以外,它可以成功地訓練一個有1M的實體,25k的關係和超過17M的訓練樣例的大規模數據集。數據庫

會議類型:Poster, Partof:Advances in Neural Information Processing Systems 26 (NIPS 2013)網絡

原文網址:http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-relational-data框架

Authors:Antoine Bordes,Nicolas Usunier,Alberto Garcia-Duran,Jason Weston,Oksana Yakhnenkoide

Abstract: We consider the problem of embedding entities andrelationships of multi-relational data in low-dimensional vector spaces. Ourobjective is to propose a canonical model which is easy to train, contains areduced number of parameters and can scale up to very large databases. Hence,we propose, TransE, a method which models relationships by interpreting them astranslations operating on the low-dimensional embeddings of the entities.Despite its simplicity, this assumption proves to be powerful since extensiveexperiments show that TransE significantly outperforms state-of-the-art methodsin link prediction on two knowledge bases. Besides, it can be successfullytrained on a large scale data set with 1M entities, 25k relationships and morethan 17M training samples.工具

1簡介

  多元關係數據適用於有向圖,圖的結點元組(head,label,tail)對應(表示爲(h,l,t)),每一個元組意爲在實體head和tail之間存在一個名爲label的關係。多元關係數據模型在不少領域扮演着很重要的角色。例如社交網絡,實體是成員,邊是朋友/社會關係鏈接,又如推薦系統中的實體是用戶和產品,關係爲買,評級,檢索或搜索一個商品,再或知識庫,如Freebase,Google知識圖譜或Gene Ontology,這些知識庫中的每一個實體表明世界中的一個抽象概念或者具體的實體,關係式謂詞,表明他們兩個之間的事實。咱們的工做重點是對知識庫的多元關係數據建模,提出一個高效地工具經過自動增長事實,而不須要額外的知識來完成它們。性能

多元關係數據建模通常而言,建模過程歸結爲抽取實體間局部或者整體的鏈接模式,經過這些模式歸納觀測的一個特定的實體和其它全部的實體之間的關係來預測。一個局部的單個關係的概念多是一個純粹的結構,好比在社交網絡中,個人朋友的朋友是個人朋友,但也能夠依賴於實體,例如,一些喜歡看Star Wars IV的人也喜歡Star Wars V,可是他們可能喜歡Titanic也可能不喜歡。相比之下,通過一些數據的描述性分析後能夠造成單關係數據專門的可是簡單地模型假設。關係數據的難點在於局部概念在同一時間可能涉及關係和實體的不一樣類型,以至對多關係數據建模時要求更通常的方法,這種方法能在考慮全部多樣的關係同時選擇合適模型。學習

  文獻[6]指出,隨着基於用戶/項目聚類或矩陣分解的協同過濾技術在表示單關係數據的實體鏈接模型之間極大地類似之處的成功,爲了處理多關係數據,大多數的方法都是基於從潛在的特徵進行關係學習的框架下進行設計的;也就是說,經過實體和關係的潛在表示來學習和操做。在多關係領域,這些方法的擴展形式例如隨機塊模型[7][10][11]的非參貝葉斯擴展和基於張量分解[5]或者集體矩陣分解[13][11][12]的模型,在低維空間實體嵌入學習方面,這些最近的方法不少都致力於增長模型的表達性和通常性,無論是貝葉斯聚類框架仍是能量模型。這些方法的表達性雖然有較大的提升,可是也大幅增長了模型的複雜性,以至模型假設很難解釋,且計算成本更高。除此以外,這樣的方法可能受限於過擬合,由於對如此複雜的模型進行適當的正則化是很難的,或者受限於欠擬合,由於非凸優化問題有不少的局部極小值,這些是須要解決和訓練的。事實上,文獻[2]指出了一個簡單的模型(線性代替雙線性)在一個具備相對較多數量的不一樣關係的幾個多元關係數據集上取得了與大多數表達性好的模型一樣好的性能。這說明,即便在複雜和異質的多元關係領域,簡單可是恰當的模型假設可以在精度和擴展性之間實現較好的折中。測試

  關係在嵌入空間上的翻譯本文,咱們介紹TransE,一個基於能量的模型,用於低維實體嵌入學習。在TransE中,關係表示爲嵌入空間上的翻譯:若是有(h, l,t),那麼尾實體t的嵌入應該與頭實體的嵌入h加上一些依賴於關係l的向量接近。咱們的方法依賴於一組簡化了的參數集學習每一個實體和關係一個低維向量。優化

咱們提出的基於翻譯的參數化模型的主要動機是層次關係在知識庫中是極常見的,而翻譯是爲了解釋它們的一個天然變換。考慮樹的天然表示(好比,二叉樹),兄弟結點互相挨着,而且這些節點在x軸上以必定的高度排列,父親-孩子關係與在y軸上的一個翻譯對應。由於一個空的翻譯向量與兩個實體之間的關係等價是對應的,因此,這個模型一樣可以表示兄弟關係。所以,咱們選擇使用每一個關係的參數預算(一個低維向量)來表示在知識庫中咱們所考慮的關鍵關係。咱們的第二個動機來源於文獻[8],做者從自由文本中學習詞嵌入,而且不一樣實體之間有1對1的關係,例如國家和城市之間的省會關係,表示爲嵌入空間上的翻譯。這說明可能存在這樣一個嵌入空間,不一樣類型實體之間存在1對1關係,且被表示爲翻譯。咱們的模型的目的是增強嵌入空間中的這樣的結構。

  第4節的實驗證實這是一個新模型,儘管它很簡單且主要是爲層次結構模型的問題建模,可是它在大多數的各類各樣的關係下被證實是是頗有效的,而且在realworld知識庫中的鏈接預測方面,明顯優於目前最新的方法。除此以外,較少的參數使得它可以成功訓練從包含1M實體和25k的關係而且超過17M的訓練樣例分割的Freebase大規模數據集。

  在第2節咱們描述咱們的模型而且在第3節討論它和相關方法的聯繫。第4節咱們詳述基於Wordnet和Freebase相關的大量實驗,並拿TransE和文獻中的不少方法作比較。在第5節裏,闡述結論並指出將來的研究方向。

 

2 transE模型

 

3相關工做

 

4實驗(1數據集2實驗設置3連接預測4用幾個例子學習預測新關係)

  TransE的實驗數據是從Wordnet和Freebase中抽取的(它們的統計分佈已經在表2中給出),並以各類各樣的標準和擴展到相對較大的數據集上與文獻中幾個已經證實是如今最好的幾個方法比較。

4.1數據集

  Wordnet這個知識庫用於產生直覺上可用的字典和辭典,而且支持自動文本分析。它的實體對應着詞義,關係定義它們之間的詞彙關係。咱們使用了文獻[2]中使用的數據版本,咱們在下面表示WN。元組的樣例爲(score NN 1,hypernym, evaluation NN 1)或者(score NN 2,has part, musical notation NN 1)。

  FreebaseFreebase是一個通常事實很大而且不斷增加的知識庫;目前有大約12億的元組和超過8千萬的實體。咱們用Freebase構造兩個數據集,作一個小的數據集在咱們所選擇的實體子集上作實驗,這個數據集也在Wikilinks數據庫中,而且至少有100個在Freebase中(包含實體和關係)。咱們移除像’!/people/person/nationality’的關係,與關係’/people/person/nationality’相比僅僅把頭和尾互換。結果是含有14951個實體和1345個關係的592,213個元組被隨機分割,如表2。在本節的剩餘部分這個數據集表示爲FB15k。咱們也想用一個大規模的數據在規模上去測試TransE。所以,咱們從Freebase構造了另外一個數據集,經過選擇最頻繁出現的1百萬個實體。這個分割大約有25k的關係和超過170萬的訓練元組,稱爲FB1M。

4.2實驗設置

  評價方案咱們使用跟文獻[3]同樣的排名過程。對每一個測試元組,頭部被移去或者被字典中的每一個實體輪流替換。首先經過模型計算這些錯誤元組的類似性(或者能量),而後按升序排列;最後,正確的實體排名被存儲。重複這個過程,把移去頭部用移去尾部代替。咱們報告這些預測排名的平均值和hits@10,也就是,排在前10的正確實體的比例。

  這些度量有必定的參考性可是當一些錯誤元組在驗證集上時也有缺陷。在這種狀況下,這些可能排在測試元組之上,可是這不該該被做爲一個錯誤計算,由於這二者都是正確的。爲了不這樣一個誤導的行爲,咱們移除全部的錯誤元組,無論是出如今訓練集和驗證集或者測試集中的。這保證了全部的錯誤元組不屬於數據集。在下文中,咱們報告這兩種設置下的平均排名和hits@10:原始的數據在論文中爲raw,新的爲filt。在FB1M的實驗上,咱們僅提供了原始數據的結果。

  標準第一個方法是無結構的,TransE的一個版本,只考慮了數據的單一關係而且置全部的翻譯爲0(文獻[2]也將它做爲標準使用)。咱們也和RESCAL做比較,RESCAL是文獻[11][12]提出的集體矩陣分解模型,同時也和文獻[3]的能量模型SE、文獻[2]中的SME(線性)/SME(雙線性)以及文獻[6]的LFM做比較。RESCAL經過交替最小二乘法訓練,其它的與TransE同樣經過隨機梯度降低訓練。表1比較了模型的理論參數數量,而且在FB15k上給出了數量級。SME(線性), SME(雙線性), LFM和TransE做爲無結構的低維嵌入的參數數量幾乎同樣,對於SE和RESCAL算法,每一個關係要學習至少k*k維的矩陣,所以須要學習更多的參數。在FB15k上,RESCAL大約須要87倍多的參數,由於它比其它模型須要一個較大的嵌入空間以取得較好的性能。由於參數的規模和訓練時間緣由咱們沒有在FB1M上作關於RESCAL,SME和LFM的實驗。

  咱們全部的訓練方法得代碼都是由提出這些方法的做者提供的。對於RESCAL,因爲規模緣由,咱們必須設置正則化參數爲,這一點在文獻[11]中已經代表,而且在中選擇隱藏維數k,這能夠致使在驗證集上取得較低的平均預測排名(使用原始數據)。對於無結構的SE, SME(線性)和SME(雙線性),在中選擇學習率,在中選擇k,而且使用在驗證集上的平均排名來選擇最好的模型(在訓練數據上最多執行1000次)。對於LFM,咱們也是用平均驗證排名來選擇模型,並在中選擇隱藏維數,在中選擇因素的數量,在中選擇學習率。

  實現關於TransE的實驗,對於隨機梯度降低的學習率λ從中選擇,邊際值γ從中選擇,k從中選擇。類似性度量d根據驗證的性能選擇L1選擇L2。優化配置爲:在Wordnet上k=20,λ=0.01,γ=1,d=L1;在FB15k上,k=50,λ=0.01,γ=1,d=L1;在FB1M上,k=50,λ=0.01,γ=1,d=L2。對全部的訓練集,訓練時間最多爲1000次。最好的模型經過驗證集(原始數據)上的平均排名來選取。在註釋6的網頁上公開了TransE的實現資源。

4.3連接預測

表3:連接預測結果。不一樣方法的性能。

  整體結果表3顯示了全部數據集全部方法的比較。與預期結果一致,通過過濾設置的結果具備較低的平均排名和較高的hits@10,相信在連接預測方面對各類方法有一個清晰地性能評估。然而,raw和filtered的趨勢是同樣的。

咱們的方法TransE在全部度量上面一般很大程度上優於全部進行比較的方法,而且取得了一些絕對好的性能例如WN上89%的hits@10(超過40k的實體)和在FB1M上的34%的hits@10(超過1M的實體)。TransE和這些第二好的方法之間的不一樣之處是很重要的。

  咱們相信TransE良好的性能是因爲對數據恰當的建模,但也是因爲模型相對簡單。這意味着它可以用隨機梯度有效的優化。第3節咱們已經說明SE比咱們的模型更具表達性。然而,它的複雜性可能使它學習起來十分困難,致使性能不好。在FB15k上,在訓練集的一個有50k的元組的子集上SE取得了165的平均排名和35.5%的hits@10,TransE則分別取得了127和42.7%,這代表事實上TransE欠擬合的程度更小,這可能能解釋它比較好的性能。SME(雙線性)和LFM有一樣的訓練問題:咱們歷來都沒有成功的把它們訓練的足夠好來開發出它們全部的功能。經過咱們的評價設置–基於實體排名,LFM較差的結果也能夠解釋,由於LFM最初是爲了預測關係提出來的。在FB15k上,RESCAL可以取得十分好的hits@10,可是平均排名方面比較差,尤爲在WN上,即便咱們用很大的隱藏維度(2000 onWordnet)。

  翻譯的影響是巨大的。當比較TransE和非結構的方法(也就是缺乏翻譯的TransE),非結構化的平均排名相對較好,可是hits@10很是差。非結構化的方法簡單的把全部出現的實體聚類,不依賴所涉及的關係,所以僅僅靠猜測來判斷實體相關。在FB1M上,TransE和非結構化方法的平均排名幾乎同樣,可是TransE的預測排在前10位的數目是非結構化方法的10倍之多。

表4:關係聚類的詳細結果。咱們比較了在FB15k上以過濾數據爲評價比較TransE和參考方法的hits@10。

詳細結果表4展現了在FB15k上依據關係的幾種類別的分類結果,並依此對幾種方法進行預測。咱們根據頭和尾的基數參數把關係分爲4類:1-1,1-多,多-1,多-多。若是一個頭部至多對應一個尾部,那麼它們的關係是1-1,若是一個頭部對應多個尾部,那麼它們的關係是1-多,若是不少頭部對應同一個尾部,那麼它們的關係是多-1,若是多個頭部對應多個尾部,那麼它們是多-多關係。經過下面的處理咱們把關係分紅這四類,給定一個序對(l,t)(一樣地,序對(h,l),對每一個關係l,計算頭部h(一樣地,尾部t)出如今FB15k數據集上的平均數。若是這個平均數小於1.5就被標記爲1-多等等。例如,每一個尾部平均有1.2個實體而且每一個頭部平均有3.2個尾部的關係被分類爲1-多。咱們獲得在FB15k上有26.2%的1-1關係,22.7%的1-多關係,28.3%的多-1關係和22.8%的多-多關係。

表4中的詳細結果考慮了一個更精確的評估而且瞭解了這些方法的行爲。首先,它出現了指望的結果,它可以很容易的預測實體一方只有一個對應關係的元組的實體(也就是預測在關係1-多下預測頭部,在多-1關係下預測尾部),也就是有多個實體指向它的時候。這些是有很好指向的例子。SME(雙線性)被證實在處理這樣的例子時時很精確的,由於這些例子是它們訓練最多的樣例。非結構化的方法在1-1關係上顯示了良好的性能:這代表這樣的關係的參數必須共享相同的隱藏類型,而非結構化的方法在嵌入空間上經過聚類把實體鏈接在一塊兒可以發現這樣的隱藏類型。可是這種策略在其它關係類型上是失敗的。在嵌入空間增長翻譯,經過其後的關係從一個實體聚類到另外一個實體聚類。對這些指向性很好的例子這一點是很是驚人的。

表5:TransE在FB15k測試集上的樣例預測。粗體是測試元組正確的尾部,斜體是訓練集上其它正確的尾部。

 

舉例說明表5給出了TransE在FB15k測試集上的樣例連接預測的結果。這舉例說明了咱們模型的能力。給定一個頭部和一個標籤,排在最高位的尾部被描述出來。這些樣例來自FB15k的測試集。即便排在最高位的不老是最好的答案,但這個預測也反映了通常的常識。

4.4用幾個例子學習預測新關係

  用FB15k,經過檢查這些方法在學習新關係時的速度有多快來測試他們在泛化新的事實方面有多好。爲了那個目的,咱們隨機選擇40個關係而且分割成兩個數據集:一個數據集(命名爲FB15k-40rel)包含全部40個元組,另外一個數據集(FB15k-rest)包含剩餘的數據。咱們確保它們包含全部的實體。FB15k-rest被分割成一個包含353,788個元組的訓練集和一個包含53,266個元組的驗證集。FB15-rel分紅40,000元組的訓練集和45,159的測試集。利用這些數據集,咱們分析以下實驗:(1)利用FB15k-rest的訓練集和驗證集訓練和選擇最好的模型,(2)隨後在FB15k-40rel的訓練集上訓練而且只學習和新的40個關係相關的參數,(3)在FB15k-40rel的測試集(只包含(1)期間沒有見過的關係)上進行鏈接預測評估。在(2)階段,對每一個關係咱們用0,10,100和1000個樣例重複這個過程。

 

圖1:用幾個樣例學習心關係。比較試驗數據是FB15k數據集,使用平均排名(左)和hits@10(右)做爲評價標準。更多細節參見下文。

  圖1展現了非結構化方法,SE,SME(線性),SME(雙線性)和TransE的結果。但不提供已知關係時,非結構化方法取得的性能最好,由於它並不使用這些信息去預測。可是,當提供關係的例子時這種性能並無獲得提高。TransE是學習最快的方法:只有一個新關係的10個樣子時,它的hits@10仍然有18%,而且隨着提供樣例的增長這個數據單調遞增。咱們相信TransE模型的簡單性使它可以有較好的泛化能力,而沒必要修改任何已經訓練好的嵌入。

5總結和展望

  咱們提出了一種新的學習知識庫嵌入的方法,主要是最小化模型的參數,主要表示層次關係。經過與兩個不一樣且規模很大的知識庫上和其它方法比較,咱們的模型效果很好,藉此咱們把它應用到了大規模知識庫數據塊上。儘管還不清楚用咱們的方法是否可以充分地對全部的關係類型建模,可是經過關係分類評價與其餘方法相比在全部的設置條件下它彷佛有很好的性能。

  後面會進一步分析這個模型,而且把它應用到更多的任務中,特別是應用到如文獻[8]提到的學習詞表示。結合知識庫和文本[2]是另外一個重要的方向,咱們的方法對此多是有用的。所以,最近咱們把TransE插入到一個框架中從文本[16]中進行關係抽取。

相關文章
相關標籤/搜索