Term Frequency (TF): Vyjadřuje, jak často se slovo vyskytuje v dokumentu. Obvykle se počítá jako poměr počtu výskytů slova v dokumentu a celkového počtu slov v dokumentu.
Inverse Document Frequency (IDF): Vyjadřuje, jak vzácné je slovo v rámci celého korpusu dokumentů. Obvykle se počítá jako poměr celkového počtu dokumentů v korpusu a počtu dokumentů, ve kterých se slovo vyskytuje.
Embedding slov se vytvoří podobně jako u autoenkoderů. Slova se zakódují 1-hot encodingem na vstupu neuronové sítě, která pak vektory prožene bottleneckem a pak opět zvětšuje na velikost původního vstupu. Síť se tak má naučit reprezentaci slov v nižší dimenzi skrytých vrstev.
Sítě bývají mělké a zakódování má dimenzi v řádu několika stovek. Prostor je sestaven tak, že slova, která sdílí nějaký kontext, jsou v prostoru blízko sebe (cosinová vzdálenost).
Používá word subsampling k odstranění příliš častých slov z trénovací sady (stop words jako the, and,...). Velmi častá slova mají tedy větší pravděpodobnost, že ony a jejich kontext budou při trénování odstraněny.
Reprezentace je vylepšena s využitím kontextu slov, přičemž je možné použít jeden ze dvou přístupů – CBOW a Skip-gram.
Continuous Bag of Words (CBOW) určuje jaká slova definují použití specifického slova, tedy modeluje pravděpodobnost nějakého slova, za podmínky nějakých konkrétních slov v jeho okolí.
Skip-gram naopak modeluje pravděpodobnost typických slov použitých v kontextu nějakého konkrétního slova.
FastText je takové rozšíření, které přichází s myšlenkou zakódování sub-slovních struktur.
Každé slovo je bag of n-grams. Začátek a konec slova je značen speciálními znaky.
Mějme slovo: where
Prvni pridame oddelujiuci znaky: ¡where¿
3-gram reprezentace: ¡wh, whe, her, ere, re¿
FastText se učí reprezentace pro všechny n-gramy i kompletní slova.
Při trénování se update vah projevuje ve všech vektorech n-gamů, které ovlivnily výstupní slovo.
Výhodou je, že model pak může narazit na slovo co nezná, ale podle nějakého jeho n-gramu bude schopen určit jeho kontext (např. bude obsahovat známý kontext).
N-gramy se hashují aby se daly rychleji hledat a aby jejich počet byl omezený.
Opět to funguje tak, že n-gramy podobného kontextu a slova jsou v prostoru blíže.
Lze použít pro klasifikaci dokumentů, kde se celý dokument zakóduje do n-gramů, vektory se zprůměrují a klasifikace se provede na základě průměrných embeddingů.
Jaké jsou rozdíly GloVe oproti Word2vec a FastText?¶
GloVe využívá globálních statistik z celého dokumentu a modeluje pravděpodobnost současného výskytu dvou slov.
Modeluje co-occurance matici dvojic slov, tedy pravděpodobnost jejich současného výskytu, jelikož předpokládá, že slova co často spadají do stejného kontextu budou mít sémantickou podobnost.
Count-based alternativa Word2Vec a FastText, které embedding vytvářejí neuronovou sítí na základě lokálního kontextu.
Graph embeddings jsou metody pro reprezentování grafů v nějakém nižším nebo vyšším prostoru, které umožňují lépe vyjádřit vztahy mezi vrcholy nebo hrany grafu.
Graph embeddings se často používají pro úlohy, jako je klasifikace grafů, predikce vztahů mezi vrcholy nebo detekce anomálií v grafech.
Předkládat ML modelům graf je složité, je otázkou jak ten graf reprezentovat. Matice sousedů není na reprezentaci vhodná, je příliš velká a neobsahuje hodnoty uzlů.
Graph embdedings se tento problém pokouší řešit tím, že se vrcholy nebo celý graf embeddují do vektorového prostoru.
Node embedding - každý vrchol je převeden na vektor, což může být vhodné pro node-level ML úkoly (node classification, link prediction).
Graph embedding - celý graf je převeden na vektor, což se hodí na graph-level problémy (klasifikace grafů – popsání grafu nějakou charakteristikou, graph clustering, community detection).
DeepWalk - používá náhodné procházky po okolí vrcholů a sekvenci vrcholů reprezentuje jako sekvenci slov, na které používá Word2Vec.