Word2vec

Word2vec to technika przetwarzania języka naturalnego (NLP) opublikowana w 2013 roku. Algorytm word2vec wykorzystuje model sieci neuronowej do uczenia się skojarzeń słów z dużego zbioru tekstów . Po przeszkoleniu taki model może wykryć synonimiczne lub zasugerować dodatkowe słowa w częściowym zdaniu. Jak sama nazwa wskazuje, word2vec reprezentuje każde odrębne słowo z określoną listą liczb zwaną wektorem . Wektory są starannie dobrane, tak aby uchwycić semantyczne i syntaktyczne cechy słów; jako taka prosta funkcja matematyczna ( podobieństwo cosinusowe ) może wskazywać poziom podobieństwa semantycznego między słowami reprezentowanymi przez te wektory.

Zbliżać się

Word2vec to grupa powiązanych modeli używanych do osadzania słów . Modele te to płytkie, dwuwarstwowe sieci neuronowe , które są szkolone w celu rekonstrukcji kontekstów językowych słów. Word2vec pobiera jako dane wejściowe duży zbiór tekstów i tworzy przestrzeń wektorową , zwykle o kilkuset wymiarach , przy czym każdemu unikalnemu słowu w korpusie przypisywany jest odpowiedni wektor w przestrzeni.

Word2vec może wykorzystywać jedną z dwóch architektur modeli do tworzenia tych rozproszonych reprezentacji słów: ciągły zbiór słów (CBOW) lub ciągły pominięty gram . W obu architekturach word2vec bierze pod uwagę zarówno pojedyncze słowa, jak i przesuwane okno słów kontekstowych otaczających poszczególne słowa podczas iteracji po całym korpusie. W ciągłej architekturze worka słów model przewiduje bieżące słowo z okna otaczających słów kontekstu. Kolejność słów kontekstu nie wpływa na przewidywanie ( bag-of-words założenie). W ciągłej architekturze pomijania gramów model wykorzystuje bieżące słowo do przewidywania otaczającego okna słów kontekstu. Architektura pomijania gramów waży pobliskie słowa kontekstu bardziej niż bardziej odległe słowa kontekstu. Zgodnie z notatką autorów, CBOW jest szybsze, podczas gdy skip-gram lepiej sprawdza się w przypadku rzadkich słów.

Po wytrenowaniu modelu wyuczone osadzenie słów jest umieszczane w przestrzeni wektorowej w taki sposób, że słowa, które mają wspólny kontekst w korpusie — to znaczy słowa, które są podobne semantycznie i składniowo — znajdują się blisko siebie w przestrzeni. Więcej odmiennych wyrazów znajduje się dalej od siebie w przestrzeni.

Dzieje się tak, ponieważ słowa, które w podobny sposób wpływają na względne prawdopodobieństwo słów, nauczą się podobnych osadzeń po zakończeniu modelu. Rozważmy na przykład ramy CBOW, które można traktować jako zadanie „wypełnij puste”. Wyuczone osadzanie słowa będzie reprezentować sposób, w jaki to słowo pojawia się w oknie kontekstowym, wpływa na względne prawdopodobieństwo pojawienia się innych słów w „pustym miejscu” lub pozycji w środku okna kontekstowego. Dlatego słowa, które są semantycznie podobne, powinny wpływać na te prawdopodobieństwa w podobny sposób, ponieważ słowa podobne semantycznie powinny być używane w podobnych kontekstach.

Historia

Word2vec został stworzony, opatentowany i opublikowany w 2013 roku przez zespół badaczy kierowany przez Tomasa Mikolova z Google w ramach dwóch artykułów. Inni badacze pomogli przeanalizować i wyjaśnić algorytm. Wektory osadzania utworzone przy użyciu algorytmu Word2vec mają pewne zalety w porównaniu z wcześniejszymi algorytmami [ wymagane dalsze wyjaśnienie ] , takie jak utajona analiza semantyczna .

Do 2022 roku podejście Word2vec zostało opisane jako „przestarzałe”, a modele transformatorów były uważane za najnowocześniejsze w NLP.

Parametryzacja

Wyniki treningu word2vec mogą być wrażliwe na parametryzację . Poniżej przedstawiono kilka ważnych parametrów w szkoleniu word2vec.

Algorytm treningowy

