在OpenNLP的德国maxent模型中使用了什么标签集?

时间:2010-12-31 15:00:27

标签: tags nlp opennlp

目前我正在使用OpenNLP工具对PoS标记德语句子,并在download-site上列出了最大模型:

de      POS Tagger      Maxent model trained on tiger corpus.   de-pos-maxent.bin

这非常有效,我的结果如下:

Diese, Community, bietet, Teilnehmern, der, Veranstaltungen, die, Möglichkeit ...
PDAT, FM, VVFIN, NN, ART, NN, ART, NN ...

对于标记的句子,我想进行一些进一步的处理,我必须知道单个标签的含义。不幸的是,在OpenNLP-Wiki搜索标记集并不是很有帮助,因为它说:

TODO: Add more tag sets, also for non-english languages

有谁知道我在哪里可以找到德国maxent模型中使用的标签集?

3 个答案:

答案 0 :(得分:8)

我创建了一个包含德语标签的枚举(可以反向查找):

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;
    }
}

答案 1 :(得分:6)

似乎很有可能使用STTS tag set。该标签集据说是德语最常用的标签集,例如在此question或此Wikipedia entry

答案 2 :(得分:3)

据我所知,德国的OpenNLP POS标签器是在Tiger语料库上训练的。该语料库确实使用STTS标签集,只需稍加修改即可。我发现以下内容非常有用:A Brief Introduction to the Tiger Sample Corpus