currently I am using the OpenNLP tools to PoS-tag german sentences, with the maxent model listed on their download-site:
de POS Tagger Maxent model trained on tiger corpus. de-pos-maxent.bin
This works very well and I got results as:
Diese, Community, bietet, Teilnehmern, der, Veranstaltungen, die, Möglichkeit ... PDAT, FM, VVFIN, NN, ART, NN, ART, NN ...
With the tagged sentences I want to do some further processing where I have to know the meaning of the single tags. Unforunately searching the OpenNLP-Wiki for the tag sets isn't very helpful as it says:
TODO: Add more tag sets, also for non-english languages
Does anyone know where can I find the tag set used in the german maxent model?
I created an enum containing the german tags (Reverse lookup is possible):
public enum POSGermanTag {
ADJA("Attributives Adjektiv"),
ADJD("Adverbiales oder prädikatives Adjektiv"),
ADV("Adverb"),
APPR("Präposition; Zirkumposition links"),
APPRART("Präposition mit Artikel"),
APPO("Postposition"),
APZR("Zirkumposition rechts"),
ART("Bestimmer oder unbestimmer Artikel"),
CARD("Kardinalzahl"),
FM("Fremdsprachichles Material"),
ITJ("Interjektion"),
KOUI("unterordnende Konjunktion mit zu und Infinitiv"),
KOUS("unterordnende Konjunktion mit Satz"),
KON("nebenordnende Konjunktion"),
KOKOM("Vergleichskonjunktion"),
NN("normales Nomen"),
NE("Eigennamen"),
PDS("substituierendes Demonstrativpronomen"),
PDAT("attribuierendes Demonstrativpronomen"),
PIS("substituierendes Indefinitpronomen"),
PIAT("attribuierendes Indefinitpronomen ohne Determiner"),
PIDAT("attribuierendes Indefinitpronomen mit Determiner"),
PPER("irreflexives Personalpronomen"),
PPOSS("substituierendes Possessivpronomen"),
PPOSAT("attribuierendes Possessivpronomen"),
PRELS("substituierendes Relativpronomen"),
PRELAT("attribuierendes Relativpronomen"),
PRF("reflexives Personalpronomen"),
PWS("substituierendes Interrogativpronomen"),
PWAT("attribuierendes Interrogativpronomen"),
PWAV("adverbiales Interrogativ- oder Relativpronomen"),
PAV("Pronominaladverb"),
PTKZU("zu vor Infinitiv"),
PTKNEG("Negationspartike"),
PTKVZ("abgetrennter Verbzusatz"),
PTKANT("Antwortpartikel"),
PTKA("Partikel bei Adjektiv oder Adverb"),
TRUNC("Kompositions-Erstglied"),
VVFIN("finites Verb, voll"),
VVIMP("Imperativ, voll"),
VVINF("Infinitiv"),
VVIZU("Infinitiv mit zu"),
VVPP("Partizip Perfekt"),
VAFIN("finites Verb, aux"),
VAIMP("Imperativ, aux"),
VAINF("Infinitiv, aux"),
VAPP("Partizip Perfekt"),
VMFIN("finites Verb, modal"),
VMINF("Infinitiv, modal"),
VMPP("Partizip Perfekt, modal"),
XY("Nichtwort, Sonderzeichen"),
UNDEFINED("Nicht definiert, zb. Satzzeichen");
private final String desc;
private static final Map<String, POSGermanTag> nameToValueMap = new HashMap<String, POSGermanTag>();
static {
for (POSGermanTag value : EnumSet.allOf(POSGermanTag.class)) {
nameToValueMap.put(value.name(), value);
}
}
public static POSGermanTag forName(String name) {
return nameToValueMap.get(name);
}
private POSGermanTag(String desc) {
this.desc = desc;
}
public String getDesc() {
return this.desc;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With