Obdelava naravnega jezika

Opis predmeta

Vsebina predmeta temelji na izboru sodobnih statističnih tehnik obdelave naravnega jezika podkrepljenih s praktično rabo. V predavanjih predstavimo glavne pristope in pojasnimo delovanje posameznih metod in njihovo teoretično ozadje. V okviru laboratorijskih vaj znanje povežemo s praktično rabo in ga utrdimo z uporabo odprtokodnih sistemov za obdelavo naravnega jezika. Študenti rešujejo naloge, ki temeljijo na realnih raziskovalnih in praktičnih problemih, pretežno v slovenskem in angleškem jeziku.

  1. Uvod: motivacija, razumevanje jezika, Turingov test, tradicionalni in statističen pristop.

  2. Jezikovni viri: korpusi, slovarji, tezavri, omrežja in semantične baze, pregled orodij.

  3. Lingvistika: fonologija in morfologija, sintaktična analiza, formalne gramatike.

  4. Uporaba avtomatov in gramatik: avtomati in algoritmi za iskanje nizov, prepoznavanje sintakse, gramatično razčlenjevanje.

  5. Oblikoslovno označevanje besedil: vrste oznak, lematizacija, ngrami, skriti markovski model, označevanje s pravili.

  6. Računska in leksikalna semantika: predstavitve pomena, metode s pravili, leksikalna semantika.

  7. Razvrščanje besedil in mere podobnosti: kosinusna razdalja, jezikovna omrežja in grafi, WordNet, vektorska predstavitev, uteževanje vektorjev, semantična korelacija.

  8. Tekstovno rudarjenje: prilagojene klasifikacijske metode, metoda podpornih vektorjev na dokumentih, izbira atributov.

  9. Globoka omrežja in besedila: predstavitev besedil za uporabo v globokih nevronskih mrežah, avtoenkoderji, rekurzivne nevronske mreže.

  10. Povzemanje: predstavitve besedil, matrična faktorizacija, ekstrakcijske metode, povpraševane metode.

  11. Strojno prevajanje: jezikovni model, prevajalni model, poravnava jezikov, parametri modelov, izzivi v prevajanju.

  12. Dopolnjevanje besedil z drugimi viri informacij: heterogena omrežja, predstavitev word2vec, heterogeni ansambli klasifikatorjev, analiza povezav.

  13. Metodologija in evalvacija pri obdelavi naravnega jezika.

Predmet učimo na programih

Cilji in kompetence

Študenti se bodo naučili teorije in rabe osnovnih algoritmov in pristopov na področju obdelave naravnega jezika. Študenti bodo:

  • razumeli pristope k analizi sintakse in semantike na področju obdelave naravnega jezika;

  • razumeli pristope k povzemanju dokumentov;

  • razumeli delovanje statističnih pristopov k strojnemu prevajanju,

  • razumeli uporabo metod strojnega učenja v obdelavi naravnega jezika: skritega Markovskega modela, verjetnostnih kontekstno neodvisnih gramatik in algoritma EM,

  • znali uporabiti orodja za obdelavo naravnega jezika.

Metode poučevanja in učenja

Predavanja, laboratorijske vaje, delo v majhnih skupinah, javne predstavitve projektov

Predvideni študijski rezultati

Ob zaključku predmeta bodo študenti:

  • razumeli pristope k analizi sintakse in semantike na področju obdelave naravnega jezika;

  • znali ovrednotiti pristope k povzemanju dokumentov;

  • razlikovali med različnimi statističnimi pristopi k strojnemu prevajanju,

  • uporabljali in prilagajali metode strojnega učenja za obdelavo naravnega jezika

  • uporabljali in kritično vrednotili orodja za obdelavo naravnega jezika

  • poznali obstoječe in znali zasnovati nove jezikovne vire

  • uporabljali vektorske vložitve besedil in jih prilagajali novi okoliščinam

Temeljni viri in literatura

  1. Jurafsky, David and Martin, James H. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, 2nd and 3rd draft. Upper Saddle River, NJ: Prentice-Hall, 2009 and 2017.

  2. Aggarwal, Charu C., and Zhai, ChengXiang. Mining text data. Springer Science & Business Media, 2012.

  3. Bird, Steven, Ewan Klein, and Edward Loper. Natural language processing with Python. O'Reilly Media, Inc., 2009.

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411