Vnoření slov
Vnoření slov (anglicky word embedding) je způsob číselné reprezentace slov používaný v počítačovém zpracování přirozeného jazyka. Spočívá v převedení slov na vektory (nebo ekvivalentně body) v mnoharozměrném prostoru tak, aby se slova s podobnými vlastnostmi nacházela blízko sebe. Přístup je možné zobecnit i pro slovní spojení či celé věty a dokumenty.

Motivace 
Obraz i zvuk je při počítačovém zpracování možné přirozeným způsobem zobrazit do spojitého prostoru (prostoru nad reálnými čísly) – v případě zvuku jde o jednorozměrný popis průběhu signálu (viz digitální audio), v případě obrazu o dvourozměrný popis barev jednotlivých pixelů (viz rastrová grafika).

Pro reprezentaci slov se však ve zpracování přirozeného jazyka tradičně užívá kód 1 z n (prakticky přiřazení náhodných identifikačních čísel), který z principu vytváří velmi řídce obsazené prostory s vysokým počtem dimenzí. To je z mnoha důvodů nepraktické – data jsou prostorově náročná (velikost je lineární vzhledem k velikosti slovníku) a reprezentace nijak nezachycuje vztahy mezi slovy (synonymie, nadřazené a podřazené pojmy a podobně).

Je tedy žádoucí převést všechna slova do spojitého prostoru pevně dané dimenze, která nebude závislá na velikosti slovníku. Jinak řečeno, cílem je převést slova na vektory reálných čísel o pevné délce.

Příklad 
Následující příklad pouze ilustruje způsob, jakým mohou být slova převedena na posloupnosti čísel. U skutečně používaných vnoření není zjistitelné, co jednotlivé rozměry znamenají.

Data

Vizualizace

Normalizovaná data 
Hodnoty jsou upraveny do rozmezí 0–1, kde 1 představuje 100 %.

Vizualizace 

Všechny dopravní prostředky jsou nyní reprezentované vektorem z prostoru , například čtyřkolku popisuje vektor .

Tabulka euklidovských vzdáleností objektů:

Nejbližšími dvojicemi v tomto modelu jsou motorový člun – plachetnice, horské kolo – motorový člun a čtyřkolka – horské kolo. Naopak nejvzdálenější dvojicí je motorový člun – osobní automobil.

Skutečné reprezentace 
V praxi se používají vektory nad reálnými čísly o desítkách až stovkách rozměrů. Vnoření jsou vytvářena automaticky, často s použitím strojového učení, a význam jednotlivých rozměrů není interpretovatelný. Vektory mají význam jen ve vztahu k ostatním vektorům, samostatně ne.

Způsoby výpočtu vnoření

Statistické metody 
Tyto metody vycházejí z frekvencí kovýskytů slov (současného výskytu dvou slov v jednom kontextu). Frekvence jsou zaneseny do matice, jejíž dimenze je následně redukována. Příkladem takových redukcí jsou latentní sémantická analýza (LSA), analýza hlavních komponent (PCA) nebo nástroj GloVe.

Prediktivní metody 
Tyto metody pracují iterativně. Každému slovu je obvykle na počátku přiřazen náhodný vektor a poté jsou reprezentace postupně upravovány tak, aby dosáhly požadovaných vlastností. V každém kroku se porovnává upravované vnoření s vnořeními slov v konkrétním kontextu.

Word2vec 
Nástroj Word2vec vyvinutý pod vedením Tomáše Mikolova přinesl významné zefektivnění učení a přispěl k rozšíření techniky vnořování. Reprezentace získané tímto nástrojem umožňují používat vektorovou aritmetiku, tedy provádět s reprezentacemi slov matematické operace. Například výsledek operace  se nachází blízko vektoru . Tyto vztahy jsou jazykově nezávislé.

Word2vec nabízí dva algoritmy. Algoritmus CBOW (continuous bag-of-words) iterativně prochází slova na vstupu pomocí pohyblivého okénka a snaží se odhadnout aktuální slovo na základě slov okolních. Pořadí slov v kontextu není zohledňováno, odtud také název odkazující k tradičnímu balíku slov.

Pokud bychom například měli větu „když jsem já sloužil to první léto“ a okénko velikosti pět slov, budou se postupně učit tyto vztahy:
 První iterace: 
 Druhá iterace: 

Druhým podporovaným algoritmem je skip-gram. Ten stejně jako CBOW využívá pohyblivé okénko, odhad ale probíhá v opačném směru – algoritmus se učí předvídat kontext na základě aktuálního slova.

Implementaci obou algoritmů obsahují také nástroje Deeplearning4j a Gensim.

Využití vnoření 
Použití vnoření slov namísto slov samotných, případně společně s nimi, zlepšuje výsledky dalších navazujících úloh, jako jsou analýza sentimentu, syntaktická analýza nebo strojový překlad.

Související články 
 Brownovo klastrování

Reference 

Počítačová lingvistika
Jazykové modelování