LDA vs word2vec

39

Próbuję zrozumieć, jakie jest podobieństwo między Latent Dirichlet Allocation i word2vec do obliczania podobieństwa słów.

Jak rozumiem, LDA odwzorowuje słowa na wektor prawdopodobieństwa ukrytych tematów, podczas gdy word2vec odwzorowuje je na wektor liczb rzeczywistych (związanych z rozkładem pojedynczej wartości punktowej wzajemnej informacji, patrz O. Levy, Y. Goldberg, „Neural Word Embedding” as Implicit Matrix Factorization " ; zobacz także Jak działa word2vec? ).

Interesują mnie zarówno relacje teoretyczne (można uznać za uogólnienie lub odmianę drugiego), jak i praktyczne (kiedy używać jednego, ale nie drugiego).

Związane z:

Piotr Migdal
źródło
Znalazłem tę prezentację na miejscu: slideshare.net/ChristopherMoody3/…
Piotr Migdal
Powinieneś spojrzeć na Doc2vec (alias. Paragraph2vec). Wektory dokumentów podsumowują dokument zamiast słów.
sachinruk

Odpowiedzi:

19

Odpowiedź na modele tematyczne i metody współwystępowania słów obejmuje różnicę (skip-gram word2vec to kompresja punktowej wzajemnej informacji (PMI) ).

Więc:

  • żadna metoda nie jest uogólnieniem innej,
  • word2vec pozwala nam korzystać z geometrii wektorowej (np. analogia słowa, np. , napisałem przegląd word2vec )vkingvman+vwomanvqueen
  • LDA widzi wyższe korelacje niż dwuelementowe,
  • LDA podaje możliwe do interpretacji tematy.

Pewna różnica została omówiona w slajdach word2vec, LDA i wprowadzeniu nowego hybrydowego algorytmu: lda2vec - Christopher Moody .

Piotr Migdal
źródło
1
Z zastrzeżeniem oświadczenia „LDA podaje tematy do interpretacji”, aby powiedzieć, że tematy LDA są potencjalnie interpretowalne. Pomysł LDA na „temat” jest konstrukcją czysto matematyczną, która nie zawsze odwzorowuje to, co człowiek uważa za temat.
Wayne
Kluczową koncepcją, którą pominęłeś, jest to, że LDA stosuje podejście work-of-words, więc wie tylko o współwystępowaniu w dokumencie, podczas gdy word2vec (lub bardziej porównywalnie doc2vec) bierze pod uwagę kontekst słowa.
Wayne
13

Te dwa algorytmy różnią się dość celowo.

LDA ma na celu głównie opisywanie dokumentów i kolekcji dokumentów poprzez przypisywanie im dystrybucji tematów, które z kolei mają przypisane dystrybucje słów, jak wspomniałeś.

word2vec chce osadzić słowa w przestrzeni wektora ukrytego czynnika, pomysł pochodzący z rozproszonych reprezentacji Bengio i in. Można go również używać do opisywania dokumentów, ale tak naprawdę nie jest przeznaczony do tego zadania.

Bar
źródło
1
Można teoretycznie uzyskać coś analogicznego do osadzania wektorów word2vec, obliczając P (temat | słowo) z LDA, ale jak powiedział @Bar, modele te zostały zaprojektowane do różnych zadań. Jeśli porównasz rozkłady P (temat | słowo) LDA z osadzeniem wektorów word2vec, wątpię, by były bardzo podobne. LDA przechwytuje skojarzenia na poziomie dokumentu, podczas gdy word2vec przechwytuje te bardzo lokalne.
Zubin
4

Istnieje związek między LDA a , modelem używanym do uczenia się rozproszonych reprezentacji tematów reprezentacjami słów. LDA służy do konstruowania logarytmu prawdopodobieństwa dla CBOW i Skip-gram. Poniższe objaśnienie znajduje się w sekcji 3 pracy Temat 2: Nauka rozproszonych reprezentacji tematów :Topic2Vectogether with

„Podczas treningu, biorąc pod uwagę sekwencję tematów dokumentu , gdzie jest słowem wywodzącym się z LDA, funkcje celu uczenia się mogą być zdefiniowane, aby zmaksymalizować następujące prawdopodobieństwa logarytmiczne, odpowiednio na podstawie CBOW i Skip-gram. ”D={w1:z1,...,wM:zM}ziwi

LCBOW(D)=1Mi=1M(logp(wi|wext)+logp(zi|wext))

LSkipgram(D)=1Mi=1Mkck,c0(logp(wi+c|wi)+logp(wi+c|zi))

W sekcji 4.2 autorzy wyjaśniają: „tematy i słowa są w równym stopniu reprezentowane jako wektory niskowymiarowe, możemy NATYCHMIAST między słowami i tematami. Dla każdego tematu wybieramy słowa o większym podobieństwie”.COSINE SIMILARITY

Ponadto znajdziesz w środku takie wyrażenia, jak:

„prawdopodobieństwo nie jest najlepszym wyborem do przedstawienia funkcji”

i

„LDA woli opisywać statystyczny związek zdarzeń niż prawdziwe informacje semantyczne osadzone w słowach, tematach i dokumentach”

co pomoże ci lepiej zrozumieć różne modele.

Ricardo S.
źródło
2

Inne odpowiedzi tutaj obejmują techniczne różnice między tymi dwoma algorytmami, jednak myślę, że podstawowa różnica jest ich celem: te dwa algorytmy zostały zaprojektowane do różnych czynności:

word2vecostatecznie daje odwzorowanie między słowami a wektorem o stałej długości. Gdybyśmy porównali to z innym dobrze znanym podejściem, sensowniej byłoby to zrobić za pomocą innego narzędzia, które zostało zaprojektowane w tym samym celu, takiego jak Bag of Words (model BOW). Ten robi to samo, ale brakuje mu pewnych pożądanych cech, word2vectakich jak używanie kolejności słów i przypisywanie znaczenia semantycznego odległościom między reprezentacjami słów.

LDAz drugiej strony tworzy mapowanie z dokumentu o różnej długości do wektora. Ten dokument może być plikiem zdania, akapitu lub pełnym tekstem, ale nie jest to pojedyncze słowo. Byłoby więcej sensu, aby porównać ją doc2vec, że robi to samo zadanie i jest wprowadzany przez Tomas Mikolov tutaj (autor używa terminu paragraph vectors). Lub z LSItego powodu.

Aby bezpośrednio odpowiedzieć na dwa pytania:

  1. Żaden z nich nie jest uogólnieniem ani odmianą drugiego
  2. Użyj LDA, aby odwzorować dokument na wektor o stałej długości. Następnie możesz użyć tego wektora w tradycyjnym algorytmie ML, takim jak klasyfikator, który akceptuje dokument i przewiduje na przykład etykietę sentymentalną.
  3. Służy word2vecdo mapowania słowa na wektor o stałej długości. W podobny sposób można użyć tych wektorów do zasilania modeli ML, w których dane wejściowe są słowami, na przykład podczas opracowywania autouzupełniania, który żywi się poprzednimi słowami i próbuje przewidzieć następny.
pilu
źródło
1

Z praktycznego punktu widzenia ...

LDA zaczyna się od wprowadzenia worków słów, które uwzględniają słowa występujące w dokumentach, ale nie zwracają uwagi na bezpośredni kontekst słów. Oznacza to, że słowa mogą pojawiać się w dowolnym miejscu dokumentu i w dowolnej kolejności, co usuwa określony poziom informacji. W przeciwieństwie do tego, word2vec dotyczy kontekstu, w którym słowo jest używane - choć może nie jest to dokładna kolejność.

„Tematy” LDA są konstrukcją matematyczną i nie należy ich mylić z rzeczywistymi tematami ludzkimi. Możesz skończyć z tematami, które nie mają ludzkiej interpretacji - bardziej przypominają artefakty procesu niż tematy rzeczywiste - i możesz skończyć z tematami na różnych poziomach abstrakcji, w tym tematami, które zasadniczo obejmują ten sam ludzki temat. To trochę jak czytanie liści herbaty.

Uznałem, że LDA jest przydatna do eksploracji danych, ale nie jest tak przydatna do dostarczania rozwiązania, ale przebieg może się różnić.

Word2vec w ogóle nie tworzy tematów bezpośrednio. Projektuje słowa w wielowymiarową przestrzeń opartą na podobnym użyciu, więc może mieć własne niespodzianki w kategoriach słów, które uważasz za odrębne - lub wręcz przeciwnie - mogą znajdować się blisko siebie w przestrzeni.

Możesz użyć obu, aby ustalić, czy słowa są „podobne”. Z LDA: czy słowa mają podobną wagę w tych samych tematach. W word2vec: czy są one zamknięte (w pewnym stopniu) w przestrzeni do osadzania.

Możesz użyć obu, aby ustalić, czy dokumenty są podobne. W LDA szukałbyś podobnej mieszanki tematów, a dzięki word2vec zrobiłbyś coś w rodzaju dodania wektorów słów dokumentu. („Dokument” może być zdaniem, akapitem, stroną lub całym dokumentem.) Doc2vec to zmodyfikowana wersja word2vec, która umożliwia bezpośrednie porównanie dokumentów.

Podczas gdy LDA wyrzuca pewne informacje kontekstowe dzięki podejściu opartemu na „worku słów”, ma on tematy (lub „tematy”), których nie ma word2vec. Dlatego łatwo jest użyć doc2vec, aby powiedzieć „Pokaż mi dokumenty podobne do tego”, podczas gdy w przypadku LDA łatwo jest powiedzieć: „Pokaż mi dokumenty, w których temat A jest ważny”. (Znów, wiedząc, że „temat A” wyłania się z matematycznego procesu w twoich dokumentach, a następnie zastanawiasz się, z jakimi ludzkimi tematami w większości odpowiada).

Wayne
źródło