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?

有帮助吗?

解决方案

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.

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top