Word2vec aneb jak převést slova na čísla

Patrick Zandl · 5. červenec 2024 Opravit 📃

Algoritmus Word2vec představuje důelžitý průlom v oblasti zpracování přirozeného jazyka (NLP - Natural Language Processing). Umožnil totiž počítačům “pochopit text”, tedy převést jej z počítačům nesrozumitelných slov na vcelku srozumitelná čísla. A tím vlastně celá moderní revoluce AI začala. A co je pro nás v Česku zajímavé? Word2vec byl vyvinutý týmem vedeným Tomášem Mikolovem v roce 2013 ve společnosti Google.

Historické souvislosti

Před vznikem Word2vec se používaly různé metody pro reprezentaci slov v počítačově zpracovatelném formátu, jako byly například metody založené na frekvenci slov (bag-of-words, term frequency-inverse document frequency - TF-IDF). Tyto metody však měly omezenou schopnost zachytit sémantické vztahy mezi slovy. Například, ve vektorovém prostoru by slova “král” a “královna” byla od sebe stejně vzdálena jako “král” a “auto”, což neodráží skutečný sémantický význam těchto slov.

Tomáš Mikolov a jeho tým představili Word2vec, který využívá neuronové sítě k vytváření hustých vektorových reprezentací slov (word embeddings). Tyto vektory zachycují sémantické a syntaktické vztahy mezi slovy, což umožňuje jejich použití v různých NLP úlohách s vysokou přesností a efektivitou.

Principy fungování Word2vec

Word2vec používá dvě hlavní architektury k tréninku modelů: Continuous Bag of Words (CBOW) a Skip-gram. Oba přístupy se liší ve způsobu, jakým se učí reprezentace slov.

Continuous Bag of Words (CBOW)

CBOW model předpovídá cílové slovo na základě jeho kontextu. Kontext je definován jako sousední slova v určitém okně kolem cílového slova. Například, v větě “pes běží po parku”, pro cílové slovo “běží” by kontextová slova byla “pes”, “po” a “parku”.

Architektura CBOW funguje následovně:

  1. Vstupní vrstvy: Kontextová slova jsou převedena na jednorázové vektory (one-hot vectors).
  2. Skrytá vrstva: Tyto vektory jsou zprůměrovány a projdou přes váženou vrstvu, která slouží jako skrytá vrstva.
  3. Výstupní vrstva: Výstupem je predikce pravděpodobnosti cílového slova.

Skip-gram

Skip-gram model funguje opačně oproti CBOW. Předpovídá kontextová slova na základě cílového slova. Tento model je účinnější pro velké korpusy dat a lépe zachycuje vzácné slova.

Architektura Skip-gram funguje následovně:

  1. Vstupní vrstva: Cílové slovo je převedeno na jednorázový vektor.
  2. Skrytá vrstva: Tento vektor prochází váženou skrytou vrstvou.
  3. Výstupní vrstva: Model předpovídá pravděpodobnosti kontextových slov.

Výhody a přínosy Word2vec

Word2vec přinesl několik významných výhod oproti dřívějším metodám:

  1. Zachycení sémantických vztahů: Word2vec dokáže zachytit jemné sémantické vztahy mezi slovy. Například vektorový rozdíl mezi “král” a “královna” je podobný rozdílu mezi “muž” a “žena”.
  2. Efektivita: Algoritmy CBOW a Skip-gram jsou efektivní a mohou být trénovány na velmi velkých korpusech textu.
  3. Generalizace: Word2vec lze aplikovat na různé NLP úlohy, jako je klasifikace textu, strojový překlad nebo vyhledávání informací.

Následovníci Word2vec

Po úspěchu Word2vec následovalo několik dalších přístupů, které stavěly na jeho základech a dále vylepšovaly reprezentaci slov. Mezi nejvýznamnější patří GloVe (Global Vectors for Word Representation), FastText a moderní kontextuální modely jako BERT (Bidirectional Encoder Representations from Transformers).

GloVe

