Maybaygiare.org

Blog Network

modely.ldamodel – Latentní Dirichletova Alokace¶

příklady Použití¶

Vlak o LDA modelu pomocí Gensim corpus

>>> from gensim.test.utils import common_texts>>> from gensim.corpora.dictionary import Dictionary>>>>>> # Create a corpus from a list of texts>>> common_dictionary = Dictionary(common_texts)>>> common_corpus = >>>>>> # Train the model on the corpus.>>> lda = LdaModel(common_corpus, num_topics=10)

Uložit model na disk, nebo jiný pre-vyškoleni model

>>> from gensim.test.utils import datapath>>>>>> # Save model to disk.>>> temp_file = datapath("model")>>> lda.save(temp_file)>>>>>> # Load a potentially pretrained model from disk.>>> lda = LdaModel.load(temp_file)

Dotaz, model s použitím nových, neviditelné dokumenty

>>> # Create a new corpus, made of previously unseen documents.>>> other_texts = ,... ,... ... ]>>> other_corpus = >>>>>> unseen_doc = other_corpus>>> vector = lda # get topic probability distribution for a document

Aktualizovat model postupným školení na nový korpus

>>> lda.update(other_corpus)>>> vector = lda

mnoho parametrů, které mohou být vyladěn pro optimalizaci tréninku pro váš konkrétní případ,

>>> lda = LdaModel(common_corpus, num_topics=50, alpha='auto', eval_every=5) # learn asymmetric alpha from data

classgensim.models.ldamodel.LdaModel(corpus=None, num_topics=100, id2word=None, distributed=False, chunksize=2000, passes=1, update_every=1, alpha=’symmetric‘, eta=None, decay=0.5, offset=1.0, eval_every=10, iterations=50, gamma_threshold=0.001, minimum_probability=0.01, random_state=None, ns_conf=None, minimum_phi_value=0.01, per_word_topics=False, callbacks=None, dtype=<class ‚numpy.float32‘>)¶

Bases: gensim.interfaces.TransformationABCgensim.models.basemodel.BaseTopicModel

Vlak a použít on-Line Latentní Dirichletova Alokace (OLDA) modely jsou prezentovány inHoffman et al. : „Online učení pro latentní Dirichletovou alokaci“.

Příklady

Inicializovat model pomocí Gensim corpus

>>> from gensim.test.utils import common_corpus>>>>>> lda = LdaModel(common_corpus, num_topics=10)

můžete pak odvodit téma distribucí na nové, neviditelné dokumenty.

>>> doc_bow = >>> doc_lda = lda

model může být aktualizován (vyškolen) novými dokumenty.

>>> # In practice (corpus =/= initial training corpus), but we use the same here for simplicity.>>> other_corpus = common_corpus>>>>>> lda.update(other_corpus)

Model vytrvalosti je dosaženo pomocí load()save() metody.

