Uczenie maszynowe - klasyfikacja tekstów

Program Rainbow

Aby móc wykonać postawione zadanie będą nam potrzebne zbiór poklasyfikowanych tekstów, które zostaną użyte w procesie uczenia oraz program Rainbow implementujący klasyfikator bayesowski. Przy okazji zastanów się, pod jakim kątem można w ogóle klasyfikować teksty? Podaj kilka możliwości.

Obsługa programu:

TUTORIAL

Dane

*amazon
*imdb
*recenzje
*skrypt

Zadanie 1

Pobierz jeden ze zbiorów danych, rozpakuj i umieść w folderze zawierającym rainbow.exe.

Zadanie 2

Wygeneruj model dla wybranego zbioru danych. Nazwy klas to "0" i "1", odpowiadają one recenzjom negatywnym i recenzjom pozytywnym. Wypisz 10 słów o największej wartości informacyjnej (infogain). Jakie to słowa?

Zadanie 3

Dokonaj oceny klasyfikacji dzieląc zbiór przykładów na zbiór uczący i testowy i uruchom skrypt podsumowujący wyniki.
Aby wykorzystać skrypt do analizy wyniku oceny należy go przekierować do pliku tekstowego:

 rainbow -d model --test-set=0.33 --test=1 > output.txt

A następnie wykonać skrypt:
 C:/Python27/python process_output.py output.txt 0 1

Jaka jest trafność klasyfikacji? Przeanalizuj macierz pomyłek. Który rodzaj błędu występuje częściej: klasyfikacja tekstów o wydźwięku pozytywnym jako tekstów o wydźwięku negatywnym czy odwrotnie? Dlaczego? Przeanalizuj zawartość plików, które zostały błędnie zaklasyfikowane. Co mogło być przyczyną błędnej klasyfikacji?

Więcej informacji:

Do porównania prosty program do analiz korpusowych AntConc wraz z instrukcją.


© A. Czoska, M. Komosiński, B. Kroll, A. Kupś, A. Mensfelt, B. Szopka