AMiner背后的技術細節與挑戰

jopen 9年前發布 | 44K 次閱讀 AMiner


學術文獻記載著科學的發展和進步,在科技日新月異高速發展并成為“第一生產力”的今天,學術信息,包括:論文,作者和會議,以及這些實體之間的相 互關系,對研究界和企業界都起著越來越重要的作用。有效進行科技論文的組織與管理不僅可以有效提高論文質量與共享方式,還能有效幫助研究人員進行學術交 流,縮短科研成果產業化周期。然而,另一方面隨著互聯網技術的應用和普及,學術網絡信息爆炸式增長,這對學術信息檢索、挖掘、共享、評價等各個方面帶來全 新的挑戰。

針對這一問題,近年涌現一些相關的學術搜索系統,如Google Scholar、Citeseer、微軟的Libra和馬薩諸塞州-阿默斯特大學的Rexa。然而大部分已有系統僅提供論文檢索服務,例如專家推薦等高層 次挖掘搜索服務方面還存在很多不足。總地來說還有許多問題亟需進一步深入研究,尤其是在研究者的脈絡分析和可視化方面,目前還缺少成熟的技術方案和可用的 實際系統。具體難點體現在:(1)如何從互聯網自動獲得研究者的語義描述信息,目前雖然已經有一些系統自動建立研究者信息,但目前語義信息抽取的精度還遠 不能滿足實際應用的需求;(2)如何提高專家搜索的精度和推薦效果,這不僅需要對學術文獻的內容進行語義分析,更需要對網絡結構的分析;(3)如何對研究 者網絡進行深層分析和挖掘。研究者之間的合作關系多樣,如何有效地實時發現研究者之間的關聯網絡是一個難點;(4)如何構建大規模學術知識庫,構建學術知 識點的發展脈絡。

AMiner利用數據挖掘和社會網絡分析與挖掘技術,提供研究者語義信息抽取、面向話題的專家搜索、權威機構搜索、話題發現和趨勢分析、基于話題 的社會影響力分析、研究者社會網絡關系識別、即時社會關系圖搜索、研究者能力圖譜、審稿人推薦在內的眾多功能,為研究者提供更全面的領域知識,和更具針對 性的研究話題和合作者信息,為科研的更好發展提供服務。系統自2006年上線以來,已集成來自多個數據源的近8千萬學術文獻數據。這些文獻數據是構建 AMiner上層服務的基石。從海量文獻及互聯網信息中,AMiner利用信息抽取方法自動獲取研究者相關信息(包括:教育背景、基本介紹)并建立研究者 描述頁面,提供搜索、學術評估、合作者推薦、審稿人推薦、話題趨勢分析等多樣化的服務。

AMiner背后的技術細節與挑戰

圖1給出AMiner系統的核心架構和主要功能。基于自動獲取的語義信息,AMiner系統主要包括以下功能:

1. 語義數據抽取:研究者描述信息抽取、研究者興趣挖掘、研究者賬號關聯、同名排歧等;

2. 搜索:研究者搜索、論文搜索、綜述文獻搜索、關聯關系搜索以及基于話題的子圖搜索;

3. 學術推薦:權威審稿人推薦、優秀論文推薦、“伯樂”推薦等;

4. 深層分析/挖掘功能:領域專家發現、熱點話題發現以及論文引用模式挖掘等;

5. 知識庫構建與鏈接:擴語言的學術知識庫構建以及擴語言知識庫之間的鏈接構建等。

截至目前,AMiner系統已收集了7900多萬論文信息、3900多萬研究者信息,1.3億論文引用關系、780萬知識實體以及3萬多學術會議 /期刊。吸引了全球220多個國家的600多萬用戶訪問。本文主要從自動信息抽取、賬號自動關聯、重名排岐、專家發現以及跨語言聯系來講述AMiner所 使用的核心技術。

自動信息抽取

AMiner自動從互聯網中發現作者的個人主頁,并從個人主頁中自動抽取單位、郵箱、個人經歷以及頭像等信息。抽取的個人信息是基于學術網絡挖掘 的基礎。例如,我們可以實現面向研究者的垂直搜索,比如查在UIUC讀過(或在讀)PhD的所有研究者。同時,利用個人的信息,如個人研究興趣,個人社會 關系,可以提高專家發現的準確度。下面從一個例子入手,介紹個人信息抽取的任務,然后給出解決方案。

