在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
}
}
]
}
您可以使用http://dbpedia.org/sparql api查詢dbpedia。例如SELECT distinct?uri?label WHERE { ?uri rdfs:label?label。 FILTER正則表達式(STR(?標籤), 「奧巴馬」, 「我」) } – Anish
你的建議的方法是太straightfoward我想。如果存在模棱兩可的實體提及,例如「喬治布什」呢?這可能是指喬治布什先生。和喬治布什jr。 我知道有第三方Entitiy鏈接工具能夠消除歧義,但是也可以使用CoreNLP做到這一點?如果不是,我應該使用什麼API或工具與CoreNLP結合使用? – phly