Search code examples
javastanford-nlpdbpedianamed-entity-recognitionwikidata

How to do Wikification / Entity Linking on the basis of the EntityMentionsAnnotator?


I am trying to link entity mentions to a knowledge base, for instance DBpedia or Wikidata.

In the end I want to enrich the JSON output with an arbitrary ontology and hereby provide some kind of semantics. But as a first step it should just look something like this:

{

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

}

Is there a way of doing so with the already provided tools of Stanford CoreNLP? I have seen a WikidictAnnotator on GitHub, but unfortunately there is no documentation or whatsoever on what it is and how to use it respectively.

Apart form that, what other possibilities are there? Do I have to use a third-party tool like DBpedia Spotlight in conjunction with the Stanford NE Recognizer in order to realize entity linking?

Thanks in advance!


Solution

  • After some research I am going to answer my own question. Maybe it helps somebody in the future.

    I found a framework called AGDISTIS which provides a mentions to knowledge base functionality. It accepts mentions from the EntityMentionsAnnotator and matches them with the according dbpedia resources. You can even use another index apart from dbpedia.

    Nevertheless, I would be happy if someone could explain whether and how wikification is possible just with CoreNLP (see WikidictAnnotator).