Jak utworzyć osadzanie z listy zdań w języku angielskim

Jak Utworzyc Osadzanie Z Listy Zdan W Jezyku Angielskim



Czy kiedykolwiek zastanawiałeś się, kiedy komunikujemy się z naszymi maszynami (komputerami) i wydajemy im instrukcje, aby wykonały dla nas określone zadanie, takie jak wykonanie określonego wyszukiwania lub przetłumaczenie z jednego języka na inny, w jaki sposób komputer to rozumie i przetwarza? Wszystko to odbywa się za pośrednictwem poddziedziny Sztucznej Inteligencji Przetwarzania Języka Naturalnego. Komputer rozumie wartości liczbowe, a technika NLP polegająca na „osadzaniu słów” przekształca słowo i teksty, które przekazujemy komputerom jako dane wejściowe, na ten wektor numeryczny, aby komputer mógł je rozpoznać. Kilka innych procesów NLP odbywa się poza interakcją człowiek-komputer za pośrednictwem modeli językowych, ale w tym przewodniku szczegółowo omówimy osadzanie słów.

Składnia:

Różne funkcje podlegają przetwarzaniu języka naturalnego w celu osadzania słów w tekście. W tym artykule opisano funkcję „word2vec” służącą do tego celu. Aby to wyjaśnić, osadzanie słów przekształca nasze dane wejściowe w reprezentację wektorową, w której te słowa, które mają mniej więcej takie same znaczenia kontekstowe, dały tę samą reprezentację.

Algorytm „word2vec” to model sieci neuronowej, który jest szkolony w taki sposób, że uczy się osadzania słów, najpierw przewidując kontekst słowa, w którym się pojawia. Ten model przyjmuje tekst jako dane wejściowe. Następnie dla każdego słowa w tekście tworzona jest jego reprezentacja wektorowa. Model ten opiera się na założeniu, że słowa, które wydają się mieć ten sam kontekst, mają takie samo znaczenie. Składnia „word2vec” jest następująca:







$ Word2Vec(zdania, min_count)

Algorytm ten ma dwa parametry, którymi są „zdania” i „minimum_count”. Zdanie jest zmienną, w której przechowywana jest lista zdań lub tekst w postaci zdań, a parametr minimum_count mówi o wartości licznika równej 1, co oznacza, że ​​każde ze słów w tekście, które pojawiło się mniej niż jedno, należy zignorować .



Przykład 1:

W tym przykładzie tworzymy osadzenie słów dla słów, które istnieją na liście zdań w języku angielskim. Aby utworzyć słowo „osadzanie”, musimy użyć modelu „word2vec”. Ten model jest pakietem biblioteki „gensim” Pythona. Aby pracować z „word2vec”, musimy mieć zainstalowany Gensim w naszych repozytoriach bibliotek Pythona.



Aby zaimplementować ten przykład, będziemy pracować nad internetowym kompilatorem Pythona „google colab”. Aby zainstalować gensim, użyj polecenia „pip install gensim”. Spowoduje to rozpoczęcie pobierania tej biblioteki wraz ze wszystkimi powiązanymi z nią pakietami. Po zainstalowaniu zaimportuj pakiet „word2vector” z gensim.





Aby wytrenować ten model „word2vec”, musimy utworzyć zestaw danych szkoleniowych. W tym celu tworzymy listę zdań zawierającą od czterech do pięciu zdań w języku angielskim. Zapisujemy tę listę w zmiennej „training_data”.

Naszym kolejnym krokiem po utworzeniu zestawu danych szkoleniowych jest wytrenowanie modelu „word2vec” na tych danych. Wzywamy więc model. Dane treningowe podajemy w parametrach wejściowych tego modelu, które zapisaliśmy w zmiennej „wejściowej”. Następnie określamy drugi parametr, którym jest „minimum_count”. Ustawiamy jego wartość na „1”. Dane wyjściowe z tego modelu szkoleniowego są zapisywane w zmiennej „trained_model”.