首先定義研究者個人信息的描述結構(也稱為研究者本體),研究者的屬性包括:研究者的基本信息,如研究者的名字、照片、職位、工作單位,研究者的 聯系信息,如研究者的電話、傳真、通訊地址、Email等,研究者的教育經歷,如研究者畢業的學校、獲得某個具體學位的時間、專業等,以及研究者發表的論 文。具體來說,對于每個研究者,我們首先通過搜索引擎用其姓名做關鍵詞搜索相關網頁,然后利用一個二分類器判斷返回的網頁是否是該研究者的個人主頁或者是 該研究者的介紹性網頁。最后通過信息抽取算法從該網頁抽取研究者的個人信息,構造研究者本體的實例。圖2給出了一個研究者個人主頁的示例,其中包含了研究 者的各種信息。例如:圖的上部包含研究者照片、兩個通信地址和他的Email地址,圖的中間部分用自然語言描述了研究者的教育經歷,圖的下部提供了研究者 的一些任職和所在組織的信息,圖的右邊顯示了理想的結構化的抽取結果。

AMiner背后的技術細節與挑戰

分析發現,個人信息的各個屬性之間有很強的依賴關系。舉例來說,研究者的名字可以幫助識別研究者的照片,因為照片的命名可能是研究者的姓或名。在 描述個人的教育經歷時,比如研究者獲得了博士學位 (Phd),那么獲得博士學位 (Phdmajor) 的專業,獲得博士學位的日期 (Phddate)很可能出現在同一句話中,或者一個列表中。比如從 “He received the Bachelor’s Degree in Analog Electronics in 1977”,識別出學士學位的專業會提高識別獲得學士學位時間的精度。

手工標注研究者的個人信息比較繁瑣,耗時耗力。最近的研究工作驗證了自動標注的可行性和有效性,已有技術能夠從網頁中提取有效信息。這些技術一般 都利用一個預先制定的模板,或者針對每個屬性學出一個特定的模型來解決各個屬性值的提取問題。但是,用這種方法分別提取單個屬性效率很低,因為:(1) 對于個人信息的每一個屬性,如果要使用這些方法,我們必須定義一個特定模板,或者學習一個特定模型。這些模板和模型比較難維護,訓練時間也會很長(實驗證 明這些針對每個屬性的模型訓練時間要長于我們提出的統一模型);(2) 這些特定的規則和模型不能夠利用各個屬性之間的依賴關系,而我們的數據特點是各個屬性之間存在很強的依賴關系。通過以上分析,我們可以看出從網頁中準確有 效地提取各種信息是一個難題,這要求我們提出的方法必須克服以前模型的缺點才能提高語義標注的準確度。

提出的方法包括三個主要步驟:主頁發現,預處理和信息標注。在主頁發現中,給定研究者的名字,通過搜索引擎我們得到一系列網頁。而后,我們訓練一 個分類器來判定這些網頁是否是個人主頁或者包含很多研究者信息的介紹性網頁(主頁發現問題已經在已有的研究中被深入研究過了,這里就不作為我們系統的重點 了)。我們把確認的網頁URL作為個人信息的屬性Homepage的值。

預處理可分為兩大步驟:(A) 把網頁文本分成一個個token,這些token分屬于不同的類別。(B) 對于不同類型的token,我們給他們設定不同的標簽(也就是個人信息的屬性)。每個網頁的token相當于序列模型每一個觀察到的對象,一個網頁可以看 作一個序列。這樣,個人信息的語義標注就可以表示為token的標注。

