Brukseksempler¶
Tren en LDA-modell ved Hjelp Av En 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)
Lagre en modell på disk, Eller last inn en pre-trent modell
>>> 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)
spørring, MODELLEN VED hjelp av nye, usette 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
oppdater Modellen ved trinnvis trening på det nye corpus
>>> lda.update(other_corpus)>>> vector = lda
mange parametere kan stilles inn for å optimalisere trening for ditt spesifikke Tilfelle
>>> 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.TransformationABC
gensim.models.basemodel.BaseTopicModel
Tren Og bruk Online Latente Dirichlet Allokering (GAMLE) modeller som presentert inHoffman et al. : «Online Læring For Latent Dirichlet Tildeling».
Eksempler
Initialiser en modell ved hjelp Av Et Gensim corpus
>>> from gensim.test.utils import common_corpus>>>>>> lda = LdaModel(common_corpus, num_topics=10)
du kan deretter utlede emnefordelinger på nye, usette dokumenter.
>>> doc_bow = >>> doc_lda = lda
modellen kan oppdateres (trent) 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)
modell persistency oppnås gjennomload()
ogsave()
metoder.corpus (iterable av liste over (int, float), valgfritt – – Strøm av dokumentvektorer eller sparsom matrise av form (num_documents, num_terms).Hvis DU har EN CSC – minnematrise, kan du konvertere den til astreamed corpus ved hjelp av gensim.matutils.Sparse2Corpus.Hvis ikke gitt, er modellen igjen uutdannet (antagelig fordi du vil ringe
update()
manuelt).
num_topics (int, valgfritt) – antall forespurte latente emner som skal hentes ut fra treningskorpuset.
id2word ({dict av (int, str), gensim.corpora.dictionary.Dictionary
}) – Kartlegging fra ord-Ider til ord. Det brukes til å bestemme vokabularstørrelsen, så vel som forfeilsøking og emneutskrift.
distribuert (bool, valgfritt) – om distribuert databehandling skal brukes til å akselerere trening.
chunksize (int, valgfritt) – Antall dokumenter som skal brukes i hver trening del.
passerer (int, valgfritt) – Antall passerer gjennom corpus under trening.
update_every (int, valgfritt) – antall dokumenter som skal itereres gjennom for hver oppdatering.Sett til 0 for batch læring, > 1 for online iterativ læring.
alfa ({numpy.ndarray, str}, valgfritt) –
kan settes TIL EN 1d rekke lengde lik antall forventede emner som expressesour a-priori tro for hver emner sannsynlighet.Alternativt kan standard tidligere valgstrategier brukes ved å levere en streng:
‘symmetrisk’: Standard; bruker en fast symmetrisk prior per emne,
‘asymmetrisk’: Bruker en fast normalisert asymmetrisk prior på 1.0 / (topic_index + sqrt(num_topics)),
‘auto’: Lærer en asymmetrisk prior fra corpus (ikke tilgjengelig hvis distribuert==true).
eta ({flyte, np.array, str}, valgfritt) –
a-priori tro på ord sannsynlighet, dette kan være:
skalar for en symmetrisk før over emne/ord sannsynlighet,
vektor av lengde num_ord for å betegne en asymmetrisk brukerdefinert sannsynlighet for hvert ord,
matrise av form (num_topics, num_words) for å tildele en sannsynlighet for hver ord-emne kombinasjon,
strengen ‘auto’ for å lære den asymmetriske prioren fra dataene.
forfall (flyte, valgfritt) – et tall mellom (0.5, 1] til vekt hvilken prosentandel av den forrige lambda-verdien er glemtnår hvert nytt dokument undersøkes. Tilsvarer Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach: «Online Læring For Latent Dirichlet Tildeling NIPS ’10».offset (float, valgfritt)-
Hyper-parameter som styrer hvor mye vi vil bremse ned de første trinnene de første par iterasjoner.Tilsvarer Tau_0 Fra Matthew D. Hoffman, David M. Blei, Francis Bach: «Online Læring For Latent Dirichlet Tildeling NIPS ’10».eval_every (int, valgfritt) – Logg forvirring er anslått hver som mange oppdateringer. Innstilling av dette til en reduserer treningen med ~2x.
iterasjoner (int, valgfritt) – Maksimalt Antall iterasjoner gjennom corpus når man utleder emnefordelingen av et corpus.gamma_threshold (float, valgfritt) – Minimum endring i verdien av gamma parametere for å fortsette iterating.
minimum_probability (float, valgfritt) – Emner med en sannsynlighet lavere enn denne terskelen vil bli filtrert ut.
random_state ({np.tilfeldig.RandomState, int}, valgfritt) – Enten en randomState objekt eller et frø for å generere en. Nyttig for reproduserbarhet.
ns_conf (dict av (str, objekt), valgfritt) – Nøkkelord parametere forplantet til gensim.utils.getNS()
for Å få En Pyro4 Navneservert.Brukes bare hvis distribuert er satt Til True.
minimum_phi_value (float, valgfritt) – hvis per_word_topics Er Sant, representerer dette en nedre grense på termen sannsynligheter.
per_word_topics (bool) – hvis Sant, beregner modellen også en liste over emner, sortert i synkende rekkefølge av mest sannsynlige emner forhvert ord, sammen med deres phi-verdier multiplisert med funksjonslengden (dvs.ordtelling).
tilbakeringinger (liste overCallback
) – Metriske tilbakeringinger for å logge og visualisere evalueringsmålinger av modellen under trening.
dtype ({numpy.float16, numpy.float32, numpy.float64}, valgfritt – – Datatype som skal brukes under beregninger inne modell. Alle innganger er også konvertert.
add_lifecycle_event
(event_name, log_level=20, **event)¶
Legg til en hendelse i lifecle_events-attributtet til dette objektet, og logg også hendelsen på log_level.
Hendelser er viktige øyeblikk i objektets liv, for eksempel «modell opprettet»,» modell lagret»,» modell lastet», etc.
lifecycle_events-attributtet vedvarer på tvers av objektetssave()
ogload()
operasjoner. Det har ingen innvirkning på bruken av modellen, men er nyttig under feilsøking og støtte.
Sett selv.lifecycle_events = Ingen for å deaktivere denne oppførselen. Samtaler til add_lifecycle_event () vil ikke registrere hendelser i selv.lifecycle_events deretter.
Parametere
-
event_name (str) – navnet på hendelsen. Kan være noen etikett, f. eks «opprettet», «lagret» etc.
-
event (dict) –
nøkkelverdi kartlegging for å legge til selv.lifecycle_events. Skal VÆRE JSON-serialiserbar, så hold det enkelt.Kan være tom.
denne metoden vil automatisk legge til følgende nøkkelverdier til hendelsen, slik at du ikke trenger å spesifisere dem:
-
datetime: gjeldende dato & tid
-
gensim: gjeldende Gensim versjon
python: gjeldende Python versjon
-
-
hendelse: navnet på denne hendelsen
plattform: gjeldende plattform
log_level (int) – logg også hele hendelsesdikt, på det angitte loggnivået. Sett Til False å ikke logge i det hele tatt.
bound
(corpus, gamma=Ingen, subsample_ratio=1.0)¶
Estimere variasjonsbundet av dokumenter fra corpus som E_q – E_q.corpus (iterable av liste over (int, float), valgfritt – – Strøm av dokumentvektorer eller sparsom matrise av form (num_documents, num_terms) brukes til å estimere variasjonsgrenser.
gamma (numpy.ndarray, valgfritt – – Emne vekt variational parametere for hvert dokument. Hvis ikke levert, vil det bli utledet fra modellen.
subsample_ratio (float, valgfritt) – Prosentandel av hele korpuset representert ved bestått corpus argumentet (i tilfelle dette var en prøve).Sett til 1,0 hvis hele korpuset ble bestått.Dette brukes som en multiplikativ faktor for å skalere sannsynlighetenappropriately.
Returnerer
den variasjonsbundne poengsummen beregnet for hvert dokument.
Returtype
numpy.ndarray
clear
()¶
Fjern modellens tilstand for å frigjøre noe minne. Brukes i distribuert implementering.
diff
(annet, avstand=’kullback_leibler’, num_words=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True)¶
Beregn forskjellen i emnefordelinger mellom to modeller: selv og andre .
Parametere
-
annet (
LdaModel
) – modellen som vil bli sammenlignet med gjeldende objekt. -
avstand ({‘kullback_leibler’,’ hellinger’, ‘jaccard’,’ jensen_shannon’}) – avstandsmålingen for å beregne forskjellen med.
-
num_ord (int, valgfritt – – antall mest relevante ord som brukes hvis distance = = ‘jaccard’. Brukes også til å kommentere emner.
-
n_ann_terms (int, valgfritt) – Maks antall ord i kryss / symmetrisk forskjell mellom emner. Brukes til merknad.diagonal (bool, valgfritt) – om vi trenger forskjellen mellom identiske emner (diagonalen til differansematrisen).
-
annotasjon (bool, valgfritt) – om skjæringspunktet eller forskjellen mellom ord mellom to emner skal returneres.
-
normed (bool, valgfritt) – om matrisen skal normaliseres eller ikke.
Returnerer
-
numpy.ndarray-en forskjell matrise. Hvert element tilsvarer forskjellen mellom de to emnene, form (selv.num_topics, annet.num_topics)
-
numpy.ndarray, valgfri-Annotasjonsmatrise hvor for hvert par inkluderer vi ordet fra krysset mellom de to emnene, og ordet fra den symmetriske forskjellen mellom de to emnene. Bare inkludert hvis merknad = = True.Form (selv.num_topics, other_model.num_topics, 2).
Eksempler
Få forskjellene mellom hvert par emner utledes av 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
(del, stat=Ingen)¶
Utfør slutning på en del av dokumenter, og samle samlet tilstrekkelig statistikk.
Parametere
-
chunk (liste over liste over (int, float)) – corpus-delen som slutningstrinnet skal utføres på.
-
stat (
LdaState
, valgfritt) – staten som skal oppdateres med nylig akkumulert tilstrekkelig statistikk. Hvis ingen, modellene selv.staten er oppdatert.
Returnerer
Gamma parametere som styrer emnet vekter, form(len (blings), selv.num_topics).
Returtype
numpy.ndarray
do_mstep
(rho, annet, extra_pass=Falsk)¶
Maksimeringstrinn: bruk lineær interpolering mellom eksisterende emner ogsamlet tilstrekkelig statistikk i andre for å oppdatere emnene.
Parametere
-
rho (flyte) – Læringshastighet.
-
annet (
LdaModel
) – modellen som tilstrekkelig statistikk vil bli brukt til å oppdatere emnene. -
extra_pass (bool, valgfritt) – Om dette trinnet krevde en ekstra pass over corpus.
get_document_topics
(bue, minimum_probability=Ingen, minimum_phi_value=Ingen, per_word_topics=False)¶
Hent emnefordelingen for det gitte dokumentet.
Parametere
-
bow (corpus: liste over (int, float)) – dokumentet I BOW format.
-
minimum_probability (float) – Emner med en tildelt sannsynlighet lavere enn denne terskelen vil bli forkastet.
-
minimum_phi_value (float) –
hvis per_word_topics Er Sant, representerer dette en lavere grense på termen sannsynligheter som er inkludert.
hvis satt Til Ingen, brukes en verdi på 1e-8 for å forhindre 0s.
-
per_word_topics (bool) – hvis Sann, vil denne funksjonen også returnere to ekstra lister som forklart i «Returnerer» – delen.
Returnerer
-
liste over (int, float) – Emnefordeling for hele dokumentet. Hvert element i listen er et par av et emnes id, ogsannsynligheten som ble tildelt den.
-
liste over (int, liste over (int, float), valgfritt – mest sannsynlige emner per ord. Hvert element i listen er et par av et ords id, og en liste overemner sortert etter deres relevans for dette ordet. Bare returnert hvis per_word_topics ble satt Til True.
-
liste over (int, liste over float), valgfrie – Phi relevansverdier, multiplisert med funksjonslengden, for hver ord-emne kombinasjon.Hvert element i listen er et par av et ords id og en liste over phi-verdiene mellom dette ordet oghvert emne. Bare returnert hvis per_word_topics ble satt Til True.
get_term_topics
(word_id, minimum_probability=Ingen)¶
Få de mest relevante emnene til det gitte ordet.
Parametere
-
word_id – int) – ordet som emnefordelingen skal beregnes for.
-
minimum_probability (float, valgfritt – – Emner med en tildelt sannsynlighet under denne terskelen vil bli forkastet.
Returnerer
de relevante emnene representert som par AV DERES ID og deres tildelte sannsynlighet, sortert etter relevans for det gitte ordet.
Returtype
liste over (int, float)
get_topic_terms
(topicid, topn=10)¶
Få representasjon for et enkelt emne. Ord heltall-Ider, i constrast til show_topic()
som representerer ord av de faktiske strengene.
Parametere
-
topicid (int) – ID for emnet som skal returneres
-
topn (int, valgfritt) – Antall av de viktigste ordene som er knyttet til emnet.
Returnerer
Ord ID-sannsynlighetspar for de mest relevante ordene generert av emnet.
Returtype
liste over (int, float)
get_topics
()¶
Få termen-emnematrisen lært under slutning.
Returnerer
sannsynligheten for hvert ord i hvert emne, form (num_topics, vokabulary_size).
Returtype
numpy.ndarray
inference
(blings, collect_sstats=False)¶
Gitt en del av sparsomme dokumentvektorer, estimat gamma (parametere som styrer emnevektene)for hvert dokument i blings.
denne funksjonen endrer ikke modellen hele inndatabasen av dokumentet antas å passe INN I RAM;chunking av et stort korpus må gjøres tidligere i rørledningen. Unngår å beregne phi variationalparameter ved å bruke optimalisering presentert inLee, Seung: Algoritmer for ikke-negativ matrise faktorisering».
Parametere
-
chunk (liste over liste over (int, float)) – corpus-delen som slutningstrinnet skal utføres på.
-
collect_sstats (bool, valgfritt) – hvis satt Til True, også samle (og returnere) tilstrekkelig statistikk for å oppdatere modellens emne-worddistributions.
Returnerer
det første elementet returneres alltid og det tilsvarer tilstandene gamma matrise. Det andre elementet returneres kun hvis collect_sstats = = True og tilsvarer tilstrekkelig statistikk For m-trinnet.
Returtype
(numpy.ndarray, {numpy.ndarray, None})
init_dir_prior
(tidligere, navn)¶
Initialiser priorer for Dirichlet-distribusjonen.
Parametere
-
før ({str, liste over flyt, numpy.ndarray of float, float}) –
a-priori tro på ordet sannsynlighet. Hvis navn = = ‘ eta ‘ så kan prioren være:
-
skalar for en symmetrisk før over emne/ord sannsynlighet,
-
vektor av lengde num_ord for å betegne en asymmetrisk brukerdefinert sannsynlighet for hvert ord,
-
matrise av form (num_topics, num_words) for å tildele en sannsynlighet for hver ord-emne kombinasjon,
-
strengen ‘auto’ for å lære den asymmetriske prioren fra dataene.
hvis navn == ‘alfa’, kan prioren være:
-
en 1d rekke lengde lik antall forventede emner,
-
‘symmetrisk’: Bruker en fast symmetrisk prior per emne,
-
‘asymmetrisk’: Bruker en fast normalisert asymmetrisk prior av 1.0/(topic_index + sqrt(num_topics)),
-
‘auto’: lærer en asymmetrisk prior fra corpus.
-
-
navn ({‘alpha’,’ eta’}) – Om prioren er parameterisert av alfa-vektoren (1 parameter per emne) eller av eta (1 parameter per unikt begrep i vokabularet).
classmethodload
(fname, *args, **kwargs)¶
Last inn en tidligere lagret gensim.models.ldamodel.LdaModel
fra fil.
Se også
save()
Lagre modell.
Parametere
-
fname (str) – Bane til filen der modellen er lagret.
-
*args – Posisjonelle argumenter forplantet til
load()
. -
**kwargs – stikkord argumenter spredd til
load()
.
Eksempler
Store matriser kan memmap’ed tilbake som skrivebeskyttet (delt minne) ved å sette mmap=’r’:
>>> from gensim.test.utils import datapath>>>>>> fname = datapath("lda_3_0_1_model")>>> lda = LdaModel.load(fname, mmap='r')
log_perplexity
(blings, total_docs=ingen)¶
beregn og returner per ord sannsynlighet bundet, Ved hjelp av en del dokumenter som evalueringskorpus.
utfør også den beregnede statistikken, inkludert forvirring=2^(- bundet), for å logge PÅ INFONIVÅ.
Parametere
-
chunk (liste over liste over (int, float)) – corpus-delen som slutningstrinnet skal utføres på.
-
total_docs (int, valgfritt) – Antall dokumenter som brukes til evaluering av forvirring.
Returnerer
variasjonsbundet poengsum beregnet for hvert ord.
Returtype
numpy.ndarray
print_topic
(topicno, topn=10)¶
Få et enkelt emne som en formatert streng.
Parametere
-
topicno (int) – Emne-id.
-
topn (int) – Antall ord fra emnet som skal brukes.
Returnerer
Strengrepresentasjon av emne, som ‘-0.340 * «kategori» + 0.298 * «$M$» + 0.183 * «algebra»+…’.
Returtype
str
print_topics
(num_topics=20, num_words=10)¶
Få de viktigste emnene (alias for show_topics () metode).
Parametere
-
num_topics (int, valgfritt) – antall emner som skal velges, hvis -1 – alle emner vil være i resultat (sortert etter betydning).
-
num_words (int, valgfritt) – antall ord som skal inkluderes per emner (sortert etter betydning).
Returnerer
Sekvens med (topic_id,).
Returtype
liste over (int, liste over (str, float))
save
(fname, ignore=(‘state’, ‘dispatcher’), separat=Ingen, *args, **kwargs)¶
Lagre modellen i en fil.
Store interne matriser kan lagres i separate filer, med fname som prefiks.
Merknader
Hvis du har tenkt å bruke modeller På Tvers Av Python 2/3-versjoner, er det noen ting å huske på:
de syltede Python-ordbøkene vil ikke fungere på Tvers Av Python-versjoner
lagringsmetoden lagrer ikke automatisk alle numpy-arrayer separat, barede som overskrider sep_limit satt i
save()
. Hovedbekymringen her er alfa-arrayet hvis du for eksempel bruker alpha= ‘auto’.
se avsnittet wiki oppskrifter for et eksempel på hvordan du kan omgå disse problemene.
Se også
load()
Last modell.
Parametere
-
fname (str) – Bane til systemfilen der modellen vil bli videreført.
-
ignorer (tuple av str, valgfritt – – de navngitte attributter i tuple vil bli utelatt av syltet modell. Grunnen til at den interne tilstanden ignoreres som standard, er at den bruker sin egen serialisering i stedet for den som tilbys av denne metoden.separat ({liste over str, Ingen}, valgfritt) – Hvis Ingen-oppdager automatisk stor numpy/scipy.sparsomme matriser i objektet som lagres, og lagre dem i separate filer. Dette unngår pickle minnefeil og tillater mmap ‘ ing store arraysback på belastning effektivt. Hvis liste over str – dette attributter vil bli lagret i separate filer, blir den automatiske sjekken ikke utført i dette tilfellet.
-
*args-Posisjonelle argumenter forplantet til
save()
. -
**kwargs – stikkord argumenter spredd til
save()
.
show_topic
(topicid, topn=10)¶
Få representasjon for et enkelt emne. Ord her er de faktiske strengene, i constrast til get_topic_terms()
som representerer ord ved deres vokabular ID.
Parametere
-
topicid (int) – ID for emnet som skal returneres
-
topn (int, valgfritt) – Antall av de viktigste ordene som er knyttet til emnet.
Returnerer
ord-sannsynlighetspar for de mest relevante ordene som genereres av emnet.
Returtype
liste over (str, float)
show_topics
(num_topics=10, num_words=10, log=False, formatert=True)¶
Få en representasjon for utvalgte emner.
Parametere
-
num_topics (int, valgfritt) – Antall emner som skal returneres. I motsetning TIL LSA er det ingen naturlig rekkefølge mellom emnene I LDA.Den returnerte emner delsett av alle emner er derfor vilkårlig og kan endres mellom to LDAtraining kjører.
-
num_words (int, valgfritt) – Antall ord som skal presenteres for hvert emne. Disse vil være de mest relevante ordene (tildelt høyestsannsynlighet for hvert emne).
-
logg (bool, valgfritt) – Om utgangen også logges, i tillegg til å bli returnert.
-
formatert (bool, valgfritt) – Om emnet representasjoner skal formateres som strenger. Hvis False, returneres de as2 tupler av (ord, sannsynlighet).
Returnerer
en liste over emner, hver representert enten som en streng (når formatert = = True) eller word-probabilitypairs.
Returtype
liste over {str, tuple of (str, float)}
sync_state
(current_Elogbeta=Ingen)¶
Overfør tilstandenes emnesannsynligheter til det indre objektets attributt.
Parametere
current_Elogbeta (numpy.ndarray – – Posterior sannsynligheter for hvert emne, valgfritt.Hvis utelatt, vil Det bli Elogbeta fra staten.
top_topics
(corpus=None, texts=None, dictionary=None, window_size=None, coherence=’u_mass’, topn=20, processes=-1)¶
Få emnene med høyest coherence score coherence for hvert emne.
Parametere
-
corpus (iterable av liste over (int, float), valgfritt) – Corpus I Bue format.
-
tekster (liste over liste over str, valgfritt) – Tokeniserte tekster, nødvendig for koherensmodeller som bruker skyvevindubasert (dvs. coherence= ‘c_something’`sannsynlighet estimator .
-
ordbok (
Dictionary
, valgfritt) – Gensim ordbok kartlegging av id ord for å lage corpus.Hvis model. id2word er til stede, er dette ikke nødvendig. Hvis begge er oppgitt, vil bestått ordbok bli brukt. -
window_size (int, valgfritt) – er størrelsen på vinduet som skal brukes til koherensmål ved hjelp av boolsk skyvevindu som deres sannsynlighets estimator. For ‘u_mass’ spiller dette ingen rolle.Hvis Ingen-standard vindu størrelser brukes som er: ‘c_v’ – 110, ‘c_uci’ – 10, ‘c_npmi’ – 10.coherence ({‘u_mass’, ‘c_v’,’ c_uci’,’ c_npmi’}, valgfritt) – Koherensmål som skal brukes.Raskeste metode – ‘u_mass’,’ c_uci ‘ også kjent som c_pmi.For’ u_mass ‘ corpus bør gis, hvis tekster er gitt, vil det bli konvertert til corpususing ordboken. For’ c_v’,’ c_uci ‘og’ c_npmi ‘ tekster skal gis (corpus er ikke nødvendig)
-
topn (int, valgfritt) – Heltall som svarer til antall toppord som skal hentes fra hvert emne.
-
prosesser (int, valgfritt) – Antall prosesser som skal brukes til sannsynlighets estimeringsfase, vil enhver verdi mindre enn 1 tolkes somnum_cpus-1.
Returnerer
hvert element i listen er et par av et emne representasjon og dens sammenheng score. Emnerepresentasjonerer fordelinger av ord, representert som en liste over par ord-Ider og deres sannsynligheter.
Returtype
liste over (liste over (int, str), float)
update
(corpus, chunksize=Ingen, decay=Ingen, offset=ingen, passerer=Ingen, update_every=Ingen, eval_every=Ingen, iterasjoner=Ingen, gamma_threshold=Ingen, chunks_as_numpy=False)¶
Tren modellen med nye dokumenter, ETTER EM-iterere over corpus til emnene konvergerer, eller tildet maksimale antall tillatte iterasjoner er nådd. corpus må være en iterable.
i distribuert modus distribueres e-trinnet over en klynge av maskiner.
Denne oppdateringen støtter også oppdatering av en allerede trent modell med nye dokumenter; de to modellene slås deretter sammen i forhold til antall gamle vs. nye dokumenter. Denne funksjonen er fortsatt eksperimentell for ikke-stasjonæreinngangsstrømmer. For stasjonær inngang (ingen emnedrift i nye dokumenter), derimot, tilsvarer dette denonline oppdateringen Av Matthew D. Hoffman, David M. Blei, Francis Bach: «Online Learning For Latent Dirichlet Allocation NIPS ’10».og er garantert å konvergere for ethvert forfall i (0,5, 1,0). I tillegg, for mindre corpus størrelser, anincreasing offset kan være gunstig (Se Tabell 1 i samme papir).corpus (iterable av liste over (int, float), valgfritt – – Strøm av dokumentvektorer eller sparsom matrise av form (num_documents, num_terms) brukes til å oppdatere modellen.
chunksize (int, valgfritt) – Antall dokumenter som skal brukes i hver trening del.
decay (float, valgfritt) –
et tall mellom (0,5, 1] for å veie hvilken prosentandel av den forrige lambda-verdien som er glemtnår hvert nytt dokument undersøkes. Tilsvarer Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach: «Online Læring For Latent Dirichlet Tildeling NIPS ’10».offset (float, valgfritt)-
Hyper-parameter som styrer hvor mye vi vil bremse ned de første trinnene de første par iterasjoner.Tilsvarer Tau_0 Fra Matthew D. Hoffman, David M. Blei, Francis Bach: «Online Læring For Latent Dirichlet Tildeling NIPS ’10».
passerer (int, valgfritt) – Antall passerer gjennom corpus under trening.
update_every (int, valgfritt) – antall dokumenter som skal itereres gjennom for hver oppdatering.Sett til 0 for batch læring, > 1 for online iterativ læring.eval_every (int, valgfritt) – Logg forvirring er anslått hver som mange oppdateringer. Innstilling av dette til en reduserer treningen med ~2x.
iterasjoner (int, valgfritt) – Maksimalt Antall iterasjoner gjennom corpus når man utleder emnefordelingen av et corpus.gamma_threshold (float, valgfritt) – Minimum endring i verdien av gamma parametere for å fortsette iterating.
chunks_as_numpy (bool, valgfritt) – Om hver del som sendes til slutningstrinnet, skal være en numpy.ndarray eller ikke. Numpy kan i noen settingsturn termen IDs til flyter, disse vil bli konvertert tilbake til heltall i slutning, noe som medfører aperformance hit. For distribuert databehandling kan det være ønskelig å holde biter som numpy.ndarray.
update_alpha
(gammat, rho)¶
Oppdater parametere for Dirichlet tidligere på per-dokument emne vekter.
Parametere
-
gammat (numpy.ndarray – – Forrige emne vekt parametere.
-
rho (flyte) – Læring rate.
Returnerer
Sekvens av alfa-parametere.
Returtype
numpy.ndarray
update_eta
(lambdat, rho)¶
Oppdater parametere for Dirichlet tidligere på per-emne ord vekter.
Parametere
-
lambdat (numpy.ndarray – – Tidligere lambda parametere.
-
rho (flyte) – Læring rate.
Returnerer
de oppdaterte eta-parameterne.
Returtype
numpy.ndarray
klassegensim.models.ldamodel.
LdaState
(eta, form, dtype=< klasse ‘numpy.float32 ‘ >)¶
Baser: gensim.utils.SaveLoad
Kapsle informasjon for distribuert beregning av LdaModel
objekter.
Objekter av denne klassen sendes over nettverket, så prøv å holde dem lene seg tilredusere trafikken.
Parametere
-
eta (numpy.ndarray) – de tidligere sannsynlighetene som er tildelt hvert semester.
-
form (tuple of (int, int)) – Form av tilstrekkelig statistikk: (antall emner som skal finnes, antall ord i vokabularet).
-
dtype (type – – Overstyrer standardtypene for numpy-matrisen.
add_lifecycle_event
(event_name, log_level=20, **event)¶
Legg til en hendelse i lifecle_events-attributtet til dette objektet, og logg også hendelsen på log_level.
Hendelser er viktige øyeblikk i objektets liv, for eksempel «modell opprettet»,» modell lagret»,» modell lastet», etc.
lifecycle_events-attributtet vedvarer på tvers av objektetssave()
ogload()
operasjoner. Det har ingen innvirkning på bruken av modellen, men er nyttig under feilsøking og støtte.
Sett selv.lifecycle_events = Ingen for å deaktivere denne oppførselen. Samtaler til add_lifecycle_event () vil ikke registrere hendelser i selv.lifecycle_events deretter.
Parametere
-
event_name (str) – navnet på hendelsen. Kan være hvilken som helst etikett, f. eks. «opprettet», «lagret» etc.
-
event (dict) –
nøkkelverdi kartlegging for å legge til selv.lifecycle_events. Skal VÆRE JSON-serialiserbar, så hold det enkelt.Kan være tom.
Denne metoden vil automatisk legge til følgende nøkkelverdier til hendelsen, slik at du ikke trenger å spesifisere dem:
-
datetime: gjeldende dato & tid
-
gensim: gjeldende Gensim versjon
-
python: gjeldende Python versjon
-
plattform: den nåværende plattformen
-
hendelse: navnet på denne hendelsen
-
-
log_level (int) – logg også hele hendelsesdikt, på det angitte loggnivået. Sett Til False å ikke logge i det hele tatt.
blend
(rhot, annet, targetsize=Ingen)¶
Slå sammen nåværende tilstand med en annen ved å Bruke et vektet gjennomsnitt for tilstrekkelig statistikk.
antall dokumenter strekkes i begge statlige objekter, slik at de er av sammenlignbar størrelse.Denne prosedyren tilsvarer den stokastiske gradientoppdateringen frahoffman et al. : «Nettbasert Læring For Latent Dirichletallokering», se ligninger (5) og (9).
Parametere
-
rhot (float) – Vekten av den andre tilstanden i det beregnede gjennomsnittet. En verdi på 0,0 betyr at andreer helt ignorert. En verdi på 1,0 betyr at selv er fullstendig ignorert.
-
annet (
LdaState
) – statens objekt som den nåværende vil bli slått sammen med. -
targetsize (int, valgfritt) – antall dokumenter å strekke begge statene til.
blend2
(rhot, annet, targetsize=Ingen)¶
Slå sammen nåværende tilstand med en annen ved hjelp av en vektet sum for tilstrekkelig statistikk.
i motsetning til blend()
, er tilstrekkelig statistikk ikke skalertprior til aggregering.
Parametere
-
rhot (flyte) – Ubrukt.
-
annet (
LdaState
) – statens objekt som den nåværende vil bli slått sammen med. -
targetsize (int, valgfritt) – antall dokumenter å strekke begge statene til.
get_Elogbeta
()¶
Hent loggen (bakre) sannsynligheter for hvert emne.
Returnerer
posterior sannsynligheter for hvert emne.
Returtype
numpy.ndarray
get_lambda
()¶
Få parametrene til bakre over emnene, også referert til som «emnene».
Returnerer
Parametere for den bakre sannsynligheten over emner.
Returtype
numpy.ndarray
classmethodload
(fname, *args, **kwargs)¶
Last inn en tidligere lagret tilstand fra disken.
Overstyrerload
ved å håndheve dtype-parameteret for å sikre bakoverkompatibilitet.
Parametere
-
fname (str) – Bane til fil som inneholder det nødvendige objektet.
-
args (objekt) – Posisjonsparametere som skal overføres til klasse:~gensim.utils.Lagre last.last inn
-
kwargs (objekt) – Nøkkelordparametere som skal overføres til klasse:~gensim.utils.Lagre last.last
Returnerer
staten lastet fra den oppgitte filen.
Returtype
LdaState
merge
(andre)¶
Slå sammen resultatet Av Et e-trinn fra en node med det fra en annen node (oppsummerer tilstrekkelig statistikk).sammenslåingen er triviell og etter sammenslåing av alle klyngenoder har vi det samme resultatet som om beregningen ble kjørt på en enkelt node (noapproximation).
Parametere
annet (LdaState
) – statens objekt som den nåværende vil bli slått sammen med.
reset
()¶
Forbered tilstanden for en ny em-iterasjon(tilbakestill tilstrekkelig statistikk).
save
(fname_or_handle, separat = Ingen, sep_limit=10485760, ignorer=frozenset ({}), pickle_protocol=4)¶
Lagre objektet i en fil.Fname_or_handle (str eller fil-lignende) – Banen til utdatafil eller allerede åpnet fil-lignende objekt. Hvis objektet er et filhåndtak, vil ingen spesiell matrisehåndtering utføres, alle attributter blir lagret i samme fil.separat (liste over str eller Ingen, valgfritt) –
hvis Ingen, automatisk oppdage stor numpy / scipy.sparsomme matriser i objektet som lagres, og lagre dem i separate filer. Dette forhindrer minnefeil for store objekter, og tillater også minnekartlegging av de store arrays for effektivitetlaste og dele de store arrays i RAM mellom flere prosesser.
Hvis liste over str: lagre disse attributtene i separate filer. Den automatiserte størrelseskontrollenutføres ikke i dette tilfellet.sep_limit (int, valgfritt) – ikke lagre matriser mindre enn dette separat. I byte.ignorer (frozenset av str, valgfritt) – Attributter som ikke skal lagres i det hele tatt.
pickle_protocol (int, valgfritt) – Protokoll nummer for pickle.
Se også
load()
Last objekt fra fil.
gensim.models.ldamodel.
update_dir_prior
(tidligere, N, logphat, rho)¶
Oppdater En gitt tidligere Ved Hjelp Av Newtons metode, beskrevet inJ. Huang: «Maksimal Sannsynlighet Estimering Av Dirichlet Distribusjonsparametere».
Parametere
-
prior (liste over float) – prioren for hvert mulig utfall ved forrige iterasjon(oppdateres).
-
N (int) – antall observasjoner.
-
logphat (liste over float) – log sannsynligheter for gjeldende estimering, også kalt «observert tilstrekkelig statistikk».
-
rho (flyte) – Læring rate.
Returnerer
den oppdaterte prioren.
Returtype
liste over flyt