Mam dwie klasy zdań. Każdy ma dość wyraźną sekwencję poz-tag. Jak mogę wyszkolić klasyfikator Naive-Bayesa z sekwencją POS-Tag jako funkcję? Czy Stanford CoreNLP/NLTK (Java lub Python) dostarcza jakiejkolwiek metody budowania klasyfikatora z pos-tagiem jako funkcją? Wiem, że w pythonie NaiveBayesClassifier
można zbudować klasyfikator NB, ale korzysta on z contains-a-word
jako funkcji, ale czy można go rozszerzyć na funkcję pos-tag-sequence jako funkcję?Jak wytrenować naiwnego klasyfikatora Bayesa z sekwencją pos-tag jako funkcję?
Odpowiedz
Jeśli wiesz, jak ćwiczyć i przewidywać teksty (lub zdania w twoim przypadku), używając naiwnego klasyfikatora Nltk i słów jako cech, to możesz łatwo rozszerzyć to podejście, aby klasyfikować teksty według pos-tagów. Dzieje się tak, ponieważ klasyfikator nie dba o to, czy ciągi znaków funkcji są słowami czy znacznikami. Tak więc można po prostu zastąpić słowa swoimi zdaniami przez pos tagów stosując na przykład NLTK za standardową poz Tagger:
sent = ['So', 'they', 'have', 'internet', 'on', 'computers' , 'now']
tags = [t for w, t in nltk.pos_tag(sent)]
print tags
[ 'IN', 'PRP', 'VBP', 'JJ', 'w', "NNS", "RB"]
Od tej chwili można kontynuować podejście "zawiera słowo".
Dodając do twojej odpowiedzi, ponieważ pytanie mówi" sekwencja ", możemy połączyć tagi POS zdania jak' [IN] [PRP ] [VBP] [JJ] [IN] [NNS] [RS] "i zdefiniuj funkcję podobną do powiedz' conatinsPrpVbpSequence' i ustaw ją na 'True' dla wystąpienia' [PRP] [VBP] '.... – kundan
- 1. Klasyfikacja wielonomowego naiwnego klasyfikatora Bayesa z pythonem Przykład
- 2. Wdrażanie klasyfikatora Bayesa w Ruby?
- 3. Implementacja klasyfikatora naive-bayesa w języku NLTK
- 4. scikits learn i nltk: Naive Wynik klasyfikatora Bayesa bardzo różny
- 5. Jak wytrenować RNN z komórkami LSTM do prognozowania szeregów czasowych
- 6. Poszukuję open source naiwnego klasyfikatora Bayesian w języku C# dla projektu analizy nastrojów na Twitterze
- 7. Jak używać sprawdzania krzyżowego k-krotnego w scikicie z klasyfikatorem naive bayes i NLTK
- 8. opennlp Chunker i postag wyniki
- 9. Jak uzyskać nazwę klasyfikatora z właściwości Mavena?
- 10. tworzenie niewidocznych tablic z sekwencją
- 11. przewidywania PyMC3 Bayesa regresji liniowej z sklearn.datasets
- 12. Jak korzystać z reprezentacji wektorowej słów (uzyskanych z Word2Vec itp.) Jako funkcji dla klasyfikatora?
- 13. Parametry klasyfikatora Weka
- 14. Jak przekazać losową funkcję jako argument?
- 15. Jak przekazać funkcję jako parametr w Lua?
- 16. Jak ustawić funkcję składową jako parametr?
- 17. Jak utworzyć funkcję klasyfikatora Resource Governor na podstawie roli bazy danych?
- 18. Nieprawidłowy symbol kodowania z klejnotem klasyfikatora
- 19. jak wywołać operatora jako funkcję w C++
- 20. Jak przekazać funkcję jako parametr do elisp?
- 21. Jak przekazać `i` jako funkcję w grze?
- 22. Jak napisać cykl jako funkcję lambda?
- 23. Jak przekazać funkcję jako parametr w C?
- 24. zastanawiasz się, czy klasyfikator Bayesa jest właściwym podejściem?
- 25. Wyodrębnianie drzew (predyktor) z losowego klasyfikatora lasu
- 26. Jak utworzyć funkcję std :: function jako argument z std :: stoi jako wartość domyślną?
- 27. przekazując funkcję jako argument w funkcji
- 28. Narysuj funkcję w ggplot2 z więcej niż x jako parametr
- 29. wykreślając funkcję 2d jako powierzchnię w przestrzeni 3d z `Plots.jl`
- 30. Podanie wartości zwracanej przez funkcję jako odniesienie
Czy naprawdę potrzebujesz użyć NaiveBayesClassifier? Czy spojrzałeś na CRF? A propos, czy przeczytałeś ten rozdział: http://www.nltk.org/book/ch06.html? – 404pio
Dzięki za link. Skończyło się na tym, że używałem połączonych tagów-pos-sekwencji i 'zawieraPosSequence' jako funkcji ... – kundan