Utajona alokacja Dirichleta - Latent Dirichlet allocation

W przetwarzaniu języka naturalnego , utajony Dirichleta alokacja ( LDA ) jest generatywna model statystyczny , który pozwala zestawy obserwacji należy wytłumaczyć niedostrzegalnych grup, które wyjaśniają, dlaczego niektóre części danych są podobne. Na przykład, jeśli obserwacje są słowami zebranymi w dokumentach, zakłada się, że każdy dokument jest mieszanką niewielkiej liczby tematów, a obecność każdego słowa można przypisać jednemu z tematów dokumentu. LDA jest przykładem modelu tematycznego i należy do dziedziny uczenia maszynowego oraz szerzej do dziedziny sztucznej inteligencji .

Historia

W kontekście genetyki populacyjnej LDA został zaproponowany przez JK Pritcharda , M. Stephensa i P. Donnelly'ego w 2000 roku.

LDA zostało zastosowane w uczeniu maszynowym przez Davida Blei , Andrew Ng i Michaela I. Jordana w 2003 roku.

Przegląd

Biologia ewolucyjna i biomedycyna

W biologii ewolucyjnej i biomedycynie model jest wykorzystywany do wykrywania obecności strukturalnej zmienności genetycznej w grupie osobników. Model zakłada, że ​​allele niesione przez badane osobniki pochodzą z różnych istniejących lub przeszłych populacji. Model i różne algorytmy wnioskowania pozwalają naukowcom oszacować częstość alleli w tych populacjach źródłowych oraz pochodzenie alleli niesionych przez badane osobniki. Populacje źródłowe można interpretować ex post w kategoriach różnych scenariuszy ewolucyjnych. W badaniach powiązanych , wykrywający obecność struktury genetycznej jest uważany za niezbędny etap wstępny, aby uniknąć mylenia .

Nauczanie maszynowe

Jednym z zastosowań LDA w uczeniu maszynowym – w szczególności odkrywanie tematów , podproblemu w przetwarzaniu języka naturalnego – jest wykrywanie tematów w zbiorze dokumentów, a następnie automatyczne klasyfikowanie każdego pojedynczego dokumentu w zbiorze pod względem tego, jak „odpowiedni” jest dla każdy z odkrytych tematów. Za temat uważa się zbiór terminów (tj. pojedynczych słów lub wyrażeń), które razem wzięte sugerują wspólny temat.

Na przykład, w zbiorze dokumentów związanych z zwierząt domowych, warunki pies , spaniel , beagle , golden retriever , szczeniak , kory i hau sugerowałyby DOG_related motyw, podczas gdy terminy kot , syjamski , główny coon , pręgowany , Manx , meow , purr i kitten sugerowałyby motyw związany z CAT_ . W kolekcji może być znacznie więcej tematów - np. związanych z dietą, pielęgnacją, opieką zdrowotną, zachowaniem itp., których dla uproszczenia nie poruszamy. (Bardzo popularne, tak zwane słowa stop w języku - np. "ten", "ten", "ta", "jest", "jest" itp. - nie rozróżniałyby tematów i są zwykle odfiltrowywane przez pre -przetwarzanie przed wykonaniem LDA.Przetwarzanie wstępne konwertuje również terminy na ich „pierwotne” formy leksykalne – np. „szczeka”, „szczekanie” i „szczekają” zostaną zamienione na „kora”.)

Jeśli zbiór dokumentów jest wystarczająco duży, LDA odkryje takie zestawy terminów (tj. tematy) w oparciu o współwystępowanie poszczególnych terminów, chociaż zadanie przypisania znaczącej etykiety do indywidualnego tematu (tj. wszystkie terminy są DOG_related) zależy od użytkownika i często wymaga specjalistycznej wiedzy (np. do zbierania dokumentów technicznych). Podejście LDA zakłada, że:

  1. Treść semantyczna dokumentu składa się z połączenia jednego lub więcej terminów z jednego lub więcej tematów.
  2. Niektóre terminy są niejednoznaczne , należą do więcej niż jednego tematu, z różnym prawdopodobieństwem. (Na przykład, termin szkolenia może dotyczyć zarówno psów i kotów, ale są bardziej prawdopodobne, aby odnieść się do psów, które są wykorzystywane jako zwierzęta pracy lub udziału w posłuszeństwie lub umiejętności konkursach). Jednak w dokumencie towarzyszącym obecność specyficznego sąsiednie terminy (które należą tylko do jednego tematu) ujednoznaczniają ich użycie.
  3. Większość dokumentów będzie zawierać stosunkowo niewielką liczbę tematów. W kolekcji np. poszczególne tematy będą występować z różną częstotliwością. Oznacza to, że mają rozkład prawdopodobieństwa, dzięki czemu dany dokument z większym prawdopodobieństwem zawiera niektóre tematy niż inne.
  4. W ramach tematu niektóre terminy będą używane znacznie częściej niż inne. Innymi słowy, terminy w ramach tematu będą miały również własny rozkład prawdopodobieństwa.