Model Word2vec można trenować za pomocą hierarchicznego softmax i/lub negatywnego próbkowania. Aby przybliżyć warunkową logarytm wiarygodności, którą model stara się zmaksymalizować, hierarchiczna metoda softmax wykorzystuje drzewo Huffmana w celu zmniejszenia obliczeń. Z drugiej strony metoda próbkowania ujemnego zbliża się do problemu maksymalizacji poprzez minimalizację logarytmu wiarygodności próbkowanych przypadków ujemnych. Według autorów hierarchiczny softmax działa lepiej w przypadku rzadkich słów, podczas gdy próbkowanie ujemne działa lepiej w przypadku częstych słów i lepiej w przypadku wektorów o niskim wymiarze. Wraz ze wzrostem epok szkoleniowych hierarchiczny softmax przestaje być użyteczny.

Podpróbkowanie

Słowa o wysokiej i niskiej częstotliwości często dostarczają niewiele informacji. Słowa o częstotliwości powyżej określonego progu lub poniżej określonego progu mogą być próbkowane lub usuwane w celu przyspieszenia uczenia.

Wymiarowość

Jakość osadzania słów wzrasta wraz ze wzrostem wymiarowości. Ale po osiągnięciu pewnego punktu zysk krańcowy maleje. Zazwyczaj wymiarowość wektorów wynosi od 100 do 1000.

Okno kontekstowe

Rozmiar okna kontekstu określa, ile słów przed i po danym słowie jest uwzględnionych jako słowa kontekstowe danego słowa. Zgodnie z notą autorów zalecana wartość to 10 dla skip-gram i 5 dla CBOW.

Rozszerzenia

Istnieje wiele rozszerzeń do word2vec.

doc2vec

doc2vec generuje rozproszone reprezentacje fragmentów tekstów o zmiennej długości , takich jak zdania, akapity lub całe dokumenty. doc2vec został zaimplementowany w narzędziach C , Python i Java / Scala (patrz poniżej), przy czym wersje Java i Python obsługują również wnioskowanie o osadzaniach dokumentów w nowych, niewidocznych dokumentach.

doc2vec szacuje rozproszone reprezentacje dokumentów podobnie jak word2vec szacuje reprezentacje słów: doc2vec wykorzystuje jedną z dwóch architektur modelowych, z których obie są alegoriami architektur używanych w word2vec. Pierwszy, Distributed Memory Model of Paragraph Vectors (PV-DM), jest identyczny z CBOW, poza tym, że zapewnia również unikalny identyfikator dokumentu jako element dodatkowego kontekstu. Druga architektura, wersja Distributed Bag of Words of Paragraph Vector (PV-DBOW), jest identyczna z modelem skip-gram, z wyjątkiem tego, że próbuje przewidzieć okno otaczających słów kontekstu na podstawie identyfikatora akapitu zamiast bieżącego słowa.

doc2vec ma również możliwość przechwytywania semantycznych „znaczenii” dla dodatkowych fragmentów „kontekstu” wokół słów; doc2vec może oszacować osadzenie semantyczne mówców lub ich atrybutów, grup i okresów. Na przykład doc2vec został wykorzystany do oszacowania pozycji politycznych partii politycznych w różnych Kongresach i Parlamentach odpowiednio w USA i Wielkiej Brytanii oraz w różnych instytucjach rządowych.

top2vec

Kolejnym rozszerzeniem word2vec jest top2vec, które wykorzystuje osadzanie dokumentów i słów do oszacowania rozproszonych reprezentacji tematów. top2vec bierze osadzone dokumenty wyuczone z modelu doc2vec i redukuje je do niższego wymiaru (zwykle używając UMAP ). Przestrzeń dokumentów jest następnie skanowana za pomocą HDBSCAN i znajdowane są skupiska podobnych dokumentów. Następnie centroid dokumentów zidentyfikowanych w klastrze jest uważany za wektor tematyczny tego klastra. Na koniec top2vec przeszukuje przestrzeń semantyczną w poszukiwaniu osadzonych słów znajdujących się w pobliżu wektora tematu, aby ustalić „znaczenie” tematu. Słowo z osadzeniem najbardziej zbliżonym do wektora tematu może zostać przypisane jako tytuł tematu, podczas gdy osadzenia odległe mogą zostać uznane za niepowiązane.

