Maybaygiare.org

Blog Network

modeller.ldamodel – Latent Dirichlet Allocation kart

brugseksempler kart

træn en Lda-model ved hjælp af et 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)

Gem en model på disken, eller Genindlæs en forududdannet 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)

forespørgsel, modellen ved hjælp af nye, usete dokumenter

>>> # 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

Opdater modellen ved trinvis træning på det nye Corpus

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

mange parametre kan indstilles til at optimere træningen til din specifikke sag

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

class gensim.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

tog og brug online Latent Dirichlet Allocation (OLDA) modeller som præsenteret inHoffman et al. : “Online læring til Latent Dirichlet-tildeling”.

eksempler

Initialiser en model ved hjælp af et Gensim corpus

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

Du kan derefter udlede emnefordelinger på nye, usete dokumenter.

>>> doc_bow = >>> doc_lda = lda

modellen kan opdateres (trænes) med nye dokumenter.

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

model persistens opnås gennemload()ogsave() metoder.

parametre

  • corpus (iterable of list of (int, float), valgfri) – strøm af dokumentvektorer eller sparsom matrice af form (num_documents, num_terms).Hvis du har en CSC-hukommelsesmatrice, kan du konvertere den til astreamed corpus ved hjælp af gensim.matutils.Sparse2Corpus.Hvis ikke givet, er modellen efterladt uuddannet (formodentlig fordi du vil ringeupdate() manuelt).

  • num_topics (int, valgfrit) – antallet af anmodede latente emner, der skal udvindes fra træningskorpuset.

  • id2ord ({dict of (int, str),gensim.corpora.dictionary.Dictionary}) – kortlægning fra ord-id ‘ er til ord. Det bruges til at bestemme ordforrådets størrelse, såvel som fordebugging og emneudskrivning.

  • distribueret (bool, valgfrit) – om distribueret computing skal bruges til at fremskynde træningen.

  • chunkstørrelse (int, valgfrit) – antal dokumenter, der skal bruges i hver træningsdel.

  • passerer (int, valgfrit) – antal passerer gennem corpus under træning.

  • update_every (int, valgfrit) – antal dokumenter, der skal gentages for hver opdatering.Sæt til 0 for batch læring, > 1 For online iterativ læring.

  • alpha ({numpy.ndarray, str}, valgfri)-

    kan indstilles til et 1D array af længde svarende til antallet af forventede emner, der udtrykkervores a-priori tro for hvert emnes Sandsynlighed.Alternativt standard forudgående valg strategier kan anvendes ved at levere en streng:

    • ‘symmetrisk’: standard; bruger en fast symmetrisk prior pr.emne,

    • ‘asymmetrisk’: bruger en fast normaliseret asymmetrisk prior på 1,0/(emneområde)),

    • ‘auto’: lærer en asymmetrisk prior på 1,0 / (emneområde) fra Corpus (ikke tilgængelig, hvis distribueret==sand).

  • eta ({float, np.array, str}, valgfri) –

    a-priori tro på ord Sandsynlighed, dette kan være:

    • skalar for en symmetrisk prior over emne/ord Sandsynlighed,

    • vektor af længde num_ord for at betegne en asymmetrisk brugerdefineret Sandsynlighed for hvert ord,

    • matrice af form (num_topics, num_ord) for at tildele en sandsynlighed for hver ord-emne kombination,

    • strengen ‘Auto’ for at lære den asymmetriske prior fra dataene.

  • henfald (float, valgfri) – et tal mellem (0.5, 1] til vægt, hvilken procentdel af den tidligere lambda-værdi der glemtesnår hvert nyt dokument undersøges. Svarer til Kappa fra D. Hoffman, David M. Blei, Francis Bach:”Online læring til Latent Dirichlet-tildeling NIPS’10”.

  • offset (float, valgfri) –

    Hyper-parameter, der styrer, hvor meget vi vil bremse de første trin de første par iterationer.Svarer til Tau_0 fra Matthæus D. Hoffman, David M. Blei, Francis Bach:”Online læring for Latent Dirichlet tildeling NIPS’10”.

  • eval_every (int, valgfri) – Log forvirring estimeres hver så mange opdateringer. Indstilling af dette til en sænker træningen med ~2 gange.

  • iterationer (int, valgfri) – maksimalt antal iterationer gennem corpus, når man udleder emnefordelingen af et corpus.

  • gamma_threshold (float, valgfri) – mindste ændring i værdien af gamma-parametrene for at fortsætte iterationen.

  • minimum_probability (float, valgfri) – emner med en sandsynlighed, der er lavere end denne tærskel, filtreres ud.

  • random_state ({np.tilfældig.RandomState, int}, valgfri) – enten en randomState objekt eller et frø til at generere en. Anvendelig til Reproducerbarhed.

  • ns_conf (dict of (str, object), optional) – Nøgleordsparametre opformeret tilgensim.utils.getNS() for at få et Pyro4-Navnserveret.Bruges kun, hvis distribueret er indstillet til sand.

  • minimum_phi_value (float, valgfri) – hvis per_ord_topics er sandt, repræsenterer dette en nedre grænse for udtrykket sandsynligheder.

  • per_ord_topics (bool) – hvis det er sandt, beregner modellen også en liste over emner, sorteret i faldende rækkefølge af mest sandsynlige emner forhvert ord sammen med deres phi-værdier ganget med funktionslængden (dvs.ordantal).

  • tilbagekald (liste overCallback) – metriske tilbagekald for at logge og visualisere evalueringsmålinger af modellen under træning.

  • dtype ({numpy.float16, numpy.float32, numpy.float64}, valgfri)-datatype til brug under beregninger inde model. Alle indgange konverteres også.

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

