1

我試圖將實體提及鏈接到知識庫,例如DBpedia或Wikidata。如何基於EntityMentionsAnnotator進行Wikification/Entity鏈接?

最後,我要豐富JSON輸出任意本體,並在此提供某種語義。但作爲第一步,它應該只是看起來像這樣:

{ 

    "index": 1, 
    "mention": "Barack Obama", 
    "characterOffsetBegin": 0, 
    "characterOffsetEnd": 12, 
    "ner": "PERSON", 
    "before": "", 
    "after": " " 
    "uri": "http://dbpedia.org/page/Barack_Obama" 

} 

有斯坦福CoreNLP的已提供的工具這樣做的一種方式?我在GitHub上看到了一個WikidictAnnotator,但不幸的是沒有任何文檔,也沒有關於它是什麼以及如何分別使用它。

除此之外,還有其他的可能性嗎?爲了實現實體鏈接,我必須使用DBpedia Spotlight等第三方工具與斯坦福大學NE Recognizer結合使用嗎?

在此先感謝!

+0

您可以使用http://dbpedia.org/sparql api查詢dbpedia。例如SELECT distinct?uri?label WHERE { ?uri rdfs:label?label。 FILTER正則表達式(STR(?標籤), 「奧巴馬」, 「我」) } – Anish

+0

你的建議的方法是太straightfoward我想。如果存在模棱兩可的實體提及,例如「喬治布什」呢?這可能是指喬治布什先生。和喬治布什jr。 我知道有第三方Entitiy鏈接工具能夠消除歧義,但是也可以使用CoreNLP做到這一點?如果不是,我應該使用什麼API或工具與CoreNLP結合使用? – phly

回答

0

經過一番研究,我將回答我自己的問題。也許這對未來有幫助。

我發現了一個名爲AGDISTIS的框架,它提供了對知識庫功能的提及。它接受來自EntityMentionsAnnotator的提及,並將它們與相應的dbpedia資源進行匹配。您甚至可以使用除dbpedia以外的其他索引。

不過,我會很高興,如果有人可以解釋wikification是否以及如何可能只是CoreNLP(見WikidictAnnotator)。

+1

WikidictAnnotator不起作用。堅持你的榜樣,明白「奧巴馬」是一個模棱兩可的名字:它可以指巴拉克奧巴馬或米歇爾奧巴馬或其他具有這個名字的人。 DBpedia,Wikidata,YAGO和其他KB存儲實體,即它們的ID。處理「奧巴馬是第一夫人」的字典查找(WikidictAnnotator中的「dict」部分),只有「奧巴馬」被認爲是提及,而不知道哪一個。要獲得維基數據標識(在本例中爲Q13133),您需要提及「奧巴馬」出現的環境,AGIDISTIS(或AIDA或Dexter,...)所做的事情。 – jhoff

+0

感謝您提供此信息。我不知道WikidictAnnotator只是一個字典查找。幸運的是,有些框架能夠消除CoreNLP提供的提及,而不是運行自己的實體/提及識別,然後消除歧義。 – phly

0

Ambiverse我們有一個entity-linking系統,它在文本中標識named entities。每個實體都鏈接到其維基數據標識。輸出是一個JSON對象,其中包含已識別的實體及其在輸入文本中的位置,外加一些有用的實體元數據作爲類別,Wikipedia URL和鏈接置信度。該系統可以用作API。要閱讀更多關於實體鏈接或用例的信息,可以查看我們的blog

舉個例子冒了一句:

馬雲在杭州創立了阿里巴巴與軟銀和高盛 投資。

我們的系統會產生以下輸出。你也可以自己試試here

{ 
"docId": "1803274355", 
"language": "en", 
"matches": [ 
    { 
    "charLength": 2, 
    "charOffset": 0, 
    "text": "Ma", 
    "entity": { 
     "id": "http://www.wikidata.org/entity/Q1137062", 
     "url": "http://en.wikipedia.org/wiki/Jack%20Ma", 
     "confidence": 0.24400826614264 
    } 
    }, 
    { 
    "charLength": 7, 
    "charOffset": 11, 
    "text": "Alibaba", 
    "entity": { 
     "id": "http://www.wikidata.org/entity/Q1359568", 
     "url": "http://en.wikipedia.org/wiki/Alibaba%20Group", 
     "confidence": 0.89595517818717 
    } 
    }, 
    { 
    "charLength": 8, 
    "charOffset": 22, 
    "text": "Hangzhou", 
    "entity": { 
     "id": "http://www.wikidata.org/entity/Q4970", 
     "url": "http://en.wikipedia.org/wiki/Hangzhou", 
     "confidence": 0.92296125433251 
    } 
    }, 
    { 
    "charLength": 8, 
    "charOffset": 53, 
    "text": "SoftBank", 
    "entity": { 
     "id": "http://www.wikidata.org/entity/Q201653", 
     "url": "http://en.wikipedia.org/wiki/SoftBank", 
     "confidence": 0.95402181746993 
    } 
    }, 
    { 
    "charLength": 7, 
    "charOffset": 66, 
    "text": "Goldman", 
    "entity": { 
     "id": "http://www.wikidata.org/entity/Q193326", 
     "url": "http://en.wikipedia.org/wiki/Goldman%20Sachs", 
     "confidence": 0.41802014708618 
    } 
    } 
] 
} 
+0

您的系統看起來不錯。但不幸的是,我需要一些免費且開源的東西。 – phly

+0

當您註冊API時,您每個月都會獲得1,000個免費請求。 –

相關問題