Gdy skończymy trenować model, możemy po prostu uzyskać dostęp do modelu z przedrostkiem „wv”, który jest modelem wektora słów. Możemy również uzyskać dostęp do słownika naszych słów w tokenie i wydrukować je w następujący sposób:

vocabof_tokens = lista (model.wv.vocab)

Model reprezentuje przeszkolony model w naszym przypadku. Teraz uzyskujemy dostęp do reprezentacji wektorowej jednego słowa na liście zdania, którym w naszym przypadku jest „jabłko”. Robimy to, po prostu wywołując przeszkolony model. Podajemy słowo, którego reprezentację wektorową chcemy wydrukować jako „model. wv [„jabłko”]” do argumentu wejściowego. Następnie drukujemy wyniki za pomocą funkcji „print”.

z jako naród modele import Word2Vec

dane_treningowe = [ [ 'jabłko' , 'Jest' , „ten” , 'słodki' , 'jabłko' , 'Do' , 'word2vec' ] ,
[ 'Ten' , 'Jest' , „ten” , 'drugi' , 'jabłko' ] ,
[ 'Tutaj' , 'inny' , 'jabłko' ] ,
[ 'jeden' , 'słodki' , 'jabłko' ] ,
[ 'I' , 'więcej' , 'słodki' , 'jabłko' ] ]

Model = Word2Vec ( dane_treningowe , min_liczba = 1 )
wydrukować ( Model )
vocabof_tokens = lista ( Model. wv . indeks_do_klucza )
wydrukować ( vocabof_tokens )
wydrukować ( Model. wv [ 'jabłko' ] )

Z wcześniej wspomnianego wyjścia i kodu pokazano osadzanie słowa dla słowa „jabłko”. W przykładzie najpierw utworzyliśmy uczący zestaw danych. Następnie wyszkoliliśmy na nim model i podsumowaliśmy model. Następnie za pomocą modelu uzyskaliśmy dostęp do słownictwa symbolicznego słów. Następnie wyświetliliśmy osadzanie słowa dla słowa „jabłko”.

Przykład 2:

Korzystając z biblioteki gensim, stwórzmy kolejną listę zdań. Wytrenuj nasz model dla każdego słowa w zdaniu, aby utworzyć osadzanie słów za pomocą modelu „word2vec”. Najpierw z pakietu biblioteki gensim importowany jest model „word2vec”. Następnie tworzymy kolejny zestaw danych, który będzie listą zawierającą dwa zdania. Każde zdanie na liście ma cztery słowa.

Teraz zapisujemy tę listę w zmiennej „data”. Następnie wywołujemy model „word2vec()” i podajemy dane do argumentów tego modelu o wartości minimum_count równej „1”. W ten sposób trenujemy nasz model. Teraz jest w stanie i może nauczyć się osadzania słów słów, które istnieją w zdaniach obecnych na liście, przewidując kontekst, w którym istnieją. Aby przetestować wyniki naszego modelu, po prostu przekazujemy słowo „pies” w naszych danych do modelu. Następnie drukujemy wyniki za pomocą funkcji „print()”.

z jako naród modele import Word2Vec
dane = [ [ 'Królik' , 'ma' , 'zęby' ] , [ 'pies' , 'ma' , 'uszy' ] ]
Model = Word2Vec ( dane , min_liczba = 1 )
wydrukować ( Model. wv [ 'pies' ] )

Możemy obserwować reprezentację wektorową słowa, które wprowadziliśmy do modelu jako dane wejściowe z poprzedniego fragmentu danych wyjściowych.

Wniosek

Ten przewodnik pokazuje metodę tworzenia osadzania słów dla słów, które istnieją na liście zdań w języku angielskim. Dowiedzieliśmy się o bibliotece „gensim” Pythona, która zapewnia model „word2vec” do tworzenia osadzania słów. Ponadto dowiedzieliśmy się o parametrach wejściowych, jak trenować model „word2vec” na danych treningowych i jak prezentować słowo w reprezentacji wektora.