Hvordan lage en innebygging fra en liste over engelske setninger

Hvordan Lage En Innebygging Fra En Liste Over Engelske Setninger



Har du noen gang tenkt når vi kommuniserer med våre maskiner (datamaskiner) og gir dem instruksjoner for å utføre en spesifikk oppgave for oss som å utføre et spesifikt søk eller å oversette fra ett språk til et annet, hvordan forstår og behandler en datamaskin dette? Alt dette gjøres gjennom underfeltet Artificial Intelligence i Natural Language Processing. Datamaskinen forstår de numeriske verdiene, og NLPs teknikk for 'innbygging av ord' konverterer ordet og tekstene som vi gir som input til datamaskinene til den numeriske vektoren slik at datamaskinen kan gjenkjenne det. Flere andre prosesser med NLP skjer utover denne menneske-datamaskin-interaksjonen gjennom språkmodeller, men vi vil dekke ordet innebygging i detalj i denne veiledningen.

Syntaks:

Ulike funksjoner faller inn under Natural Language Processing for ordet innebygging av teksten. Denne artikkelen dekker 'word2vec'-funksjonen for dette formålet. For å gjøre det klarere, konverterer ordet embedding våre tekstinndata til vektorrepresentasjonen der de ordene som har mer eller mindre de samme kontekstuelle betydningene har gitt den samme representasjonen.

'word2vec'-algoritmen er en nevrale nettverksmodell som er trent på en slik måte at den lærer innbyggingen av ordene ved først å forutsi ordets kontekst det vises i. Denne modellen tar inn teksten som input. Deretter, for hvert ord i teksten, opprettes vektorrepresentasjonen for det ordet. Denne modellen er basert på ideen om at ordene som ser ut til å ha samme kontekst har samme betydning. Syntaksen for 'word2vec' er som følger:







$ Word2Vec(setninger, min_antall)

Denne algoritmen har to parametere som er 'setninger' og 'minimum_antall'. Setningen er variabelen der listen over setninger eller teksten i form av setninger er lagret og minimum_count snakker om telleverdien på 1 som betyr at alle ordene i teksten som har dukket opp mindre enn ett må ignoreres .



Eksempel 1:

I dette eksemplet lager vi ordet innebygging for ordene som finnes i listen over engelske setninger. For å lage ordet «embedding», må vi bruke «word2vec»-modellen. Denne modellen er en pakke med Pythons 'gensim'-bibliotek. Vi må ha Gensim installert i våre Python-biblioteklagre for å fungere med 'word2vec'.



For å implementere dette eksemplet vil vi jobbe med 'google colab' online Python-kompilatoren. For å installere gensim, bruk kommandoen 'pip install gensim'. Dette begynner å laste ned dette biblioteket med alle tilhørende pakker. Når den er installert, importerer du 'word2vector'-pakken fra gensim.





For å trene denne 'word2vec'-modellen, må vi lage et treningsdatasett. For det lager vi en liste med setninger som inneholder fire til fem engelske setninger. Vi lagrer denne listen i 'training_data'-variabelen.

Vårt neste trinn etter å ha laget opplæringsdatasettet er å trene 'word2vec'-modellen på disse dataene. Så vi kaller modellen. Vi gir treningsdataene i inngangsparametrene til denne modellen som vi lagret i 'input'-variabelen. Deretter spesifiserer vi den andre parameteren som er 'minimum_count'. Vi setter verdien lik '1'. Utdataene fra denne treningsmodellen lagres i 'trained_model'-variabelen.



Når vi er ferdige med å trene modellen, kan vi ganske enkelt få tilgang til modellen med 'wv'-prefikset som er ordet vektormodell. Vi kan også få tilgang til tokenets ordforråd for ordene våre og kan skrive dem ut med metoden som følger:

vocabof_tokens = liste (model.wv.vocab)

Modellen representerer den trente modellen i vårt tilfelle. Nå får vi tilgang til vektorrepresentasjonen av det ene ordet i listen over setningen som i vårt tilfelle er 'eple'. Dette gjør vi ved å ringe den opplærte modellen. Vi sender ordet hvis vektorrepresentasjon vi ønsker å skrive ut som 'modell. wv ['eple']' til inndataargumentet. Deretter skriver vi ut resultatene med 'print'-funksjonen.

fra som nasjon modeller import Word2Vec

treningsdata = [ [ 'eple' , 'er' , 'de' , 'søt' , 'eple' , 'til' , 'word2vec' ] ,
[ 'dette' , 'er' , 'de' , 'sekund' , 'eple' ] ,
[ 'her' , 'en annen' , 'eple' ] ,
[ 'en' , 'søt' , 'eple' ] ,
[ 'og' , 'mer' , 'søt' , 'eple' ] ]

modell = Word2Vec ( treningsdata , min_count = 1 )
skrive ut ( modell )
vocabof_tokens = liste ( modell. wv . indeks_til_nøkkel )
skrive ut ( vocabof_tokens )
skrive ut ( modell. wv [ 'eple' ] )

Fra den tidligere nevnte utgangen og koden vises ordet innebygging for ordet 'eple'. I eksemplet laget vi først et opplæringsdatasett. Deretter trente vi en modell på den og oppsummerte modellen. Så, ved hjelp av modellen, fikk vi tilgang til ordenes symbolske vokabular. Etter det viste vi ordet embedding for ordet 'eple'.

Eksempel 2:

Ved å bruke gensim-biblioteket, la oss lage en annen liste med setninger. Tren modellen vår for hvert ord i setningen for å lage ordet innebygging ved å bruke 'word2vec'-modellen. Først, fra gensim-bibliotekpakken, importeres 'word2vec'-modellen. Deretter lager vi et annet datasett som vil være listen som har de to setningene i seg. Hver setning i listen har fire ord.

Nå lagrer vi denne listen i 'data'-variabelen. Deretter kaller vi 'word2vec()'-modellen og mater dataene til argumentene til denne modellen med minimum_count-verdien som er lik '1'. Slik trener vi modellen vår. Nå er den i stand til og kan lære ordinnbyggingen av ordene som finnes i setningene som finnes i listen ved å forutsi konteksten de eksisterer i. For å teste resultatene av modellen vår sender vi ganske enkelt et ord som 'hund' i dataene våre til modellen. Deretter skriver vi ut resultatene ved å bruke 'print()'-funksjonen.

fra som nasjon modeller import Word2Vec
data = [ [ 'kanin' , 'har' , 'tenner' ] , [ 'hund' , 'har' , 'ører' ] ]
modell = Word2Vec ( data , min_count = 1 )
skrive ut ( modell. wv [ 'hund' ] )

Vi kan observere vektorrepresentasjonen av ordet som vi matet til modellen som input fra forrige utdrag.

Konklusjon

Denne veiledningen demonstrerer metoden for å lage ordinnbygging for ordene som finnes i listen over engelske setninger. Vi lærte om 'gensim'-biblioteket til Python som gir 'word2vec'-modellen for å lage ordet innebygging. Videre lærte vi om inngangsparametere, hvordan man trener «word2vec»-modellen på treningsdataene, og hvordan man presenterer ordet i en representasjon av vektoren.