我們定義特征,從標注好的訓練樣本學習標注模型,利用學到的標注模型標注新的樣本。當新的未標注文本被分成token并生成這些token序列的 特征后,我們利用訓練好的模型,尋找最好的模擬這個token序列的標簽序列,也就是序列模型中狀態空間的一個取值作為標注結果。條件隨機場是比較流行的 序列標注模型,這里我們選擇用它做個人信息的語義標注。模型的特征對模型質量有重要的影響,下面我們介紹特征的定義。條件隨機場模型的一個好處是對于某個 觀察值,它可以引入任何形式的特征。對于每一個token單元,我們定義了四種特征,包括基于內容的特征,基于模式的特征,基于term的特征和基于格式 的特征。例如,單詞的形態:當前單詞頭一個字母是否大寫,單詞的詞綴等;圖像顏色特征:圖像中有多少種不同的顏色,圖像中每個像素用多少個二進制位表示; 格式特征:當前token是否是黑體等。(詳細算法請參考[Tang, 2010]Jie Tang, Limin Yao, Duo Zhang, and Jing Zhang. A Combination Approach to Web User Profiling. ACM Transactions on Knowledge Discovery from Data (TKDD), (vol. 5 no. 1), Article 2 (December 2010), 44 pages。)

用戶多賬號關聯

隨著社交網絡快速發展,不斷涌現的大規模社交網絡(如非死book,LinkedIn,新浪微博等)吸引了數以億計用戶。不同的社交網絡在其 功能,用戶體驗,目標用戶群等各個方面都有不同的特點,例如非死book是真實社交網絡的線上版本,其內部的好友關系大多正是用戶在線下的真實好友關 系,且其好友關系是雙向的;在推ter或新浪微博上用戶則更趨和自己的偶像或是意見領袖建立關系,這種關系是單向的;LinkedIn是職業化的社 交網絡,以便于用戶更新自己展示自己的工作經歷和能力水平,Google Scholar和AMiner等學術合作網絡則反映了學者在發表學術論文時的合作關系。正因為每種社交網絡在用戶的工作和生活中都各自扮演著不同的角色, 用戶常常在不同的社交網絡上都擁有賬戶。每個賬戶都是用戶完整形象的一個局部縮影,很顯然,由于分散在各個不同的社交網絡,這些局部是不相互連通的。因 此,AMiner通過機器學習手段,自動將多個社交網絡的賬戶進行自動關聯。

AMiner背后的技術細節與挑戰

對于這一問題,我們面臨許多難點。首先,獲取社交網絡數據很困難,鑒于這一信息的重要價值,且涉及用戶隱私問題,各大互聯網公司對自己擁有的社交 網絡數據都保持非常謹慎的態度,我們只能通過公共API獲得少量不完整的數據;其次由于用戶會有意或無意地在賬戶中略去部分個人信息,我們可以觀察到的用 戶特征非常稀疏;同時,各個不同社交網絡的用戶賬戶信息條目是異構的,條目不能一一對應,且條目的內容表達方式也不盡相同,因而不同賬戶之間的相似度也無 法直接度量。此外數據存在噪聲信息,例如用戶在一個社交網絡可能存在多個賬戶,以及賬戶信息中的錯誤拼寫甚至刻意錯填的信息等等。

對于這一問題,我們需要考慮三個層面的因素。首先是用戶之間的相似性,對于不同社交網絡中的兩個用戶,我們可以從他們的用戶名,賬戶信息,以及發 表內容等方面,判斷其是否是現實中的同一個人,我們將這一信息稱為節點相似度;同一用戶在不同社交網絡中常常會有朋友圈的重疊,例如同時在微博和微信上均 與某一用戶是好友,我們將此稱為邊相似度;此外,由于兩個用戶是否是同一個人這一關系為對稱關系,當有多個社交網絡存在時,我們還應考慮邏輯傳遞性,即若 已知A是B且B是C,則A必然是C。AMiner采用的賬戶自動關聯算法正是綜合考慮了節點相似度,邊相似度以及邏輯傳遞性這三個層面的因素。首先,我們 將不同社交網絡中的賬戶兩兩配對,將問題轉化為二分類問題(即判斷任意配對中的兩兩賬戶是否屬于同一用戶)。我們將每個配對表征為特征向量,用于刻畫節點 之間的相似度。為了引入邊相似度和邏輯傳遞性,我們考慮使用馬爾科夫隨機場對問題進行建模。圖4給出了對邊相似度和邏輯傳遞性的建模方法示意,對于兩個不 同社交網絡之間的兩個配對,若其兩兩在各自網絡中互為好友,則在模型中傾向于使這兩個配對的判斷結果相同。對于任意三個社交網絡中的三個存在傳遞關系的配 對,模型傾向于使得三個配對的判定結果不違背邏輯傳遞性。

