日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

知识图谱实体链接:一份“由浅入深”的综述

發布時間:2024/10/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识图谱实体链接:一份“由浅入深”的综述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個世界充斥著無數的結構化數據(wiki)和非結構化數據(web),然而,如何將兩者有效地集成仍然是個非常困難的問題。

作者丨Nicolas

單位丨追一科技AI Lab研究員

研究方向丨信息抽取、機器閱讀理解

本文介紹實體鏈接(Entity Linking)這一技術方向,會先從最基礎的概念講起,然后對 EL 中的三個主要模塊做一個清晰的梳理。在此基礎上,選取三篇比較有代表性的論文,詳述其中的核心方法和思想。

EL入門

1. 任務定義?

實體鏈接,就是把文本中的 mention 鏈接到 KG 里的 entity 的任務。如下圖所示 [1]:

▲?Entity Linking示意圖

有些讀者可能對知識圖譜的概念不甚了解,這邊先解釋一下圖譜里常用的一些概念。?

Knowledge Graph(知識圖譜):一種語義網絡,旨在描述客觀世界的概念實體及其之間的關系,有時也稱為 Knowledge Base(知識庫)。?

  • 圖譜由三元組構成:<實體1,關系,實體2> 或者 <實體,屬性,屬性值>;?

  • 例如:<姚明,plays-in,NBA>、<姚明,身高,2.29m>;?

  • 常見的KB有:Wikidata、DBpedia、YOGO。?

Entity(實體):實體是知識圖譜的基本單元,也是文本中承載信息的重要語言單位。?

Mention(提及):自然文本中表達實體的語言片段。?

回過頭再看,上面的這個圖中,“喬丹”、“美國”、“NBA”這些藍色的片段都是 mention,其箭頭所指的“塊塊”就是它們在圖譜里對應的 entity。?

2. 幾個應用?

EL 有什么用呢?一般有 KB 的地方就離不開 EL。以下是 EL 的幾個應用 [2]:?

Question Answering:EL 是 KBQA 的剛需,linking 到實體之后才能查詢圖數據庫;?

Content Analysis:輿情分析、內容推薦、閱讀增強;?

Information Retrieval:基于語義實體的搜索引擎,google 搜索一些實體,右側會出現 wikipedia 頁面;?

Knowledge Base population:擴充知識庫,更新實體和關系。?

3. Taxonomy

▲?Taxonomy

大體來說,EL 的工作可以分為兩類 [3]:

End-to-End:先從文本中提取到實體 mention(即 NER),對應到候選實體,然后將提取到的 entities 消除歧義,映射到給定的 KB 中。?

Linking-Only:與第一種方法對比,跳過了第一步。該方法直接將 text 和 mention 作為輸入,找到候選實體并消除歧義,映射到給定的 K B中。?

由于端到端的工作比較少,且 NER 也沒太多可講的。本文著重介紹 Linking-Only 的相關技術方向和工作。

EL的三大模塊

EL 的工作非常有挑戰性,主要有兩個原因:?

1. Mention Variations:同一實體有不同的 mention。(<科比>:小飛俠、黑曼巴、科鐵、蝸殼、老科)?

2. Entity Ambiguity:同一 mention 對應不同的實體。(“蘋果”:中關村蘋果不錯;山西蘋果不錯)?

針對上述兩個問題,一般會用 Candidate Entity Generation (CEG) 和 Entity Disambiguation (ED) 兩個模塊 [2] 來分別解決:?

1. Candidate Entity Generation:從 mention 出發,找到 KB 中所有可能的實體,組成候選實體集(candidate entities);?

2. Entity Disambiguation:從 candidate entities 中,選擇最可能的實體作為預測實體。?

下面我們來講講這兩個模塊里都有些啥東西。其中,CEG 的方法都比較樸素,沒什么可講的,筆者會把重點放在 ED 上。?

1. Candidate Entity Generation (CEG)?

最重要的方法:Name Dictionary ( {mention: entity} )?

哪些別名:首字母縮寫、模糊匹配、昵稱、拼寫錯誤等。?

構建方法:?

  • Wikipedia (Redirect pages, Disambiguation pages, Hyperlinks);?

  • 基于搜索引擎:調 google api,搜 mention。若前 m 個有 wiki entity,建立 map;?

  • Heuristic Methods;?

  • 人工標注、用戶日志。?

CEG 這部分,最主流也最有效的方法就是 Name Dictionary,說白了就是配別名。雖然 CEG 很樸素,但作為 EL 任務中的第一道門檻,其重要性不言而喻。對于每一個 entity,緊湊而充分地配置別名,才能保證生成的 candidate entites 沒有遺漏掉 ground truth entity。?

