mašinska analiza sentimenta rečenica na srpskom jeziku

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

Upload: nikola-milosevic

Post on 11-May-2015

600 views

Category:

Technology


10 download

DESCRIPTION

Master rad, Nikola Milošević. 25.1.2012.

TRANSCRIPT

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