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!
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).