AMiner背后的技術細節與挑戰

重名排歧

從海量文獻中自動建立研究者賬戶是AMiner的核心功能,其中最大挑戰之一即是作者的重名排歧問題。現實世界對于實體的描述是充滿二義性的,人 的名稱指代也是其中之一。同一個人名可能被不同人使用,例如王偉、張靜、李剛等。 預測同時人名可以有各種變形,如縮寫,前后名倒置,中間名,以及加入前后綴等等。此外AMiner同時處理中英文雙語數據,這也帶來了一些獨特的挑戰。

同名異義是電子數據庫和語義社會網絡中普遍存在的問題。比如:在查詢一個研究者所發表的文章時,現有的系統會將所有與該研究者同名的作者的文章返 回給用戶,這樣無疑會使用戶產生混淆。而語義社會網絡中,同名者的個人社會網絡往往會出現錯誤的重疊或合并。針對這些問題,同名排歧的研究工作就顯得非常 重要。

目前,同名作者文章的排歧工作主要有以下難點:(1) 每篇文章的信息量有限,往往只有文章作者的名字,文章的題目,發表會議和發表時間。(2) 即使有關于文章作者的描述,比如:學校或組織機構,也會因為作者自身職位的變化而產生歧義。現有的研究工作中,有指導的學習算法要對每個排歧目標的數據進 行學習和訓練,方法的可擴展性差;無指導的學習方法受到可利用信息量的限制,又沒有人工的指導,所以排歧效果有待提高。

針對這些問題,我們提出了基于約束的概率模型框架。首先,利用隱馬爾可夫隨機場理論構造目標函數,將整個問題轉化為最小化目標函數問題。這里,目 標函數主要包含兩個部分:一部分是聚類的每個類別中數據點之間的距離,用來衡量每個聚類結果的緊密程度;另外一部分為當前聚類結果所違背的所有約束的懲罰 值之和。所以,整個算法的目標就是要找到內部緊密而且盡量少違背約束的聚類結果來作為同名排歧的結果。而算法中生成約束的方法非常靈活,可以是人工的指 導,也可以是通過社會網絡找到文章作者之間的關系。也就是說,基于約束的概率模型框架可以靈活的將各種知識以約束的形式放到算法中,從而可以很好地利用各 種指導和數據來提高精度。

在求解該問題時用到以下主要約束。所有這些約束都是定義在兩篇文章之間的。第一個約束指的是兩篇文章的首要作者都來自同一個組織,比如:同一個學 校或者同一個研究單位。定義約束一的直觀想法是來自于同一個單位而且同名的作者很可能就是同一個人,那么它們發表的文章也應該聚到一起。約束二指的是兩篇 文章除了首要作者名字相同之外,還有至少一個次要作者的名字也相同。定義約束二的直觀想法是和同一個人合作的兩個同名者很可能就是同一個人。約束三指的是 兩篇文章中,一篇文章引用了另外一篇文章。定義約束三的直觀想法是研究者往往喜歡引用自己的文章,那么,如果兩篇文章的首要作者名字相同而且存在引用關 系,那么這兩篇文章很可能就是同一個作者發表的。約束四指的是兩篇文章的首要作者使用同一個電子郵件地址。可以看出約束四是一個很強的約束,因為電子郵件 可以唯一地對作者進行標識。約束約束五指的是由用戶反饋得到的約束,當用戶指定兩篇文章屬于同一個作者時,這兩篇文章之間就形成約束五。約束五可以看作是 將人工指導以一種約束的形式加入到算法框架中,將算法由無指導變為半指導學習算法。

圖5給出了一個重名排岐的實例。圖中每個點表示一篇論文,每個有向邊表示兩篇論文之間的不同類型的關系,這些關系即可以轉化為上述約束。兩個點之 間的距離反應了它們內容的相似度。實線框表示論文屬于同一個作者(聚類類別)。可以非常直觀地看出,僅根據內容相似度不能取得很好的聚類效果。但是不同類 型的關系對于區分不同的作者非常有效。例如,根據節點3和8之間的合作關系,很容易將它們分配到同一個類別,盡管它們之間的內容相似度很低。(算法細節請 參考[Tang, 2012] Jie Tang, A.C.M. Fong, Bo Wang, and Jing Zhang. A Unified Probabilistic Framework for Name Disambiguation in Digital Library. IEEE Transaction on Knowledge and Data Engineering (TKDE), Volume 24, Issue 6, 2012, Pages 975-987。)

