2010-12-31 9 views
7

वर्तमान में मैं पीओएस टैग जर्मन वाक्य को OpenNLP उपकरण का उपयोग कर रहा हूँ, पर सूचीबद्ध MAXENT मॉडल के साथ उनकी 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 ... 

के साथ टैग किए गए वाक्य मैं कुछ और प्रसंस्करण करना चाहता हूं जहां मुझे एकल टैग का अर्थ जानना है। Unforunately टैग सेट के लिए OpenNLP-Wiki बहुत उपयोगी खोज कर रहा है नहीं के रूप में यह कहते हैं:

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

जहाँ मैं टैग जर्मन MAXENT मॉडल में इस्तेमाल किया सेट प्राप्त कर सकते हैं किसी को भी पता है?

उत्तर

6

ऐसा लगता है कि STTS tag set का उपयोग किया जाता है। यह टैग सेट जर्मन भाषा के लिए सबसे आम टैग सेट कहा जाता है, उदा। इस question में या इस Wikipedia entry में।

3

यह मेरी समझ है कि जर्मन के लिए ओपनएनएलपी पीओएस टैगर टाइगर कॉर्पस पर प्रशिक्षित किया गया था। यह कॉर्पस वास्तव में मामूली संशोधन के साथ, एसटीटीएस टैग सेट का उपयोग करता है। मैंने पाया इन उपयोगी: A Brief Introduction to the Tiger Sample Corpus

8

मैं एक enum जर्मन टैग युक्त (रिवर्स लुकअप संभव है) बनाया:

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

मैं बस की खोज की, OpenNLP का नवीनतम संस्करण (1.6.0) अब भी है कि टैग के रूप में "PROAV"। मैंने जैव चिकित्सा पाठ को पार्स करते हुए पाया। हो सकता है कि आप ऊपर दिए गए एनम के कोड को उस टैग को सही तरीके से प्रतिबिंबित करने के लिए अपडेट कर सकें, जैसे: 'PROAV ("Pronominaladverb") ' – MWiesner

संबंधित मुद्दे