in jwnl-addon/src/main/java/opennlp/jwnl/lemmatizer/JWNLLemmatizer.java [63:91]
public String lemmatize(String word, String postag) {
String constantTag = "NNP";
String lemma;
try {
POS pos;
if (postag.startsWith("N") || postag.startsWith("n")) {
pos = POS.NOUN;
} else if (postag.startsWith("V") || postag.startsWith("v")) {
pos = POS.VERB;
} else if (postag.startsWith("J") || postag.startsWith("a")) {
pos = POS.ADJECTIVE;
} else if (postag.startsWith("RB") || postag.startsWith("r")) {
pos = POS.ADVERB;
} else {
pos = POS.ADVERB;
}
IndexWord baseForm = morphy.lookupBaseForm(pos, word);
if (baseForm != null) {
lemma = baseForm.getLemma();
} else if (postag.startsWith(constantTag)) {
lemma = word;
} else {
lemma= word.toLowerCase();
}
} catch (JWNLException e) {
return null;
}
return lemma;
}