GloVe, vyvinutý týmem ze Stanford University, kombinuje vlastnosti Word2vec a tradičních maticových metod. GloVe trénuje word embeddings na základě globální statistiky slovního korpusu, což umožňuje zachytit jak lokální, tak globální sémantické vztahy mezi slovy.

Základní myšlenka GloVe spočívá v tom, že se učí vektorová reprezentace slov tak, aby jejich skalární součin (dot product) odpovídal logaritmu jejich pravděpodobnosti společného výskytu (co-occurrence probability). To znamená, že podobná slova mají vektorové reprezentace, které jsou blízko sebe v prostoru, a slova, která se často vyskytují společně, mají vysoký skalární součin.

FastText

FastText, vyvinutý týmem ve Facebook AI Research (FAIR), rozšiřuje Word2vec o schopnost pracovat s podslovy (subword information). To znamená, že FastText reprezentuje slova jako součet vektorů jejich n-gramů (sekvence n po sobě jdoucích znaků).

Tento přístup umožňuje modelu zachytit morfologii slov, což je užitečné zejména pro jazyky s bohatou morfologií nebo pro práci s neznámými slovy (out-of-vocabulary words). Například slovo “kočka” by bylo rozloženo na n-gramy jako “<ko”, “koč”, “očk”, “čka”, “ka>”.

Kontextuální modely: BERT a jeho následovníci

Zatímco Word2vec, GloVe a FastText generují statické vektorové reprezentace slov, moderní kontextuální modely jako BERT generují dynamické reprezentace, které závisí na kontextu použití slova ve větě. Word2vec přitom jejich vznik inspiroval, dalo by se říct, že stál na počátku transformátorů. Transformátory stavějí na myšlenkách reprezentace slov, ale rozšiřují je o schopnost zachytit kontext a sémantické vztahy v textu mnohem efektivněji.

I když jsou transformátory pokročilejší a výkonnější než Word2vec, oba přístupy mohou být v určitých situacích komplementární. Například statické vektorové reprezentace slov z Word2vec mohou být použity jako vstupní funkce pro trénink jednodušších modelů nebo jako základ pro další zpracování v rámci komplexnějších systémů založených na transformátorech.

A konkrétně? Tak za prvé je tu BERT. Ten vyvinul tým ve společnosti Google a používá architekturu transformátorů k tréninku modelu, který je schopný zachytit složité sémantické vztahy v textu. BERT je trénován na úloze maskovaného jazykového modelování (masked language modeling), kde se náhodně maskují některá slova v textu a model se učí tato slova predikovat na základě jejich kontextu.

BERT a jeho následovníci, jako jsou RoBERTa, GPT-2 a GPT-3, poskytují dnes nejlepší výsledky v různých NLP úlohách a představují další významný krok ve vývoji reprezentace slov.

Přínosy moderních přístupů pro LLM

Moderní přístupy, které staví na základech Word2vec, přinášejí několik klíčových přínosů:

  1. Lepší zachycení kontextu: Kontextuální modely jako BERT dokážou lépe zachytit význam slov v závislosti na jejich použití v textu, což zlepšuje přesnost a sémantickou koherenci v NLP úlohách.
  2. Flexibilita: Modely jako FastText umožňují práci s neznámými slovy a jazyky s bohatou morfologií, což zvyšuje jejich použitelnost v různých aplikacích.
  3. Výkonnost: Moderní modely poskytují state-of-the-art výsledky v mnoha NLP úlohách, což přináší výrazné zlepšení v oblasti strojového překladu, klasifikace textu, vyhledávání informací a dalších aplikacích.

Závěr

Algoritmus Word2vec představuje zásadní průlom v oblasti zpracování přirozeného jazyka, který položil základy pro další výzkum a vývoj v této oblasti. Jeho schopnost vytvářet husté vektorové reprezentace slov, které zachycují sémantické vztahy, otevřela nové možnosti pro zpracování textu a analýzu přirozeného jazyka.

Následovníci Word2vec, jako jsou GloVe, FastText a moderní kontextuální modely jako BERT, dále rozšiřují a vylepšují tyto metody, což přináší významné přínosy v různých aplikacích NLP.

Chcete tyto články emailem?

Twitter, Facebook