begivenheder er vigtige øjeblikke i objektets liv, såsom “model oprettet”,”model gemt”, “model indlæst” osv.

attributten lifecycle_events er vedvarende på tværs af objektetssave()ogload() operationer. Det har ingen indflydelse på brugen af modellen,men er nyttig under debugging og support.

sæt selv.lifecycle_events = ingen til at deaktivere denne adfærd. Opkald til add_lifecycle_event () registrerer ikke begivenheder i sig selv.lifecycle_events derefter.

parametre

  • event_name (str) – begivenhedens navn. Kan være enhver etiket, f.eks. “oprettet”, “gemt” osv.

  • event (dict) –

    key-værdi kortlægning at føje til selv.lifecycle_events. Skal være JSON-serialiserbar, så hold det enkelt.Kan være tom.

    denne metode tilføjer automatisk følgende nøgleværdier til begivenhed, så du ikke behøver at angive dem:

    • datetime: den aktuelle dato & tid

    • gensim: den aktuelle Gensim – version

    • python: den aktuelle Python-version

    • platform: den aktuelle platform

    • begivenhed: navnet på denne begivenhed

  • log_level (int) – log også den komplette begivenhed dict på det angivne logniveau. Indstil til falsk for slet ikke at logge.

bound(corpus, gamma=None, subsample_ratio=1.0). parametre

  • corpus (iterable of list of (int, float), valgfri) – strøm af dokumentvektorer eller sparsom matrice af form (num_documents, num_terms), der bruges til at estimerevariationelle grænser.

  • gamma (numpy.ndarray, valgfri) – emne vægt variational parametre for hvert dokument. Hvis det ikke leveres, udledes det af modellen.

  • subsample_ratio (float, valgfri) – procentdel af hele corpus repræsenteret af det beståede corpus-argument (hvis dette var en prøve).Sæt til 1,0, hvis hele corpus blev bestået.Dette bruges som en multiplikativ faktor til at skalere sandsynlighedenpassende.

returnerer

den variationsbundne score beregnet for hvert dokument.

returtype

numpy.ndarray

clear () ret

Ryd modelens tilstand for at frigøre noget hukommelse. Anvendes i den distribuerede implementering.