具體的,要配置哪些別名,要用什么構建方法,往往取決于 EL 的使用場景。比如做百科問答或是通用文本的閱讀增強,就很依賴于 wikipedia 和搜索引擎;但如果是某個具體的行業領域,就需要通過一些啟發式的方法、用戶日志、網頁爬取,甚至人工標注的方法來構建 Name Dictionary。?

2. Entity Disambiguation (ED) (手動劃重點)?

Features:?

  • Context-Independent Features:

    • LinkCount:?#(m->e),知識庫中某個提及 m 指向實體 e 的次數;?

    • Entity Attributes: Popularity, Type;?

  • Context-Dependent Features:

    • Textual Context: BOW, Concept Vector?

    • Coherence Between Entities: WLM, PMI, Jaccard Distance?

實體消歧時,不同場景的特征選取是非常重要的。總的來說,實體消歧的特征分為,context 獨立和 context 不獨立的。?

特征里,獨立的有:mention 到實體的 LinkCount、實體自身的一些屬性(比如熱度、類型等等)。其中,LinkCount 作為一個先驗知識,在消歧時,往往很有用,比如當我們在問“姚明有多高?”時,大概率都是在問<籃球運動員姚明>,而不是其他不為人知的“姚明”。

雖然 context 中完全沒有包含籃球運動員這一信息,但大多數情況下,根據“姚明”到<籃球運動員姚明>的 LinkCount 最高,選其作為實體進行查詢,都會是一個不錯的答案。?

不獨立的有:文本的 context、實體間的 coherence(一致性)。這部分,可深入挖掘的東西比較多,文本 context 可以用一些深度學習的方法去深度理解文本的語義,從而實現消歧;實體間的一致性更加有趣,由于文本包含的所有的 mention 都沒有確定,所以全局地進行 entities 的消歧實際上是一個 NP-hard 的問題。因此,如何更加快速有效地利用一致性特征,是一個非常有趣的方向。?

基于這些常用的特征,消歧的方法可以大致分為以下幾種:?

Learning to Rank Methods: Point-wise、Pair-wise、List-wise。由于 ED 任務 ground truth 只有一個實體,一般都是用 point-wise 來做。輸入是文本的 context、mention、某個 entity 的一些 attributes,輸出 mention 指向該 entity 的置信度,以此 rank,選出最可信的 entity;?

Probabilistic Methods:?Incorporate heterogeneous knowledge into a probabilistic model。結合不同信息,得到條件概率 P(e|m,c),其中 c 是輸入文本,e 為實體, m 是 mention。比如用歸一化的 LinkCount 信息,作為先驗概率 P(e|m);?

Graph-Based Approaches: maximize coherene between entities。利用圖特征(entity embedding、relation),在消歧時,考慮全局消歧后實體的一致性;?

一般來說,現在的 ED 工作都會綜合以上的方法來設計,后面我們會具體介紹幾篇近期的論文,大家可以對照這三類方法看看。?

3. 還有個小問題:Unlinkable Mention Prediction?

除了上面的兩大模塊,還有一個小問題,就是如何拒識掉未知實體,畢竟你不可能建立一個能窮舉萬物的 KB。這就涉及到 Unlinkable Mention Prediction,不是很復雜,一般就三種做法:?

NIL Threshold:?通過一個置信度的閾值來卡一下;?

Binary Classification: 訓練一個二分類的模型,判斷 Top-rankeded Entity 是否真的是文中的 mention 想要表達的實體;?

Rank with NIL: 在 rank 的時候,在候選實體中加入 NIL Entity。?

一般就閾值卡一下就好了,不是太大的問題。但如果具體的場景是做 KB Population 且實體還不是很全的時候,就需要重點關注一下了。

EL的近期工作

為了讓讀者能更清楚地了解 EL,筆者在這里選取了三篇近兩年出的,比較有代表性的工作 [4] [5] [6],給大家具體講講:?

1. Deep Joint Entity Disambiguation with Local Neural Attention. (Ganea and Hofmann, 2017, EMNLP)?

2. Improving entity linking by modeling latent relations between mentions. (Le et al., 2018, ACL)?

3. DeepType: multilingual entity linking by neural type system evolution. (Raiman et al., 2018, AAAI)?

1. Deep Joint Entity Disambiguation with Local Neural Attention?

早期的 EL 工作都非常依賴 manually-designed 的特征,這篇文章是 EL 領域第一篇不依賴特征工程,用深度學習來學習基礎特征的工作。主要的創新點和關鍵部件有三個:?

  • Entity Embeddings: 用到了知識庫里實體的 embedding;?

  • Context Attention: 用 attention 機制來獲得 context 的表征;?

  • Collective Disambiguation: 考慮實體間的 coherence,聯合消歧。