Gdy wykorzystywane jest uczenie maszynowe LDA, oba zestawy prawdopodobieństw są obliczane podczas fazy uczenia przy użyciu metod bayesowskich i algorytmu maksymalizacji oczekiwań .

LDA jest uogólnieniem starszego podejścia probabilistycznej utajonej analizy semantycznej (pLSA). Model pLSA jest równoważny LDA przy jednolitym uprzednim rozkładzie Dirichleta. pLSA opiera się tylko na dwóch pierwszych założeniach powyżej i nie dba o resztę. Chociaż obie metody są zasadniczo podobne i wymagają od użytkownika określenia liczby tematów do odkrycia przed rozpoczęciem szkolenia (jak w przypadku grupowania K-średnich ), LDA ma następujące zalety w porównaniu z pLSA:

  • LDA daje lepsze ujednoznacznienie słów i dokładniejsze przyporządkowanie dokumentów do tematów.
  • Obliczanie prawdopodobieństw umożliwia „generatywny” proces, za pomocą którego można wygenerować zbiór nowych „syntetycznych dokumentów”, które ściśle odzwierciedlałyby statystyczne cechy oryginalnego zbioru.
  • W przeciwieństwie do LDA, pLSA jest podatny na nadmierne dopasowanie, zwłaszcza gdy zwiększa się rozmiar korpusu.
  • Algorytm LDA jest łatwiej podatny na skalowanie w przypadku dużych zestawów danych przy użyciu podejścia MapReduce w klastrze obliczeniowym.

Model

Zapis na tabliczce reprezentujący model LDA.

Dzięki notacji płytkowej , która jest często używana do reprezentowania probabilistycznych modeli graficznych (PGM), można zwięźle uchwycić zależności między wieloma zmiennymi. Pudełka są „płytkami” reprezentującymi powtórzenia, które są powtarzającymi się jednostkami. Tabliczka zewnętrzna reprezentuje dokumenty, podczas gdy tabliczka wewnętrzna przedstawia powtarzające się pozycje słów w danym dokumencie; każde stanowisko wiąże się z wyborem tematu i słowa. Nazwy zmiennych są zdefiniowane w następujący sposób:

M oznacza liczbę dokumentów
N to liczba słów w danym dokumencie (dokument i zawiera słowa)
α jest parametrem wcześniejszego Dirichleta w rozkładach tematów dla poszczególnych dokumentów
β jest parametrem poprzedzającym Dirichleta w rozkładzie słów według tematu
jest dystrybucją tematu dla dokumentu i
to rozkład słów dla tematu k
jest tematem j -tego słowa w dokumencie i
to konkretne słowo.
Notacja płytkowa dla LDA z dystrybucją Dirichleta temat-słowo

Fakt, że W jest wyszarzone oznacza, że ​​słowa są jedynymi obserwowalnymi zmiennymi , a pozostałe zmienne są zmiennymi ukrytymi . Jak zaproponowano w oryginalnym artykule, do modelowania rozkładu temat-słowo można użyć rzadkiego wcześniejszego Dirichleta, kierując się intuicją, że rozkład prawdopodobieństwa na słowa w temacie jest przekrzywiony, tak że tylko mały zestaw słów ma wysokie prawdopodobieństwo. Powstały model jest obecnie najszerzej stosowanym wariantem LDA. Notacja tablicowa dla tego modelu jest pokazana po prawej stronie, gdzie oznacza liczbę tematów i wektorami dwuwymiarowymi przechowującymi parametry rozkładów temat-słowo rozłożonych przez Dirichleta ( jest to liczba słów w słowniku).