AMiner背后的技術細節與挑戰

專家發現

專家搜索是AMiner提供的主要服務之一,其根據用戶查詢的話題找出在相關領域的權威專家。與傳統文獻檢索相比,專家搜索的不同之處在于,搜索 對象由傳統的文檔變成人,一個人關聯的信息相比于一個文檔來說,不但數量上大幅增加,而且類型上由單一的文本擴展出非文本的信息。例如,一個研究者可以關 聯多篇論文,論文有文本內容信息,也有非文本的發表會議以及雜志和合作者等非文本信息。因此,信息異構化帶來的挑戰是,依靠傳統的文本檢索中使用的文本匹 配方法很可能造成語義缺失、檢索不夠準確的問題。例如,想查找“自然語言處理”方面的專家。結果發現大多數專家不會在自己的論文中撰寫“自然語言處理”的 字樣,因為僅依靠關鍵詞進行匹配幾乎不能返回有效的結果。而如果我們知道自然語言處理領域的權威會議是“ACL”等,根據研究者發表的會議信息可以很容易 判斷出他是否是該領域的權威專家。因此,需要設計一種方法有效地利用研究者的異構關聯信息來發現領域專家。

我們首先建立研究者異構信息網絡。與同構網絡不通,異構網絡中可能存在多種不通類型的網絡對象,網絡鏈接也呈現日益復雜的關系。圖6給出了一個具 體的研究者網絡實例。在該網絡中,異構實體包括:論文、研究者和會議/期刊等,網絡關系包括:論文之間的引用關系,論文發表在會議/期刊上的關系,研究者 撰寫論文的關系等。然后基于主題模型LDA對研究者異構信息網絡統一進行建模,從中估計出不同類型的實體,包括研究者、會議、關鍵詞以及論文在不同隱含話 題上的概率分布。有了這些概率分布,用戶給定一個查詢詞,就可以推斷與之概率分布相近的專家,進一步,還可以推斷出相關的會議和論文等異構網絡中存在的各 種實體類型。具體地,建模時對于每篇論文,根據當前論文對話題的概率分布,為之生成一個隱含話題,然后根據話題對各實體的概率分布,生成該論文關聯的每個 單詞、作者以及會議的實體。求解模型參數(各實體對話題的概率分布)可采用與LDA方法相同的Gibbs sampling算法。(相關研究請參考[Tang, 2008] Jie Tang, Jing Zhang, Limin Yao, Juanzi Li, Li Zhang, and Zhong Su. ArnetMiner: Extraction and Mining of Academic Social Networks. In Proceedings of the Fourteenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (SIGKDD'08). pp.990-998,[Tang, 2011] Jie Tang, Jing Zhang, Ruoming Jin, Zi Yang, Keke Cai, Li Zhang, and Zhong Su. Topic Level Expertise Search over Heterogeneous Networks. Machine Learning Journal, Volume 82, Issue 2 (2011), Pages 211-237。)實踐中,我們采用主題模型加權語言模型的方法進行檢索。

AMiner背后的技術細節與挑戰

跨語言的知識鏈接

AMiner正在構建和集成學術領域的知識圖譜,從文獻中抽取只的是概念,并與知識庫進行連接,挖掘相關概念并分析知識概念的上下位關系。同時,AMiner還通過機器學習手段針對跨語言的知識庫進行自動鏈接。

當前各類百科資源存在不同語言的知識分布極不平衡的問題。如果能夠在英文維基百科和中文百度百科(或互動百科)之間有效地建立跨語言知識鏈接,將 大大提高中英文知識的跨語言共享。圖7展示了一個擴語言知識鏈接的實例。左邊是英文維基百科上的“Anaerobic exercise”,右邊是百度百科上的“無氧運動”。很多關鍵特征可以用來幫忙建立中英文維基之間的關聯。例如,圖中標出了一些有用的特征,包括標題, 出鏈,類別和作者等。

AMiner背后的技術細節與挑戰

我們充分利用維基類知識資源中的上述特征,提出基于鏈接因子圖的異構知識庫的知識鏈接方法和基于鏈接標注的增量式跨語言知識鏈接方法,在異構百科 之間發現大規模跨語言知識鏈接。模型的目標是判斷一個給定中英文維基頁面對是否所指相同。基于鏈接因子圖的異構知識庫的知識鏈接方法采用鏈接關系的相似度 進一步使用鏈接因子圖模型對跨語言知識鏈接任務統一建模。具體地,如果一個中英文維基頁面對被預測為相同事物,則它們各自出鏈的頁面所組成的對也有很大概 率所指為相同事物。考慮到基于鏈接因子圖的知識鏈接方法主要依賴于初始種子跨語言鏈接集合以及詞條之間的鏈接關系,進一步提出了基于鏈接標注的增量式跨語 言知識鏈接方法,以提高跨語言知識鏈接的可用性。最終實驗證明鏈接標注和增量式方法,均可有效提高跨語言知識鏈接的精度。(相關研究請參考[Wang, 2012] Zhichun Wang, Juanzi Li, Zhigang Wang, and Jie Tang. Cross-lingual Knowledge Linking Across Wiki Knowledge Bases. In Proceedings of the Twenty-First World Wide Web Conference (WWW'12). pp. 459-468。)

經驗總結與未來展望

總之,在學術研究數據規模不斷增長的今天,從海量數據中挖掘有價值的知識使用戶真正獲益具有極大的挑戰。下面從上述四個技術點分別闡述存在的挑戰以及未來可能提高的方向。

首先、異構數據提高有效信息提取的難度。例如研究者的個人主頁格式五花八門,有個人撰寫的,有單位統一制作的,還有Google Scholar生成的,這些不同格式要求自動抽取器能夠像人腦一樣非常智能地識別有效個人信息。目前處理抽取主要依靠大量訓練數據來提高抽取模型的精度, 未來希望能夠從用戶反饋的個人信息中自動識別有效特征來進一步提高抽取模型的精度。

其次、數據規模大,以及跨領域、多語言等特征造成數據合并的難度。目前收集的數據源有專業計算機領域的數據庫,包括ACM和DBLP,也有面向全 領域的數據源,如英文的Elsevier和中文的CNKI。這些規模龐大,來源各異的數據導致同名不同人、不同名同人、不同語言同人等問題日趨嚴重。有些 常見人名,例如“王偉”,甚至包括跨多個領域的上千個真實個體。盡管重名排岐在過去的多年中一直有研究者不懈努力研究,但是在如此大規模數據上進行排岐還 未見真實成效。Google Scholar甚至也回避此問題,簡單地將所有同名的人歸在一起。由此可見該問題的難度。未來可能的提高點有兩個,一是在模型中加入人名常見度這一先驗知 識,使采用不同模型處理不同人名;二是依靠用戶的個人反饋自動修正關聯的錯誤合并結果。

再次、海量數據加大搜索有效信息的難度。目前的系統采用主題模型平滑傳統語言模型來客服主題漂移的問題,但主題模型歸根到底仍然逃脫不了對詞共現 的依賴。如果整個數據集中從來沒有出現過或者極少出現過某個查詢詞,那么用該查詢詞進行檢索效果依然不會很好。因此該問題仍然有待進一步提高。其可能的解 決方案是讓用戶互打標簽,標識其研究興趣,搜索時推薦相關標簽,按照標簽進行搜索。

最后、知識庫質量影響用戶體驗。目前學術知識庫的構建僅稱得上初見端倪。這其中仍然有很多挑戰,除了之前提及的跨語言鏈接的問題,還存在概念上下 位關系識別以及不同源之間概念鏈接,例如論文數據庫到維基百科的鏈接等諸多問題。這些問題都需要深入到對信息分門別類,各個建模。

AMiner背后的技術細節與挑戰

本文選自程序員電子版2015年6月A刊,該期更多文章請查看這里。2000年創刊至今所有文章目錄請查看程序員封面秀。歡迎 訂閱程序員電子版 (含iPad版、Android版、PDF版)。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!