給定文本 D,其中有一堆 mention?。?對應的實體為?,對應的 context 為?,對應的候選實體集為?。文章提出了兩種模型:Local model、Global model。local 只考慮 mention 的 context;global 還需要考慮實體間的一致性,聯合消歧。

Local model:?令??為local score function,local model 要解決的問題即:?

Global model:?除了 context,還考慮實體間的 coherence(為了簡化,只考慮兩元一致性)。令??為實體之間的 pair-wise coherence score function,,全局搜索:

Local and pair-wise score function 的計算方法如下:

其中,??是實體??的 embedding,?是對角矩陣。?是在上下文 上取 attention 后的表征,具體的 attention 計算如下圖所示:

▲?Local Model里的Attention機制

這里是用 candidate entity embeddings 做 key,context word embeddings 做 value,得到 score matrix 之后,按列取 max,如果某個 word 的 score 較高表示這個 word 至少和一個 entity 相關度高。為了去除 stop words 的影響,作者只取了 top R 的 score,剩下的置為負無窮。?

得到 score 后,還會結合 m 到 e 的 LinkCount 先驗概率,計算出最終各個實體的概率。該工作在 AIDA 數據集上取得了 SOTA ( local: 88.8、global: 92.22)。?

2. Improving entity linking by modeling latent relations between mentions?

上一篇論文開創性地在 EL 中引入 entity embedding 作為信息,很自然的,我們會思考一個問題,KB 中還有別的可利用的信息嗎?參考本文一開始的那張圖片,“喬丹”、“美國”、“Nike”這些實體之間還有著“公民”、“贊助商”等關系信息,顯然,若加以利用,一定能成大器。?

于是 Le et al. 在 Ganea and Hofmann 工作的基礎上,增加了隱關系信息。假定圖譜中有 K 個關系,令??之間為關系 k 的置信度為?,上文中的 pair-wise coherence score function 可以寫成:

其中,?都是用來表示關系 k 的對角矩陣(類似于關系 k 的 embedding),??為歸一化因子,?為將??映射到 的函數。這樣一來,我們就隱式地添加了關系 k,豐富了計算全局實體一致性時所參考的信息。?

看起來很 fancy!但是有一個問題,這個歸一化因子我們要咋算呢?作者提供了兩種思路:?

1. Rel-norm:?Relation-wise normalization。就是以關系 k 維度來 norm;?

2. Ment-norm: Mention-wise Normalization。就是以實體 j 維度來 norm。

▲?兩種norm方式的示意圖

看一下上面這張圖,就很清晰了。該工作在 AIDA 數據集上得到了新的 SOTA (global: 93.07)。?

3. DeepType: multilingual entity linking by neural type system evolution?

前兩篇論文都是在聯合消歧的這個角度,做了一定的工作。DeepType 這篇文章則另辟蹊徑,從優化知識庫的 type 系統來做。文章很重要的一個觀點是:當我們能預測出實體 mention 的 type,消歧這個任務就做的差不多了。EL 系統主要分成三個模塊:

1. Type System: 一組正交的 type 軸和一個 type 標注函數;

?

  • type 軸:一組互斥的 type 集合 A (e.g. {IsHuman} ∩ {IsPlant} = {})?

  • type 標注函數:

  • 舉個例子,假定一個包含兩個軸 {IsA, Topic} 的 type 系統,<追一科技>對應的就是 {公司,人工智能}?

2. Type Classifier:?給定 mention 和 text,輸出 mention 對應實體的 type;?

3. Entity Prediction Model:?給定 mention、text 和候選實體,預測概率最高的實體(文中直接用的 LinkCount)。

很顯然,這三個模塊的核心點在于 Type System 的構建。由于 Entity Prediction Model 是直接用的 LinkCount,實際上整個 EL 系統就只有兩組參數,一組是 Type System 的離散參數 A,一組是 Type Classifier 的連續參數 θ。給定 text 及其所含的 mention:

其中??為 ground truth 的實體,?為候選實體集,令??為 EL 系統的消歧準確率,則我們的問題可以定義為:

其中:

這個 entity score 可以看成是給定 m 后,EL 系統給出的置信度,后面會給具體公式。?

同步優化兩組參數很耗時,因此文章分成 Type System 和 Type Classfier 兩個部分獨立優化。

a. Discrete Optimization of Type System:?

