Ich versuche derzeit, einen allgemeinen (oder so allgemeinen wie praktischen) POS-Tagger mit NLTK zu erstellen. Ich habe mich mit den Braun- und Baumstammkorpora zum Training beschäftigt, werde mich aber wahrscheinlich am Baumbankkorpus niederlassen.Versuchen Sie, MEGAM als NLTK ClassifierBasedPOSTagger zu verwenden?
Lernen, wie ich gehe, finde ich den Klassifikator POS-Tagger sind die genauesten. Der Maximum Entity Classifier soll die genaueste sein, aber ich finde, dass er so viel Speicher (und Verarbeitungszeit) benötigt, dass ich das Trainings-Dataset signifikant reduzieren muss, daher ist das Endergebnis weniger genau als der Standard Naive Bayes Classifier.
Es wurde vorgeschlagen, dass ich MEGAM verwende. NLTK hat eine gewisse Unterstützung für MEGAM, aber alle Beispiele, die ich gefunden habe, sind für allgemeine Klassifizierer (z. B. ein Textklassifizierer, der einen Vektor von Wortmerkmalen verwendet) und nicht für einen spezifischeren POS-Tagger. Ohne dass ich meinen eigenen POS-Feature-Extractor und -Compiler neu erstellen muss (ich verwende lieber den bereits in NLTK), wie kann ich den MEGAM MaxEnt-Klassifikator verwenden? Ie. wie kann ich es in einigen bestehenden MaxEnt Code löschen, die entlang der Linien ist:
maxent_tagger = ClassifierBasedPOSTagger(train=training_sentences,
classifier_builder=MaxentClassifier.train)
Haben Sie gelesen: http://streamhacker.com/2008/11/03/part-of-speech-tagging-with-nltk-part-1/? Es ist ein ziemlich guter Blick auf POS-Tagger im Allgemeinen, wenn man sich alle vier Artikel ansieht. – perimosocordiae
Ja, ich habe sein Buch. Der Blog hat einige interessante Effizienzvergleiche, und ich könnte noch einen Brill-Tagger am Ende des Klassifikators hinzufügen (wie vorgeschlagen); aber die Beiträge scheinen MEGAM nicht zu erwähnen? Vielleicht muss ich mir den NLTK MaxEnt-Code ansehen und ihn für MEGAM reverse engineeren oder duplizieren. – winwaed