2014-04-20 14 views
5

Potrzebuję do sklasyfikowania tekstu i używam modułu Text blob python, aby go osiągnąć. Mogę użyć klasyfikatora Naive Bayes/drzewa decyzyjnego. Obawiam się o poniższych punktach.Klasyfikacja tekstu w python - (oparte na zdaniu NLTK)

1) Muszę zaklasyfikować zdań jako argument/Nie argument. Używam dwóch klasyfikatorów i trenuję model przy użyciu zestawów danych apt. Moje pytanie dotyczy tylko tego, czy muszę wyszkolić model za pomocą tylko słów kluczowych? lub mogę wyszkolić zestaw danych ze wszystkimi możliwymi argumentami i bez argumentów przykładowe zdania? Jakie byłoby najlepsze podejście w zakresie dokładności klasyfikacji tekstu i czasu jego pobierania?

2) Ponieważ klasyfikacja byłaby albo argumentem/nie argumentem, który klasyfikator uzyskałby dokładne wyniki? To jest Naive Bayes/Drzewo decyzyjne/Pozytywne naiwne bayes?

Z góry dziękuję.

Odpowiedz

1

Idealnie, it is said that the more you train your data, the 'better' your results, ale to naprawdę zależy od tego, jak przetestowałeś go i porównałeś z wynikami, które przygotowałeś.

Aby odpowiedzieć na pytanie, szkolenie modelu za pomocą słów kluczowych może dać zbyt szerokie wyniki, które mogą nie być argumentami. Ale tak naprawdę, musisz to porównać z czymś, więc sugeruję, że mógłbyś również ćwiczyć swój model z pewną strukturą zdania, która wydaje się podążać za argumentami (pewien rodzaj wzorca), może wyeliminować te, które nie są argumentami. Ponownie wykonaj to, a następnie przetestuj, aby zobaczyć, czy uzyskasz wyższą dokładność niż w poprzednim modelu.

Aby odpowiedzieć na następne pytanie: Jakie byłoby najlepsze podejście w zakresie dokładności klasyfikacji tekstu i czasu jego pobierania? To naprawdę zależy od danych, których używasz. Nie mogę odpowiedzieć na to pytanie, ponieważ musisz przeprowadzić walidację krzyżową, aby sprawdzić, czy Twój model osiąga wysoką dokładność. Oczywiście, im więcej funkcji szukasz, tym gorsza jest wydajność twojego algorytmu uczenia się. A jeśli masz do czynienia z gigabajtami tekstu do analizy, sugeruję użycie Mapreduce do wykonania tej pracy.

Możesz chcieć sprawdzić SVM jako swój model uczenia się, przetestować go z modelami nauki (naiwne bayes, pozytywne naiwne bayes i drzewa decyzyjne) i sprawdzić, który z nich działa lepiej.

Mam nadzieję, że to pomoże.

Powiązane problemy