Upcoming SlideShare
×

LU specseminārs Web Science: Tekstu analīze

1,000 views

Published on

Published in: Education
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
1,000
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
5
0
Likes
0
Embeds 0
No embeds

No notes for slide

LU specseminārs Web Science: Tekstu analīze

1. 1. Tekstu analīzeLU specseminārs Web Science Normunds Grūzītis 15.11.2012.
2. 2. Semantiskā analīze?• Valodas vienību nozīmes (LLVV) – Vārda nozīme (paradigmatiskā analīze) • Lexical semantics – Teikuma nozīme (sintagmatiskā analīze) • Lexical semantics, Frame semantics, Computational semantics – Teksta nozīme (pragmatiskā analīze) • Computational semantics, Discourse semantics, Anaphora resolution• Automātiska semantiskā analīze – Formalizēti leksiksko un “pasaules” zināšanu avoti – Sistemātiskas formālās (surface) pazīmes  likumi • manuāli / statistiski (data-driven) – Formālisms
3. 3. Valodas saprašana un ģenerēšana Secināšana Modelis Interpretēšana Verbalizēšana Teksta semantika Teikuma semantika Sintakse Morfoloģija Runa KomunicēšanaUnrestricted English: Computer Processable English: Boeing Language Understanding Engine:An alien measures the height of a • An alien drops a boulder. isa(alien01,Foreigner),cliff by dropping a boulder from • The initial speed of the boulder is isa(boulder01,Bowlder), isa(drop01,Drop),rest and measuring the time it 0 m/s. isa(speed01,Velocity),takes to hit the ground below. • The boulder drops for 23 seconds. isa(distance01,Distance),The boulder fell for 23 seconds on • The acceleration of the boulder is isa(height01,Height),a planet with an acceleration of 7.9 m/s^2. isa(cliff01,Cliff), agent(drop01,alien01),gravity of 7.9m/s2. • The distance of the drop equals object(drop01,boulder01),Assuming constant acceleration the height of the cliff. value(speed01,[0,*m/s]),and ignoring air resistance, how • What is the height of the cliff? speed(boulder01,speed01), ...high was the cliff? equal(distance01,height01), patvaļīga / kontrolēta valoda distance(drop01,distance01), height(cliff01,height01). deterministiska / varbūtiska analīze
4. 4. Daudznozīmība visos līmeņos• Morfoloģiskā analīze – „es”: {pron,sg,pers1,”es”} – „ceļu”: {v,indic,pres,pers1,”celt”} VAI {n,sg,acc,”ceļš”} VAI {n,pl,gen,”ceļš”} VAI {n,pl,gen,”celis”} – „māju”: {n,sg,acc,”māja”} VAI {n,pl,gen,”māja”} VAI {v,indic,pres,pers1,”māt”}• Sintaktiskā analīze – „es”SUBJEKTS + „celt”PREDIKĀTS + „māja”OBJEKTS – „es”SUBJEKTS + „ceļš”OBJEKTS + „māt”PREDIKĀTS• Semantiskā analīze – leksiskā semantika: „māja” ir hiponīms „celtne”BUILDING, bet „celt” ir sinonīms „būvēt”BUILD VAI hiponīms “pārvietot”MOVE – verba tipiskie paplašinātāji: • „māt”WAVE ir intransitīvs – parasti tiek lietots kopā ar netiešo objektu (piem., ar ko?), nevis tiešo objektu (ko?) • „celt”BUILD un „celt”MOVE ir transitīvi – parasti tiek lietoti kopā ar tiešo objektu; netiešais objekts – neobligāts – fona zināšanas: Tas, ko kāds būvē, ir celtne. Ikviena celtne ir nekustamais īpašums. Tas, ko kāds pārvieto, ir kustamais īpašums. Kustamais īpašums nav nekustamais īpašums.
5. 5. Zifa likumsZipf’s law:• salīdzinoši maz vārdu tiek lietoti bieži — lielākā daļa tiek lietoti reti• dažādos kontekstos vārdi tiek intensīvi atkalizmantoti 100 90 80 70 60 50 Ierobežots skaits vārdu 40 30 Neierobežots skaits jēdzienu (nozīmju) 20 10 0 "the" 100 3500 7500Daudznozīmība: fenomenāls līdzeklis, kas Parādās visos teksta analīzes līmeņos: novalodas lietošanu padara ērtu cilvēkam. morfoloģisko pazīmju līdz pat diskursa referentu noteikšanai.Vārdu, vārdformu un sintaktiskokonstrukciju klāsts valodā ir galīgs, taču to Jo augstāks līmenis, jo nosacītikombinēšanas un interpretācijas iespējas valodneatkarīgākas problēmas/risinājumiteorētiski ir bezgalīgas. (bet ne resursi!).
6. 6. Teksta klasificēšana – semantiska problēma?• Derīgo vēstuļu un mēstuļu šķirošana• Anonīma autora noteikšana (t.sk. plaģiātisma atklāšana)• Autora vecuma/dzimuma noteikšana• Emocionālās ekspresijas noteikšana (sentiment analysis)• Teksta tematikas noteikšana• Dots dokuments d un fiksēta klašu kopa C={c1, .., cn} (n≥2) – Noteikt d atbilstošo cj• Vai tam ir nepieciešama semantiskā analīze? – Vai tas izklausās pēc teksta nozīmes analīzes?• Vienkāršoti risinājumi (balstīti uz atslēgvārdiem/frāzēm): – manuāli definēti likumi, heiristika (dārgi, lēni) – mašīnmācīšanās no piemēriem (nepieciešama treniņpiemēru kopa)
7. 7. Mašīnmācīšanās• Programmu ģenerēšana, balstoties uz reprezentatīviem piemēriem• Problēmas, kurām nav zināmas precīzas metodes, kā tās risināt, vai arī zināmās metodes ir pārāk “dārgas”• Programma mācās no pieredzes E attiecībā pret uzdevumu klasi T un precizitātes/veiktspējas mēru P, ja laika gaitā P uzlabojas ar jaunu pieredzi E – Veiktspējas uzlabošanu bieži var reducēt uz kādas mērķa funkcijas mācīšanos – Vispārīgā gadījumā varam cerēt iegūt tikai ideālās mērķa funkcijas aproksimāciju
8. 8. Naive Bayes metode• Viena no vienkāršākajām un efektīvākajām ML metodēm – Tekstu klasificēšanai• Bayes likums: – P(c|d) = P(d|c)*P(c) / P(d) • Varbūtība, ka c, ja d • “/ P(d)” var atmest, jo tas nav atkarīgs no c (konstante)• Vienkāršots (aplams!) pieņēmums: – bag of words: d = w1, w2, .., wn (pazīmju vektors) – conditional independence: P(wi|cj)  P(w1,..,wn|cj) = P(w1|cj)*..*P(wn|cj) – t.i., vārdi tekstā nav savstarpēji atkarīgi, secība nav svarīga• Naive Bayes: – argmax P(cj) * Π P(wi|cj) cj C i Pos
9. 9. Sec.13.2.1 Naïve Bayes as a Language Model • Which class assigns the higher probability to the sentence s? – P(s|c) = Π P(w|c) Model pos Model neg I love this fun film0.1 I 0.2 I 0.1 0.1 0.01 0.05 0.10.1 love 0.001 love 0.2 0.001 0.01 0.005 0.10.01 this 0.01 this P(s|pos) > P(s|neg)0.05 fun 0.005 fun 0.0000005 > 0.0000000010.1 film 0.1 film
10. 10. Kā radās P(cj) un P(wi|cj) vērtības? ˆ ) = doccount(C = c j ) P(c j klases cj relatīvais biežums treniņpiemēru kopā N doc cik bieži vārds wi ir lietots klases cj ˆ count(wi , c j ) dokumentos / kopējais vārdu skaits P(wi | c j ) = cj dokumentos (treniņpiemēros) å count(w, c j ) t.i., wi relatīvais biežums cj wÎV dokumentos (treniņpiemēros)P.S. NB klasifikatora apmācīšana savām vajadzībām bez programmēšanas: uClassify.com
11. 11. Teksta normalizēšana• Kodējumi, tokenizācija, speciālo simbolu un vārdu vispārināšana utt.• Biežumsaraksti un to analīze – Stopvārdi, “troksnis” (Zipf’s Law) – Vārdformas vs. pamatformas (īpaši aktuāli fleksīvām valodām) • Treniņpiemēri un datu (pazīmju – features) izkliedētība (sparsity)• Vārdlietojumu klasterēšana – Naivās metodes: truncation, stemming, regex – Morfoloģiskā analīze: • Vārdšķiras (u.c. morf. pazīmju) noteikšana – Atvērtās / slēgtās vārdšķiras – Pilnnozīmes / palīgnozīmes vārdi • Pamatformas noteikšana (“lemmatizācija”) – Locīšanas paradigmas (piem., lietvārdi: 6 vai 60?)
12. 12. Morfoloģiskā analīze vs. marķēšana• Dots: individuāla (ārpus konteksta) vārdforma vs. teikums• Analizators vs. statistisks tageris (POS tagger) – Baseline: ~90% – State of the art: ~97%• LU MII tageris: ~93% – Vārdšķiras noteikšana: 97% – Drīzumā gaidāma uzlabota versija• LU MII analizators – Morf. leksikons (~50K sugasvārdu, ~180K īpašvārdu) – Nezināmo vārdu minēšana pēc galotnes – Atgriež visus variantus, sakārtojot pēc dotās formas biežuma morf. korpusā (precizitāte: ~88%)• https://github.com/PeterisP/LVTagger