Parametry

  • corpus (iterable seznamu (int, float), volitelné) – Proud dokumentu vektory nebo řídké matice tvaru (num_documents, num_terms).Pokud máte matici CSC v paměti, můžete ji pomocí gensim převést na astreamed corpus.matutils.Řídký2korpus.Pokud není uveden, model je vlevo netrénovaný (pravděpodobně proto, že chcete volatupdate() ruční).

  • num_topics (int, volitelné) – počet požadovaných latentních témat, která mají být extrahována z tréninkového korpusu.

  • id2word ({dict of (int, str), gensim.corpora.dictionary.Dictionary}) – mapování z id slov na slova. Používá se k určení velikosti slovní zásoby, stejně jako prodebugging a tisk témat.

  • distribuované (bool, volitelné) – zda by distribuované výpočty měly být použity k urychlení tréninku.

  • chunksize (int, volitelné) – počet dokumentů, které mají být použity v každém tréninkovém bloku.

  • průchody (int, volitelné) – počet průchodů korpusem během tréninku.

  • update_every (int, volitelné) – počet dokumentů, které mají být iterovány pro každou aktualizaci.Nastaveno na 0 pro dávkové učení, > 1 pro online iterativní učení.

  • alfa ({numpy.ndarray, str}, volitelné) –

    lze nastavit na 1D pole délky rovnající se počtu očekávaných témat, která vyjadřují a priori víru pro Pravděpodobnost jednotlivých témat.Alternativně lze použít výchozí strategie předchozího výběru dodáním řetězce:

    • „symetrický“: Default; používá pevnou symetrický před na téma,

    • „asymetrického“: Používá pevnou normalizované asymetrické před 1.0 / (topic_index + sqrt(num_topics)),

    • ‚auto‘: Učí asymetrický před z corpus (není k dispozici, pokud distribuovány==True).

  • eta ({float, np.pole, str}, volitelné) –

    a-priori víra v pravděpodobnost slova, může to být:

    • a skalární veličina pro symetrický před více než téma/slovo pravděpodobnost,

    • vektor délky num_words k označení asymetrický uživatelem definované pravděpodobnosti pro každé slovo,

    • matice tvaru (num_topics, num_words) přiřadit pravděpodobnost pro každé slovo-téma kombinace,

    • řetězec „auto“ naučit asymetrické předchozí data.

  • rozpad (float, volitelné) – číslo mezi (0.5, 1] na váhu, jaké procento předchozí hodnoty lambda je zapomenuto, když je zkoumán každý nový dokument. Odpovídá Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:“ online učení pro latentní Dirichlet alokace NIPS ’10“.

  • offset (float, volitelné),

    Hyper-parametr, který určuje, jak moc budeme pomalu dolů, první kroky, prvních několik iterací.Odpovídá Tau_0 od Matthew D. Hoffman, David M. Blei, Francis Bach:“ online učení pro latentní Dirichlet alokace NIPS ’10“.

  • eval_every (int, volitelné) – log zmatenost se odhaduje každý, že mnoho aktualizací. Nastavení na jeden zpomaluje školení o ~2x.

  • iterací (int, volitelné) – Maximální počet iterací přes corpus když odvozovat téma rozdělení korpusu.

  • gamma_threshold (float, volitelné) – minimální změna hodnoty parametrů gama pro pokračování iterace.

  • minimum_probability (float, volitelné) – Témata s pravděpodobností nižší než tento limit, budou odfiltrovány.

  • random_state ({np.náhodný.RandomState, int}, volitelný) – buď objekt randomState nebo semeno pro generování jednoho. Užitečné pro Reprodukovatelnost.

  • ns_conf (dict (str, objekt), volitelné) – Klíčové slovo parametrů rozšířena do gensim.utils.getNS() Pyro4 Nameserved.Používá se pouze v případě, že je distribuován nastaven na hodnotu True.

  • minimum_phi_value (float, volitelné) – pokud je per_word_topics pravdivý, představuje to dolní hranici termínu pravděpodobnosti.

  • per_word_topics (bool) – Pokud je Pravda, že model také počítá seznam témat, seřazené v sestupném pořadí s největší pravděpodobností témata foreach word, spolu s jejich phi hodnoty násobí funkce délka (tj. počet slov).

  • zpětná volání (seznam Callback) – Metrické zpětná volání pro záznam a vizualizaci vyhodnocení metriky modelu během tréninku.

  • dtype ({numpy.float16, numpy.float32, numpy.float64}, volitelné) – datový typ pro použití při výpočtech uvnitř modelu. Všechny vstupy jsou také převedeny.

add_lifecycle_event(event_name, log_level=20, **event)¶

Přidat událost do lifecycle_events atributem tohoto objektu, a alsooptionally se přihlásit na událost na log_level.

události jsou důležité momenty během života objektu, například „model vytvořen“,“model uložen“, „model načten“ atd.

atribut lifecycle_events přetrvává v operacích save()a load(). Nemá žádný vliv na použití modelu, ale je užitečný při ladění a podpoře.

nastavit vlastní.lifecycle_events = None pro deaktivaci tohoto chování. Volání add_lifecycle_event()nebude zaznamenávat události do sebe.lifecycle_events pak.