diff(andet, afstand=’kullback_leibler’, num_ord=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True). parametre

  • andet (LdaModel) – den model, der vil blive sammenlignet med det aktuelle objekt.

  • afstand ({‘kullback_leibler’, ‘hellinger’, ‘jaccard’, ‘jensen_shannon’}) – afstandsmetrikken til beregning af forskellen med.

  • num_ord (int, valgfrit) – antallet af mest relevante ord, der bruges, hvis afstand == ‘jaccard’. Bruges også til at kommentere emner.

  • n_ann_terms (int, valgfrit) – maks.antal ord i kryds / symmetrisk forskel mellem emner. Bruges til annotation.

  • diagonal (bool, valgfri) – om vi har brug for forskellen mellem identiske emner (diagonalen af forskellen matricen).

  • annotation (bool, valgfri) – om krydset eller forskellen mellem ord mellem to emner skal returneres.

  • normed (bool, valgfri) – om matricen skal normaliseres eller ej.

returnerer

  • numpy.ndarray-en forskel matrice. Hvert element svarer til forskellen mellem de to emner,form (selv.num_topics, andet.num_topics)

  • numpy.ndarray, valgfri-Annotationsmatrice, hvor vi for hvert par inkluderer ordet fra skæringspunktet mellem de to emner og ordet fra den symmetriske forskel mellem de to emner. Kun inkluderet, hvis annotation == True.Form (selv.num_topics, other_model.num_topics, 2).

eksempler

få forskellene mellem hvert par emner udledt af to modeller

>>> 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(chunk, state=None), og akkumulere de indsamlede tilstrækkelige statistikker. parametre

  • chunk (liste over Liste over (int, float)) – corpus chunk, som inferens trin vil blive udført på.

  • stat (LdaState, valgfri) – staten, der skal opdateres med den nyligt akkumulerede tilstrækkelige statistik. Hvis ingen, modellerneselv.staten er opdateret.

returnerer

Gamma parametre styrer emnet vægte, form (len(luns), selv.num_topics).

returtype

numpy.ndarray

do_mstep(rho, andet, ekstra_pass=falsk): brug lineær interpolation mellem de eksisterende emner ogindsamlet tilstrækkelig statistik i andre til at opdatere emnerne. parametre

  • rho (float) – læringshastighed.

  • andet (LdaModel) – modellen, hvis tilstrækkelige statistikker vil blive brugt til at opdatere emnerne.

  • ekstra_pass (bool, valgfrit) – om dette trin krævede en ekstra passage over corpus.

get_document_topics(bue, minimum_probability=None, minimum_phi_value=None, per_ord_topics=False). parametre

  • bue (corpus : liste over (int, float)) – dokumentet i bue format.

  • minimum_probability (float) – emner med en tildelt Sandsynlighed lavere end denne tærskel vil blive kasseret.

  • minimum_phi_value (float) –

    Hvis per_ord_topics er sandt, repræsenterer dette en nedre grænse for udtrykket sandsynligheder, der er inkluderet.

    Hvis indstillet til Ingen, bruges en værdi på 1e – 8 til at forhindre 0s.

  • per_ord_topics (bool) – hvis det er sandt, returnerer denne funktion også to ekstra lister som forklaret i afsnittet “Returns”.

