2010-12-31 8 views
7

Actualmente estoy usando las herramientas OpenNLP a POS-tag frases en alemán, con el modelo maxent que aparece en su download-site:¿Qué conjunto de etiquetas se usa en el modelo maxent alemán de OpenNLP?

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

Esto funciona muy bien y me dieron resultados como:

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

Con las oraciones etiquetadas Quiero hacer un procesamiento adicional donde tengo que saber el significado de las etiquetas individuales. Unforunately buscando los OpenNLP-Wiki para los conjuntos de etiquetas no es muy útil, ya que dice:

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

¿Alguien sabe donde puedo encontrar el conjunto de etiqueta utilizada en el modelo alemán maxent?

Respuesta

3

Entiendo que el etiquetador de POS OpenNLP para alemán fue entrenado en el corpus de Tigre. Este corpus sí utiliza el conjunto de etiquetas STTS, con pequeñas modificaciones. He encontrado los siguientes útiles: A Brief Introduction to the Tiger Sample Corpus

8

creé una enumeración que contiene las etiquetas alemán (búsqueda inversa es posible):

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

acabo de descubrir, que la última versión de OpenNLP (1.6.0) ahora también tiene "PROAV" como etiqueta. Encontré al analizar texto biomédico. Tal vez podría actualizar el código de la enumeración anterior para reflejar esa etiqueta correctamente, tal vez como: 'PROAV (" Pronominaladverb ")' – MWiesner

Cuestiones relacionadas