為了避免同時訓練 Type System 和 Type Classifier,我們得先固定 classifier,然后優化 Proxy Objective?,這里我們假設兩個 classifier model 的極端:?

1. Oracle(極端優秀):假設 Type Classifier 開了天眼,不管 A 咋變,都能預測對 mention 的 type,然后從該 type 對應的候選實體集的子集中選 LinkCount 最高的,令:

2. Greedy(極端蠢):不預測 type,直接從候選實體集中選 linkcount 最高的。

最簡單的思路直接??其實就完事了,但是我們要考慮到真正的 classifier 并沒有開天眼,假設 classifier 的 Learnability(學習能力)是 l(A),那么更合理的目標函數應該是:

但是怎么才能不依賴 A 去計算學習能力呢,如果是用 softmax 多分類,那就糟了,每換一次 A,就得重新訓練一個 classifier。因此作者巧妙的用二元分類器代替了多分類,令:

這樣就只需要最開始計算一次就好了,如下圖所示:

▲?a為訓練type系統時的classifier,b為后面真正用的classifier

b. Type Classifier?

就按照上圖 b 優化就是了,沒什么可說的。?

c. Inference?

在訓練完 Type System 和 Type Classifier 之后,我們就可以計算我們上面說的 EntityScore 了:

其中??是 k 個 type 組成 type 軸,α,β∈(0,1)?是 smoothing 系數。最終在 AIDA 數據集上取得了新的 SOTA(94.88)。

4. 三篇論文效果對比和思考

前兩篇都是聯合消歧的,而 DeepType 其實是個 Local 模型。這么看來,如果考慮聯合消歧的話,應該還會有提升。

總結

Entity Linking 其實算是個很復雜的技術領域,因為優化過程中,不僅要考慮 text 的文本信息、KB 的信息、消歧后的一致性,還需要根據具體的業務場景采用不同的方案,同時也不能為了效果去暴力搜索 NP-hard 的離散優化問題。在具體實施的過程中不可能面面俱到,需要一定程度的 trade-off。總結起來,四大特征:LinkCount、Context、Attributes、Coherence。方法千千萬,大家靈活運用。

Appendices

數據集:

1. Knowledge Base:Wikipedia, YAGO, DBpedia, Freebase;?

2. EL 監督數據:?

  • 中文:

    https://www.biendata.com/competition/ccks_2019_el/data/

  • 英文:

    • TAC KBP 2010 EL:?

      https://catalog.ldc.upenn.edu/LDC2019T02

    • AIDA CoNLL-YAGO:?

      https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/aida/downloads/

一個不錯的多因子消歧總結:

https://cloud.tencent.com/developer/article/1491361?

ccks實體鏈接第一名方案:

https://github.com/panchunguang/ccks_baidu_entity_link?

DeepType原作博客(有一些可玩的插件):

https://openai.com/blog/discovering-types-for-entity-disambiguation/

References

[1]?韓先培,實體鏈接:從文本到概念:

https://docs.huihoo.com/infoq/baidu-salon51-entity-links.pdf?

[2] Wei Shen, Jiawei Han: Entity Linking with a Knowledge Base: Issues, Techniques, and Solutions.?

http://dbgroup.cs.tsinghua.edu.cn/wangjy/papers/TKDE14-entitylinking.pdf?

[3] Sebastian Ruder: NLP Progress of Entity Linking.?

https://github.com/sebastianruder/NLP-progress/blob/master/english/entity_linking.md?

[4] Ganea and Hofmann, 2017, EMNLP: Joint Entity Disambiguation with Local Neural Attention.?

https://arxiv.org/abs/1704.04920Deep?

[5] Le et al., 2018, ACL: Improving entity linking by modeling latent relations between mentions.?

https://arxiv.org/abs/1804.10637?

[6] Raiman et al., 2018, AAAI: DeepType: multilingual entity linking by neural type system evolution.?

https://arxiv.org/abs/1802.01021

點擊以下標題查看更多往期內容:?

  • 從三大頂會論文看百變Self-Attention

  • BERT+知識圖譜:知識賦能的K-BERT模型

  • 解決知識庫完善問題的端到端結構感知卷積網絡

  • 自然語言處理中的語言模型預訓練方法

  • 后BERT時代的那些NLP預訓練模型

  • 知識圖譜從哪里來:實體關系抽取的現狀與未來

#投 稿 通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術干貨。我們的目的只有一個,讓知識真正流動起來。

?????來稿標準:

? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?

? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志

???? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發送?

? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

▽ 點擊 |?閱讀原文?| 獲取最新論文推薦

總結

以上是生活随笔為你收集整理的知识图谱实体链接:一份“由浅入深”的综述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。