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:
machine-learning
self-study
natural-language
latent-variable
word2vec
Piotr Migdal
źródło
źródło
Odpowiedzi:
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:
Pewna różnica została omówiona w slajdach word2vec, LDA i wprowadzeniu nowego hybrydowego algorytmu: lda2vec - Christopher Moody .
źródło
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.
źródło
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 :Topic2Vec together 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} zi wi
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.
źródło
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:
word2vec
ostatecznie 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,word2vec
takich jak używanie kolejności słów i przypisywanie znaczenia semantycznego odległościom między reprezentacjami słów.LDA
z 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 terminuparagraph vectors
). Lub zLSI
tego powodu.Aby bezpośrednio odpowiedzieć na dwa pytania:
word2vec
do 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.źródło
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).
źródło