Knowledge Base Completion by Learning to Rank Model算法
基於模型排序學習的知識庫推理dom
1. 知識庫推理(Knowledge Base Completion)就是從KB中已有的事實預測新的事實;函數
2. 目前的方法是PRA(Path Ranking Algorithm),基於鏈接實體的路徑類型預測事實,並將預測當作分類問題(使用邏輯迴歸);學習
3. 本文的方法是將關係預測視做一個排序問題,並基於YAGO進行試驗,最終成績優於各類分類模型。優化
儘管知識庫在不斷壯大,可是知識庫仍然不完整,缺失大量的事實,知識庫推理就是經過已有事實來預測未知的事實從而來填補缺失的事實。spa
符號方法使用規則或者關係路徑來推理新的知識,好比PRA算法;嵌入方法將推理問題看作一個矩陣完備(matrix completion)問題,學習KB中的實體和關係在低維空間的表示形式;固然也有人試着將兩個方法結合在一塊兒,好比基於路徑的TransE(Modeling relation paths for representation learning of knowledge bases, Lin, EMNLP2015)。blog
本文主要研究PRA算法和它的擴展。排序
PRA使用隨機行走(random walk)來遍歷有限長度的鏈接着實體對的路徑,實體對之間包含多關係實例。根據給定關係預測新關係實例的分類器將使用這些路徑做爲特徵。在PRA中,每一個關係路徑均可被看作一個邏輯規則,由於PRA其實是一種有區別性訓練的邏輯推理。it
PRA抽取關係路徑來創建LR(Logistic Regression)分類模型,它基於LCWA(local close world assumption)來生成負實體對。然而,真實的KB中有太多的負實體對,以至於正負實體對很是不均衡。另外,知識庫推理使用候選實體對來填充缺失的事實,對這些候選進行排序比給他們分類或者評分要更合理。io
對模型的排序學習包含兩步:(1)生成特徵矩陣;(2)爲每一個關係推理出新的事實
給定一個關係,集合
收集全部擁有關係
的實體對,即
而後根據Local Close World Assumption來生成負實體對。
對於每一個實體對,經過隨機行走遍歷出全部將
和
鏈接起來的有限長度的路徑,這些關係路徑類型的集合爲
這些路徑類型都將被當作關係特徵來爲新的實體對作預測。
咱們將這些路徑類型二值化,進而爲每一個實體對計算特徵向量。
採用不一樣的排序方法來創建成對目標函數(pairwise objective function)。定義
採用梯度提高樹(gradient boosting tree)或者lambdaMART做爲排序的方法,該方法將正負實體對做爲一個偏序。不用最小化邏輯迴歸的對數損失函數,咱們使用梯度提高學習實體對排序來直接優化MAP。LambdaMART的輸出定義爲:
公式的第一部分中,每個是由單個樹建模的函數,
是第i個樹的學習權重,K是樹的數量;
公式的第二個部分是結對損失,度量了預測值和實際值之間的距離;
公式的第三部分是正則化,在葉子值上添加L2懲罰來避免過擬合,C是常量,隨機梯度提高被用來提升一個基樹每輪迭代的準確率。