Målet med kursen är att ge studenterna en omfattande kunskap om grundläggande tekniker och metoder inom naturlig språkbehandling (NLP) och maskininlärning. Under terminen kommer studenterna att lära sig programmeringsspråket Python och dess tillämpning på olika textbehandlingsuppgifter, bland annat webbskrapning, textförberedelse, tokenisering och lemmatisering. Kursen behandlar vektormodeller, probabilistiska modeller och olika typer av maskininlärningsmodeller, vilket gör det möjligt för studenterna att sammanfatta och klassificera texter samt tillämpa olika språkliga modeller och textmodelleringstekniker. Utöver den teoretiska kunskapen kommer studenterna att fördjupa sin förståelse genom praktiska övningar, vilket förbereder dem för att tillämpa avancerade NLP-lösningar i verkliga sammanhang.
Kursens ämnen och schema (baserat på en 14-veckors termin):
1) Introduktion till artificiell intelligens och NLP
2) Python I: Grundläggande operationer, variabler, filinläsning
3) Python II: If-Else-operationer, strängar, samlingar, listor, listfunktioner, loopar
4) Python III: Webbskrapning, samlingar, tupler, ordböcker
5) Vektormodeller: Textförberedelse, tokenisering, lemmatisering
6) Vektormodeller: TF-IDF, neurala ordinbäddningar
7) Probabilistiska modeller: Markov-modell, textklassificering
8) Probabilistiska modeller: Språkmodeller, textgenerering, poesi
9) Probabilistiska modeller: N-gram-baserad ordersättning
10) Maskininlärningsmodeller: Naiv Bayes – Hur avgör jag om min modell är tillräcklig?
11) Maskininlärningsmodeller: Logistisk regression – Sentimentanalys
12) Maskininlärningsmodeller: Textsammanfattning
13) Maskininlärningsmodeller: Latent Dirichlet-allokering – Ämnesmodellering, icke-negativ matrisfaktorisering (NMF)
14) Maskininlärningsmodeller: Latent semantisk analys (Latent Semantic Indexing)
När kursen är avslutad kommer deltagaren att kunna analysera stora textdatauppsättningar med hjälp av naturlig språkbehandling (NLP) och tekniker för maskininlärning.
När kursen är avslutad kommer deltagaren att kunna tillämpa sina kunskaper i Python-programmering för att utföra uppgifter som webbskrapning, textbearbetning, tokenisering och lemmatisering.
När kursen är avslutad kommer deltagaren att kunna använda vektormodeller, sannolikhetsmodeller och maskininlärningsmodeller för att sammanfatta, klassificera och modellera texter.
När kursen är avslutad kommer deltagaren att kunna skapa språkmodeller för textgenerering och genomföra sentimentanalys med hjälp av logistisk regression.
När kursen är avslutad kommer deltagaren att kunna tillämpa tekniker inom maskininlärning, såsom Naive Bayes, Latent Dirichlet Allocation (LDA) och ämnesmodellering, för att utforska mönster i textdata.
Vid kursens slut kommer deltagaren att kunna utvärdera effektiviteten hos NLP-modeller genom att tolka resultaten från algoritmer för maskininlärning.
När kursen är avslutad kommer deltagaren att kunna samarbeta i gruppprojekt för att utveckla Python-skript, tillämpa NLP-metoder och presentera resultat baserade på analys av data från verkliga situationer.
Inga krav.
Obligatorisk läsning:
Elhadad, M. (2010). Natural Language Processing with Python, Steven Bird, Ewan Klein och Edward Loper, O’Reilly Media.
Antić, Z. (2021). Python Natural Language Processing Cookbook. Packt Publishing Ltd.
Wittgenstein, L. (1998). Filosofiska undersökningar. Atlantis Budapest.
Chomsky, N. (1968). Språkliga bidrag till studiet av medvetandet: Framtiden. Språk och tänkande.
Gadamer, H.G. (2003). Sanning och metod: En skiss till en filosofisk hermeneutik. Sapientia Humana Osiris.
Läs också:
Shannon, C. (2001). En matematisk teori om kommunikation. ACM SIGMOBILE Mobile Computing and Communications Review.
Barrios, F., López, F., Argerich, L., & Wachenchauzer, R. (2016). Variationer av TextRanks likhetsfunktion för automatiserad sammanfattning.
Steinberger, J., & Jezek, K. (2004). Användning av latent semantisk analys vid textsammanfattning och utvärdering av sammanfattningar.
Metsis, V., Androutsopoulos, I., & Paliouras, G. (2006). Spamfiltrering med Naive Bayes – vilken Naive Bayes?
Aizawa, A. (2003). Ett informationsteoretiskt perspektiv på TF-IDF-mått.
Mihalcea, R., & Tarau, P. (2004). TextRank: Att skapa ordning i texter.
Gong, Y., & Liu, X. (2001). Sammanfattning av generisk text med hjälp av relevansmått och latent semantisk analys.
Ramadhan, W.P., Novianty, S.A., & Setianingsih, S.C. (2017). Sentimentanalys med hjälp av multinomial logistisk regression.
Blei, D.M., Ng, A.Y. och Jordan, M.I. (2003). Latent Dirichlet Allocation. Journal of Machine Learning Research.
Interaktiva sessioner som uppmuntrar till diskussion, analys och praktisk utforskning av NLP-tekniker och maskininlärningsmodeller. Studenterna kommer att arbeta med exempel från verkligheten, fallstudier och vetenskapliga artiklar.
Grupparbete:
Samarbetsprojekt där studenterna arbetar i grupper för att tillämpa metoder för maskininlärning vid analys av textdatauppsättningar. Detta innefattar att skapa Python-skript, utföra databehandlingsuppgifter och presentera sina resultat.
Praktiska laborationer:
Praktiska programmeringsövningar som genomförs i en datorsal. Studenterna ska tillämpa de tekniker som de lärt sig under föreläsningarna, till exempel webbskrapning, tokenisering, textklassificering och sammanfattning, med hjälp av Python.
Eleverna kommer att presentera sina gruppprojekt för klassen, vilket ger dem en möjlighet att utveckla sina presentationsfärdigheter och få feedback från klasskamraterna och läraren.
Studieutdrag