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.TransformationABC
gensim.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 ringe
update()
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 til
gensim.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 over
Callback
) – 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 til
load()
. -
**Kvargs – nøgleord argumenter formeres til
load()
.
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å:
de syltede Python-ordbøger fungerer ikke på tværs af Python-versioner
Gem-metoden gemmer ikke automatisk alle numpy-arrays separat, kun dem, der overstiger sep_limit indstillet i
save()
. 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 til
save()
. -
**Kvargs – nøgleord argumenter formeres til
save()
.
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