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
Dopravní prostředek |
Hmotnost |
Maximální rychlost |
Počet kol
|
čtyřkolka |
340 kg |
90 km/h |
4
|
horské kolo |
13,5 kg |
50 km/h |
2
|
motocykl |
350 kg |
170 km/h |
2
|
motorový člun |
520 kg |
45 km/h |
0
|
osobní automobil |
1600 kg |
200 km/h |
4
|
plachetnice |
1500 kg |
18 km/h |
0
|
vysokozdvižný vozík |
2000 kg |
14 km/h |
4
|
Vizualizace
Normalizovaná data
Hodnoty jsou upraveny do rozmezí 0–1, kde 1 představuje 100 %.
Dopravní prostředek |
Hmotnost |
Maximální rychlost |
Počet kol
|
čtyřkolka |
0,170 |
0,450 |
1,000
|
horské kolo |
0,007 |
0,250 |
0,500
|
motocykl |
0,175 |
0,850 |
0,500
|
motorový člun |
0,260 |
0,225 |
0,000
|
osobní automobil |
0,800 |
1,000 |
1,000
|
plachetnice |
0,750 |
0,090 |
0,000
|
vysokozdvižný vozík |
1,000 |
0,070 |
1,000
|
Vizualizace
Všechny dopravní prostředky jsou nyní reprezentované vektorem z prostoru , například čtyřkolku popisuje vektor .
Tabulka euklidovských vzdáleností objektů:
|
čtyřkolka |
horské kolo |
motocykl |
mot. člun |
automobil |
plachetnice |
vz. vozík
|
čtyřkolka
|
0,000 |
0,563 |
0,640 |
1,029 |
0,836 |
1,211 |
0,913
|
horské kolo
|
0,563 |
0,000 |
0,623 |
0,561 |
1,201 |
0,910 |
1,126
|
motocykl
|
0,640 |
0,623 |
0,000 |
0,805 |
0,814 |
1,076 |
1,241
|
mot. člun
|
1,029 |
0,561 |
0,805 |
0,000 |
1,376 |
0,508 |
1,254
|
automobil
|
0,836 |
1,201 |
0,814 |
1,376 |
0,000 |
1,353 |
0,951
|
plachetnice
|
1,211 |
0,910 |
1,076 |
0,508 |
1,353 |
0,000 |
1,031
|
vz. vozík
|
0,913 |
1,126 |
1,241 |
1,254 |
0,951 |
1,031 |
0,000
|
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)[1] 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[2] 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[3], syntaktická analýza[4] nebo strojový překlad.
Související články
Reference
V tomto článku byl použit překlad textu z článku Word embedding na anglické Wikipedii.
- ↑ Lebret, Rémi; Collobert, Ronan (2013).
- ↑ Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013).
- ↑ SOCHER, Richard; PERELYGIN, Alex; WU, Jean; CHUANG, Jason; MANNING, Chris; NG, Andrew; POTTS, Chris. Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank. Conference on Empirical Methods in Natural Language Processing. Dostupné online. Je zde použita šablona
{{Cite journal}}
označená jako k „pouze dočasnému použití“.
- ↑ SOCHER, Richard; BAUER, John; MANNING, Christopher; NG, Andrew. Parsing with compositional vector grammars. Proceedings of the ACL conference. 2013. Dostupné v archivu pořízeném dne 2016-08-11. Je zde použita šablona
{{Cite journal}}
označená jako k „pouze dočasnému použití“.