Kā izveidot iegulšanu no angļu valodas teikumu saraksta

Ka Izveidot Iegulsanu No Anglu Valodas Teikumu Saraksta



Vai esat kādreiz domājuši, kad mēs sazināmies ar savām iekārtām (datoriem) un dodam tām norādījumus, lai veiktu konkrētu uzdevumu, piemēram, veiktu konkrētu meklēšanu vai tulkotu no vienas valodas uz citu, kā dators to saprot un apstrādā? Tas viss tiek darīts, izmantojot dabiskās valodas apstrādes apakšlauku Mākslīgais intelekts. Dators saprot skaitliskās vērtības, un NLP “vārdu iegulšanas” tehnika pārvērš vārdu un tekstus, ko mēs ievadām datoriem, šajā skaitliskā vektorā, lai dators to varētu atpazīt. Vairāki citi NLP procesi notiek ārpus šīs cilvēka un datora mijiedarbības, izmantojot valodas modeļus, taču šajā rokasgrāmatā mēs detalizēti apskatīsim vārdu iegulšanu.

Sintakse:

Dabiskās valodas apstrāde attiecas uz dažādām teksta vārda iegulšanas funkcijām. Šis raksts aptver šim nolūkam paredzēto funkciju “word2vec”. Lai padarītu to skaidrāku, vārda iegulšana pārvērš mūsu teksta ievadi vektora attēlojumā, ja tiem vārdiem, kuriem ir vairāk vai mazāk vienādas kontekstuālās nozīmes, ir sniegts vienāds attēlojums.

Algoritms “word2vec” ir neironu tīkla modelis, kas ir apmācīts tā, ka tas apgūst vārdu iegulšanu, vispirms paredzot vārda kontekstu, kurā tas parādās. Šis modelis izmanto tekstu kā ievadi. Pēc tam katram vārdam tekstā tiek izveidots vektora attēlojums šim vārdam. Šī modeļa pamatā ir ideja, ka vārdiem, kuriem šķiet vienāds konteksts, ir vienāda nozīme. Vārda “word2vec” sintakse ir šāda:







$ Word2Vec(teikumi, min_skaits)

Šim algoritmam ir divi parametri, kas ir “teikumi” un “minimālais_skaits”. Teikums ir mainīgais, kurā tiek glabāts teikumu saraksts vai teksts teikumu formā, un minimums_count runā par skaitīšanas vērtību 1, kas nozīmē, ka jebkurš no vārdiem tekstā, kas parādījies mazāk par vienu, ir jāignorē. .



1. piemērs:

Šajā piemērā mēs izveidojam vārdu iegulšanu vārdiem, kas pastāv angļu teikumu sarakstā. Lai izveidotu vārdu “iegulšana”, mums ir jāizmanto modelis “word2vec”. Šis modelis ir Python “gensim” bibliotēkas pakotne. Lai strādātu ar “word2vec”, mūsu Python bibliotēkas krātuvēs ir jāinstalē Gensim.



Lai ieviestu šo piemēru, mēs strādāsim pie “google colab” tiešsaistes Python kompilatora. Lai instalētu gensim, izmantojiet komandu “pip install gensim”. Tiek sākta šīs bibliotēkas lejupielāde ar visām saistītajām pakotnēm. Kad tas ir instalēts, importējiet pakotni “word2vector” no gensim.





Lai apmācītu šo “word2vec” modeli, mums ir jāizveido apmācības datu kopa. Šim nolūkam mēs izveidojam teikumu sarakstu, kurā ir četri līdz pieci teikumi angļu valodā. Mēs saglabājam šo sarakstu mainīgajā “training_data”.

Mūsu nākamais solis pēc apmācības datu kopas izveides ir “word2vec” modeļa apmācība uz šiem datiem. Tātad, mēs saucam modeli. Šī modeļa ievades parametros mēs sniedzam apmācības datus, kurus saglabājām mainīgajā “input”. Pēc tam mēs norādām otro parametru, kas ir “minimālais_skaits”. Mēs iestatām tā vērtību, kas vienāda ar “1”. Šī apmācības modeļa izvade tiek saglabāta mainīgajā “traained_model”.



