Metody analýzy textových dat
Michal Vašinek

Informace k předmětu

Přednášky a další informace na stránkách doc. Dvorského odkaz

Bodování

Klasifikovaný zápočet
70 bodů za aktivní plnění úloh ze cvičení
30 bodů za vypracování a odevzdání projektu

Cvičení

18.2 - Úvodní cvičení
25.2 - Automatické doplňování slov (N-gram model) - 7 bodů

V této úloze byste si měli vyzkoušet vytvořit jednoduchý model jazyka. Model jazyka je statistickým modelem, který se snaží odhadnout pravděpodobnost výskytu slova na základě jeho kontextu. V této úloze se zaměříme na n-gram model, který je založen na pravděpodobnosti výskytu n po sobě jdoucích slov. Při řešení této úlohy můžete používat umělou inteligenci v libovolném rozsahu.

Kontrolní otázky k úloze: Automatické doplňování slov (N-gram model)
4.3 - Přímé vyhledávání v textových datech - 7 bodů

V této úloze budete analyzovat různé algoritmy pro vyhledávání vzorů v textu. Zaměříte se na porovnání tří algoritmů: hrubé síly, Knuth-Morris-Pratt (KMP) a Boyer-Moore-Horspool (BMH). Cílem je pochopit, kdy je který algoritmus výhodnější a jak se chovají při různých typech textů a vzorů. Při řešení této úlohy můžete používat umělou inteligenci v libovolném rozsahu.

🎯 Bonusová úloha (+2 body navíc)

18.3 - Automatická oprava slov a vyhledávání s chybou - 7 bodů

V této úloze budete implementovat algoritmus pro automatickou opravu slov a analyzovat efektivitu různých přístupů k vyhledávání slov s chybou. Základní inspirací pro implementaci je známý algoritmus Petera Norwiga. Vaším cílem bude implementovat výpočet editační vzdálenosti a následně vytvořit systém pro automatickou opravu slov na základě pravděpodobnosti výskytu slov ve slovníku. Při řešení této úlohy můžete používat umělou inteligenci v libovolném rozsahu.

🎯 Bonusová úloha (+2 body navíc)

25.3 - Boolean Information Retrieval – Invertovaný index a dotazy – 7 bodů

V této úloze si vyzkoušíte základní principy booleovského vyhledávání v textových datech. Vytvoříte invertovaný index s normalizací tokenů, naparsujete a vyhodnotíte dotazy se závorkami a různými logickými operátory. Následně rozšíříte svůj systém o kompaktní reprezentaci indexu a analyzujete jeho efektivitu. Úloha je určena pro hlubší pochopení principů klasického IR modelu. Při řešení této úlohy můžete používat umělou inteligenci v libovolném rozsahu.

1.4 – Vektorový model a výpočet tf-idf – 7 bodů

V tomto cvičení si vyzkoušíte praktickou práci s vektorovým modelem reprezentace dokumentů. Ručně spočítáte tf-idf váhy, porovnáte dokumenty pomocí kosinové podobnosti a zamyslíte se nad limity této metody. Úloha je navržena tak, aby jste porozuměli principům vážení slov a podobnosti dokumentů, nikoli jen použili hotové funkce. Při řešení této úlohy můžete používat umělou inteligenci pro implementaci i konzultaci návrhu, ale výstupy musí být vaším vlastním zpracováním a interpretací a očekává se vaše schopnost problematiku vysvětlit, nikoli pouze předložit výstup nástroje.

8.4 – Komprese invertovaného indexu – 5 bodů

V tomto cvičení si vyzkoušíte různé metody bezztrátové komprese seznamu dokumentových identifikátorů (docIDs) v invertovaném indexu. Zaměříte se na jejich implementaci, experimentální vyhodnocení kompresního poměru i vlivu na rychlost vyhledávání. Úloha vás provede základními technikami komprese pomocí kódování rozdílů a univerzálních kódů.

15.4 – Překlad slov pomocí vektorových reprezentací – 9 bodů

V tomto cvičení si vyzkoušíte přenos významu mezi jazyky pomocí word embeddingů a lineární transformace. Nejprve získáte dvojjazyčná data (vektorové reprezentace a překladové dvojice), následně implementujete metodu pro učení transformační matice pomocí gradient descent a nakonec ověříte kvalitu překladu pomocí přesnosti. Cvičení spojuje praktické programování s pochopením matematického základu.

22.4 - CBOW model pro češtinu – 20 nebo 30 bodů (cvičení a projekt)

V tomto cvičení si vytvoříte vlastní model typu Continuous Bag of Words (CBOW) pro češtinu. Cílem je naučit model předpovídat slovo na základě jeho kontextu a tím získat kvalitní distribuované vektorové reprezentace slov (embeddingy). Úloha má dvě varianty: použití existujících knihoven (20 bodů) nebo plná implementace od nuly (30 bodů).

29.4 - Transformer pro sumarizaci dialogů – 21 bodů (cvičení a projekt)

V tomto cvičení si vyzkoušíte implementaci modelu typu encoder-decoder založeného na architektuře Transformer pro úlohu sumarizace krátkých dialogů ze Samsum datasetu. Cílem je vytvořit systém, který dokáže automaticky vygenerovat souhrn daného dialogu.