W przeciwieństwie do innych modeli tematycznych, takich jak LDA , top2vec zapewnia kanoniczne metryki „odległości” między dwoma tematami lub między tematem a innym osadzeniem (słowo, dokument lub w inny sposób). Wraz z wynikami z HDBSCAN użytkownicy mogą generować hierarchie tematów lub grupy powiązanych tematów i podtematów.

Ponadto użytkownik może wykorzystać wyniki top2vec do wnioskowania o tematach dokumentów spoza próby. Po wywnioskowaniu osadzania dla nowego dokumentu wystarczy przeszukać przestrzeń tematów w poszukiwaniu najbliższego wektora tematów.

BioWektory

Asgari i Mofrad zaproponowali rozszerzenie wektorów słownych o n-gramy w sekwencjach biologicznych (np. DNA , RNA i białka ) do zastosowań bioinformatycznych . Nazwane biowektory (BioVec) odnoszące się ogólnie do sekwencji biologicznych z wektorami białkowymi (ProtVec) dla białek (sekwencje aminokwasowe) i wektorami genowymi (GeneVec) dla sekwencji genów, ta reprezentacja może być szeroko stosowana w zastosowaniach maszynowych nauka proteomiki i genomiki. Wyniki sugerują, że BioVectors mogą charakteryzować sekwencje biologiczne pod względem biochemicznych i biofizycznych interpretacji leżących u ich podstaw wzorców. Podobny wariant, dna2vec, wykazał, że istnieje korelacja między Needlemana – Wunscha i podobieństwo kosinusowe wektorów słownych dna2vec.

Radiologia i inteligentne osadzanie słów (IWE)

Rozszerzenie wektorów słownych do tworzenia gęstej reprezentacji wektorowej nieustrukturyzowanych raportów radiologicznych zostało zaproponowane przez Banerjee i in. Jednym z największych wyzwań związanych z Word2vec jest sposób obsługi słów nieznanych lub spoza słownika (OOV) oraz słów podobnych morfologicznie. Jeśli model Word2vec nie napotkał wcześniej konkretnego słowa, będzie zmuszony do użycia losowego wektora, który na ogół jest daleki od jego idealnej reprezentacji. Może to być szczególnie problematyczne w dziedzinach takich jak medycyna, w których można używać synonimów i powiązanych słów w zależności od preferowanego stylu radiologa, a słowa mogły być używane rzadko w dużym korpusie.

IWE łączy Word2vec z techniką mapowania słowników semantycznych, aby sprostać głównym wyzwaniom związanym z ekstrakcją informacji z tekstów klinicznych, które obejmują niejednoznaczność stylu narracji dowolnego tekstu, wariacje leksykalne, użycie faz niegramatycznych i telegraficznych, arbitralną kolejność słów i częste pojawianie się skrótów i akronimy. Co szczególnie interesujące, model IWE (wytrenowany na jednym instytucjonalnym zbiorze danych) z powodzeniem przełożył się na inny instytucjonalny zbiór danych, co pokazuje dobre uogólnienie podejścia w różnych instytucjach.

Analiza

Przyczyny udanej nauki osadzania słów w ramach word2vec są słabo poznane. Goldberg i Levy zwracają uwagę, że funkcja celu word2vec powoduje, że słowa występujące w podobnych kontekstach mają podobne osadzenie (mierzone podobieństwem cosinusowym ) i zauważają, że jest to zgodne z hipotezą dystrybucyjną JR Firtha . Zauważają jednak, że to wyjaśnienie jest „bardzo pofalowane” i argumentują, że bardziej formalne wyjaśnienie byłoby lepsze.

Levy i in. (2015) pokazują, że znaczna część doskonałej wydajności word2vec lub podobnych osadzeń w dalszych zadaniach nie jest wynikiem samych modeli, ale wyborem określonych hiperparametrów. Przeniesienie tych hiperparametrów do bardziej „tradycyjnych” podejść daje podobne wyniki w dalszych zadaniach. Arora i in. (2016) wyjaśniają, że word2vec i pokrewne algorytmy przeprowadzają wnioskowanie dla prostego generatywnego modelu tekstu, który obejmuje proces generowania błądzenia losowego w oparciu o logliniowy model tematu. Używają tego do wyjaśnienia niektórych właściwości osadzania słów, w tym ich zastosowania do rozwiązywania analogii.

