2.8 KiB
Kalbos modeliavimas
Semantiniai įterpiniai, tokie kaip Word2Vec ir GloVe, iš tiesų yra pirmasis žingsnis link kalbos modeliavimo – modelių kūrimo, kurie kažkaip supranta (arba atspindi) kalbos prigimtį.
Prieš paskaitą vykdomas testas
Pagrindinė kalbos modeliavimo idėja yra jų mokymas naudojant nepažymėtus duomenų rinkinius nesupervizuotu būdu. Tai svarbu, nes turime didžiulius kiekius nepažymėto teksto, o pažymėto teksto kiekis visada bus ribotas dėl pastangų, reikalingų jį pažymėti. Dažniausiai galime kurti kalbos modelius, kurie gali prognozuoti trūkstamus žodžius tekste, nes lengva atsitiktinai užmaskuoti žodį tekste ir naudoti jį kaip mokymo pavyzdį.
Įterpinių mokymas
Ankstesniuose pavyzdžiuose naudojome iš anksto apmokytus semantinius įterpinius, tačiau įdomu pamatyti, kaip šiuos įterpinius galima apmokyti. Yra keletas galimų idėjų, kurias galima naudoti:
- N-Gram kalbos modeliavimas, kai prognozuojame žodį, remdamiesi N ankstesniais žodžiais (N-grama).
- Nuolatinis žodžių maišas (CBoW), kai prognozuojame vidurinį žodį
W_0žodžių sekojeW_{-N}, ...,W_N. - Skip-gram, kai prognozuojame kaimyninių žodžių rinkinį {
W_{-N},\dots, W_{-1}, W_1,\dots, W_N} iš vidurinio žodžioW_0.
Vaizdas iš šio straipsnio
✍️ Pavyzdiniai užrašai: CBoW modelio mokymas
Tęskite mokymąsi naudodamiesi šiais užrašais:
Išvada
Ankstesnėje pamokoje matėme, kad žodžių įterpiniai veikia kaip magija! Dabar žinome, kad žodžių įterpinių mokymas nėra labai sudėtinga užduotis, ir prireikus turėtume sugebėti apmokyti savo įterpinius specifiniam tekstui.
Po paskaitos vykdomas testas
Apžvalga ir savarankiškas mokymasis
- Oficialus PyTorch kalbos modeliavimo vadovas.
- Oficialus TensorFlow vadovas apie Word2Vec modelio mokymą.
- Naudojant gensim sistemą, dažniausiai naudojamų įterpinių mokymas keliose kodo eilutėse aprašytas šioje dokumentacijoje.
🚀 Užduotis: Skip-Gram modelio mokymas
Laboratorijoje kviečiame jus pakeisti šios pamokos kodą, kad būtų mokomas Skip-Gram modelis vietoj CBoW. Skaitykite detales
