Cechy wektorów słownych w word2vec

9

Próbuję przeprowadzić analizę sentymentu. Aby przekonwertować słowa na wektory słów, używam modelu word2vec. Załóżmy, że mam wszystkie zdania na liście o nazwie „zdania” i przekazuję te zdania do word2vec w następujący sposób:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Ponieważ jestem nobem wektory słów, mam dwie wątpliwości.
1- Ustawienie liczby funkcji na 300 definiuje cechy wektora słowa. Ale co oznaczają te funkcje? Jeśli każde słowo w tym modelu jest reprezentowane przez tablicę numeryczną 1x300, to co oznacza 300 cech dla tego słowa?

2- Co faktycznie robi próbkowanie w dół reprezentowane przez parametr „próbka” w powyższym modelu?

Z góry dziękuję.

enterML
źródło

Odpowiedzi:

10

1- Liczba cech: Pod względem modelu sieci neuronowej reprezentuje liczbę neuronów w warstwie projekcyjnej (ukrytej). Ponieważ warstwa projekcyjna jest budowana na podstawie hipotezy dystrybucyjnej, wektor numeryczny dla każdego słowa oznacza jego związek ze słowami kontekstowymi.

Funkcje te są przyswajane przez sieć neuronową, ponieważ jest to metoda bez nadzoru. Każdy wektor ma kilka zestawów cech semantycznych. Weźmy na przykład klasyczny przykład, V(King) -V(man) + V(Women) ~ V(Queen)a każde słowo reprezentowane jest przez wektor 300-d. V(King)będzie miał cechy semantyczne królewskości, królestwa, męskości, człowieka w wektorze w określonej kolejności. V(man)będzie miał męskość, ludzką, działającą w określonej kolejności. Kiedy więc zostanie V(King)-V(Man)to zrobione, męskość, cechy ludzkie zostaną unieważnione, a po dodaniu, z V(Women)którymi mając kobiecość, cechy ludzkie zostaną dodane, dzięki czemu powstanie wektor podobny doV(Queen). Co ciekawe, te cechy są zakodowane w wektorze w określonej kolejności, dzięki czemu obliczenia numeryczne, takie jak dodawanie, odejmowanie, działają idealnie. Wynika to z natury metody uczenia się bez nadzoru w sieci neuronowej.

2- Istnieją dwa algorytmy aproksymacyjne. Hierarchical softmaxa negative sampling. Po podaniu parametru próbki pobierane jest próbkowanie ujemne. W przypadku hierarchicznego softmax, dla każdego wektora słowa jego słowa kontekstowe otrzymują pozytywne wyniki, a wszystkie inne słowa w słowniku otrzymują wyniki negatywne. Problem złożoności czasowej rozwiązuje się przez próbkowanie ujemne. Podobnie jak w przypadku próbkowania ujemnego, zamiast całego słownictwa, tylko próbkowana część słownictwa otrzymuje negatywne wyniki, a wektory są trenowane, co jest o wiele szybsze niż poprzednia metoda.

yazhi
źródło
Ta interpretacja funkcji word2vec jest myląca. W wektorze nie ma wymiaru męskości ani elementu królewskiego. Gdyby tak było, wówczas 300-wymiarowa przestrzeń wektorowa mogłaby reprezentować tylko 300 niezależnych dychotomii semantycznych.
Dan Hicks
@ DanHicks: Nigdy nie wspominałem o każdej funkcji jako o wymiarze przestrzeni. Powiedziałem właśnie, że takie cechy semantyczne są zakodowane w wektorze w określonej kolejności, tak że operacje matematyczne są możliwe.
yazhi
„Cechy” zwykle odnoszą się do zmiennych używanych do reprezentowania przypadków - w tym przypadku elementy wektory / wymiary słowa przestrzeni wektorowej. Pytanie Naina wyraźnie używa w ten sposób „funkcji”. „Funkcje semantyczne”, o których mówisz, są w najlepszym razie niejasnym sposobem mówienia o tym, jak word2vec obsługuje analogie. Nie są to w ogóle cechy wektorów słów.
Dan Hicks,
1
masz rację. Edytowałem „cechy semantyczne” do „cech semantycznych”, a „cechy” w odpowiedzi reprezentują tylko wymiary wektora.
yazhi,
0
  1. Zgodnie z hipotezą dystrybucyjną indywidualny wymiar w wektorze słowa nie ma większego znaczenia na temat słowa w świecie rzeczywistym. Musisz martwić się o poszczególne wymiary. Jeśli twoje pytanie brzmi tak, jak powinienem wybrać liczbę cyfr, jest ono oparte wyłącznie na eksperymencie dla twoich danych i może wynosić od 100 do 1000. W przypadku wielu eksperymentów, w których odbywa się szkolenie na temat wiki, wymiar 300 daje najwięcej wynik.
  2. Przykładowy parametr jest parametrem stosowanym do przycinania słów o wysokiej częstotliwości. Np. „The” „is” „was”, te słowa stop nie są uwzględniane w oknie podczas przewidywania słowa wewnętrznego, a wartość domyślna działa dobrze, aby zidentyfikować te słowa stop, których częstotliwość jest wyższa.
Trideep Rath
źródło