Name Disambiguation in AMiner: Clustering, Maintenance, and Human in the Loop
本文經過結合全局和局部信息提出了一個全面的框架來解決名字消歧問題,並提出比傳統基於 BIC 方法更好的端到端的簇大小估計方法。爲提升準確性,加入反饋機制,與 GHOST 等目前集中最早進的方法相比,該方案有明顯的性能提高。
- 整合了特徵和本地鏈路信息(和 CANE 類似)
- 自生成簇數,不須要預先設定
- 考慮了新數據的輸入
- 結合了人的參與反饋
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分別是第1、二層的參數
解碼器 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進行替換
- 經過此方式可從 C 中構建無數的訓練集
- 使用一個神經網絡框架使得 h(Dt)-->r
使用雙向 LSTM 做爲編碼器,和一維全鏈接層做爲解碼器
輸入:每篇文章的行特徵嵌入
優化均方差 Lh
5.3. 連續集成
持續集成--如何處理不斷增加的數據
本文以流媒體方式集成新文章
時間成本:主要來自本地連接的學習,聚類,及從數據庫中抽取相關文檔的 io
實時更新(使用最簡單的KNN):
- 將新文檔如下列方式貪婪的分配給現有的配置文件:
- 根據做者姓名和關聯在系統中到排序搜索一組配置文件,每一個配置文件對應一篇文章
- 若是有多個匹配,檢索文檔列表 Di 的全局嵌入 yi,並構建一個本地 KNN 分類器用於查找每一個 Ck 的最佳分配
- 每個 Ck 是一個類別, {(yi,}是一組帶有標籤的數據點
此策略可以實時更新文檔,儘管可能爲次優賦值,但可經過下次聚類從新計算的迭代進行校訂
數據一致性
如何保證每次迭代更新之間的一致性
從新計算聚類後,可能結果與上次不一致
獲取新的聚類後,搜索其與先前版本的最佳匹配
使用 Kuhn-Munkres 算法尋找最佳的映射
5.4. 利用人工註釋
容許用戶和註釋根據聚類結果進行反饋,支持:
爲在算法中利用反饋,根據等式1 將個體約束 Si 轉換爲成對約束 Sp,用到兩個學習嵌入階段
在全局嵌入中
從 Sp 中選取的訓練集步驟以下
- 從Sp基於採樣約束(Di,Dj,yij)
- 若是 yij = 0 則基於約束(Di,Dl,1)從 Sp 中採樣,並生成三元組(Di,Dl,Dj)
- 不然,從整個文檔空間中隨機採樣並生成三元組
本地鏈路學習中
基於 Sp 改善本地鏈路,添加邊(Di,Dj)若是知足:
6. 效果