Zachowanie związków semantycznych i składniowych

Visual illustration of word embeddings
Wizualna ilustracja osadzania słów

Metoda osadzania słów pozwala uchwycić wiele różnych stopni podobieństwa między słowami. Mikolov i in. (2013) stwierdzili, że wzorce semantyczne i składniowe można odtworzyć za pomocą arytmetyki wektorowej. Wzory, takie jak „Mężczyzna ma się do kobiety tak, jak brat ma się do siostry” można generować za pomocą operacji algebraicznych na reprezentacjach wektorowych tych słów, tak że reprezentacja wektorowa „Brat” — „Mężczyzna” + „Kobieta” daje wynik najbliższy do reprezentacji wektorowej „Siostry” w modelu. Relacje takie mogą być generowane dla szeregu relacji semantycznych (takich jak kraj–stolica), jak również relacji składniowych (np. czas teraźniejszy–czas przeszły).

Ten aspekt word2vec był wykorzystywany w wielu innych kontekstach. Na przykład word2vec został użyty do odwzorowania przestrzeni wektorowej słów w jednym języku na przestrzeń wektorową zbudowaną z innego języka. Relacje między przetłumaczonymi słowami w obu przestrzeniach można wykorzystać do pomocy w tłumaczeniu maszynowym nowych słów.

Ocena jakości modelu

Mikolov i in. (2013) opracowali podejście do oceny jakości modelu word2vec, które opiera się na omówionych powyżej wzorcach semantycznych i składniowych. Opracowali zestaw 8 869 relacji semantycznych i 10 675 relacji składniowych, których używają jako punktu odniesienia do testowania dokładności modelu. Oceniając jakość modelu wektorowego, użytkownik może skorzystać z tego testu dokładności, który jest zaimplementowany w word2vec, lub opracować własny zestaw testów, który ma znaczenie dla korpusów składających się na model. Takie podejście oferuje bardziej wymagający test niż zwykłe argumentowanie, że słowa najbardziej podobne do danego słowa testowego są intuicyjnie wiarygodne.

Parametry i jakość modelu

Użycie różnych parametrów modelu i różnych rozmiarów korpusu może znacznie wpłynąć na jakość modelu word2vec. Dokładność można poprawić na wiele sposobów, w tym poprzez wybór architektury modelu (CBOW lub Skip-Gram), zwiększenie zbioru danych treningowych, zwiększenie liczby wymiarów wektorowych oraz zwiększenie rozmiaru okna słów branych pod uwagę przez algorytm. Każde z tych ulepszeń wiąże się z kosztem zwiększonej złożoności obliczeniowej, a tym samym wydłużonym czasem generowania modelu.

W modelach wykorzystujących duże korpusy i dużą liczbę wymiarów model pomijania gramów zapewnia najwyższą ogólną dokładność i konsekwentnie zapewnia najwyższą dokładność relacji semantycznych, a także w większości przypadków zapewnia najwyższą dokładność składniową. Jednak CBOW jest mniej kosztowny obliczeniowo i daje podobne wyniki dokładności.

Ogólnie rzecz biorąc, dokładność wzrasta wraz z liczbą użytych słów i liczbą wymiarów. Mikolov i in. podają, że podwojenie ilości danych treningowych powoduje wzrost złożoności obliczeniowej równoważny podwojeniu liczby wymiarów wektorowych.

Altszyler i współautorzy (2017) badali wydajność programu Word2vec w dwóch testach semantycznych dla różnych rozmiarów korpusu. Odkryli, że Word2vec ma stromą krzywą uczenia się , przewyższając inną technikę osadzania słów, ukrytą analizę semantyczną (LSA), gdy jest szkolony z korpusem o średniej lub dużej wielkości (ponad 10 milionów słów). Jednak przy niewielkim korpusie szkoleniowym LSA wykazała lepszą wydajność. Dodatkowo pokazują, że najlepsze ustawienie parametrów zależy od zadania i korpusu treningowego. Niemniej jednak, dla modeli z pominięciem grama przeszkolonych w korpusach średniej wielkości, z 50 wymiarami, rozmiar okna 15 i 10 próbek negatywnych wydaje się być dobrym ustawieniem parametrów.

Zobacz też

Linki zewnętrzne

Implementacje