Kiedy rodzi się dziecko, potrzebuje ono trochę czasu na rozwinięcie umiejętności mówienia i rozumienia. Dzieci uczą się tylko języka, którym będą mówić ludzie z ich otoczenia. Ludzie mogą szybko nauczyć się języków na własną rękę, ale komputery nie mogą zrobić tego samego. Na przykład, można łatwo zrozumieć różnicę między kotem a psem, mężczyzną a kobietą, i tak dalej.
Dzieje się tak, ponieważ nasze sieci neuronowe różnią się od sztucznych sieci neuronowych, które posiadają maszyny. Komputery uczą się języków inaczej niż ludzie. Używają technik osadzania słów, aby zrozumieć język ludzi.

Czym jest Word- Embedding?

Prostą definicją osadzania słów jest przekształcanie tekstu w liczby. Aby komputer mógł zrozumieć język, przekształcamy tekst w formę wektorową, tak aby komputery mogły rozwijać połączenia między wektorami do słów i rozumieć to, co mówimy. Dzięki osadzaniu słów rozwiązujemy problemy związane z przetwarzaniem języka naturalnego.

Zrozumienie NLP

Przetwarzanie języka naturalnego pomaga maszynom zrozumieć i rozwinąć zdolność do pisania, czytania i słuchania tego, co mówimy. Google, DuckDuckGo i wiele innych przeglądarek wykorzystuje NLP do zmniejszania barier językowych między ludźmi a maszynami. Co więcej, Microsoft Word i Google Translate są aplikacjami NLP.

Algorytmy osadzania słów

Osadzanie słów jest reprezentacją wektorową i wymaga maszynowego uczenia się technik i algorytmów. Algorytmy te wykorzystują sztuczne sieci neuronowe i dane do generowania połączeń różnych słów. Na przykład, jeśli model uczy się słów “Król” i “Królowa”, to forma wektorowa będzie powiązana ze sobą. To pomaga maszynie rozróżnić, ale jednocześnie powiązać oba słowa. Poniżej zrozumiemy trzy wspólne algorytmy, które można wykorzystać w uczeniu maszynowym do osadzania słów.

1. Word2Vec

Word2Vec jest najpopularniejszym algorytmem osadzania słów. Algorytm ten wykorzystuje sieci neuronowe do efektywniejszego uczenia się osadzania słów. Ten algorytm jest właściwie serią algorytmów. Możesz użyć tych algorytmów do zadań NLP. Word2Vec używa tylko jednej ukrytej warstwy i łączy ją z siecią neuronową. Wszystkie liniowe neurony są ukrytymi warstwami w neuronach. Aby ćwiczyć model, warstwa wejściowa będzie zawierać liczbę neuronów równą liczbie słów w słownictwie. Wielkość warstwy wyjściowej i wejściowej pozostaje taka sama. Jednak wielkość warstwy ukrytej jest ustawiona zgodnie z wektorami wymiarów słów wynikowych. Osadzanie słów w Word2Vec można wykonać dwoma metodami. W obu tych metodach potrzebne są sztuczne sieci neuronowe. Te metody są:

– CBOW lub Common Bag of Words

W tej metodzie, każde słowo jest wejściem, a sieć neuronowa przewiduje słowo, które odnosi się do kontekstu. Na przykład, “Wracam do domu autobusem.” W tym przykładzie, wprowadzimy słowo bus w sieci neuronowej z kontekstem, który odnosi się do powrotu lub domu. Następnie maszyna wygeneruje wektor, który połączy “podróżowanie do domu” z autobusem reprezentowanym jako źródło podróży.

– Skim Gram

Skim Gram używa tej samej sztuczki, której używa zwykły worek słów lub inny algorytm uczenia maszynowego. Ponieważ mamy nieoznakowane słowa, osadzanie słów jest w zasadzie nauką częściowo nadzorowaną. W tej metodzie, algorytm używa sąsiednich słów i odpowiednio je etykietuje.

2. GloVe

Global Vectors for Word Representation lub algorytm GloVe jest dość podobny do Word2Vec. Metoda ta jest jednak nieco inna. GloVe rozpatruje informacje kontekstowe tylko na podstawie 1-1. Oznacza to, że GloVe tworzy tylko matrycę związaną ze słowem w stosunku do słowa, która zawiera prawdopodobieństwo P (a | b) oglądania słowa k wokół słowa b.
Głównym celem tej techniki jest znalezienie reprezentacji tych dwóch wektorów w sposób, który generuje prawdopodobieństwo logiczne ich iloczynów kropkowych równych współwystępowaniu. Mają one wspaniałe rezultaty w odniesieniu do odnoszenia słów w kontekście do siebie nawzajem.

3. Warstwa osadzania (Embedding Layer)

Jest to pierwsza ukryta warstwa sztucznej sieci neuronowej. Warstwa ta powinna określać trzy rozszerzenia.
Input dim
Oznacza to wielkość słownictwa w danych tekstowych. Na przykład, jeśli posiadasz dane z kodowaniem liczb całkowitych i wartościami od 0 do 10, wówczas wielkość słownictwa będzie wynosiła 11.
Wyjście ściemnione
Reprezentują one wielkość przestrzeni wektorowej. Przestrzeń wektorowa byłaby z osadzonych słów. To może być 32, 100 lub więcej.
Długość wejściowa
Oznacza to długość sekwencji wejściowych. Na przykład, jeśli słowa w dokumentach wejściowych wynoszą do 1000, to wartość ta będzie również wynosić 1000.

Wniosek

Osadzanie słów jest niezbędne do nauki maszynowej, ponieważ pomaga komputerom zrozumieć Twój język. Zawiera on różne algorytmy, które w różny sposób przetwarzają słowa, ale głównym celem jest pomoc w nauce maszynowej języków. Komputery nie mogą zrozumieć tego, o co prosimy. Zamiast tego, dla każdego słowa, komputery są kodowane za pomocą reprezentacji wektorowej, która odnosi się do innych słów w zależności od kontekstu.