Pomocne jest myślenie o jednostkach reprezentowanych przez i jak o macierzach utworzonych przez rozłożenie oryginalnej macierzy wyrazów dokumentu, która reprezentuje korpus modelowanych dokumentów. W tym widoku składa się z wierszy zdefiniowanych przez dokumenty i kolumn zdefiniowanych przez tematy, natomiast składa się z wierszy zdefiniowanych przez tematy i kolumn zdefiniowanych przez słowa. Zatem odnosi się do zbioru wierszy lub wektorów, z których każdy jest rozkładem na słowach i odnosi się do zbioru wierszy, z których każdy jest rozkładem na tematy.

Proces generatywny

Aby faktycznie wywnioskować tematy w korpusie, wyobrażamy sobie proces generatywny, w którym tworzone są dokumenty, tak abyśmy mogli to wywnioskować lub dokonać inżynierii wstecznej. Proces generatywny wyobrażamy sobie w następujący sposób. Dokumenty są przedstawiane jako losowe mieszaniny tematów ukrytych, przy czym każdy temat charakteryzuje się rozkładem na wszystkie słowa. LDA zakłada następujący proces generatywny dla korpusu składającego się z dokumentów, każdy o długości :

1. Wybierz , gdzie i jest rozkładem Dirichleta z symetrycznym parametrem, który zazwyczaj jest rzadki ( )

2. Wybierz , gdzie i zazwyczaj jest rzadki

3. Dla każdego ze słów pozycji , gdzie , i

(a) Wybierz temat
(b) Wybierz słowo

(Zauważ, że rozkład wielomianowy odnosi się tutaj do rozkładu wielomianowego z tylko jedną próbą, który jest również znany jako rozkład jakościowy ).

Długości są traktowane jako niezależne od wszystkich innych zmiennych generujących dane ( i ). Indeks dolny jest często pomijany, jak na przedstawionych tu schematach płytowych.

Definicja

Formalny opis LDA jest następujący:

Definicja zmiennych w modelu
Zmienny Rodzaj Oznaczający
liczba całkowita liczba tematów (np. 50)
liczba całkowita liczba słów w słowniku (np. 50 000 lub 1 000 000)
liczba całkowita liczba dokumentów
liczba całkowita liczba słów w dokumencie d
liczba całkowita łączna liczba słów we wszystkich dokumentach; suma wszystkich wartości, tj.
pozytywny prawdziwy wcześniejsza waga tematu k w dokumencie; zwykle takie same dla wszystkich tematów; zwykle liczba mniejsza niż 1, np. 0,1, aby preferować rzadkie rozkłady tematów, tj. kilka tematów na dokument
K -wymiarowy wektor dodatnich liczb rzeczywistych zbiór wszystkich wartości, widzianych jako pojedynczy wektor
pozytywny prawdziwy wcześniejsza waga słowa w w temacie; zwykle takie same dla wszystkich słów; zwykle liczba znacznie mniejsza niż 1, np. 0,001, aby zdecydowanie preferować rzadkie rozkłady słów, tj. kilka słów na temat
V -wymiarowy wektor dodatnich liczb rzeczywistych zbiór wszystkich wartości, widzianych jako pojedynczy wektor
prawdopodobieństwo (liczba rzeczywista od 0 do 1) prawdopodobieństwo wystąpienia słowa w w temacie k
V -wymiarowy wektor prawdopodobieństw, który musi się sumować do 1 rozkład słów w temacie k
prawdopodobieństwo (liczba rzeczywista od 0 do 1) prawdopodobieństwo wystąpienia tematu k w dokumencie d
K -wymiarowy wektor prawdopodobieństw, który musi się sumować do 1 dystrybucja tematów w dokumencie d
liczba całkowita od 1 do K tożsamość tematu słowa w w dokumencie d
N -wymiarowy wektor liczb całkowitych od 1 do K tożsamość tematu wszystkich słów we wszystkich dokumentach
liczba całkowita od 1 do V tożsamość słowa w w dokumencie d
N -wymiarowy wektor liczb całkowitych od 1 do V tożsamość wszystkich słów we wszystkich dokumentach

Możemy wtedy matematycznie opisać zmienne losowe w następujący sposób:

Wnioskowanie

Poznanie różnych rozkładów (zestaw tematów, związane z nimi prawdopodobieństwa słów, temat każdego słowa i konkretna mieszanka tematyczna każdego dokumentu) jest problemem wnioskowania statystycznego .

Symulacja Monte Carlo

Oryginalna praca Pritcharda i in. wykorzystano aproksymację rozkładu a posteriori za pomocą symulacji Monte Carlo. Alternatywną propozycją technik wnioskowania jest próbkowanie Gibbsa .

Bayes wariacyjny

W oryginalnej pracy ML zastosowano wariacyjne przybliżenie Bayesa rozkładu a posteriori ;

Maksymalizacja prawdopodobieństwa

Bezpośrednia optymalizacja prawdopodobieństwa za pomocą algorytmu relaksacji bloków okazuje się szybką alternatywą dla MCMC.

Nieznana liczba populacji/tematów

W praktyce optymalna liczba populacji lub tematów nie jest z góry znana. Można ją oszacować przez aproksymację rozkładu a posteriori za pomocą odwracalnego skoku łańcucha Markowa Monte Carlo .

Alternatywne podejścia

Alternatywne podejścia obejmują propagację oczekiwań .


Ostatnie badania koncentrowały się na przyspieszeniu wnioskowania o ukrytej alokacji Dirichleta, aby wesprzeć uchwycenie ogromnej liczby tematów w dużej liczbie dokumentów. Równanie aktualizacji zwiniętego próbnika Gibbsa wspomniane we wcześniejszej sekcji ma naturalną rzadkość, z której można skorzystać. Intuicyjnie, ponieważ każdy dokument zawiera tylko podzbiór tematów , a słowo pojawia się również tylko w podzbiorze tematów , powyższe równanie aktualizacji można przepisać, aby wykorzystać tę rzadkość.

W tym równaniu mamy trzy wyrazy, z których dwa są rzadkie, a drugi jest mały. Nazywamy te terminy i odpowiednio. Teraz, jeśli znormalizujemy każdy termin przez zsumowanie wszystkich tematów, otrzymamy:

Tutaj widzimy, że jest to podsumowanie tematów pojawiających się w document , a także nieliczne podsumowanie tematów, do których przypisane jest słowo w całym korpusie. z drugiej strony jest gęsty, ale ze względu na małe wartości & , wartość jest bardzo mała w porównaniu z dwoma pozostałymi warunkami.

Teraz, podczas próbkowania tematu, jeśli próbkujemy zmienną losową jednolicie z , możemy sprawdzić, do którego wiadra trafia nasza próbka. Ponieważ jest mały, jest bardzo mało prawdopodobne, że wpadniemy do tego wiaderka; jeśli jednak wpadniemy w to wiadro, próbkowanie tematu zajmuje trochę czasu (tak samo jak oryginalny Collapsed Gibbs Sampler). Jeśli jednak wpadniemy do pozostałych dwóch wiader, wystarczy sprawdzić podzbiór tematów, jeśli prowadzimy rejestr rzadkich tematów. Temat może być próbkowany z zasobnika w czasie, a temat może być próbkowany z zasobnika w czasie, gdzie i oznacza liczbę tematów przypisanych odpowiednio do bieżącego dokumentu i bieżącego typu słowa.

Zwróć uwagę, że po spróbkowaniu każdego tematu aktualizacja tych zasobników to wszystkie podstawowe operacje arytmetyczne.

Aspekty szczegółów obliczeniowych

Poniżej przedstawiono wyprowadzenie równań dla załamanego próbkowania Gibbsa , co oznacza, że s i s zostaną zintegrowane. Dla uproszczenia, w tym wyprowadzeniu zakłada się, że wszystkie dokumenty mają tę samą długość . Wyprowadzenie jest równie ważne, jeśli długość dokumentu jest różna.

Zgodnie z modelem łączne prawdopodobieństwo modelu wynosi:

gdzie zmienne pogrubioną czcionką oznaczają wersję wektorową zmiennych. Po pierwsze i muszą zostać zintegrowane.

Wszystkie s są od siebie niezależne i takie same dla wszystkich s. Możemy więc traktować każdego z osobna. Skupiamy się teraz tylko na części.

Możemy dalej skoncentrować się tylko na jednym, takim jak:

Właściwie jest to ukryta część modelu dokumentu. Teraz zastępujemy prawdopodobieństwa w powyższym równaniu wyrażeniem prawdziwego rozkładu, aby wypisać jawne równanie.

Niech będzie liczbą znaczników słów w dokumencie z tym samym symbolem słowa ( słowo w słowniku) przypisanym do tematu. Więc jest trójwymiarowy. Jeśli którykolwiek z trzech wymiarów nie jest ograniczony do określonej wartości, używamy do oznaczenia punktu w nawiasie . Na przykład oznacza liczbę znaczników słów w dokumencie przypisanych do tematu. Tak więc prawą większość powyższego równania można przepisać jako:

Tak więc formułę integracji można zmienić na:

Oczywiście równanie wewnątrz całkowania ma taką samą postać jak rozkład Dirichleta . Zgodnie z rozkładem Dirichleta ,

Zatem,

Teraz zwracamy uwagę na tę część. W rzeczywistości wyprowadzenie części jest bardzo podobne do części. Tutaj wymieniamy tylko kroki wyprowadzenia:

Dla jasności, tutaj zapisujemy końcowe równanie z obydwoma i zintegrowanymi:

Celem Gibbs Sampling tutaj jest przybliżenie rozkładu . Ponieważ jest niezmienna dla każdego z Z, równania Gibbs Sampling można wyprowadzić bezpośrednio. Kluczowym punktem jest wyprowadzenie następującego prawdopodobieństwa warunkowego:

gdzie oznacza ukrytą zmienną tokenu słowa w dokumencie. I dalej zakładamy, że jej symbolem słownym jest słowo w słowniku. oznacza wszystkie s ale . Zauważ, że Gibbs Sampling musi tylko próbkować wartość dla , zgodnie z powyższym prawdopodobieństwem nie potrzebujemy dokładnej wartości

ale stosunki między prawdopodobieństwami, które mogą mieć wartość. Zatem powyższe równanie można uprościć jako:

Wreszcie niech będzie to samo znaczenie, co z wykluczonymi. Powyższe równanie można jeszcze bardziej uprościć, wykorzystując właściwość funkcji gamma . Najpierw dzielimy sumę, a następnie łączymy ją z powrotem, aby uzyskać -niezależną sumę, którą można pominąć:

Zauważ, że ten sam wzór został wyprowadzony w artykule o wielomianowym rozkładzie Dirichleta , jako część bardziej ogólnej dyskusji na temat całkowania a priori rozkładu Dirichleta z sieci bayesowskiej .

Powiązane problemy

Powiązane modele

Modelowanie tematyczne to klasyczne rozwiązanie problemu wyszukiwania informacji przy użyciu danych połączonych i technologii sieci semantycznej. Powiązane modele i techniki to między innymi utajone indeksowanie semantyczne , analiza niezależnych składników , probabilistyczne utajone indeksowanie semantyczne , nieujemna faktoryzacja macierzy oraz rozkład Gamma-Poissona .

Model LDA jest wysoce modułowy i dlatego można go łatwo rozbudować. Głównym polem zainteresowań jest modelowanie relacji między tematami. Osiąga się to poprzez użycie innej dystrybucji w simpleksie zamiast Dirichleta. Skorelowany model tematyczny stosuje to podejście, indukując strukturę korelacji między tematami przy użyciu logistycznego rozkładu normalnego zamiast Dirichleta. Innym rozszerzeniem jest hierarchiczna LDA (hLDA), w której tematy są łączone w hierarchię za pomocą zagnieżdżonego chińskiego procesu restauracyjnego , którego struktura jest pobierana z danych. LDA można również rozszerzyć na korpus, w którym dokument zawiera dwa rodzaje informacji (np. słowa i nazwy), tak jak w modelu dualnym LDA . Rozszerzenia nieparametryczne LDA obejmują hierarchiczny model mieszania procesów Dirichleta , który pozwala na nieograniczoną liczbę tematów i wyciąganie wniosków z danych.

