word2vec jest to nazwa techniki za pomocą której możliwe jest stworzenie przestrzeni wektorów, w której każde słowo jest reprezentowane za pomocą oddzielnego wektora (czyli za pomocą liczb – dzięki temu komputery mogą to ogarnąć 😉 ).
Idea
Idea word2vec jest następująca – słowa nabierają znaczenia w kontekście innych słów. Przykładowo słowo „brązowy” nie mówi nam za dużo. Ale już w kontekście innych słów tak. Przykładowo „brązowy kot śpi na fotelu” czy „brązowy to mój ulubiony kolor”.
Nauka – wyznaczanie wektorów
To trochę przerażające, ale to czego my jako ludzie uczyliśmy się przez długie lata można w całkiem niedługim czasie – kilku godzin – zapisać liczbowo (za pomocą wektorów).
1. Na początku potrzebujemy tak zwany korpus (zbiór tekstów)
2. Później wyciągamy wszystkie możliwe słowa
3. Teraz wyznaczamy wektory wykorzystując do tego sztuczną sieć neuronową
4. I gotowe
Uproszczony rezultat
Rezultat takiego wyznaczania wektorów jest najczęściej wektorem o wielu wymiarach i wartościach pomiędzy 0 (brak powiązania) a 1 (pełne powiązanie).
| zwierzę | szybkość | niebezpieczeństwo | |
| kot | 0.98 | 0.98 | 0.32 |
| lew | 0.98 | 0.7 | 0.85 |
| ogień | 0.08 | 0.5 | 0.72 |
Jak tego użyć?
Załóżmy, że mamy dwa zdania (lub dłuższe teksty) do porównania. Jak użyć word2vec?
Najpierw trzeba przekształcić tekst na wektor. Możemy to zrobić wykorzystując:
1. Jedna opcja to wyliczenie średniej wartości dla wszystkich słów (w rzeczywistości wektorów)
2. Inna opcja to średnia ważona – wybieramy, które słowa mają większe znaczenie
