1. 程式人生 > >Name Disambiguation in AMiner-Clustering, Maintenance, and Human in the Loop

Name Disambiguation in AMiner-Clustering, Maintenance, and Human in the Loop

Name Disambiguation in AMiner: Clustering, Maintenance, and Human in the Loop paper: http://keg.cs.tsinghua.edu.cn/jietang/publications/kdd18_yutao-AMiner-Name-Disambiguation.pdf code: https://github.com/neozhangthe1/disambiguation/   本文通過結合全域性和區域性資訊提出了一個全面的框架來解決名字消歧問題,並提出比傳統基於 BIC 方法更好的端到端的簇大小估計方法。為提高準確性,加入反饋機制,與 GHOST 等目前集中最先進的方法相比,該方案有明顯的效能提升。  

1. 挑戰

  • 如何量化不同資料來源中實體的相似性
    • 可能沒有重疊資訊,需要設計一種量化規則
  • 如何確定同名人數
    • 現有方案通常預先指定
  • 如何整合連續的資料
    • 為確保作者經歷,需要最小化作者職業生涯中的時間和文章間的間隔,保證其連續性
  • 如何實現一個迴圈的系統
    • 沒有任何人為互動的消歧系統不夠充實,利用人的反饋實現高的消歧準確性

2. 整體框架介紹

  • 量化相似性
    • 提出了一種結合全域性度量和區域性連結的學習演算法,將每個實體投影到低維的公共空間,可直接計算其相似性
  • 確定簇數
    • 提出一種端到端的模型,使用遞迴神經網路直接估算簇數
  • 結合人的參與
    • 定義了來自使用者/註釋的6個潛在特徵,將其結合到框架的不同元件中以改善消歧準確性

3. 相關研究

  • 基於特徵的方法
    • 利用監督學習方法,基於文件特徵向量學習每對文件間的距離函式
    • Huang:首先使用塊技術將具有相似名稱的候選文件組合,然後通過 SVM 學習文件間距離,使用 DBSCAN 聚類文件
    • Yoshida:提出兩階段聚類方法,在初次聚類後學習更好的特徵
    • Han:提出基於 SVM 和 Naive Bayes 的監督消歧方法
    • Louppe:使用分類器學習每對的相似度並使用半監督層次聚類
  • 基於連結的方法
    • 利用來自鄰居的拓撲和資訊
    • GHOST 僅通過共同作者構建文件圖
    • Tang 使用隱馬爾科夫隨機場模擬統一概率框架中的節點和邊緣特徵
    • Zhang 通過基於文件相似度和共同作者關係從三個圖中學習圖嵌入
本文結合上述兩種方法優點,結合監督學習全域性嵌入和區域性連結結構
  • 估計簇大小
    • 之前為預設值
    • 使用 DBSCAN 之類方法避免指定k
    • 使用 X-means 變體基於貝葉斯資訊準測測量聚類質量迭代估計最優 K
本模型輸入為一組文件嵌入,輸出簇數量

4. 引數設定

設 a 為給定名字,關於 a 的文件集為   其中每篇文件的特徵(包含 title,abstract,co-authors,venue.. )為   使用 I 表示 identity,如果 則兩篇文章屬於同一個人   姓名消歧問題 任務:尋早一個函式將一組文件 D 分到不同的集合 ( 同一個集合僅包含同一人的文章 ) Ca 為 Da 名字a 的消歧結果   要解決消歧問題,需要更多的約束,此處主要考慮兩種: 本身約束 Si 和成對約束 Sp (y 表示是否資料集合 Ck)   成對約束 由個體約束推導成對約束

5. 框架

5.1. 表示學習

為有效量化不同文件間的相似性,將文件轉換到同一嵌入空間,如果Di 與 Dj 相似,表示為:

5.1.1. 全域性度量學習

每個文件 Di 被表示為一組不同長度的特徵向量 Di = { x1,x2,...}---title,abstract,coauthors,venue.. 每個特徵為一個 one-hot 向量,首先將向量對映到一個連續的低維空間 每個文件的特徵表示為 (每個特徵嵌入的加權總和,an 是特徵xn 的反轉文件頻率,xi 捕捉每個文件中共現統計量捕獲特徵之間的相關性) 但 xi 用於區分文件能力有限,需要其他協助   Contrastive Loss 給定一組約束     目的:強制正相關在嵌入空間內距離較近,反之,較遠 設yi 為 Di 新的嵌入函式,目標為優化以下對比損失函式   (m 為margin) 由於將所有文件投影到同一空間的單個點上較困難(每個作者的不同文章可能為與不同社群協作的不同主題),因此採用排名學習,並優化三組損失函式   Triplet Loss   相對於投影到單個點,三元損失使得同一個體的文章可以在多個點,並同事獲得與其他文件的距離   因為不同集合的文件被嵌入統一空間,因此稱 {yi} 為全域性嵌入 但是由於聚類是為每個名字單獨進行的,還需要利用每個集合的區域性資訊提高效能  