Kad esam pabeiguši modeļa apmācību, mēs varam vienkārši piekļūt modelim ar prefiksu “wv”, kas ir vārda vektora modelis. Mēs varam arī piekļūt mūsu vārdu marķiera vārdnīcai un izdrukāt tos, izmantojot šādu metodi:

vocabof_tokens = saraksts (model.wv.vocab)

Mūsu gadījumā modelis attēlo apmācīto modeli. Tagad mēs piekļūstam viena vārda vektora attēlojumam teikuma sarakstā, kas mūsu gadījumā ir “ābols”. Mēs to darām, vienkārši piezvanot apmācītajam modelim. Mēs nododam vārdu, kura vektora attēlojumu vēlamies izdrukāt kā “modelis. wv ['ābols']” tā ievades argumentam. Pēc tam mēs izdrukājam rezultātus, izmantojot funkciju “drukāt”.

no kā tauta modeļiem imports Word2Vec

apmācības_dati = [ [ 'ābols' , 'ir' , 'the' , 'salds' , 'ābols' , 'priekš' , 'word2vec' ] ,
[ 'šis' , 'ir' , 'the' , 'otrais' , 'ābols' ] ,
[ 'šeit' , 'cits' , 'ābols' ] ,
[ 'viens' , 'salds' , 'ābols' ] ,
[ 'un' , 'vairāk' , 'salds' , 'ābols' ] ]

modelis = Word2Vec ( apmācības_dati , min_count = 1 )
drukāt ( modelis )
vocabof_tokens = sarakstu ( modelis. W V . index_to_key )
drukāt ( vocabof_tokens )
drukāt ( modelis. W V [ 'ābols' ] )

No iepriekš minētās izvades un koda tiek parādīts vārda iegulšana vārdam 'ābols'. Piemērā mēs vispirms izveidojām apmācības datu kopu. Pēc tam mēs apmācījām modeli un apkopojām modeli. Pēc tam, izmantojot modeli, mēs ieguvām piekļuvi vārdu žetonu vārdnīcai. Pēc tam mēs parādījām vārdu iegulšana vārdam 'ābols'.

2. piemērs:

Izmantojot gensim bibliotēku, izveidosim vēl vienu teikumu sarakstu. Apmāciet mūsu modeli katram vārdam teikumā, lai izveidotu vārda iegulšanu, izmantojot modeli “word2vec”. Pirmkārt, no gensim bibliotēkas pakotnes tiek importēts “word2vec” modelis. Pēc tam mēs izveidojam citu datu kopu, kas būs saraksts, kurā ir divi teikumi. Katram teikumam sarakstā ir četri vārdi.

Tagad mēs saglabājam šo sarakstu mainīgajā “dati”. Pēc tam mēs izsaucam modeli “word2vec()” un ievadām datus šī modeļa argumentiem ar minimālo_skaita vērtību, kas ir vienāda ar “1”. Tā mēs apmācām savu modeli. Tagad tas spēj un var iemācīties vārdu iegulšanu vārdiem, kas pastāv sarakstā iekļautajos teikumos, paredzot kontekstu, kurā tie pastāv. Lai pārbaudītu mūsu modeļa rezultātus, mēs vienkārši nododam modelim tādu vārdu kā “suns” savos datos. Pēc tam mēs izdrukājam rezultātus, izmantojot funkciju “print()”.

no kā nācija modeļiem imports Word2Vec
datus = [ [ 'zaķis' , 'ir' , 'zobi' ] , [ 'suns' , 'ir' , 'ausis' ] ]
modelis = Word2Vec ( datus , min_count = 1 )
drukāt ( modelis. W V [ 'suns' ] )

Mēs varam novērot tā vārda vektora attēlojumu, ko mēs ievadījām modelim kā tā ievadi no iepriekšējā izvades fragmenta.

Secinājums

Šajā rokasgrāmatā ir parādīta metode, kā izveidot vārdu iegulšanu vārdiem, kas atrodas angļu valodas teikumu sarakstā. Mēs uzzinājām par Python “gensim” bibliotēku, kas nodrošina “word2vec” modeli, lai izveidotu vārda iegulšanu. Turklāt mēs uzzinājām par ievades parametriem, kā apmācīt “word2vec” modeli apmācības datos un kā parādīt vārdu vektora attēlojumā.