Vnoření slov

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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ředekHmotnostMaximální rychlostPočet kol
čtyřkolka340 kg90 km/h4
horské kolo13,5 kg50 km/h2
motocykl350 kg170 km/h2
motorový člun520 kg45 km/h0
osobní automobil1600 kg200 km/h4
plachetnice1500 kg18 km/h0
vysokozdvižný vozík2000 kg14 km/h4

Vizualizace

Vektorová reprezentace dopravních prostředků, nenormalizováno.

Normalizovaná data

Hodnoty jsou upraveny do rozmezí 0-1, kde 1 představuje 100 %.

Dopravní prostředekHmotnostMaximální rychlostPočet kol
čtyřkolka0,1700,4501,000
horské kolo0,0070,2500,500
motocykl0,1750,8500,500
motorový člun0,2600,2250,000
osobní automobil0,8001,0001,000
plachetnice0,7500,0900,000
vysokozdvižný vozík1,0000,0701,000

Vizualizace

Vektorová reprezentace dopravních prostředků, normalizováno.

Všechny dopravní prostředky jsou nyní reprezentované vektorem z prostoru \mathbb{R}^3, například čtyřkolku popisuje vektor (0{,}17; 0{,}45; 1).

Tabulka euklidovských vzdáleností objektů:

čtyřkolkahorské kolomotocyklmot. člunautomobilplachetnicevz. +more vozík
čtyřkolka0,0000,5630,6401,0290,8361,2110,913
horské kolo0,5630,0000,6230,5611,2010,9101,126
motocykl0,6400,6230,0000,8050,8141,0761,241
mot. člun1,0290,5610,8050,0001,3760,5081,254
automobil0,8361,2010,8141,3760,0001,3530,951
plachetnice1,2110,9101,0760,5081,3530,0001,031
vz. vozík0,9131,1261,2411,2540,9511,0310,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ý. +more 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. +more 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í. +more 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. +more Například výsledek operace V_{otec} - V_{mu\check{z}} + V_{\check{z}ena} se nachází blízko vektoru V_{matka}. 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. +more 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: \{V_{kdy\check{z}}, V_{jsem}, V_{slou\check{z}il}, V_{to}\} \to V_{j\acute{a}} * Druhá iterace: \{V_{jsem}, V_{j\acute{a}}, V_{to}, V_{prvni}\} \to V_{slou\check{z}il}

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í

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top