Kako ustvariti vdelavo iz seznama angleških stavkov

Kako Ustvariti Vdelavo Iz Seznama Angleskih Stavkov



Ali ste kdaj pomislili, ko komuniciramo z našimi stroji (računalniki) in jim dajemo navodila, naj za nas opravijo določeno nalogo, na primer, da izvedejo določeno iskanje ali prevedejo iz enega jezika v drugega, kako računalnik to razume in obdela? Vse to poteka prek podpolja umetne inteligence obdelave naravnega jezika. Računalnik razume numerične vrednosti in NLP-jeva tehnika »vdelave besed« pretvori besedo in besedila, ki jih damo kot vhod računalnikom, v ta numerični vektor, da ga računalnik prepozna. Več drugih procesov NLP se zgodi zunaj te interakcije med človekom in računalnikom prek jezikovnih modelov, vendar bomo v tem priročniku podrobno obravnavali besedo vdelava.

Sintaksa:

Pod obdelavo naravnega jezika spadajo različne funkcije za vdelavo besed v besedilo. Ta članek obravnava funkcijo »word2vec« za ta namen. Da bi bilo bolj jasno, vdelava besed pretvori naše besedilne vnose v vektorsko predstavitev, kjer so tiste besede, ki imajo bolj ali manj enak kontekstualni pomen, podale enako predstavitev.

Algoritem »word2vec« je model nevronske mreže, ki je usposobljen tako, da se nauči vdelave besed tako, da najprej predvidi kontekst besede, v katerem se pojavi. Ta model sprejme besedilo kot svoj vhod. Nato se za vsako besedo v besedilu ustvari vektorska predstavitev te besede. Ta model temelji na ideji, da imajo besede, za katere se zdi, da imajo enak kontekst, enak pomen. Sintaksa za »word2vec« je naslednja:







$ Word2Vec(stavki, min_štetje)

Ta algoritem ima dva parametra, ki sta 'stavki' in 'minimum_count'. Stavek je spremenljivka, kjer je shranjen seznam stavkov ali besedilo v obliki stavkov, minimum_count pa govori o vrednosti štetja 1, kar pomeni, da je treba katero koli besedo v besedilu, ki se pojavi manj kot ena, prezreti .



Primer 1:

V tem primeru ustvarimo besedne vdelave za besede, ki obstajajo na seznamu angleških stavkov. Za ustvarjanje besede »vdelava« moramo uporabiti model »word2vec«. Ta model je paket Pythonove knjižnice »gensim«. Za delo z »word2vec« moramo imeti nameščen Gensim v naših skladiščih knjižnice Python.



Za izvedbo tega primera bomo delali na spletnem prevajalniku Python »google colab«. Če želite namestiti gensim, uporabite ukaz 'pip install gensim'. S tem se začne prenos te knjižnice z vsemi povezanimi paketi. Ko je nameščen, uvozite paket »word2vector« iz gensima.





Za usposabljanje tega modela »word2vec« moramo ustvariti nabor podatkov za usposabljanje. Za to ustvarimo seznam stavkov, ki vsebuje štiri do pet angleških stavkov. Ta seznam shranimo v spremenljivko “training_data”.

Naš naslednji korak po ustvarjanju nabora podatkov za usposabljanje je usposabljanje modela »word2vec« na teh podatkih. Torej, imenujemo model. Podatke o usposabljanju podamo v vhodne parametre tega modela, ki smo jih shranili v spremenljivko “input”. Nato določimo drugi parameter, ki je 'minimum_count'. Njegovo vrednost nastavimo na '1'. Izhod iz tega modela usposabljanja se shrani v spremenljivko 'trained_model'.



Ko končamo z usposabljanjem modela, lahko preprosto dostopamo do modela s predpono 'wv', ki je beseda vektorski model. Dostopamo lahko tudi do besedišča žetona naših besed in jih lahko natisnemo z naslednjo metodo:

vocabof_tokens = seznam (model.wv.vocab)

Model predstavlja izurjen model v našem primeru. Zdaj dostopamo do vektorske predstavitve ene besede na seznamu stavka, ki je v našem primeru 'jabolko'. To storimo tako, da preprosto pokličemo usposobljeni model. Besedo, katere vektorsko predstavitev želimo natisniti, posredujemo kot »model. wv ['jabolko']« v svoj vhodni argument. Nato rezultate natisnemo s funkcijo »print«.

od kot narod modeli uvoz Word2Vec

trening_podatki = [ [ 'jabolko' , 'je' , 'the' , 'sladko' , 'jabolko' , 'za' , 'word2vec' ] ,
[ 'ta' , 'je' , 'the' , 'drugi' , 'jabolko' ] ,
[ 'tukaj' , 'drugo' , 'jabolko' ] ,
[ 'ena' , 'sladko' , 'jabolko' ] ,
[ 'in' , 'več' , 'sladko' , 'jabolko' ] ]

model = Word2Vec ( trening_podatki , min_count = 1 )
tiskanje ( model )
vocabof_tokens = seznam ( model. wv . indeks_na_ključ )
tiskanje ( vocabof_tokens )
tiskanje ( model. wv [ 'jabolko' ] )

Iz prej omenjenega izhoda in kode je prikazana besedna vdelava za besedo »jabolko«. V primeru smo najprej ustvarili nabor podatkov za usposabljanje. Nato smo na njem usposobili model in ga povzeli. Nato smo z uporabo modela dobili dostop do žetonskega besedišča besed. Po tem smo prikazali vdelavo besede za besedo »jabolko«.

Primer 2:

Z uporabo knjižnice gensim ustvarimo še en seznam stavkov. Usposobite naš model za vsako besedo v stavku, da ustvarite vdelavo besede z uporabo modela »word2vec«. Najprej je iz paketa knjižnice gensim uvožen model »word2vec«. Nato ustvarimo še en nabor podatkov, ki bo seznam z dvema stavkoma. Vsak stavek na seznamu ima štiri besede.

Zdaj ta seznam shranimo v spremenljivko »data«. Nato pokličemo model »word2vec()« in podamo podatke v argumente tega modela z vrednostjo minimum_count, ki je enaka »1«. Tako treniramo naš model. Zdaj je sposoben in se lahko nauči besedne vdelave besed, ki obstajajo v stavkih, ki so prisotni na seznamu, tako da predvideva kontekst, v katerem obstajajo. Za preizkus rezultatov našega modela preprosto posredujemo besedo, kot je 'pes', v naših podatkih modelu. Nato natisnemo rezultate s funkcijo »print()«.

od kot narod modeli uvoz Word2Vec
podatke = [ [ 'zajec' , 'ima' , 'zobje' ] , [ 'pes' , 'ima' , 'ušesa' ] ]
model = Word2Vec ( podatke , min_count = 1 )
tiskanje ( model. wv [ 'pes' ] )

Opazimo lahko vektorsko predstavitev besede, ki smo jo vnesli v model kot njegov vhod iz prejšnjega izrezka izhoda.

Zaključek

Ta vodnik prikazuje metodo za ustvarjanje vdelave besed za besede, ki obstajajo na seznamu angleških stavkov. Spoznali smo knjižnico »gensim« v Pythonu, ki nudi model »word2vec« za ustvarjanje vdelave besed. Nadalje smo se naučili o vhodnih parametrih, kako usposobiti model »word2vec« na učnih podatkih in kako predstaviti besedo v predstavitvi vektorja.