Sådan opretter du en indlejring fra en liste over engelske sætninger

Sadan Opretter Du En Indlejring Fra En Liste Over Engelske Saetninger



Har du nogensinde tænkt, når vi kommunikerer med vores maskiner (computere) og giver dem instruktioner til at udføre en bestemt opgave for os, som at udføre en specifik søgning eller at oversætte fra et sprog til et andet, hvordan forstår og behandler en computer dette? Dette gøres alt sammen gennem underområdet Artificial Intelligence i Natural Language Processing. Computeren forstår de numeriske værdier, og NLP's teknik med 'ordindlejring' konverterer ordet og de tekster, vi giver som input til computerne, til den numeriske vektor, så computeren kunne genkende det. Adskillige andre processer af NLP sker ud over denne menneske-computer interaktion gennem sprogmodeller, men vi vil dække ordet indlejring i detaljer i denne vejledning.

Syntaks:

Forskellige funktioner falder ind under Natural Language Processing for ordindlejring af teksten. Denne artikel dækker funktionen 'word2vec' til dette formål. For at gøre det klarere konverterer ordet indlejring vores tekstinput til vektorrepræsentationen, hvor de ord, der har mere eller mindre samme kontekstuelle betydninger, har givet den samme repræsentation.

'word2vec'-algoritmen er en neural netværksmodel, som er trænet på en sådan måde, at den lærer ordenes indlejring ved først at forudsige ordets kontekst, hvori det optræder. Denne model tager teksten ind som input. Derefter oprettes vektorrepræsentationen for hvert ord i teksten for det pågældende ord. Denne model er baseret på ideen om, at de ord, der ser ud til at have samme sammenhæng, har samme betydning. Syntaksen for 'word2vec' er som følger:







$ Word2Vec(sætninger, min_antal)

Denne algoritme har to parametre, som er 'sætninger' og 'minimum_antal'. Sætningen er den variabel, hvor listen af ​​sætninger eller teksten i form af sætninger er gemt, og minimum_count taler om tælleværdien 1, hvilket betyder, at ethvert af ordene i teksten, der er optrådt mindre end ét, skal ignoreres .



Eksempel 1:

I dette eksempel opretter vi ordet indlejringer for de ord, der findes på listen over engelske sætninger. For at skabe ordet 'indlejring' skal vi bruge 'word2vec'-modellen. Denne model er en pakke af Pythons 'gensim' bibliotek. Vi skal have Gensim installeret i vores Python-bibliotekslagre for at arbejde med 'word2vec'.



For at implementere dette eksempel vil vi arbejde på 'google colab' online Python-kompileren. For at installere gensim, brug kommandoen 'pip install gensim'. Dette begynder at downloade dette bibliotek med alle dets tilknyttede pakker. Når det er installeret, skal du importere 'word2vector'-pakken fra gensim.





For at træne denne 'word2vec'-model skal vi oprette et træningsdatasæt. Til det opretter vi en liste over sætninger, der indeholder fire til fem engelske sætninger. Vi gemmer denne liste i variablen 'training_data'.

Vores næste skridt efter at have oprettet træningsdatasættet er at træne 'word2vec'-modellen på disse data. Så vi kalder modellen. Vi giver træningsdataene i inputparametrene for denne model, som vi gemte i 'input'-variablen. Derefter angiver vi den anden parameter, som er 'minimum_count'. Vi sætter dens værdi lig med '1'. Outputtet fra denne træningsmodel gemmes i variablen 'trained_model'.



Når vi er færdige med at træne modellen, kan vi blot få adgang til modellen med 'wv'-præfikset, som er ordet vektormodel. Vi kan også få adgang til tokenets ordforråd af vores ord og kan udskrive dem med metoden som følger:

vocabof_tokens = liste (model.wv.vocab)

Modellen repræsenterer den trænede model i vores tilfælde. Nu får vi adgang til vektorrepræsentationen af ​​det ene ord på listen over sætningen, som i vores tilfælde er 'æble'. Det gør vi ved blot at ringe til den trænede model. Vi sender ordet, hvis vektorrepræsentation vi ønsker at udskrive, som 'model. wv ['æble']' til dets input-argument. Derefter udskriver vi resultaterne med 'print'-funktionen.

fra som nation modeller importere Word2Vec

træningsdata = [ [ 'æble' , 'er' , 'det' , 'sød' , 'æble' , 'til' , 'word2vec' ] ,
[ 'det her' , 'er' , 'det' , 'anden' , 'æble' ] ,
[ 'her' , 'en anden' , 'æble' ] ,
[ 'en' , 'sød' , 'æble' ] ,
[ 'og' , 'mere' , 'sød' , 'æble' ] ]

model = Word2Vec ( træningsdata , min_count = 1 )
Print ( model )
vocabof_tokens = liste ( model. wv . indeks_til_nøgle )
Print ( vocabof_tokens )
Print ( model. wv [ 'æble' ] )

Fra det tidligere nævnte output og kode vises ordet indlejring for ordet 'æble'. I eksemplet oprettede vi først et træningsdatasæt. Derefter trænede vi en model på det og opsummerede modellen. Derefter fik vi ved hjælp af modellen adgang til ordenes symbolske ordforråd. Derefter viste vi ordet indlejring for ordet 'æble'.

Eksempel 2:

Lad os ved hjælp af gensim-biblioteket oprette en anden liste med sætninger. Træn vores model for hvert ord i sætningen for at skabe ordet indlejring ved hjælp af 'word2vec'-modellen. Først importeres 'word2vec'-modellen fra gensim-bibliotekspakken. Derefter opretter vi et andet datasæt, som vil være den liste, der har de to sætninger i sig. Hver sætning på listen har fire ord.

Nu gemmer vi denne liste i 'data'-variablen. Derefter kalder vi 'word2vec()'-modellen og leverer dataene til denne models argumenter med minimum_count-værdien, som er lig med '1'. Sådan træner vi vores model. Nu er den i stand til og kan lære ordindlejringen af ​​de ord, der findes i de sætninger, der er til stede på listen, ved at forudsige den kontekst, de eksisterer i. For at teste resultaterne af vores model sender vi blot et ord som 'hund' i vores data til modellen. Derefter udskriver vi resultaterne ved hjælp af 'print()'-funktionen.

fra som nation modeller importere Word2Vec
data = [ [ 'kanin' , 'har' , 'tænder' ] , [ 'hund' , 'har' , 'ører' ] ]
model = Word2Vec ( data , min_count = 1 )
Print ( model. wv [ 'hund' ] )

Vi kan observere vektorrepræsentationen af ​​ordet, som vi tilførte modellen som input fra det forrige uddrag af outputtet.

Konklusion

Denne vejledning demonstrerer metoden til at skabe ordet indlejring for de ord, der findes på listen over engelske sætninger. Vi lærte om 'gensim'-biblioteket i Python, der giver 'word2vec'-modellen til at skabe ordet indlejring. Desuden lærte vi om inputparametre, hvordan man træner 'word2vec'-modellen på træningsdataene, og hvordan man præsenterer ordet i en repræsentation af vektoren.