5.1.2. 本地連結學習

利用本地鏈路中的細粒度資訊完善全域性嵌入 為每個名稱構建區域性鏈路圖(兩個文件有較多相似特徵則更有可能屬於同一作者) 邊為文件間的相似度,連結權重 W(Di, Dj) 為文件間共同特徵的交集(共同特徵的加權和) 如果 W 高於一個閾值,則建立邊 使用無監督的自編碼器從本地鏈路學習   自編碼器 node encoder model ( Y 為D的嵌入矩陣,A 為圖G 的鄰接矩陣)   edge decoder model (Z=[z1,z2...] 為節點嵌入矩陣,A 為預測的鄰接矩陣   目標是最小化 A 和 A~ 之間的重構誤差   使用圖卷積網路(GCN) ( A 為對稱的鄰接矩陣,W0 W1分別是第一、二層的引數 解碼器 g2     Di 和 Dj 間存在邊的概率為   目標函式:最小化交叉熵 我們採用 Z=[z1,z2,...] 作為文件新的嵌入表示,包含來自全域性和本地的資訊  

5.2. 簇估計

聚類大小估計 X-means缺點: 1. 基於預定義的測量方式(如貝葉斯資訊準則)評分聚類質量--不能夠處理複雜資訊的融合,聚類數量較大時容易過擬合 2. 基於對潛在資訊的拆分(資料集較大時不夠高效)   因此提出 end-to-end 模型: 輸入:文件集 輸出:直接估計實體數量   方法 使用分層凝聚聚類(HAC) 作為主要聚類方法 本方法採用 RNN 作為編碼器,嘗試將一組嵌入向量對映到集合的真正簇數 遞迴神經網路在離散序列和資料集建模中的應用: 將 RNN 作為編碼器,嘗試將一組嵌入向量對映到分類簇中   挑戰: 1. 輸入集合變化範圍是 1~nw 雖然 RNN 可通過填充或截斷處理可變大小的輸入,但也會引入偏差 2. 難構建一套訓練集 手動標記不可行   解決-偽訓練資料生成策略: 使用一種抽樣策略構建偽訓練集 設 C={C1, C2...} 是一組乾淨的簇(每個叢集中僅包含單個作者的文件)
  • 對每個第t步的訓練,首先在[Kmin, Kmax] 間選取簇數 kt
  • 從 C 中選取 Kt個叢集構建偽候選集 Ct
    • DCt:表示 C 中所有文件
    • z: 表示固定樣本大小
  • 從DCt 中取樣 z 個文件 Dt進行替換
    • Dt 可能包含重複文件且 Dt 的順序是任意的
  • 通過此方式可從 C 中構建無數的訓練集
  • 使用一個神經網路框架使得 h(Dt)-->r
使用雙向 LSTM 作為編碼器,和一維全連線層作為解碼器 輸入:每篇文章的行特徵嵌入 優化均方差 Lh  

5.3. 連續整合

持續整合--如何處理不斷增長的資料 本文以流媒體方式整合新文章 時間成本:主要來自本地連結的學習,聚類,及從資料庫中抽取相關文件的 io 實時更新(使用最簡單的KNN):
  • 將新文件以下列方式貪婪的分配給現有的配置檔案:
  • 根據作者姓名和關聯在系統中到排序搜尋一組配置檔案,每個配置檔案對應一篇文章
  • 如果有多個匹配,檢索文件列表 Di 的全域性嵌入 yi,並構建一個本地 KNN 分類器用於查詢每個 Ck 的最佳分配
  • 每一個 Ck 是一個類別, {(yi,}是一組帶有標籤的資料點
此策略能夠實時更新文件,儘管可能為次優賦值,但可通過下次聚類重新計算的迭代進行校正   資料一致性 如何保證每次迭代更新之間的一致性 重新計算聚類後,可能結果與上次不一致 獲取新的聚類後,搜尋其與先前版本的最佳匹配 使用 Kuhn-Munkres 演算法尋找最佳的對映  

5.4. 利用人工註釋

允許使用者和註釋根據聚類結果進行反饋,支援:
  • 刪除
    • 刪除文件
  • 插入
    • 將文件Di 新增到 Ck
  • 拆分
    • 註釋為過度合併並請求聚類
  • 合併
    • 將 Ck 與 Ck‘ 合併
  • 建立
  • 確認
為在演算法中利用反饋,根據等式1 將個體約束 Si 轉換為成對約束 Sp,用到兩個學習嵌入階段 在全域性嵌入中 從 Sp 中選取的訓練集步驟如下
  • 從Sp基於取樣約束(Di,Dj,yij)
  • 如果 yij = 0 則基於約束(Di,Dl,1)從 Sp 中取樣,並生成三元組(Di,Dl,Dj)
  • 否則,從整個文件空間中隨機取樣並生成三元組
本地鏈路學習中 基於 Sp 改善本地鏈路,新增邊(Di,Dj)如果滿足:

6. 效果