EWzIRD/L/z3
From WikiZMSI
[edytuj]
Na zajęciach
- Wejść na stroną Kancelaria Prezesa Rady Ministrów i wejść w: Archiwa -> Historia -> Expose i przemówienia (krócej tędy). Zapoznać się trochę z przemówieniami.
- Pobrać i rozpakować plik: politicians.zip zawierający dane (teksty przemówień) oraz skrypty MATLABa pomocne do rozpoczęcia pracy. Dla każdego polityka przygotowane jest około 80 kB tekstu.
- Zapoznać się ze skryptami: makeStatesFromText (ewidencjonuje wszystkie różne stany na podstawie sumy tekstów, pozwala odrzucić pewien odsetek najrzadszych stanów), textToSetOfOs (dzieli teksty pochodzące od jednego autora na teksty uczące i testowe, traktując zdanie jako sekwencję).
- Podzielić dane poszczególnych polityków na sekwencje uczące i testowe w proporcji 70 do 30 procent.
- Na danych uczących należy nauczyć modele Markowa dla poszczególnych polityków: Belka, Buzek, Kaczyński, Marcinkiewicz, Miller.
- Zepsilonować modele.
[edytuj]
Do domu
- Napisać skrypt, który na wejście przyjmuje: macierz komórkową sekwencji testowych (od poszczególnych polityków) i zbiorczo klasyfikuje teksty testowe do poszczególnych autorów. Jako parametr przekazać, ile zdań (sekwencji) będzie składało się na jeden tekst do rozpoznania (można będzie podać np. 5 zdań, 10 zdań, itd.).
- Wyznaczyć ogólną procentową poprawność rozpoznawania, oraz poprawności dla poszczególnych polityków.
- (zadanie premiowane 1) Dla każdego polityka sprawdzić, z kim i w jakim stopniu jest on mylony. Inaczej, trzeba odnotować przy zbiorczej klasyfikacji tzw. macierz konfuzji.
- (zadanie premiowane 2) Potraktować jako stan nie pojedynczy znak a parę znaków {(aa), (ab), ..., (żż)} (podpowiedź: wystarczy napisać odpowiednio swój skrypt extractStates wyciągający pary sąsiadujących znaczków ze słowa jako stany). Powtórzyć powyższe kroki: tj. zbudować modele, zepsilonować i sprawdzić skuteczność rozpoznawania (klasyfikacji). Chcemy się dowiedzieć czy przejście na dwuznaki podniosło skuteczność rozpoznawania względem pojedynczych znaków.