15
Kandidat: Mentor: Nikola Milošević 11/3138 Prof. Dr Boško Nikolić Mašinska analiza sentimenta rečenica na srpskom jeziku Master rad

Mašinska analiza sentimenta rečenica na srpskom jeziku

Embed Size (px)

DESCRIPTION

Master rad, Nikola Milošević. 25.1.2012.

Citation preview

Page 1: Mašinska analiza sentimenta rečenica na srpskom jeziku

Kandidat: Mentor:Nikola Milošević 11/3138 Prof. Dr Boško Nikolić

Mašinska analiza sentimenta rečenica na srpskom jeziku

Master rad

Page 2: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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.

Procesuiranje prirodnog jezika

Page 3: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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.)

Klasifikacija teksta – problem

Page 4: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Predprocesuiranje teksta

Page 5: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Stemming

Page 6: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Stemming za srpski jezik

Page 7: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Realizovani stemmer za srpski jezik

Page 8: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Evaluacija i problemi stemmer-a

Page 9: Mašinska analiza sentimenta rečenica na srpskom jeziku

• Š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...

Analiza sentimenta - uvod

Page 10: Mašinska analiza sentimenta rečenica na srpskom jeziku

• Metoda podržavajućih vektora

• Metoda maksimalne entropije

• Naive Bayes

Analiza sentimenta - algoritmi

Page 11: Mašinska analiza sentimenta rečenica na srpskom jeziku

• Delilac ne zavisi od klase pa se zanemaruje

• Uvodi se predpostavka uslovne nezavisnosti, tekst se posmatra kao vreća reči

Bayesovo pravilo i Naive Bayes

Page 12: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Laplace-ovo poravnanje, stop termini, obrada negacija

Page 13: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Realizovana aplikacija

Page 14: Mašinska analiza sentimenta rečenica na srpskom jeziku

• 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

Zaključak

Page 15: Mašinska analiza sentimenta rečenica na srpskom jeziku

Pitanja i diskusija