parametry

  • event_name (str – – název události. Může to být libovolný štítek, např. „vytvořeno“,“ uloženo “ atd.

  • event (dict) –

    mapování klíčových hodnot pro připojení k sobě.lifecycle_events. Měl by být JSON-serializovatelný, takže to udržujte jednoduché.Může být prázdný.

    tato metoda automaticky přidá k události následující klíčové hodnoty, takže je nemusíte zadávat:

    • datetime: aktuální datum & čas

    • gensim: aktuální Gensim verze

    • python: aktuální Python verze

    • platforma: současná platforma

    • akce: název této události,

  • log_level (int) – Také se přihlásit na událost complete dict, na zadanou úroveň protokolu. Nastavena na hodnotu False, aby se vůbec nepřihlásila.

bound(corpus, gama=None, subsample_ratio=1.0)¶

Odhadnout variační vázaný dokladů z korpusu jako E_q – E_q.

Parametry

  • corpus (iterable seznamu (int, float), volitelné) – Proud dokumentu vektory nebo řídké matice tvaru (num_documents, num_terms) slouží k odhadu thevariational kroky.

  • gamma (numpy.ndarray, volitelné) – téma hmotnost variační parametry pro každý dokument. Pokud není dodán, bude odvozen z modelu.

  • subsample_ratio (float, volitelné) – Procento z celého korpusu zastoupena prošel corpus argument (v tomto případě byl vzorek).Pokud byl celý korpus předán, nastaveno na 1,0.To se používá jako multiplikativní faktor pro měřítko pravděpodobnosti.

vrací

variační vázané skóre vypočtené pro každý dokument.

návratový typ

numpy.ndarray

clear()¶

vymažte stav modelu, abyste uvolnili nějakou paměť. Používá se v distribuované implementaci.

diff(další, vzdálenost=’kullback_leibler‘, num_words=100, n_ann_terms=10, úhlopříčka=False, anotace=True, normovaný=True)¶

Vypočítat rozdíl v tématu distribuce mezi dvěma modely: self a další.

parametry

  • ostatní (LdaModel) – model, který bude porovnán s aktuálním objektem.

  • vzdálenost ({‚kullback_leibler‘, ‚hellinger‘, ‚jaccard‘, ‚jensen_shannon‘}) – vzdálenost, metriky pro výpočet rozdílu.

  • num_words (int, volitelné) – počet nejdůležitějších slov použitých při distance = = ‚jaccard‘. Používá se také pro anotaci témat.

  • n_ann_terms (int, volitelné) – maximální počet slov v průsečíku / symetrický rozdíl mezi tématy. Používá se pro anotaci.

  • diagonální (bool, volitelné) – zda potřebujeme rozdíl mezi stejnými tématy(úhlopříčka matice rozdílu).

  • anotace (bool, volitelné) – zda má být vrácen průnik nebo rozdíl slov mezi dvěma tématy.

  • normed (bool, volitelné) – zda má být matice normalizována nebo ne.

vrací

  • numpy.ndarray-rozdílová matice. Každý prvek odpovídá rozdílu mezi těmito dvěma tématy, tvar (já.num_topics, ostatní.num_topics)

  • numpy.ndarray, volitelná-anotační matice, kde pro každý pár zahrnujeme slovo z průsečíku dvou témat a slovo ze symetrického rozdílu obou témat. Zahrnuty pouze v případě, anotace == True.Tvar (já.num_topics, other_model.num_topics, 2).

Příklady

rozdíly mezi každý pár témat odvodit dva modely

>>> from gensim.models.ldamulticore import LdaMulticore>>> from gensim.test.utils import datapath>>>>>> m1 = LdaMulticore.load(datapath("lda_3_0_1_model"))>>> m2 = LdaMulticore.load(datapath("ldamodel_python_3_5"))>>> mdiff, annotation = m1.diff(m2)>>> topic_diff = mdiff # get matrix with difference for each topic pair from `m1` and `m2`

do_estep(kus, stát=None)¶

Proveďte závěr na kus dokumenty, a hromadí shromážděny dostatečné statistiky.

parametry

  • chunk (seznam seznamu (int, float)) – korpusový chunk, na kterém bude proveden krok odvození.

  • stát (LdaState, volitelné) – stát bude aktualizován s nově nahromaděné dostatečné statistiky. Pokud žádný, modelself.stav je aktualizován.

vrací

Gamma parametry ovládající téma váhy, tvar (len (kus), já.num_topics).

návratový typ

numpy.ndarray

do_mstep(rho, other, extra_pass=False)¶

krok maximalizace: použijte lineární interpolaci mezi existujícími tématy asbíral dostatečné statistiky v jiných pro aktualizaci témat.

parametry

  • rho (float – – rychlost učení.

  • další (LdaModel) – model, jehož dostatečné statistiky budou použity k aktualizaci témat.

  • extra_pass (bool, volitelné) – zda tento krok vyžadoval další průchod přes korpus.

get_document_topics(luk, minimum_probability=None, minimum_phi_value=None, per_word_topics=False)¶

Dostat téma distribuce pro daný dokument.

parametry

  • bow (corpus: list of (int, float)) – dokument ve formátu BOW.

  • minimum_probability (float) – témata s přiřazenou pravděpodobností nižší než tato prahová hodnota budou vyřazena.

  • minimum_phi_value (float) –

    pokud je per_word_topics pravdivý, představuje to dolní mez pojmu pravděpodobnosti, které jsou zahrnuty.

    Pokud je nastaveno na None, hodnota 1e-8 se používá, aby se zabránilo 0s.

  • per_word_topics (bool) – Pokud je to Pravda, tato funkce bude také návrat dvou dalších seznamů, jak je vysvětleno v „Vrací“ část.

vrací

  • seznam (int, float) – distribuce tématu pro celý dokument. Každý prvek v seznamu je pár ID tématu apravděpodobnost, která mu byla přiřazena.

  • seznam (int, seznam (int, float), volitelné – nejpravděpodobnější témata na slovo. Každý prvek v seznamu je pár ID slova a seznamtémata seřazená podle jejich relevance k tomuto slovu. Vrácena pouze v případě, per_word_topics byl nastaven na hodnotu True.

  • seznam (int, seznam float), volitelných hodnot relevance-Phi vynásobených délkou funkce pro každou kombinaci slovo-téma.Každý prvek v seznamu je pár ID slova a seznam hodnot phi mezi tímto slovem a každým tématem. Vrácena pouze v případě, per_word_topics byl nastaven na hodnotu True.

get_term_topics(word_id, minimum_probability=None)¶

Získejte nejdůležitější témata pro dané slovo.

parametry

  • word_id (int) – slovo, pro které bude vypočtena distribuce tématu.

  • minimum_probability (float, volitelné) – témata s přiřazenou pravděpodobností pod touto prahovou hodnotou budou vyřazena.

Výnosy

odpovídající témata reprezentován jako dvojice jejich ID a jim přiřazené pravděpodobnosti, sortedby význam daného slova.

návratový typ

seznam (int, float)

get_topic_terms(topicid, topn=10)¶

Získat zastoupení pro jedno téma. Slova integer ID, v constrast nashow_topic(), která představuje slova podle skutečných řetězců.

Parametry

  • topicid (int) – ID tématu vrátil

  • topn (int, volitelné) – Počet nejvýznamnější slova, která jsou spojena s tématem.

vrací

ID slova-pravděpodobnostní páry pro nejrelevantnější slova generovaná tématem.

návratový typ

seznam (int, float)

get_topics()¶

získejte matici termín-téma naučenou během inference.

vrací

pravděpodobnost pro každé slovo v každém tématu, tvar (num_topics, vocabulary_size).

návratový typ

numpy.ndarray

inference(kus, collect_sstats=False)¶

Vzhledem k tomu, kus řídké dokumentu vektory, odhad gama (parametry pro řízení téma váhy)pro každý dokument v bloku.

tato funkce nemění model předpokládá se, že celý vstupní kus dokumentu se vejde do paměti RAM;chunking velkého korpusu musí být proveden dříve v potrubí. Zabrání výpočtu phi variationalparameter přímo pomocí optimalizace prezentovány inLee, Seung: Algoritmy pro non-negative matrix faktorizace“.

parametry

  • chunk (seznam seznamu (int, float)) – korpusový chunk, na kterém bude proveden krok odvození.

  • collect_sstats (bool, volitelné) – pokud je nastaven na hodnotu True, také shromažďovat (a vrátit) dostatečné statistiky potřebné k aktualizaci tématu modelu-worddistributions.

vrací

první prvek je vždy vrácen a odpovídá stavové matici gama. Druhý prvek je vrácen pouze tehdy, pokud collect_sstats = = True a odpovídá dostatečné statistice pro krok M.

Typ návratu

(numpy.ndarray, {numpy.ndarray, None})

init_dir_prior(prior, name)¶

inicializujte priors pro dirichletovu distribuci.

parametry

  • předchozí ({str, list of float, numpy.ndarray of float, float}) –

    a-priori víra v pravděpodobnost slova. Pokud name = = ‚ eta ‚ pak předchozí může být:

    • a skalární veličina pro symetrický před více než téma/slovo pravděpodobnost,

    • vektor délky num_words k označení asymetrický uživatelem definované pravděpodobnosti pro každé slovo,

    • matice tvaru (num_topics, num_words) přiřadit pravděpodobnost pro každé slovo-téma kombinace,

    • řetězec „auto“ naučit asymetrické předchozí data.

    Pokud name = = ‚alpha‘ , pak předchozí může být:

    • 1D pole o délce rovnající se počtu očekávaných témat,

    • „symetrický“: Používá pevnou symetrický před na téma,

    • „asymetrického“: Používá pevnou normalizované asymetrické před 1.0 / (topic_index + sqrt(num_topics)),

    • „auto“: Učí asymetrický před z korpusu.

  • jméno ({‚alfa‘, ‚eta‘}), – Zda je před parametrizované alfa vektor (1 parametr, dle tématu), nebo eta (1 parametr za jedinečný výraz ve slovníku).

classmethodload(fname, *args, **kwargs)¶

Načíst dříve uloženou gensim.models.ldamodel.LdaModel ze souboru.

Viz také

save()

uložit model.

parametry

  • fname (str – – cesta k souboru, kde je model uložen.

  • * args-poziční argumenty propagované na load().

  • * * kwargs-Klíčové slovo argumenty šířeny do load().

Příklady

Velké pole může být memmap ‚ ed zpět jako jen pro čtení (sdílené paměti) nastavením mmap=’r‘:

>>> from gensim.test.utils import datapath>>>>>> fname = datapath("lda_3_0_1_model")>>> lda = LdaModel.load(fname, mmap='r')

log_perplexity(kus, total_docs=None)¶

Vypočítat a vrátit se za slovo pravděpodobnost vázán, pomocí kus dokumenty jako hodnocení korpusu.

také výstup vypočtené statistiky, včetně perplexity=2^(- bound), přihlásit na informační úrovni.

parametry

  • chunk (seznam seznamu (int, float)) – korpusový chunk, na kterém bude proveden krok odvození.

  • total_docs (int, volitelné) – počet dokumentů použitých pro vyhodnocení zmatenosti.

vrací

variační vázané skóre vypočtené pro každé slovo.

návratový typ

numpy.ndarray

print_topic(topicno, topn=10)¶

získejte jedno téma jako formátovaný řetězec.

parametry

  • topicno (int) – ID tématu.

  • topn (int) – počet slov z tématu, které budou použity.

vrací

String reprezentaci tématu, jako ‚-0.340 *“ Kategorie „+ 0.298 * „$M$ „+ 0.183 * „algebra“+ …‘.

návratový typ

str

print_topics(num_topics=20, num_words=10)¶

Získat co nejvíce významná témata (alias pro show_topics() metoda).

Parametry

  • num_topics (int, volitelné) – počet témat, které budou vybrány, pokud -1 – všechna témata budou v důsledku (seřazeny podle významu).

  • num_words (int, volitelné) – počet slov, které mají být zahrnuty na témata (seřazené podle významu).

vrací

sekvenci s (topic_id,).

návratový typ

seznam (int, seznam (str, float))

save(fname, ignorovat=(‚stát‘, ‚odesílatel‘), samostatně=None, *args, **kwargs)¶

Uložit model do souboru.

velká vnitřní pole mohou být uložena do samostatných souborů s prefixem fname.

poznámky

Pokud máte v úmyslu používat modely napříč verzemi Pythonu 2/3, je třeba mít na paměti několik věcí:

  1. nakládané Pythonu se slovníky nebude fungovat přes Python verze

  2. uložit metoda není automaticky uložit všechny numpy pole samostatně, onlythose ty, které překračují sep_limit nastavit v save(). Mainconcern zde je alfa pole, pokud například pomocí alpha= ‚auto‘.

viz sekce wiki recipes.

Viz také

load()

Load model.

Parametry

  • fname (str) – Cesta k souboru systému, kde bude model přetrvával.

  • ignorovat (n-tice str, volitelné) – pojmenované atributy v n-tice budou vynechány z nakládaného modelu. Důvodem, proč je vnitřní stav ve výchozím nastavení ignorován, je to, že používá spíše vlastní serializaci než ten, který je touto metodou poskytován.

  • Samostatně ({list of str, None}, volitelné) – pokud není-automaticky detekuje velké numpy / scipy.řídká pole v uloženém objektu a ukládajíje do samostatných souborů. Tím se zabrání chybám v paměti a umožňuje mmap ‚ ing velké arraysback na zatížení efektivně. Pokud seznam str-tyto atributy budou uloženy v samostatných souborech, automatická kontrola se neprovádí v tomto případě.

  • * args-poziční argumenty šířené do save().

  • * * kwargs-Klíčové slovo argumenty šířeny do save().

show_topic(topicid, topn=10)¶

získejte reprezentaci pro jedno téma. Slova zde jsou skutečné řetězce, v constrast toget_topic_terms(), které reprezentují slova podle jejich ID slovníku.

Parametry

  • topicid (int) – ID tématu vrátil

  • topn (int, volitelné) – Počet nejvýznamnější slova, která jsou spojena s tématem.

vrací

páry pravděpodobnosti slov pro nejrelevantnější slova generovaná tématem.

návratový typ

seznam (str, float)

show_topics(num_topics=10, num_words=10 log=False, formátované=True)¶

Získat zastoupení vybraných témat.

parametry

  • num_topics (int, volitelné) – počet témat, která mají být vrácena. Na rozdíl od LSA neexistuje přirozené uspořádání mezi tématy v LDA.Vrácená podmnožina témat všech témat je proto libovolná a může se měnit mezi dvěma běhy Ldatrainingu.

  • num_words (int, volitelné) – počet slov, která mají být prezentována pro každé téma. Budou to nejdůležitější slova (přidělena nejvyššípravděpodobnost pro každé téma).

  • log (bool, volitelné) – zda je výstup také zaznamenán, kromě toho, že je vrácen.

  • formátováno (bool, volitelné) – zda mají být reprezentace tématu formátovány jako řetězce. Pokud jsou nepravdivé, jsou vráceny jako2 n-tice (slovo, pravděpodobnost).

vrací

seznam témat, z nichž každé je reprezentováno buď jako řetězec (pokud je formátován == True), nebo slovo-pravděpodobnostpairs.

návratový typ

seznam {str, tuple (str, float)}

sync_state(current_Elogbeta=None)¶

Šíření státy téma pravděpodobnosti vnitřního objektu atribut.

parametry

current_Elogbeta (numpy.ndarray) – zadní pravděpodobnosti pro každé téma, volitelné.Pokud je vynechán, dostane Elogbeta od státu.

top_topics(corpus=None, texty=None, slovník=None, window_size=None, soudržnost=’u_mass‘, topn=20, procesy=-1)¶

Získat témata s nejvyšší soudržnost skóre soudržnost pro každé téma.

parametry

  • korpus (iterovatelný ze seznamu (int, float), volitelný) – korpus ve formátu BoW.

  • texty (seznam seznam str, volitelné) Tokenizovaný texty, potřebné pro soudržnost modely, které používají posuvné okno na bázi (tj. koherence= ‚c_something’`odhad pravděpodobnosti .

  • slovník (Dictionary, volitelné) – Gensim slovník mapování id word k vytvoření korpusu.Pokud je přítomen model. id2word, není to nutné. Pokud jsou k dispozici oba, bude použit předaný slovník.

  • window_size (int, nepovinné) – Je velikost okna, aby být použity pro soudržnost opatření pomocí boolean posuvné okno jako theirprobability odhad. Pro ‚u_mass‘ na tom nezáleží.Pokud žádný-jsou použity výchozí velikosti okna, které jsou: ‚c_v‘ – 110, ‚c_uci‘ – 10, ‚c_npmi‘ – 10.

  • koherence ({‚u_mass‘, ‚c_v‘, ‚c_uci‘, ‚c_npmi‘}, volitelné) – použitá míra koherence.Nejrychlejší metoda – ‚u_mass‘,‘ c_uci ‚ také známý jako c_pmi.Pro‘ u_mass ‚ korpus by měl být poskytnut, pokud jsou poskytnuty texty, bude převeden na korpuspomocí slovníku. Pro c_v‘, ‚c_uci“ a “ c_npmi texty by měly být poskytnuty (corpus není potřeba)

  • topn (int, volitelné) – celé Číslo odpovídající počtu top slova, které mají být extrahovány z každé téma.

  • procesy (int, volitelné) – Počet procesů k použití pro pravděpodobnostní odhad fáze, jinou hodnotu menší než 1, bude interpretován asnum_cpus – 1.

vrací

každý prvek v seznamu je dvojicí reprezentace tématu a jeho skóre soudržnosti. Reprezentace tématjsou distribuce slov, reprezentované jako seznam párů ID slov a jejich pravděpodobnosti.

návratový typ

seznam (seznam (int, str), float)

update(corpus, chunksize=None, decay=None, offset=None, projde=None, update_every=None, eval_every=None, iterací=None, gamma_threshold=None, chunks_as_numpy=False)¶

Vlak model s novými dokumenty, o EM-iterace přes corpus, dokud témata sbíhají, nebo až na maximální počet povolených iterací je dosaženo. korpus musí být iterabilní.

v distribuovaném režimu je krok E distribuován přes shluk strojů.

Poznámky

Tato aktualizace také podporuje aktualizaci již vyškoleni model s novými dokumenty; oba modely jsou pak mergedin poměru k počtu staré vs. nové dokumenty. Tato funkce je stále experimentální pro nestacionárníinputní proudy. Pro stacionární vstup (žádné téma drift v nových dokumentech), na druhé straně, to se rovná theonline aktualizace Matthew D. Hoffman, David M. Blei, František Bach:“on-Line Vzdělávání pro Latentní Dirichletova Alokace NIP’10“.a je zaručeno, že konverguje pro jakýkoli rozpad v (0,5, 1,0). Navíc pro menší velikosti korpusu může být výhodné zvýšení ofsetu (viz tabulka 1 ve stejném článku).

Parametry

  • corpus (iterable seznamu (int, float), volitelné) – Proud dokumentu vektory nebo řídké matice tvaru (num_documents, num_terms) používá k aktualizaci vzorové.

  • chunksize (int, volitelné) – počet dokumentů, které mají být použity v každém tréninkovém bloku.

  • rozpad (float, volitelný) –

    číslo mezi (0,5, 1] na váhu, jaké procento předchozí hodnoty lambda je zapomenuto, když je každý nový dokument zkoumán. Odpovídá Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:“ online učení pro latentní Dirichlet alokace NIPS ’10“.

  • offset (float, volitelné),

    Hyper-parametr, který určuje, jak moc budeme pomalu dolů, první kroky, prvních několik iterací.Odpovídá Tau_0 od Matthew D. Hoffman, David M. Blei, Francis Bach:“ online učení pro latentní Dirichlet alokace NIPS ’10“.

  • průchody (int, volitelné) – počet průchodů korpusem během tréninku.

  • update_every (int, volitelné) – počet dokumentů, které mají být iterovány pro každou aktualizaci.Nastaveno na 0 pro dávkové učení, > 1 pro online iterativní učení.

  • eval_every (int, volitelné) – log zmatenost se odhaduje každý, že mnoho aktualizací. Nastavení na jeden zpomaluje školení o ~2x.

  • iterací (int, volitelné) – Maximální počet iterací přes corpus když odvozovat téma rozdělení korpusu.

  • gamma_threshold (float, volitelné) – minimální změna hodnoty parametrů gama pro pokračování iterace.

  • chunks_as_numpy (bool, volitelné) – zda každý kus předaný kroku inference by měl být numpy.ndarray nebo ne. Numpy může v některých nastaveníchzměňte termín ID na plováky, tyto budou převedeny zpět na celá čísla v závěru,což způsobí zásah aperformance. Pro distribuované výpočty může být žádoucí ponechat kusy jako numpy.ndarrayi.

update_alpha(gammat, rho)¶

Aktualizujte parametry pro Dirichlet prior na hmotnosti tématu na dokument.

parametry

  • gammat (numpy.ndarray) – předchozí parametry hmotnosti tématu.

  • rho (float – – rychlost učení.

vrací

sekvenci alfa parametrů.

návratový typ

numpy.ndarray

update_eta(lambdat, rho)¶

aktualizovat parametry pro Dirichlet prior na hmotnosti slova podle tématu.

parametry

  • lambdat (numpy.ndarray) – předchozí parametry lambda.

  • rho (float – – rychlost učení.

vrací

aktualizované parametry eta.

návratový typ

numpy.ndarray

třídagensim.models.ldamodel.LdaState(eta, tvar, dtype=<třídy ‚numpy.float32‘>)¶

Základny: gensim.utils.SaveLoad

Zapouzdřit informace pro distribuované počítání LdaModel objekty.

objekty této třídy jsou odesílány přes síť, takže se snažte udržet je štíhlésnížit provoz.

parametry

  • eta (numpy.ndarray) – předchozí pravděpodobnosti přiřazené každému termínu.

  • tvar (N-tice (int, int)) – tvar dostatečné statistiky: (počet témat, která se nacházejí, počet termínů ve slovní zásobě).

  • dtype (type) – přepíše výchozí typy numpy array.

add_lifecycle_event(event_name, log_level=20, **event)¶

Přidat událost do lifecycle_events atributem tohoto objektu, a alsooptionally se přihlásit na událost na log_level.

události jsou důležité momenty během života objektu, například „model vytvořen“,“model uložen“, „model načten“ atd.

atribut lifecycle_events přetrvává v operacích save()a load(). Nemá žádný vliv na použití modelu, ale je užitečný při ladění a podpoře.

nastavit vlastní.lifecycle_events = None pro deaktivaci tohoto chování. Volání add_lifecycle_event()nebude zaznamenávat události do sebe.lifecycle_events pak.

parametry

  • event_name (str – – název události. Může být libovolný štítek, např. „vytvořeno“,“ uloženo “ atd.

  • event (dict) –

    mapování klíčových hodnot pro připojení k sobě.lifecycle_events. Měl by být JSON-serializovatelný, takže to udržujte jednoduché.Může být prázdný.

    Tato metoda bude automaticky přidat následující klíč-hodnota na události, takže nemusíte zadat, je:

    • datum a čas: aktuální datum & čas

    • gensim: aktuální Gensim verze

    • python: aktuální Python verze

    • platforma: současná platforma

    • událost: název této události

  • log_level (int – – také protokolovat kompletní událost dict, na zadané úrovni protokolu. Nastavena na hodnotu False, aby se vůbec nepřihlásila.

blend(a, další, targetsize=None)¶

Sloučit současný stav s další pomocí váženého průměru pro dostatečné statistiky.

počet dokumentů je roztažen v obou stavových objektech tak, aby byly srovnatelné velikosti.Tento postup odpovídá aktualizaci stochastického gradientuhoffman et al. : „Online učení pro latentní Dirichletovu alokaci“, viz rovnice (5) a (9).

parametry

  • rhot (float) – hmotnost druhého stavu ve vypočteném průměru. Hodnota 0,0 znamená, že ostatníje zcela ignorována. Hodnota 1.0 znamená, že já je zcela ignorována.

  • ostatní (LdaState) – stavový objekt, se kterým bude stávající sloučen.

  • targetsize (int, volitelné) – počet dokumentů, na které se mají oba stavy natáhnout.

blend2(a, další, targetsize=None)¶

Sloučit současný stav s další pomocí váženého součtu za dostatečné statistiky.

Na rozdíl od blend() nejsou dostatečné statistiky škálovány na agregaci.

parametry

  • rhot (float) – nepoužité.

  • ostatní (LdaState) – stavový objekt, se kterým bude stávající sloučen.

  • targetsize (int, volitelné) – počet dokumentů, na které se mají oba stavy natáhnout.

get_Elogbeta()¶

získejte log (zadní) pravděpodobnosti pro každé téma.

vrací

zadní pravděpodobnosti pro každé téma.

návratový typ

numpy.ndarray

get_lambda()¶

získat parametry zadní nad tématy, označované také jako „témata“.

vrací

parametry zadní pravděpodobnosti nad tématy.

návratový typ

numpy.ndarray

classmethodload(fname, *args, **kwargs)¶

Načíst dříve uložený stav z disku.

přepíše load vynucením parametru dtype pro zajištění zpětné kompatibility.

parametry

  • fname (str – – cesta k souboru, který obsahuje potřebný objekt.

  • args (object) – polohové parametry, které mají být rozšířeny do třídy:~gensim.utils.SaveLoad.načíst

  • parametry kwargs (object) – Key-word, které mají být rozšířeny do třídy:~gensim.utils.SaveLoad.load

vrací

stav načtený z daného souboru.

návratový typ

LdaState

merge(další)¶

Sloučit výsledek E krok z jednoho uzlu se, že z jiného uzlu (shrneme-li dostatečné statistiky).

sloučení je triviální a po sloučení všech uzlů clusteru máme stejný výsledek, jako kdyby byl výpočet spuštěn na jediném uzlu (noapproximace).

parametry

ostatní (LdaState) – stavový objekt, se kterým bude stávající sloučen.

reset()¶

připravte stav na novou iteraci EM (resetujte dostatečné statistiky).

save(fname_or_handle, samostatně=None, sep_limit=10485760, ignorovat=frozenset({}), pickle_protocol=4)¶

Uložit objekt do souboru.

Parametry

  • fname_or_handle (str nebo soubor-like) – Cesta k výstupnímu souboru, nebo již otevřený soubor jako objekt. Pokud je objekt popisovač souboru, nebude provedeno žádné speciální zpracování pole, všechny atributy budou uloženy do stejného souboru.

  • Samostatně (seznam str nebo žádné, volitelné) –

    Pokud žádné, automaticky detekuje velké numpy / scipy.řídká pole v uloženém objektu a ukládajíje do samostatných souborů. Tohle se zabránilo chyby paměti pro velké objekty, a také allowsmemory-mapování velkých polí pro efficientloading a sdílení velkých polí v RAM mezi více procesy.

    If seznam str: uložte tyto atributy do samostatných souborů. Automatická kontrola velikostiv tomto případě se neprovádí.

  • sep_limit (int, volitelné) – neukládejte pole menší než toto Samostatně. V bajtech.

  • ignorovat (frozenset str, volitelné) – atributy, které by neměly být uloženy vůbec.

  • pickle_protocol – int, volitelné) – číslo protokolu pro pickle.

Viz také

load()

načíst objekt ze souboru.

gensim.models.ldamodel.update_dir_prior(prior, N, logphat, rho)¶

Aktualizujte daný prior pomocí Newtonovy metody popsané inJ. Huang: „maximální odhad pravděpodobnosti distribučních parametrů Dirichlet“.

parametry

  • prior (seznam float) – prior pro každý možný výsledek v předchozí iteraci(bude aktualizován).

  • N (int – – počet pozorování.

  • logphat (list of float) – Log pravděpodobnosti pro aktuální odhad, nazývané také „pozorované dostatečné statistiky“.

  • rho (float – – rychlost učení.

vrací

aktualizovaný prior.

návratový typ

seznam plováků

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.