Ich identifiziere Qualifikationen in einem großen Korpus. Ich verwende NamedEntityTagAnnotation.Stanford NLP: RegexNERAnnotator auf caseInsensitive setzen
Problem:
Meine Anmerkungen gelesen werden in Groß- und Kleinschreibung. Ich möchte, dass sie nicht zwischen Groß- und Kleinschreibung unterscheiden. Daher
Bachelor GRAD
benötigt keine zusätzlichen Eintrag von
Bachelor GRAD
Ich weiß, das ist möglich. RegexNERAnnotator hat ein Feld für ignoreCase. Aber ich weiß nicht, wie ich über die API auf RegexNERAnnotator zugreifen kann.
Mein aktueller Code (die ich im Internet cadged ab und arbeite abgesehen von dem Fall Ausgabe) ist wie folgt:
String prevNeToken = "O";
String currNeToken = "O";
boolean newToken = true;
for (CoreLabel token : sentence.get(TokensAnnotation.class))
{
currNeToken = token.get(NamedEntityTagAnnotation.class);
String word = token.get(TextAnnotation.class);
if (currNeToken.equals("O"))
{
if (!prevNeToken.equals("O") && (sbuilder.length() > 0))
{
handleEntity(prevNeToken, sbuilder, tokens);
newToken = true;
}
continue;
}
if (newToken)
{
prevNeToken = currNeToken;
newToken = false;
sbuilder.append(word);
continue;
}
if (currNeToken.equals(prevNeToken))
{
sbuilder.append(" " + word);
}
else
{
handleEntity(prevNeToken, sbuilder, tokens);
newToken = true;
}
prevNeToken = currNeToken;
}
Jede Hilfe wäre sehr dankbar.