Semantičke ugrađene reprezentacije, poput Word2Vec i GloVe, zapravo su prvi korak prema modeliranju jezika - stvaranju modela koji na neki način razumiju (ili predstavljaju) prirodu jezika.
Glavna ideja modeliranja jezika je treniranje na nepodacima bez oznaka na nesuperviziran način. Ovo je važno jer imamo ogromne količine teksta bez oznaka, dok je količina teksta s oznakama uvijek ograničena trudom koji možemo uložiti u označavanje. Najčešće možemo izgraditi modele jezika koji mogu predvidjeti nedostajuće riječi u tekstu, jer je lako sakriti nasumičnu riječ u tekstu i koristiti je kao uzorak za treniranje.
U našim prethodnim primjerima koristili smo unaprijed trenirane semantičke ugrađene reprezentacije, ali zanimljivo je vidjeti kako se te reprezentacije mogu trenirati. Postoji nekoliko mogućih ideja koje se mogu koristiti:
- N-Gram modeliranje jezika, gdje predviđamo token gledajući N prethodnih tokena (N-gram)
-
Kontinuirana vreća riječi (CBoW), gdje predviđamo srednji token
$W_0$ u nizu tokena$W_{-N}$ , ...,$W_N$ . -
Skip-gram, gdje predviđamo skup susjednih tokena {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} iz srednjeg tokena
$W_0$ .
Slika iz ovog rada
Nastavite učiti kroz sljedeće bilježnice:
U prethodnoj lekciji vidjeli smo da ugrađene reprezentacije riječi djeluju kao čarolija! Sada znamo da treniranje ugrađenih reprezentacija riječi nije vrlo složen zadatak, i trebali bismo biti u mogućnosti trenirati vlastite ugrađene reprezentacije za tekst specifičan za određeno područje ako je potrebno.
- Službeni PyTorch vodič o modeliranju jezika.
- Službeni TensorFlow vodič o treniranju Word2Vec modela.
- Korištenje okvira gensim za treniranje najčešće korištenih ugrađenih reprezentacija u nekoliko linija koda opisano je u ovoj dokumentaciji.
U laboratorijskom zadatku izazivamo vas da izmijenite kod iz ove lekcije kako biste trenirali Skip-Gram model umjesto CBoW. Pročitajte detalje
