Naiwny Bayesian do wykrywania tematu przy użyciu podejścia "worek słów"

Staram się wdrożyć naiwne bayseiańskie podejście, aby znaleźć temat danego dokumentu lub strumienia słów. Czy są jakieś naiwne podejście bayesowskie, że mógłbym się tego spodziewać ?

Również, staram się poprawić mój słownik, jak idę dalej. Początkowo mam kilka słów, które mapują do tematu (hard-coded). W zależności od występowania słów innych niż te, które są już zmapowane. I w zależności od wystąpień tych słów chcę dodać je do mapping, a tym samym poprawę i poznanie nowych słów, które map do tematu. A także zmiana prawdopodobieństwa słów.

Jak mam to zrobić ? Czy moje podejście jest właściwe ?

Który język programowania najlepiej nadaje się do implementacji ?

Author: dmcer, 2010-05-06

1 answers

Istniejące implementacje naiwnych Bayes

Prawdopodobnie lepiej byłoby po prostu użyć jednego z istniejących pakietów obsługujących klasyfikację dokumentów za pomocą naiwnych Bayesa, np.:

Python - aby to zrobić za pomocą Pythona opartego Zestaw Narzędzi języka naturalnego (nltk), Zobacz też Klasyfikacja dokumentów rozdział w książce nltk .

Ruby - Jeśli Ruby jest dla Ciebie czymś więcej, możesz użyj klasyfikator gem. Oto przykładowy kod, który wykrywa czy Cytaty Family Guy są śmieszne, czy nie-Zabawne.

Perl - Perl ma algorytm:: NaiveBayes Moduł, wraz z przykładowym fragmentem użycia w pakiecie synopsis .

C# - Programiści C # mogą używać nBayes. Strona główna projektu ma przykładowy kod do prostego klasyfikatora spamu / nie-spamu.

Java - Ludzie z Javy mają Klasyfikacja4j. Możesz zobaczyć fragment kodu treningowego i punktowego tutaj .

Klasyfikacja Bootstrapping ze słów kluczowych

Wygląda na to, że chcesz zacząć od zestawu słów kluczowych, które są znane z cue dla niektórych tematów, a następnie użyć tych słów kluczowych, aby Bootstrap a classifier.

To całkiem sprytny pomysł. Spójrz na gazetę Klasowanie tekstu przez Bootstrapping ze słowami kluczowymi, EM i skurcz by McCallum and Nigam (1999). Podążając za tym podejściem, byli w stanie poprawić dokładność klasyfikacji z 45%, które uzyskali za pomocą samych twardych słów kluczowych, do 66% za pomocą bootstrapped naiwnego klasyfikatora Bayesa. Dla ich danych ten ostatni jest bliski poziomowi ludzkiej zgody, ponieważ ludzie zgadzali się ze sobą co do etykiet dokumentów 72% czasu.

 26
Author: dmcer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-07 03:33:02