Obecnie próbuję zbudować uniwersalny (lub tak ogólny jak to jest praktycznie) tagger POS z NLTK. Spróbowałem trenować z brązowymi i drzewiastymi korpusami, ale prawdopodobnie będę osiadał na korpusie drzewa.Próbujesz użyć MEGAM jako NLTK ClassifierBasedPOSTagger?
Uczę się jak idę, znajduję klasyfikatora Taggerery POS są najdokładniejsze. Klasyfikator Maximum Entity ma być najbardziej dokładny, ale uważam, że wykorzystuje on tak dużo pamięci (i czasu przetwarzania), że muszę znacznie zmniejszyć zbiór danych treningowych, więc wynik końcowy jest mniej dokładny niż przy użyciu domyślnego klasyfikatora Naive Bayes.
Zasugerowano, że używam MEGAM. NLTK ma pewne wsparcie dla MEGAM, ale wszystkie przykłady, które znalazłem, są przeznaczone dla klasyfikatorów ogólnych (np. Klasyfikatora tekstów używającego wektora funkcji słów), a nie bardziej specyficznego tagera POS. Bez konieczności ponownego tworzenia własnego ekstraktora funkcji POS i kompilatora (tj. Wolę używać tego już w NLTK), jak mogę użyć klasyfikatora MEGAM MaxEnt? To znaczy. w jaki sposób można upuścić go w jakimś istniejącym kodem MAXENT który jest wzdłuż linii:
maxent_tagger = ClassifierBasedPOSTagger(train=training_sentences,
classifier_builder=MaxentClassifier.train)
Czy znasz: http://streamhacker.com/2008/11/03/part-of-speech-tagging-with-nltk-part-1/? Wygląda całkiem nieźle na znaczniki POS, jeśli spojrzysz na wszystkie cztery artykuły. – perimosocordiae
Tak, mam jego książkę. Na blogu można znaleźć interesujące porównanie skuteczności, a na końcu klasyfikatora mogę dodać tagger Brilla (zgodnie z sugestią); ale posty nie wydają się wspomnieć o MEGAM? Być może powinienem popatrzeć na kod NLTK MaxEnt i odwrócić go lub skopiować go, aby użyć MEGAM. – winwaed