Какой набор тегов используется в немецкой максимальной модели OpenNLP? - PullRequest
8 голосов
/ 31 декабря 2010

В настоящее время я использую инструменты OpenNLP для PoS-тега предложений на немецком языке, с максимальной моделью, указанной на их сайте загрузки :

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 ]

8 голосов
/ 03 августа 2012

Я создал перечисление, содержащее немецкие теги (возможен обратный поиск):

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;
    }
}
6 голосов
/ 31 декабря 2010

Вполне вероятно, что используется набор тегов STTS . Этот набор тегов считается самым распространенным набором тегов для немецкого языка, например в этом вопросе или в этой записи в Википедии .

3 голосов
/ 20 января 2012

Насколько я понимаю, POS-тегер OpenNLP для немецкого языка обучался на корпусе Tiger.Этот корпус действительно использует набор тегов STTS с небольшими изменениями.Мне показалось полезным следующее: Краткое введение в корпус образца тигра

...