returnerer

  • liste over (int, float) – emnefordeling for hele dokumentet. Hvert element i listen er et par af et emnes id, ogsandsynligheden der blev tildelt den.

  • liste over (int, liste over (int, float), valgfri – mest sandsynlige emner pr. Hvert element i listen er et par af et ords id og en liste overemner sorteret efter deres relevans for dette ord. Kun returneres, hvis per_ord_topics blev sat til sand.

  • liste over (int, liste over float), valgfri – Phi-relevansværdier ganget med funktionslængden for hver kombination af ord-emne.Hvert element i listen er et par af et ords id og en liste over phi-værdierne mellem dette ord oghvert emne. Kun returneres, hvis per_ord_topics blev sat til sand.

get_term_topics(ord_id, minimum_probability=None). parametre

  • ord_id (int) – det ord, som emnefordelingen beregnes for.

  • minimum_probability (float, valgfri) – emner med en tildelt sandsynlighed under denne tærskel kasseres.

returnerer

de relevante emner repræsenteret som par af deres ID og deres tildelte Sandsynlighed, sorteret efter relevans for det givne ord.

returtype

list of(int, float)

get_topic_terms(topicid, topn=10) liter

få repræsentationen for et enkelt emne. Ord heltal id ‘ erne, i constrast tilshow_topic() der repræsenterer ord ved de faktiske strenge.

parametre

  • topicid (int) – ID for det emne, der skal returneres

  • topn (int, valgfrit) – antal af de mest betydningsfulde ord, der er knyttet til emnet.

returnerer

ord-id-sandsynlighedspar for de mest relevante ord genereret af emnet.

returtype

list of (int, float)

get_topics () liter

få termen-emne matricen lært under inferens.

returnerer

sandsynligheden for hvert ord i hvert emne, form (num_topics, vocabulary_størrelse).

returtype

numpy.ndarray

inference(chunk, collect_sstats=False) Polus

givet en del af sparsomme dokumentvektorer, estimerer gamma (parametre, der styrer emnevægten)for hvert dokument i chunk.

denne funktion ændrer ikke modellen hele input del af dokumentet antages at passe i RAM; chunking af et stort korpus skal ske tidligere i rørledningen. Undgår beregning af phi-variationenparameter direkte ved hjælp af optimeringen præsenteret inLee, Seung: algoritmer til ikke-negativ matriksfaktorisering”.

parametre

  • chunk (liste over Liste over (int, float)) – corpus chunk, som inferens trin vil blive udført på.

  • collect_sstats (bool, valgfrit) – hvis den er indstillet til True, skal du også indsamle (og returnere) tilstrækkelig statistik, der er nødvendig for at opdatere modelens emneorddistributioner.

returnerer

det første element returneres altid, og det svarer til staterne gamma matricen. Det andet element returneres kun, hvis collect_sstats == True og svarer til den tilstrækkelige statistik for M-trinnet.

returtype

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

init_dir_prior(prior, name). parametre

  • prior ({str, liste over float, numpy.ndarray af float, float})-

    a-priori tro på ord Sandsynlighed. Hvis navn = = ‘ eta ‘ så kan prior være:

    • skalar for en symmetrisk prior over emne/ord Sandsynlighed,

    • vektor af længde num_ord for at betegne en asymmetrisk brugerdefineret Sandsynlighed for hvert ord,

    • matrice af form (num_topics, num_ord) for at tildele en sandsynlighed for hver ord-emne kombination,

    • strengen ‘Auto’ for at lære den asymmetriske prior fra dataene.

    hvis navn = = ‘alpha’, så kan prior være:

    • et 1D array af længde svarende til antallet af forventede emner,

    • ‘symmetrisk’: bruger en fast symmetrisk prior pr.emne,

    • ‘asymmetrisk’: bruger en fast normaliseret asymmetrisk prior på 1.0 / (emne_indeks + num_topics)),

    • ‘auto’: lærer en asymmetrisk prior fra Corpus.

  • navn ({‘alpha’, ‘eta’}) – om prior er parameteriseret af alfavektoren (1 parameter pr.emne)eller af ETA (1 parameter pr.

classmethod load(fname, *args, **kvargs)

Indlæs en tidligere gemt gensim.models.ldamodel.LdaModel fra fil.

Se også

save()

Gem model.

parametre

  • fname (str) – sti til den fil, hvor modellen er gemt.

  • *args – positionelle argumenter formeret tilload().

  • **Kvargs – nøgleord argumenter formeres tilload().

eksempler

store arrays kan memmap’ed tilbage som skrivebeskyttet (delt hukommelse) ved at indstille mmap=’r’:

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

log_perplexity(chunk, total_docs=None) prist

Beregn og retur per-ord sandsynlighed bundet, ved hjælp af en luns af dokumenter som evaluering Corpus.

udsender også de beregnede statistikker, herunder forvirring=2^(-bundet), for at logge på INFONIVEAU.

parametre

  • chunk (liste over Liste over (int, float)) – corpus chunk, som inferens trin vil blive udført på.

  • total_docs (int, valgfrit) – antal dokumenter, der bruges til evaluering af forvirringen.

returnerer

den variationsbundne score beregnet for hvert ord.

returtype

numpy.ndarray

print_topic(topicno, topn=10) liter

få et enkelt emne som en formateret streng.

parametre

  • topicno (int) – emne-id.

  • topn (int) – antal ord fra emne, der vil blive brugt.

returnerer

Strengrepræsentation af emne, som ‘-0.340 *” kategori “+ 0.298 * “$M$ “+ 0.183 * “algebra”+…’.

returtype

str

print_topics(num_topics=20, num_ord=10). parametre

  • num_topics (int, valgfrit) – antallet af emner, der skal vælges, hvis -1 – alle emner vil være i resultat (sorteret efter betydning).

  • num_ord (int, valgfrit) – antallet af ord, der skal medtages pr.

returnerer

sekvens med (topic_id,).

returtype

liste over (int, liste over (str, float))

save(fname, ignore=(‘state’, ‘dispatcher’), separat=None, *args, **kvargs).

store interne arrays kan gemmes i separate filer med fname som præfiks.

noter

Hvis du agter at bruge modeller på tværs af Python 2/3-versioner, er der et par ting, du skal huske på:

  1. de syltede Python-ordbøger fungerer ikke på tværs af Python-versioner

  2. Gem-metoden gemmer ikke automatisk alle numpy-arrays separat, kun dem, der overstiger sep_limit indstillet isave(). Det vigtigste her er alpha array, hvis for eksempel ved hjælp af alpha=’auto’.

se venligst afsnittet Om Opskrifter for et eksempel på, hvordan du løser disse problemer.

Se også

load()

Indlæs model.

parametre

  • fname (str) – sti til systemfilen, hvor modellen vil blive vedvarende.

  • Ignorer (tupel af str, valgfri) – de navngivne attributter i tuplen vil blive udeladt af den syltede model. Årsagen til, at den interne tilstand som standard ignoreres, er, at den bruger sin egen serialisering snarere end den, der er fastsat ved denne metode.

  • separat ({liste over str, ingen}, valgfri) – hvis ingen – registrerer automatisk stor numpy / scipy.sparsomme arrays i objektet bliver gemt, og storethem i separate filer. Dette undgår pickle hukommelsesfejl og tillader MMAP ‘ ing store arraysback på belastning effektivt. Hvis listen over str-disse attributter gemmes i separate filer, udføres den automatiske kontrol ikke i dette tilfælde.

  • *args – positionelle argumenter formeret tilsave().

  • **Kvargs – nøgleord argumenter formeres tilsave().

show_topic(topicid, topn=10) liter

få repræsentationen for et enkelt emne. Ord her er de faktiske strenge, i constrast tilget_topic_terms() der repræsenterer ord ved deres ordforråd ID.

parametre

  • topicid (int) – ID for det emne, der skal returneres

  • topn (int, valgfrit) – antal af de mest betydningsfulde ord, der er knyttet til emnet.

returnerer

ord-sandsynlighedspar for de mest relevante ord genereret af emnet.

returtype

liste over (str, float)

show_topics(num_topics=10, num_ord=10, log=False, formatted=True). parametre

  • num_topics (int, valgfrit) – antal emner, der skal returneres. I modsætning til LSA er der ingen naturlig bestilling mellem emnerne i LDA.Den returnerede emner delmængde af alle emner er derfor vilkårlig og kan ændre sig mellem to LDAtraining kører.

  • num_ord (int, valgfrit) – antal ord, der skal præsenteres for hvert emne. Disse vil være de mest relevante ord (tildelt den højestesandsynlighed for hvert emne).

  • log (bool, valgfrit) – om output også logges, udover at blive returneret.

  • formateret (bool, valgfrit) – om emnerepræsentationerne skal formateres som strenge. Hvis de er falske, returneres de som2 tupler af (ord, Sandsynlighed).

returnerer

en liste over emner, hver repræsenteret enten som en streng (når formateret == True) eller ord-probabilitypairs.

returtype

liste over {str, tuple of(str, float)}

sync_state(current_Elogbeta=None). parametre

current_Elogbeta (numpy.ndarray) – Posterior sandsynligheder for hvert emne, valgfrit.Hvis udeladt, vil det få Elogbeta fra staten.

top_topics(corpus=ingen, tekster=ingen, ordbog=Ingen, vinduestørrelse=ingen, sammenhæng=’u_mass’, topn=20, processer=-1). parametre

  • corpus (iterable af listen over (int, float), valgfri) – Corpus i bue format.

  • tekster (liste over Liste over str, valgfri) – tokeniserede tekster, der er nødvendige for kohærensmodeller, der bruger glidevinduebaseret (dvs. sammenhæng= ‘c_something’) sandsynlighedsestimator .

  • ordbog (Dictionary, valgfri) – Gensim ordbog kortlægning af id ord for at skabe corpus.Hvis model.id2ord er til stede, er dette ikke nødvendigt. Hvis begge leveres, vil bestået ordbog blive brugt.

  • vinduestørrelse (int, valgfrit) – er størrelsen på det vindue, der skal bruges til kohærensforanstaltninger ved hjælp af boolsk skydevindue som deres sandsynlighedsestimator. For ‘u_mass’ betyder det ikke noget.Hvis ingen – bruges standardvinduestørrelserne, som er: ‘c_v’ – 110, ‘c_uci’ – 10, ‘c_npmi’ – 10.

  • sammenhæng ({‘u_mass’, ‘c_v’, ‘c_uci’, ‘c_npmi’}, valgfrit) – Kohærensmåling, der skal anvendes.Hurtigste metode – ‘u_mass’, ‘c_uci’ også kendt som c_pmi.For’ u_mass ‘ corpus bør gives, hvis tekster leveres, vil det blive konverteret til corpususing ordbogen. For’ c_v’,’ c_uci ‘ og ‘c_npmi’ tekster skal leveres (corpus er ikke nødvendigt)

  • topn (int, valgfrit) – heltal svarende til antallet af topord, der skal udvindes fra hvert emne.

  • processer (int, valgfrit) – antal processer, der skal bruges til sandsynlighedsestimeringsfase, enhver værdi mindre end 1 vil blive fortolket asnum_cpus-1.

returnerer

hvert element i listen er et par af et emne repræsentation og dens sammenhæng score. Emnerepræsentationerer distributioner af ord, repræsenteret som en liste over par af ord-id ‘ er og deres sandsynligheder.

returtype

liste over (Liste over (int, str), float)

update(corpus, chunkstørrelse=ingen, henfald=ingen, offset=ingen, passerer=ingen, update_every=ingen, eval_every=ingen, iterationer=ingen, gamma_threshold=ingen, chunks_as_numpy=False)

træn modellen med nye dokumenter, ved EM-iteration over Corpus indtil emnerne konvergerer, eller indtildet maksimale antal tilladte iterationer er nået. corpus skal være en iterabel.

i distribueret tilstand fordeles e-trinnet over en klynge af maskiner.

noter

denne opdatering understøtter også opdatering af en allerede trænet model med nye dokumenter; de to modeller fusioneres derefter i forhold til antallet af gamle vs. nye dokumenter. Denne funktion er stadig eksperimentel for ikke-stationæreinput streams. For stationær input (ingen emnedrift i nye dokumenter) svarer dette derimod tilonline opdatering af Matthæus D. Hoffman, David M. Blei, Francis Bach:”Online læring til Latent Dirichlet Allocation NIPS’10”.og er garanteret at konvergere for ethvert henfald i (0,5, 1,0). For mindre korpusstørrelser kan en stigende forskydning desuden være gavnlig (se tabel 1 i samme papir).

parametre

  • corpus (iterable of list of (int, float), valgfri) – strøm af dokumentvektorer eller sparsom matrice af form (num_documents, num_terms) bruges til at opdateremodel.

  • chunkstørrelse (int, valgfrit) – antal dokumenter, der skal bruges i hver træningsdel.

  • henfald (float, valgfri) –

    et tal mellem (0,5, 1] til vægt hvilken procentdel af den tidligere lambda-værdi er glemtnår hvert nyt dokument undersøges. Svarer til Kappa fra D. Hoffman, David M. Blei, Francis Bach:”Online læring til Latent Dirichlet-tildeling NIPS’10”.

  • offset (float, valgfri) –

    Hyper-parameter, der styrer, hvor meget vi vil bremse de første trin de første par iterationer.Svarer til Tau_0 fra Matthæus D. Hoffman, David M. Blei, Francis Bach:”Online læring for Latent Dirichlet tildeling NIPS’10”.

  • passerer (int, valgfrit) – antal passerer gennem corpus under træning.

  • update_every (int, valgfrit) – antal dokumenter, der skal gentages for hver opdatering.Sæt til 0 for batch læring, > 1 For online iterativ læring.

  • eval_every (int, valgfri) – Log forvirring estimeres hver så mange opdateringer. Indstilling af dette til en sænker træningen med ~2 gange.

  • iterationer (int, valgfri) – maksimalt antal iterationer gennem corpus, når man udleder emnefordelingen af et corpus.

  • gamma_threshold (float, valgfri) – mindste ændring i værdien af gamma-parametrene for at fortsætte iterationen.

  • chunks_as_numpy (bool, valgfri) – om hver del, der overføres til slutningstrinnet, skal være en numpy.ndarray eller ej. Numpy kan i nogle indstillingerdrej udtrykket id ‘ er til floats, disse vil blive konverteret tilbage til heltal i inferens, hvilket medfører aperformance hit. For distribueret computing kan det være ønskeligt at holde bidderne som numpy.ndarray.

update_alpha(gammat, rho) kar

Opdateringsparametre for Dirichlet prior på emnevægtene pr.dokument.

parametre

  • gammat (numpy.ndarray) – forrige emne vægtparametre.

  • rho (float) – læringshastighed.

returnerer

sekvens af alfa-parametre.

returtype

numpy.ndarray

update_eta(lambdat, rho) liter

Opdater parametre for Dirichlet prior på ordvægten pr.emne.

parametre

  • lambdat (numpy.ndarray) – tidligere lambda parametre.

  • rho (float) – læringshastighed.

returnerer

de opdaterede eta-parametre.

returtype

numpy.ndarray

klasse gensim.models.ldamodel.LdaState(eta, form, dtype=< klasse ‘numpy.float32’ >) liter

baser: gensim.utils.SaveLoad

Indkapsl information til distribueret beregning af LdaModel objekter.

objekter i denne klasse sendes over netværket, så prøv at holde dem magert tilreducere trafikken.

parametre

  • eta (numpy.ndarray) – de tidligere sandsynligheder tildelt hvert udtryk.

  • form (tupel af (int, int)) – form af tilstrækkelig statistik: (antal emner, der findes, antal udtryk i ordforrådet).

  • dtype (type) – tilsidesætter numpy array standardtyper.

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

begivenheder er vigtige øjeblikke i objektets liv, såsom “model oprettet”,”model gemt”, “model indlæst” osv.

attributten lifecycle_events er vedvarende på tværs af objektetssave()ogload() operationer. Det har ingen indflydelse på brugen af modellen,men er nyttig under debugging og support.

sæt selv.lifecycle_events = ingen til at deaktivere denne adfærd. Opkald til add_lifecycle_event () registrerer ikke begivenheder i sig selv.lifecycle_events derefter.

parametre

  • event_name (str) – begivenhedens navn. Kan være en hvilken som helst etiket, f. eks. “oprettet”,” gemt ” osv.

  • event (dict) –

    key-værdi kortlægning at føje til selv.lifecycle_events. Skal være JSON-serialiserbar, så hold det enkelt.Kan være tom.

    denne metode tilføjer automatisk følgende nøgleværdier til begivenhed, så du ikke behøver at specificere dem:

    • datetime: den aktuelle dato & time

    • gensim: den aktuelle Gensim-version

    • python: den aktuelle Python-version

    • python: den aktuelle Python-version
    • platform: den aktuelle platform

    • begivenhed: navnet på denne begivenhed

  • log_level (int) – log også den komplette begivenhed dict på det angivne logniveau. Indstil til falsk for slet ikke at logge.

blend(rhot, other, targetstørrelse=None)

Flet den aktuelle tilstand med en anden ved hjælp af et vægtet gennemsnit for den tilstrækkelige statistik.

antallet af dokumenter strækkes i begge statsobjekter, så de er af sammenlignelig størrelse.Denne procedure svarer til den stokastiske gradientopdatering fromHoffman et al. : “Online læring for Latent Dirichlet tildeling”, se ligninger (5) og (9).

parametre

  • rhot (float) – vægt af den anden tilstand i det beregnede gennemsnit. En værdi på 0,0 betyder, at andrer fuldstændig ignoreret. En værdi på 1,0 betyder, at selvet ignoreres fuldstændigt.

  • andet (LdaState) – det tilstandsobjekt, som den nuværende vil blive fusioneret med.

  • targetstørrelse (int, valgfrit) – antallet af dokumenter, der skal strække begge stater til.

blend2(rhot, other, targetstørrelse=None).

i modsætning til blend() skaleres de tilstrækkelige statistikker ikkeprior til aggregering.

parametre

  • rhot (float) – ubrugt.

  • andet (LdaState) – det tilstandsobjekt, som den nuværende vil blive fusioneret med.

  • targetstørrelse (int, valgfrit) – antallet af dokumenter, der skal strække begge stater til.

get_Elogbeta () liter

få loggen (posterior) sandsynligheder for hvert emne.

returnerer

Posterior sandsynligheder for hvert emne.

returtype

numpy.ndarray

get_lambda() liter

få parametrene for den bageste over emnerne, også kaldet”emnerne”.

returnerer

parametre for den bageste Sandsynlighed over emner.

returtype

numpy.ndarray

classmethod load(fname, *args, **kvargs).

tilsidesætterload ved at håndhæve dtype-parameteren for at sikre bagudkompatibilitet.

parametre

  • fname (str) – sti til fil, der indeholder det nødvendige objekt.

  • args (objekt) – Positionsparametre, der skal formeres til klasse:~gensim.utils.SaveLoad.Indlæs

  • kvargs (objekt) – Nøgleordsparametre, der skal formeres til klasse:~gensim.utils.SaveLoad.load

returnerer

den tilstand, der er indlæst fra den givne fil.

returtype

LdaState

merge(other) Lira

Flet resultatet af et E-trin fra en node med det for en anden node (opsummering af tilstrækkelig statistik).

sammenlægningen er triviel, og efter sammenlægning af alle klyngenoder har vi det nøjagtige samme resultat, som om beregningen blev kørt på en enkelt node (ingen tilnærmelse).

parametre

andet (LdaState) – det tilstandsobjekt, som den nuværende vil blive fusioneret med.

reset() liter

Forbered staten til en ny EM-iteration (Nulstil tilstrækkelig statistik).

save(fname_or_handle, separat=ingen, sep_limit=10485760, Ignorer=frossenet({}), pickle_protocol=4) ret

Gem objektet til en fil.

parametre

  • fname_or_handle (str eller fillignende)-sti til outputfil eller allerede åbnet fillignende objekt. Hvis objektet er et filhåndtag, udføres der ingen speciel array-håndtering, alle attributter gemmes i den samme fil.

  • separat (liste over str eller ingen, valgfri) –

    Hvis ingen, registrerer automatisk stor numpy / scipy.sparsomme arrays i objektet bliver gemt, og storethem i separate filer. Dette forhindrer hukommelsesfejl for store objekter og tillader også hukommelse-kortlægning af de store arrays til effektiv indlæsning og deling af de store arrays i RAM mellem flere processer.

    hvis liste over str: gem disse attributter i separate filer. Den automatiske størrelseskontroludføres ikke i dette tilfælde.

  • sep_limit (int, valgfrit) – gem ikke arrays, der er mindre end dette separat. I bytes.

  • Ignorer (frøs af str, valgfri) – attributter, der slet ikke skal gemmes.

  • pickle_protocol (int, valgfrit) – Protokolnummer for pickle.

Se også

load()

Indlæs objekt fra fil.

gensim.models.ldamodel.update_dir_prior(prior, N, logphat, rho). Huang: “maksimal Sandsynlighedsestimering af Dirichlet-Distributionsparametre”. parametre

  • prior (liste over float) – prior for hvert muligt resultat ved den foregående iteration (opdateres).

  • N (int) – antal observationer.

  • logphat (liste over float) – Log sandsynligheder for den aktuelle estimering, også kaldet “observeret tilstrækkelig statistik”.

  • rho (float) – læringshastighed.

returnerer

den opdaterede tidligere.

returtype

liste over float

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.