Přidělení latentního dirichletu (LDA) a Hierarchický Dirichletův proces (HDP) jsou oba procesy modelování témat. Hlavní rozdíl spočívá v tom, že LDA vyžaduje specifikaci počtu témat a HDP není. Proč tomu tak je? A jaké jsou rozdíly, klady a zápory obou metod modelování témat?

Komentáře

  • Má se HDP řídit daty, pokud jde o počet témat, která vybere? Z praktické stránky jsem zkusil spustit Blei ' Implementace HDP a to prostě snědlo veškerou paměť, dokud jsem proces nezabil. Mám 16 GB RAM a něco přes 100 000 krátkých dokumentů k analýze.

Odpověď

HDP je rozšíření LDA, určené k řešení případu, kdy počet složek směsi (počet „témat“ v pojmech modelování dokumentů) není apriorně znám. Proto existuje rozdíl.

Při použití LDA pro modelování dokumentů se s každým „tématem“ zachází jako s distribucí slov v nějaké známé slovní zásobě. Pro každý dokument je nakreslena směs témat z Dirichletovy distribuce, a nd pak každé slovo v dokumentu je nezávislé čerpání z této směsi (tj. výběr tématu a jeho následné použití ke generování slova).

U HDP (aplikovaného na modelování dokumentu) se také používá Dirichletův proces k zachycení nejistoty v počtu témat. Je tedy vybrána společná základní distribuce, která představuje spočetně nekonečnou množinu možných témat pro korpus, a poté je z této základní distribuce odebrána konečná distribuce témat pro každý dokument.

Co se týče kladů a nevýhody, HDP má tu výhodu, že maximální počet témat lze uvolnit a naučit se z dat, nikoli předem specifikovat. Předpokládám, že implementace je komplikovanější a zbytečná v případě, že je přijatelný omezený počet témat.

Odpověď

Anekdoticky na mě výstup z hierarchického LDA nikdy neudělal dojem. Zdá se, že nenachází optimální úroveň podrobnosti pro výběr počtu témat. „Dosáhl jsem mnohem lepších výsledků spuštěním několika iterací pravidelného LDA, ruční kontrolou témat, která vytvořila, rozhodnutím, zda zvýšit nebo snížit počet témat, a pokračovat v iteraci, dokud nedosáhnu granularity, kterou hledám.

Pamatujte: hierarchický LDA nedokáže číst vaše myšlenky … neví, k čemu vlastně hodláte modelování témat použít. Stejně jako u shlukování k-means byste měli zvolit k, které má pro váš případ použití největší smysl.

Odpovědět

Chtěl bych zdůraznit, že se jedná o jeden z nejlepších hitů Google pro toto téma, že Latent Dirichlet Allocation (LDA), Hierarchical Dirichlet Processes (HDP), and hierarchical Latent Dirichlet Allocation (hLDA) are všechny odlišné modely.

Modely LDA dokumentují jako dirichletové směsi se stanoveným počtem témat – vybrané uživatelem jako parametr modelu – což jsou zase dirichletové směsi slov. Tím se vytvoří ploché, měkké pravděpodobnostní seskupení termínů do témat a dokumentů do témat.

HDP modeluje témata jako směsi slov, podobně jako LDA, ale spíše než dokumenty, které jsou směsí pevného počtu témat, je počet témat generován pomocí procesu dirichlet, což má za následek počet témat náhodná proměnná také. „Hierarchická“ část názvu odkazuje na další úroveň přidávanou do generativního modelu (proces dirichletů produkující počet témat), nikoli na samotná témata – témata jsou stále plochá seskupení.

hLDA, na druhou stranu jde o adaptaci LDA, která modeluje témata jako směsi nové, odlišné úrovně témat, vycházející z dirichletových distribucí a nikoli procesů. Počet témat stále považuje za hyperparametr, tj. Nezávislý na datech. Rozdíl je v tom, že shlukování je nyní hierarchické – učí se shlukování první sady témat samotných, což dává obecnější, abstraktní vztahy mezi tématy (a tedy i slovy a dokumenty). Přemýšlejte o tom, jako je shlukování výměn zásobníku do matematiky, vědy, programování, historie atd., Na rozdíl od shlukování datové vědy a křížové validace do abstraktního statistického a programového tématu, které sdílí některé koncepty například se softwarovým inženýrstvím, ale se softwarovým výměna je seskupena na konkrétnější úrovni s výměnou informatiky a podobnost mezi všemi zmíněnými výměnami se až do horní vrstvy klastrů neobjevuje tolik.

Odpověď

Mám situaci, kdy HDP funguje dobře ve srovnání s LDA. Mám asi 16 000 dokumentů, které patří do různých tříd.Jelikož si nejsem vědom toho, kolik různých témat mohu pro každou třídu shromáždit, je HDP v tomto případě opravdu užitečné.

Odpověď

HDP ve skutečnosti vyžaduje spoustu skrytých parametrů, které jsou v kódu. Pokud budete hrát s takovými parametry, získáte různé výsledky (různá témata). Lidé obvykle nevěnují pozornost takovým skrytým parametrům a myslí si, že model je schopen takové parametry najít. To není pravda. Uživatel musí definovat parametry „eta“ „gama“ a „alfa“ a maximum témat. Pokud zadáte maximální počet témat, řekněme o 23 tématech, pak model youк poskytne 23 témat na výstupu. Pokud nastavíte 15 témat, získáte 15 témat ve výstupu….

Odpovědět

Dokument Yee Whye Teh et al z roku 2005 Hierarchické Dirichletovy procesy popisuje neparametrický prior pro seskupené problémy s klastrováním. V příkladu HDP pomáhá zobecnit Latent Dirichlet Allocation model v případě, že počet témat v datech je zjištěn inferenčním algoritmem, místo aby byl specifikován jako parametr modelu. Podrobně vysvětlení Dirichletova procesu naleznete zde

Tematické modely slibují, že pomohou shrnout a uspořádat velké archivy textů, které nelze snadno analyzovat ručně . Hierarchický Dirichletův proces (HDP) je silný smíšený člen moderní model pro analýzu skupinových dat bez dozoru. Na rozdíl od svého konečného protějšku latentní Dirichletova alokace , tematický model HDP odvozuje počet témat z dat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *