Stanford NER: extracting separate lists of entities?
-
31-05-2021 - |
Question
I can get a string annotated with Named Entities with the following code.
String NEString = classifier.classifyWithInlineXML(fileContents)
I'm wondering if there is any method to call so that I can get separate entities (PERSON, ORGANIZATION, LOCATIOIN) lists in the file, that way I don't have to parse the retrieved string with the above method to get the entity lists?
Solution
In my opinion, the cleanes way to run the classification is:
List<Triple<String,Integer,Integer>> out = classifier.classifyToCharacterOffsets(text);
triple.first(): entity type
triple.second(): start position
triple.third(): end position
It groups consequent entities and returns the start and end position of entities.
OTHER TIPS
As I know there are 3 ways to get annotated string:
1) classifier.classifyToString(" ")
2) classifier.classifyWithInlineXML(" ")
3) classifier.classifyToString(" ", "xml", true)
The first one is the easiest to seperate. Unfortunately, there isn't any method as you wish.