Jak wspomniano wcześniej, pLSA jest podobny do LDA. Model LDA jest zasadniczo bayesowską wersją modelu pLSA. Sformułowanie bayesowskie ma tendencję do lepszej wydajności na małych zestawach danych, ponieważ metody bayesowskie mogą uniknąć nadmiernego dopasowania danych. W przypadku bardzo dużych zbiorów danych wyniki obu modeli mają tendencję do zbieżności. Jedną z różnic jest to, że pLSA używa zmiennej do reprezentowania dokumentu w zestawie szkoleniowym. Tak więc w pLSA, po przedstawieniu z dokumentem, którego model nie widział wcześniej, ustalamy — prawdopodobieństwo występowania słów w tematach — na to, czego nauczyłeś się ze zbioru uczącego i używamy tego samego algorytmu EM, aby wnioskować — rozkład tematów w ramach . Blei twierdzi, że ten krok jest oszustwem, ponieważ zasadniczo dostosowujesz model do nowych danych.

Modele przestrzenne

W biologii ewolucyjnej często przyjmuje się, że położenie geograficzne obserwowanych osobników dostarcza informacji o ich pochodzeniu. Jest to uzasadnienie różnych modeli georeferencyjnych danych genetycznych

Wariacje na temat LDA zostały wykorzystane do automatycznego umieszczania naturalnych obrazów w kategoriach, takich jak „sypialnia” lub „las”, traktując obraz jako dokument, a małe fragmenty obrazu jako słowa; jedna z odmian nazywa się przestrzenną utajoną alokacją Dirichleta .

Zobacz też

Bibliografia

Zewnętrzne linki

  • jLDADMM Pakiet Java do modelowania tematów na normalnych lub krótkich tekstach. jLDADMM obejmuje implementacje modelu tematycznego LDA oraz modelu Dirichlet Multinomial Mixture jeden temat w dokumencie . jLDADMM zapewnia również implementację oceny grupowania dokumentów w celu porównywania modeli tematycznych.
  • STTM Pakiet Java do modelowania krótkich tematów tekstowych ( https://github.com/qiang2100/STTM ). STTM zawiera następujące algorytmy: Dirichlet Multinomial Mixture (DMM) w konferencji KDD2014, Biterm Topic Model (BTM) w czasopiśmie TKDE2016, Word Network Topic Model (WNTM ) w czasopiśmie KAIS2018, Pseudo-Document-Based Topic Model (PTM) w konferencji KDD2016 , Self-Agregation-Based Topic Model (SATM) na konferencji IJCAI2015, (ETM) na konferencji PAKDD2017, Generalized P´olya Urn (GPU) Dirichlet Multinomial Mixturemodel (GPU-DMM) na konferencji SIGIR2016, Generalized P´olya Urn (GPU) ) oparty na modelu Dirichlet Multinomial Mixturemodel (GPU-PDMM) opartym na Poissona (GPU-PDMM) w czasopiśmie TIS2017 oraz model cech utajonych z DMM (LF-DMM) w czasopiśmie TACL2015. STTM zawiera również sześć krótkich korpusów tekstowych do oceny. STTM przedstawia trzy aspekty oceny wydajności algorytmów (tj. spójność tematu, grupowanie i klasyfikacja).
  • Wykład, który obejmuje niektóre zapisy w tym artykule: LDA and Topic Modeling Video Wykład Davida Blei lub ten sam wykład na YouTube
  • Bibliografia LDA D. Mimno Wyczerpujący wykaz zasobów związanych z LDA (w tym artykuły i niektóre implementacje)
  • Gensim , implementacja LDA online w Python+ NumPy dla wejść większych niż dostępna pamięć RAM.
  • topicmodels i lda to dwa pakiety R do analizy LDA.
  • „Text Mining with R” z uwzględnieniem metod LDA , prezentacja wideo do spotkania grupy użytkowników Los Angeles R w październiku 2011 r.
  • MALLET Pakiet open source oparty na Javie z University of Massachusetts-Amherst do modelowania tematów za pomocą LDA, ma również niezależnie opracowany GUI, narzędzie do modelowania tematów
  • LDA w Mahout implementacji LDA przy użyciu MapReduce na platformie Hadoop
  • Samouczek Latent Dirichlet Allocation (LDA) dla platformy Infer.NET Machine Computing Framework Microsoft Research C# Machine Learning Framework
  • LDA w Spark : od wersji 1.3.0 Apache Spark zawiera również implementację LDA
  • LDA , przykładowa implementacja LDA MATLAB