SlideShare una empresa de Scribd logo
1 de 15
Mašinska analiza
  sentimenta rečenica
    na srpskom jeziku
                 Master rad


Kandidat:                  Mentor:
Nikola Milošević 11/3138   Prof. Dr Boško Nikolić
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.
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.)
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
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
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
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
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
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...
Analiza sentimenta - algoritmi
• Metoda podržavajućih vektora
• Metoda maksimalne entropije
• Naive Bayes
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
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
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
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
Pitanja i diskusija

Más contenido relacionado

Más de Nikola Milosevic

Supporting clinical trial data curation and integration with table mining
Supporting clinical trial data curation and integration with table miningSupporting clinical trial data curation and integration with table mining
Supporting clinical trial data curation and integration with table miningNikola Milosevic
 
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Mobile security, OWASP Mobile Top 10, OWASP SeraphimdroidMobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Mobile security, OWASP Mobile Top 10, OWASP SeraphimdroidNikola Milosevic
 
Table mining and data curation from biomedical literature
Table mining and data curation from biomedical literatureTable mining and data curation from biomedical literature
Table mining and data curation from biomedical literatureNikola Milosevic
 
Sentiment analysis for Serbian language
Sentiment analysis for Serbian languageSentiment analysis for Serbian language
Sentiment analysis for Serbian languageNikola Milosevic
 
Sigurnosne prijetnje i mjere zaštite IT infrastrukture
Sigurnosne prijetnje i mjere zaštite IT infrastrukture Sigurnosne prijetnje i mjere zaštite IT infrastrukture
Sigurnosne prijetnje i mjere zaštite IT infrastrukture Nikola Milosevic
 
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...Nikola Milosevic
 
Software Freedom day Serbia - Owasp open source resenja
Software Freedom day Serbia - Owasp open source resenjaSoftware Freedom day Serbia - Owasp open source resenja
Software Freedom day Serbia - Owasp open source resenjaNikola Milosevic
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationNikola Milosevic
 
OWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryOWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryNikola Milosevic
 
OWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session managementOWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session managementNikola Milosevic
 
Owasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaOwasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaNikola Milosevic
 

Más de Nikola Milosevic (19)

Supporting clinical trial data curation and integration with table mining
Supporting clinical trial data curation and integration with table miningSupporting clinical trial data curation and integration with table mining
Supporting clinical trial data curation and integration with table mining
 
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Mobile security, OWASP Mobile Top 10, OWASP SeraphimdroidMobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
Mobile security, OWASP Mobile Top 10, OWASP Seraphimdroid
 
Serbia2
Serbia2Serbia2
Serbia2
 
Table mining and data curation from biomedical literature
Table mining and data curation from biomedical literatureTable mining and data curation from biomedical literature
Table mining and data curation from biomedical literature
 
Malware
MalwareMalware
Malware
 
Sentiment analysis for Serbian language
Sentiment analysis for Serbian languageSentiment analysis for Serbian language
Sentiment analysis for Serbian language
 
Http and security
Http and securityHttp and security
Http and security
 
Android business models
Android business modelsAndroid business models
Android business models
 
Android(1)
Android(1)Android(1)
Android(1)
 
Sigurnosne prijetnje i mjere zaštite IT infrastrukture
Sigurnosne prijetnje i mjere zaštite IT infrastrukture Sigurnosne prijetnje i mjere zaštite IT infrastrukture
Sigurnosne prijetnje i mjere zaštite IT infrastrukture
 
Malware
MalwareMalware
Malware
 
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
Software Freedom day Serbia - Owasp - informaciona bezbednost u Srbiji open s...
 
Software Freedom day Serbia - Owasp open source resenja
Software Freedom day Serbia - Owasp open source resenjaSoftware Freedom day Serbia - Owasp open source resenja
Software Freedom day Serbia - Owasp open source resenja
 
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfigurationOWASP Serbia - A6 security misconfiguration
OWASP Serbia - A6 security misconfiguration
 
OWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgeryOWASP Serbia - A5 cross-site request forgery
OWASP Serbia - A5 cross-site request forgery
 
OWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session managementOWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session management
 
Owasp Serbia: sqli,xss
Owasp Serbia: sqli,xssOwasp Serbia: sqli,xss
Owasp Serbia: sqli,xss
 
Owasp tools - OWASP Serbia
Owasp tools - OWASP SerbiaOwasp tools - OWASP Serbia
Owasp tools - OWASP Serbia
 
Owasp Serbia overview
Owasp Serbia overviewOwasp Serbia overview
Owasp Serbia overview
 

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