Mašinska analiza sentimenta rečenica na srpskom jeziku
1. Mašinska analiza
sentimenta rečenica
na srpskom jeziku
Master rad
Kandidat: Mentor:
Nikola Milošević 11/3138 Prof. Dr Boško Nikolić
2. Procesuiranje prirodnog jezika
• Oblast koja spaja računarstvo, veštačku inteligenciju i lingvistiku
• Povezana oblast interakcije čoveka i računara. Poboljšava
korisničko iskustvo
• Počeci oblasti su u 1950’ (Turing), ali veliku ekspanziju i upotrebu
doživljava u poslednjih 20 godina
• Zadaci procesiranja prirodnog jezika: mašinsko
prevođenje, klasifikacija teksta, analiza sentimenta, nalaženje
informacija, odgovaranje na pitanja, ekstrakcija
zavisnosti, prepoznavanje govora itd.
3. Klasifikacija teksta – problem
• Tekst je potrebno svrstati u određenu klasu
• Skup klasa je konačan i definisan od strane korisnika
• Supervizovano učenje
• Trening podaci labelisanih dokumenata
• Analiza sentimenta je binarna klasifikacija teksta (poz. ili neg.)
4. Predprocesuiranje teksta
• Kako bi algoritmi bili efikasniji koristi se preprocesuiranje teksta
• Smanjuje fleksiju jezika
• Stemming – heuristički proces odklanjanja sufiksa
• Lemmatizacija – svođenje reči na koren uz pomoć rečnika
• Efikasnost Stemmer-a i Lemmatizatora se gotovo ne razlikuju
• Lemmatizator je po pravilu kompleksniji za implementaciju
• Koristi se za gotovo sve probleme procesuiranja prirodnog jezika
5. Stemming
• Istorija
– Julie Beth Lovins 1968. za engleski jezik
– Martin Porter 1980. najkorišćeniji stemmer za engleski jezik, 2000. snowball
framework za pravljenje stemmer-a
– Nakon 2000. pojavljuj se stemmer-i za druge jezike
• Dva pristupa implementaciji stemera
– Zamena sufiks pravila
– Kreiranje stem-a u više koraka
6. Stemming za srpski jezik
• Stemming pravila za srpski nisu definisana
• Vlado Kešelj i Danko Šipka – stemmer uz pomoć
nesupervizovanog mašinskog učenja
– Veliku broj pravila
– Prilično neprecizan
– Dobra polazna osnova
• Stemmer skraćen sa 1000 na 300 pravila i povećana efikasnost
• 2 pristupa
– Konsultovanje gramatike
– Ispitivanje reči
7. Realizovani stemmer za srpski jezik
• Web aplikacija u programskom jeziku PHP
• Komunikacija pomoću JSON objekata u POST HTTP zahtevima
• Kodira srpske specijalne karaktere č,ć,š,đ,ž u cx,cy,sx,dx,zx
• Kreira stemove veće od 2 karaktera
• Ima rečnik nepravilnih glagola i njihovih fleksija
• Ostale reči se stemuju generalizovanim pravilima
8. Evaluacija i problemi stemmer-a
• Realizovani stemmer ima prilično veliku efikasnost (oko 90%)
• Ostaju problemi:
– Nepravilne fleskije
– Glasovne promene
– Kratke reči (teško prepoznatljivo poreklo)
• Predlog za budući rad: Implementacija stemmera u više koraka
za srpski jezik
9. Analiza sentimenta - uvod
• Šta ljudi misle? Kako osećanja gaje prema nečemu?
• Bazira se na klasifikaciji polarnosti teksta
• Specijalan slučaj klacifikacije teksta na 2 klase – pozitivnu i
negativnu
• Koriste ga sistemi za analizu mišljenja korisnika, business
inteligence sistemi, detekcija plamenova u elektronskim
komunikacijama, marketing aplikacije, eZakonodavstvo...
10. Analiza sentimenta - algoritmi
• Metoda podržavajućih vektora
• Metoda maksimalne entropije
• Naive Bayes
11. Bayesovo pravilo i Naive Bayes
• Delilac ne zavisi od klase pa se zanemaruje
• Uvodi se predpostavka uslovne nezavisnosti, tekst se posmatra
kao vreća reči
12. Laplace-ovo poravnanje, stop
termini, obrada negacija
• Reči koje se nisu pojavile u trening skupu – Laplaceovo pravilo
• Zbog malih vrednosti može doći do float underflow-a, koristi se
logaritam
• Stop termini
• Obrada negacija
13. Realizovana aplikacija
• Web servis koji prihvata POST HTTP zahteve i JSON objekte
• Odgovor HTTP POST odgovor sa JSON objektom
• Strana za učenje (zaštićena)
• Strana za analizu sentimenta
• Stemmer za srpski jezik
• Realizovana web aplikacija (komunikacija preko AJAX-a) i
Android mobilna aplikacija
• Mogućnost upotrebe i na drugim platformama
14. Zaključak
• Realizovan sistem klasifikuje tekst u pozitivnu i negativnu klasu
• Realizovana web i Android aplikacija
• Izazovi i teme za dalje unapređenje:
– Obrada negacija
– Obrada stilskih figura poput ironije i sarkazma
– Kontekst rečenica
• Izazovi stemmer-a
– Glasovne promene
– Nepravilne fleksije