Maybaygiare.org

Blog Network

modeller.ldamodel – latent Dirichlet-allokering

användningsexempel

träna en Lda-modell med 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)

spara en modell på disk, eller ladda om en förutbildad 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)

fråga, modellen med nya, osynliga dokument

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

uppdatera modellen genom stegvis träning på den nya Corpus

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

många parametrar kan ställas in för att optimera träningen för ditt specifika fall

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

träna och använda online Latent Dirichlet allokering (OLDA) modeller som presenteras inHoffman et al. : ”Online-lärande för Latent Dirichlet allokering”.

exempel

initiera en modell med en Gensim corpus

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

Du kan sedan härleda ämnesfördelningar på nya, osynliga dokument.

>>> doc_bow = >>> doc_lda = lda

modellen kan uppdateras (tränas) med nya dokument.

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

modellpersistens uppnås genomload() ochsave() metoder.

parametrar

  • corpus (iterable av listan över (int, float), valfritt) – ström av dokumentvektorer eller gles matris av form (num_documents, num_terms).Om du har en CSC-matris i minnet kan du konvertera den till astreamed corpus med hjälp av gensim.matutils.Sparse2Corpus.Om den inte ges lämnas modellen otränad (förmodligen för att du vill ringaupdate() manuellt).

  • num_topics (int, valfritt) – antalet begärda latenta ämnen som ska extraheras från träningskorpus.

  • id2word ({dict of (int, str), gensim.corpora.dictionary.Dictionary}) – kartläggning från ord-ID till ord. Det används för att bestämma ordförrådets storlek, såväl som fördebugging och ämnesutskrift.

  • distribuerad (bool, valfritt) – om distribuerad databehandling ska användas för att påskynda träningen.

  • chunksize (int, valfritt) – antal dokument som ska användas i varje träningsbit.

  • passerar (int, valfritt) – antal passerar genom corpus under träning.

  • update_every (int, valfritt) – antal dokument som ska itereras för varje uppdatering.Ställ in på 0 för batchinlärning, > 1 för online iterativt lärande.

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

    kan ställas in på en 1D-array med längd lika med antalet förväntade ämnen som uttrycker vår a-priori-tro för varje ämnes Sannolikhet.Alternativt standard tidigare välja strategier kan användas genom att leverera en sträng:

    • ’symmetrisk’: standard; använder en fast symmetrisk prior per ämne,

    • ’asymmetrisk’: använder en fast normaliserad asymmetrisk prior av 1.0 / (topic_index + sqrt(num_topics)),

    • ’auto’: lär sig en asymmetrisk prior från Corpus (inte tillgänglig om distribuerad==sant).

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

    a-priori tro på ord Sannolikhet, detta kan vara:

    • skalär för en symmetrisk prior över ämne/ord Sannolikhet,

    • vektor av längd num_words för att beteckna en asymmetrisk användardefinierad Sannolikhet för varje ord,

    • matris av form (num_topics, num_words) för att tilldela en sannolikhet för varje ord-ämne kombination,

    • strängen ’Auto’ för att lära sig den asymmetriska prior från data.

  • förfall (float, valfritt) – ett tal mellan (0.5, 1] för att väga vilken procentandel av det tidigare lambda-värdet glöms bortnär varje nytt dokument undersöks. Motsvarar Kappa frånmatthew D. Hoffman, David M. Blei, Francis Bach:”online-lärande för Latent Dirichlet Allocation NIPS’10”.

  • offset (float, tillval)-

    Hyper-parameter som styr hur mycket vi kommer att sakta ner de första stegen de första iterationerna.Motsvarar Tau_0 från Matthew D. Hoffman, David M. Blei, Francis Bach:”online-lärande för Latent Dirichlet allokering NIPS’10”.

  • eval_every (int, valfritt) – Log förvirring uppskattas varje att många uppdateringar. Att ställa in detta till en saktar ner träningen med ~2x.

  • iterationer (int, valfritt) – maximalt antal iterationer genom corpus när man drar slutsatsen om ämnesfördelningen av en corpus.

  • gamma_threshold (float, valfritt) – minsta förändring i värdet på gamma-parametrarna för att fortsätta iterera.

  • minimum_probability (float, valfritt) – ämnen med en sannolikhet lägre än denna tröskel filtreras bort.

  • random_state ({np.slumpmässig.RandomState, int}, valfritt) – antingen ett randomState-objekt eller ett frö för att generera ett. Användbar för Reproducerbarhet.

  • ns_conf (dict of (str, object), valfritt) – Nyckelordsparametrar som sprids till gensim.utils.getNS() för att få ett Pyro4-namn.Används endast om distribuerad är inställd på True.

  • minimum_phi_value (float, valfritt) – om per_word_topics är sant, representerar detta en lägre gräns för termen sannolikheter.

  • per_word_topics (bool) – om det är sant, beräknar modellen också en lista över ämnen, sorterade i fallande ordning av mest troliga ämnen förvarje ord, tillsammans med deras phi-värden multiplicerat med funktionslängden (dvs. ordräkning).

  • callbacks (lista över Callback) – metriska callbacks för att logga och visualisera utvärderingsmått för modellen under träning.

  • dtype ({numpy.float16, numpy.float32, numpy.float64}, valfritt)-datatyp att använda under beräkningar inuti modellen. Alla ingångar konverteras också.

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

lägg till en händelse i attributet lifecycle_events för det här objektet och logga också in händelsen på log_level.

händelser är viktiga stunder under objektets liv, till exempel ”modell skapad”,”modell Sparad”, ”modell laddad” etc.

attributet lifecycle_events kvarstår över objektetssave()ochload() operationer. Det har ingen inverkan på användningen av modellen,men är användbar vid felsökning och support.

Ställ in själv.lifecycle_events = ingen för att inaktivera detta beteende. Samtal till add_lifecycle_event () kommer inte att spela in händelser i själv.lifecycle_events då.

parametrar

  • event_name (str) – händelsens namn. Kan vara vilken etikett som helst, t.ex. ”skapad”, ”lagrad” etc.

  • händelse (dict)-

    Nyckelvärdeskartläggning för att lägga till själv.lifecycle_events. Bör vara JSON-serializable, så håll det enkelt.Kan vara tom.

    den här metoden lägger automatiskt till följande nyckelvärden i händelse, så du behöver inte ange dem:

    • datetime: det aktuella datumet & tid

    • gensim: den aktuella Gensim – versionen

    • python: den aktuella Python-versionen

    • plattform: den aktuella plattformen

    • händelse: namnet på denna händelse

  • log_level (int) – logga också hela händelsedikt, på den angivna loggnivån. Ställ in på False för att inte logga alls.

bound(corpus, gamma=None, subsample_ratio=1.0) securic

uppskatta variationsbunden för dokument från corpus som E_q – E_q.

parametrar

  • corpus (iterable of list of (int, float), valfritt) – ström av dokumentvektorer eller gles matris av form (num_documents, num_terms) som används för att uppskatta variationsgränser.

  • gamma (numpy.ndarray, valfritt) – Topic vikt variationsparametrar för varje dokument. Om den inte levereras kommer den att härledas från modellen.

  • subsample_ratio (float, valfritt) – procentandel av hela korpuset representerat av det godkända korpusargumentet (om detta var ett prov).Ställ in på 1.0 om hela korpusen passerade.Detta används som en multiplikativ faktor för att skala likelihoodappropriately.

returnerar

den variationsbundna poängen beräknad för varje dokument.

returtyp

numpy.ndarray

clear () exporter

rensa modellens tillstånd för att frigöra lite minne. Används i distribuerad implementering.

diff(andra, avstånd=’kullback_leibler’, num_words=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True) xhamster

beräkna skillnaden i ämnesfördelningar mellan två modeller: själv och andra.

parametrar

  • Övrigt (LdaModel) – modellen som kommer att jämföras mot det aktuella objektet.

  • avstånd ({’kullback_leibler’, ’hellinger’, ’jaccard’, ’jensen_shannon’}) – avståndsmätaren för att beräkna skillnaden med.

  • num_words (int, valfritt) – antalet mest relevanta ord som används om avstånd == ’jaccard’. Används också för att kommentera ämnen.

  • n_ann_terms (int, valfritt) – Max antal ord i korsning/symmetrisk skillnad mellan ämnen. Används för anteckning.

  • diagonal (bool, valfritt) – om vi behöver skillnaden mellan identiska ämnen (diagonalen i skillnadsmatrisen).

  • annotation (bool, valfritt) – om korsningen eller skillnaden mellan ord mellan två ämnen ska returneras.

  • normed (bool, valfritt) – om matrisen ska normaliseras eller inte.

returnerar

  • numpy.ndarray – en skillnadsmatris. Varje element motsvarar skillnaden mellan de två ämnena,form (själv.num_topics, andra.num_topics)

  • numpy.ndarray, valfri – Annotation matrix där för varje par inkluderar vi ordet från skärningspunkten mellan de två ämnena och ordet från den symmetriska skillnaden mellan de två ämnena. Ingår endast om annotation = = True.Form (själv.num_topics, other_model.num_topics, 2).

exempel

få skillnaderna mellan varje par av ämnen som härleds av två 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) och ackumulera den samlade tillräckliga statistiken. parametrar

  • chunk (lista över lista över (int, float)) – den korpusbit som inferenssteget kommer att utföras på.

  • stat (LdaState, valfritt) – staten som ska uppdateras med den nyligen ackumulerade tillräckliga statistiken. Om ingen, modellernasjälv.staten är uppdaterad.

returnerar

Gamma parametrar som styr ämnesvikter, form(len (Bit), själv.num_topics).

returtyp

numpy.ndarray

do_mstep(rho, annat, extra_pass=falskt): använd linjär interpolering mellan befintliga ämnen ochsamlade tillräcklig statistik i andra för att uppdatera ämnena. parametrar

  • rho (float) – inlärningshastighet.

  • Övrigt (LdaModel) – modellen vars tillräckliga statistik kommer att användas för att uppdatera ämnena.

  • extra_pass (bool, valfritt) – om detta steg krävde ett ytterligare pass över corpus.

get_document_topics(bow, minimum_probability=None, minimum_phi_value=None, per_word_topics=False) Portugals

hämta ämnesfördelningen för det angivna dokumentet.

parametrar

  • båge (corpus : lista över (int, float)) – dokumentet i bågformat.

  • minimum_probability (float) – ämnen med en tilldelad Sannolikhet lägre än denna tröskel kommer att kasseras.

  • minimum_phi_value (float) –

    om per_word_topics är sant, representerar detta en lägre gräns för termen sannolikheter som ingår.

    om det är inställt på None används ett värde på 1e-8 för att förhindra 0s.

  • per_word_topics (bool) – om det är sant returnerar den här funktionen också två extra listor som förklaras i avsnittet ”returnerar”.

returnerar

  • lista över (int, float) – ämnesfördelning för hela dokumentet. Varje element i listan är ett par av ett ämnes id, ochsannolikheten som tilldelades den.

  • lista över (int, lista över (int, float), valfritt – mest troliga ämnen per ord. Varje element i listan är ett par av ett ords id och en lista överämnen sorterade efter deras relevans för detta ord. Returneras endast om Per_word_topics var inställd på True.

  • lista över (int, lista över float), valfria – Phi-relevansvärden, multiplicerat med funktionslängden, för varje ord-ämneskombination.Varje element i listan är ett par av ett ords id och en lista över phi-värdena mellan detta ord ochvarje ämne. Returneras endast om Per_word_topics var inställd på True.

get_term_topics(word_id, minimum_probability=None) brasilian

få de mest relevanta ämnena till det givna ordet.

parametrar

  • word_id (int) – ordet för vilket ämnesfördelningen kommer att beräknas.

  • minimum_probability (float, valfritt) – ämnen med en tilldelad Sannolikhet under denna tröskel kommer att kasseras.

returnerar

de relevanta ämnen som representeras som par av deras ID och deras tilldelade Sannolikhet, sorterade efter relevans för det givna ordet.

returtyp

lista över (int, float)

get_topic_terms(topicid, topn=10) brasilian

få representationen för ett enda ämne. Ord heltals-ID: n, i sammandrag tillshow_topic() som representerar ord med de faktiska strängarna.

parametrar

  • topicid (int) – ID för ämnet som ska returneras

  • topn (int, valfritt) – antal av de viktigaste orden som är associerade med ämnet.

returnerar

Word ID – sannolikhetspar för de mest relevanta orden som genereras av ämnet.

returtyp

lista över (int, float)

get_topics () xhamster

få term-topic matrix lärt under slutledning.

returnerar

sannolikheten för varje ord i varje ämne, form (num_topics, vocabulary_size).

returtyp

numpy.ndarray

inference(chunk, collect_sstats=False) bisexuell

med tanke på en bit av glesa dokumentvektorer, uppskatta gamma (parametrar som styr ämnesvikterna)för varje dokument i biten.

den här funktionen ändrar inte modellen hela inmatningsdelen av dokumentet antas passa i RAM;chunking av en stor corpus måste göras tidigare i rörledningen. Undviker att beräkna phi-variationenparametern direkt med hjälp av optimeringen presenterad inLee, Seung: algoritmer för icke-negativ matrisfaktorisering”.

parametrar

  • chunk (lista över lista över (int, float)) – den korpusbit som inferenssteget kommer att utföras på.

  • collect_sstats (bool, valfritt) – om den är inställd på True, samla också in (och returnera) tillräcklig statistik som behövs för att uppdatera modellens ämne-worddistributions.

returnerar

det första elementet returneras alltid och det motsvarar tillstånden gamma matrix. Det andra elementet returneras endast om collect_sstats == True och motsvarar tillräcklig statistik för M-steget.

returtyp

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

init_dir_prior(prior, name)

initiera priors för Dirichlet-distributionen.

parametrar

  • tidigare ({str, lista över float, numpy.ndarray av float, float}) –

    a-priori tro på ord Sannolikhet. Om name = = ’ eta ’ kan den tidigare vara:

    • skalär för en symmetrisk prior över ämne/ord Sannolikhet,

    • vektor av längd num_words för att beteckna en asymmetrisk användardefinierad Sannolikhet för varje ord,

    • matris av form (num_topics, num_words) för att tilldela en sannolikhet för varje ord-ämne kombination,

    • strängen ’Auto’ för att lära sig den asymmetriska prior från data.

    om name = = ’alpha’, kan den tidigare vara:

    • en 1D array med längd lika med antalet förväntade ämnen,

    • ’symmetrisk’: använder en fast symmetrisk prior per ämne,

    • ’asymmetrisk’: använder en fast normaliserad asymmetrisk prior av 1.0 / (topic_index + sqrt(num_topics)),

    • ’Auto’: lär sig en asymmetrisk prior från Corpus.

  • namn ({’alpha’, ’eta’}) – om prior parametriseras av alfavektorn (1 parameter per ämne)eller av eta (1 parameter per unik term i ordförrådet).

classmethod load(fname, *args, **kwargs) auspi

ladda en tidigare sparad gensim.models.ldamodel.LdaModel från fil.

Se även

save()

spara modell.

parametrar

  • fname (str) – sökväg till filen där modellen är lagrad.

  • * args-Positionsargument som sprids till load().

  • * * kwargs-nyckelord argument sprids till load().

exempel

stora matriser kan memmap’ed tillbaka som skrivskyddad (delat minne) genom att ställa 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=beräkna och returnera sannolikheten per ord bunden, med hjälp av en bit av dokument som utvärderingskorpus.

matar också ut den beräknade statistiken, inklusive förvirringen=2^(-bunden), för att logga på informationsnivå.

parametrar

  • chunk (lista över lista över (int, float)) – den korpusbit som inferenssteget kommer att utföras på.

  • total_docs (int, valfritt) – antal dokument som används för utvärdering av förvirringen.

returnerar

den variationsbundna poängen beräknad för varje ord.

returtyp

numpy.ndarray

print_topic(topicno, topn=10) osk

få ett enda ämne som en formaterad sträng.

parametrar

  • topicno (int) – ämne id.

  • topn (int) – antal ord från ämne som kommer att användas.

returnerar

Strängrepresentation av ämne ,som ’-0.340 *” kategori ”+ 0.298 * ”$m$ ”+ 0.183 * ”algebra”+…’.

returtyp

str

print_topics(num_topics=20, num_words=10) aug.

få de viktigaste ämnena (alias för show_topics() metod).

parametrar

  • num_topics (int, valfritt) – antalet ämnen som ska väljas, om -1 – alla ämnen kommer att vara i resultat (ordnade efter betydelse).

  • num_words (int, valfritt) – antalet ord som ska inkluderas per ämnen (ordnade efter betydelse).

returnerar

sekvens med (topic_id,).

returtyp

lista över (int, lista över( str, float))

save(fname, ignore=(’state’, ’dispatcher’), separat=None, *args, **kwargs) Australia

spara modellen i en fil.

stora interna matriser kan lagras i separata filer, med fname som prefix.

anteckningar

Om du tänker använda modeller över Python 2/3 versioner finns det några saker att tänka på:

  1. de inlagda Python-ordböckerna fungerar inte över Python-versioner

  2. spara-metoden sparar inte automatiskt alla numpy-arrayer separat, barade som överstiger sep_limit som anges i save(). Mainconcern här är alpha-arrayen om du till exempel använder alpha=’auto’.

se avsnittet wiki receptför ett exempel på hur man kan kringgå dessa problem.

Se även

load()

ladda modell.

parametrar

  • fname (str) – sökväg till systemfilen där modellen kommer att kvarstå.

  • ignorera (tupel av str, valfritt) – de namngivna attributen i tupeln kommer att lämnas utanför den inlagda modellen. Anledningen till att det interna tillståndet ignoreras som standard är att det använder sin egen serialisering snarare än den som tillhandahålls av denna metod.

  • separat ({lista över str, ingen}, valfritt) – om ingen-upptäcker automatiskt stor numpy/scipy.sparsamma arrayer i objektet som lagras och lagrasdem i separata filer. Detta undviker pickle minnesfel och tillåter mmap ’ ing stora arraysback på belastning effektivt. Om Lista över str-detta attribut kommer att lagras i separata filer, är den automatiska kontrollen inte utförs i detta fall.

  • * args-Positionsargument som sprids till save().

  • * * kwargs-nyckelord argument sprids till save().

show_topic(topicid, topn=10) brasilian

få representationen för ett enda ämne. Ord här är de faktiska strängarna, i constrast tillget_topic_terms() som representerar ord med deras ordförråd ID.

parametrar

  • topicid (int) – ID för ämnet som ska returneras

  • topn (int, valfritt) – antal av de viktigaste orden som är associerade med ämnet.

returnerar

ord-sannolikhetspar för de mest relevanta ord som genereras av ämnet.

returtyp

lista över (str, float)

show_topics(num_topics=10, num_words=10, log=False, formaterad=True) Portugals

få en representation för utvalda ämnen.

parametrar

  • num_topics (int, valfritt) – antal ämnen som ska returneras. Till skillnad från LSA finns det ingen naturlig ordning mellan ämnena i LDA.Den returnerade ämnen delmängd av alla ämnen är därför godtycklig och kan ändras mellan två ldatraining körningar.

  • num_words (int, valfritt) – antal ord som ska presenteras för varje ämne. Dessa kommer att vara de mest relevanta orden (tilldelas högstasannolikhet för varje ämne).

  • log (bool, valfritt) – om utmatningen också loggas, förutom att returneras.

  • formaterad (bool, valfritt) – om ämnesrepresentationerna ska formateras som strängar. Om falskt returneras de som2 tuples av (ord, Sannolikhet).

returnerar

en lista med ämnen, var och en representerade antingen som en sträng (när formaterad == True) eller word-probabilitypairs.

returtyp

lista över {str, tuple of(str, float)}

sync_state(current_Elogbeta=None) brasilian

sprida tillstånden ämnessannolikheter till det inre objektets attribut.

parametrar

current_Elogbeta (numpy.Ndarray) – Posterior sannolikheter för varje ämne, valfritt.Om utelämnas, det kommer att få Elogbeta från staten.

top_topics(corpus=None, texts=None, dictionary=None, window_size=None, koherens=’u_mass’, topn=20, processer=-1) occupy

få ämnen med högsta koherens poäng koherensen för varje ämne.

parametrar

  • corpus (iterable av listan över (int, float), valfritt) – Corpus i bågformat.

  • texter (lista över lista över str, valfritt) – tokeniserade texter, som behövs för koherensmodeller som använder glidande fönsterbaserade (dvs. koherens= ’c_something’) sannolikhetsuppskattare .

  • ordbok (Dictionary, valfritt) – Gensim ordbok kartläggning av id ord för att skapa corpus.Om model. id2word är närvarande behövs det inte. Om båda tillhandahålls kommer godkänd ordbok att användas.

  • window_size (int, valfritt) – är storleken på fönstret som ska användas för koherensåtgärder med hjälp av booleskt skjutfönster som deras sannolikhet estimator. För ’u_mass’ spelar det ingen roll.Om ingen-standardfönsterstorlekar används som är: ’c_v’ – 110, ’c_uci’ – 10, ’c_npmi’ – 10.

  • koherens ({’u_mass’, ’c_v’, ’c_uci’, ’c_npmi’}, valfritt) – Koherensåtgärd som ska användas.Snabbaste metoden – ’u_mass’, ’c_uci’ även känd som c_pmi.För’ u_mass ’ corpus bör tillhandahållas, om texter tillhandahålls, det kommer att konverteras till corpusanvända ordlistan. För’ c_v’,’ c_uci ’och’ c_npmi ’ bör texter tillhandahållas (corpus behövs inte)

  • topn (int, valfritt) – heltal som motsvarar antalet toppord som ska extraheras från varje ämne.

  • processer (int, valfritt) – antal processer som ska användas för sannolikhetsbedömningsfas, något värde mindre än 1 kommer att tolkas somnum_cpus-1.

returnerar

varje element i listan är ett par av en ämnesrepresentation och dess sammanhållnings poäng. Ämnesrepresentationerär fördelningar av ord, representerade som en lista över par av ord-ID och deras sannolikheter.

returtyp

lista över (lista över (int, str), float)

update(corpus, chunksize=None, decay=None, offset=None, passes=None, update_every=None, eval_every=None, iterations=None, gamma_threshold=None, chunks_as_numpy=False) Portugals

träna modellen med nya dokument, genom em-iterering över Corpus tills ämnena konvergerar, eller tillsdet maximala antalet tillåtna iterationer uppnås. corpus måste vara en iterabel.

i distribuerat läge fördelas e-steget över ett kluster av maskiner.

anmärkningar

den här uppdateringen stöder också uppdatering av en redan utbildad modell med nya dokument; de två modellerna slås sedan samman i proportion till antalet gamla vs. nya dokument. Denna funktion är fortfarande experimentell för icke-stationärinmatningsströmmar. För stationär ingång (ingen ämnesdrift i nya dokument), å andra sidan, motsvarar dettaonline-uppdatering av Matthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.och garanteras att konvergera för varje förfall i (0,5, 1,0). För mindre korpusstorlekar kan dessutom en ökande förskjutning vara fördelaktig (se Tabell 1 i samma papper).

parametrar

  • corpus (iterable av listan över (int, float), valfritt) – ström av dokumentvektorer eller gles matris av form (num_documents, num_terms) används för att uppdatera themodel.

  • chunksize (int, valfritt) – antal dokument som ska användas i varje träningsbit.

  • decay (float, optional) –

    ett tal mellan (0.5, 1] för att väga vilken procentandel av föregående lambda-värde glöms bortnär varje nytt dokument undersöks. Motsvarar Kappa frånmatthew D. Hoffman, David M. Blei, Francis Bach:”online-lärande för Latent Dirichlet Allocation NIPS’10”.

  • offset (float, tillval)-

    Hyper-parameter som styr hur mycket vi kommer att sakta ner de första stegen de första iterationerna.Motsvarar Tau_0 från Matthew D. Hoffman, David M. Blei, Francis Bach:”online-lärande för Latent Dirichlet allokering NIPS’10”.

  • passerar (int, valfritt) – antal passerar genom corpus under träning.

  • update_every (int, valfritt) – antal dokument som ska itereras för varje uppdatering.Ställ in på 0 för batchinlärning, > 1 för online iterativt lärande.

  • eval_every (int, valfritt) – Log förvirring uppskattas varje att många uppdateringar. Att ställa in detta till en saktar ner träningen med ~2x.

  • iterationer (int, valfritt) – maximalt antal iterationer genom corpus när man drar slutsatsen om ämnesfördelningen av en corpus.

  • gamma_threshold (float, valfritt) – minsta förändring i värdet på gamma-parametrarna för att fortsätta iterera.

  • chunks_as_numpy (bool, valfritt) – om varje bit som skickas till inferenssteget ska vara en numpy.ndarray eller inte. Numpy kan i vissa inställningarvända termen ID till flottor, dessa kommer att konverteras tillbaka till heltal i inferens, vilket medför aperformance hit. För distribuerad databehandling kan det vara önskvärt att hålla bitarna som numpy.ndarray.

update_alpha(gammat, rho) 2

uppdatera parametrar för Dirichlet tidigare på ämnesvikterna per dokument.

parametrar

  • gammat (numpy.ndarray) – tidigare ämne viktparametrar.

  • rho (float) – inlärningshastighet.

returnerar

sekvens av alfa-parametrar.

returtyp

numpy.ndarray

update_eta(lambdat, rho)

uppdatera parametrar för Dirichlet tidigare på ordvikterna per ämne.

parametrar

  • lambdat (numpy.ndarray) – tidigare lambda-parametrar.

  • rho (float) – inlärningshastighet.

returnerar

de uppdaterade eta-parametrarna.

returtyp

numpy.ndarray

klassgensim.models.ldamodel.LdaState(eta, form, dtype=<klass ’numpy.float32 ’>)

baser: gensim.utils.SaveLoad

inkapsla information för distribuerad beräkning av LdaModel objekt.

objekt i den här klassen skickas över nätverket, så försök att hålla dem lutade tillminska trafiken.

parametrar

  • eta (numpy.ndarray) – de tidigare sannolikheter som tilldelats varje term.

  • shape (tuple of (int, int)) – form av tillräcklig statistik: (antal ämnen som ska hittas, antal termer i ordförrådet).

  • dtype (typ) – åsidosätter standardtyperna för numpy-array.

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

lägg till en händelse i attributet lifecycle_events för det här objektet och logga också in händelsen på log_level.

händelser är viktiga stunder under objektets liv, till exempel ”modell skapad”,”modell Sparad”, ”modell laddad” etc.

attributet lifecycle_events kvarstår över objektetssave()ochload() operationer. Det har ingen inverkan på användningen av modellen,men är användbar vid felsökning och support.

Ställ in själv.lifecycle_events = ingen för att inaktivera detta beteende. Samtal till add_lifecycle_event () kommer inte att spela in händelser i själv.lifecycle_events då.

parametrar

  • event_name (str) – händelsens namn. Kan vara vilken etikett som helst, t. ex. ”skapad”,” lagrad ” etc.

  • händelse (dict)-

    Nyckelvärdeskartläggning för att lägga till själv.lifecycle_events. Bör vara JSON-serializable, så håll det enkelt.Kan vara tom.

    den här metoden lägger automatiskt till följande nyckelvärden till händelse, så du behöver inte ange dem:

    • datetime: det aktuella datumet& tid

    • gensim: den aktuella Gensim-versionen

    • python: den aktuella Python-versionen

    • plattform: den nuvarande plattformen

    • händelse: namnet på denna händelse

  • log_level (int) – logga även den fullständiga händelsedikten på den angivna loggnivån. Ställ in på False för att inte logga alls.

blend(rhot, other, targetsize=None) Portugals

sammanfoga det aktuella tillståndet med ett annat med ett vägt genomsnitt för tillräcklig statistik.

antalet dokument sträcker sig i båda tillståndsobjekten, så att de är av jämförbar storlek.Denna procedur motsvarar den stokastiska gradientuppdateringen fromHoffman et al. : ”Online-lärande för Latent Dirichlet allokering”, se ekvationer (5) och (9).

parametrar

  • rhot (float) – vikten av det andra tillståndet i det beräknade genomsnittet. Ett värde på 0,0 betyder att andraär helt ignorerad. Ett värde på 1,0 betyder att jaget helt ignoreras.

  • Övrigt (LdaState) – det tillståndsobjekt som den nuvarande kommer att slås samman med.

  • targetsize (int, valfritt) – antalet dokument att sträcka båda staterna till.

blend2(rhot, other, targetsize=None) Portugals

sammanfoga det aktuella tillståndet med ett annat med hjälp av en viktad summa för tillräcklig statistik.

till skillnad från blend(), är den tillräckliga statistiken inte skaladprior to aggregation.

parametrar

  • rhot (float) – oanvänd.

  • Övrigt (LdaState) – det tillståndsobjekt som den nuvarande kommer att slås samman med.

  • targetsize (int, valfritt) – antalet dokument att sträcka båda staterna till.

get_Elogbeta () Portugals

hämta loggen (bakre) sannolikheter för varje ämne.

returnerar

Posterior sannolikheter för varje ämne.

returtyp

numpy.ndarray

get_lambda () bisexuell

hämta parametrarna för den bakre delen över ämnena, även kallade ”ämnena”.

returnerar

parametrar för den bakre sannolikheten över ämnen.

returtyp

numpy.ndarray

classmethod load(fname, *args, **kwargs) Securities

ladda ett tidigare lagrat tillstånd från disken.

åsidosätter load genom att tillämpa dtype-parameternför att säkerställa bakåtkompatibilitet.

parametrar

  • fname (str) – sökväg till fil som innehåller det nödvändiga objektet.

  • args (objekt) – Positionsparametrar som ska spridas till klass:~gensim.utils.SaveLoad.ladda

  • kwargs (objekt)-Nyckelordsparametrar som ska spridas till klass:~gensim.utils.SaveLoad.load

returnerar

det tillstånd som laddats från den angivna filen.

returtyp

LdaState

merge(other) Ukrainian

sammanfoga resultatet av ett e-steg från en nod med det för en annan nod (summera tillräcklig statistik).

sammanslagningen är trivial och efter sammanslagning av alla klusternoder har viexakt samma resultat som om beräkningen kördes på en enda nod (noapproximation).

parametrar

Övrigt (LdaState) – det tillståndsobjekt som den nuvarande kommer att slås samman med.

reset () bisexuell

Förbered tillståndet för en ny em-iteration (Återställ tillräcklig statistik).

save(fname_or_handle, separat=None, sep_limit=10485760, ignore=frozenset({}), pickle_protocol=4) Scorpius

spara objektet i en fil.

parametrar

  • fname_or_handle (str eller filliknande)-sökväg till utdatafil eller redan öppnat filliknande objekt. Om objektet är ett filhandtag kommer ingen speciell arrayhantering att utföras, alla attribut sparas i samma fil.

  • separat (lista över str eller ingen, tillval) –

    om ingen, automatiskt upptäcka stora numpy/scipy.sparsamma arrayer i objektet som lagras och lagrasdem i separata filer. Detta förhindrar minnesfel för stora objekt och tillåter ocksåminne-kartläggning av de stora matriserna för effektiv laddning och delning av de stora matriserna i RAM mellan flera processer.

    Om lista över str: lagra dessa attribut i separata filer. Den automatiska storlekskontrollenutförs inte i detta fall.

  • sep_limit (int, valfritt) – lagra inte matriser som är mindre än detta separat. I byte.

  • ignorera (frozenset av str, valfritt) – attribut som inte bör lagras alls.

  • pickle_protocol (int, valfritt) – protokollnummer för pickle.

Se även

load()

ladda objekt från fil.

gensim.models.ldamodel.update_dir_prior(prior, N, logphat, rho) Ltd. Huang: ”maximal sannolikhetsbedömning av Dirichlet-Distributionsparametrar”. parametrar

  • prior (lista över float) – prior för varje möjligt resultat vid föregående iteration (uppdateras).

  • N (int) – antal observationer.

  • logphat (lista över float) – Loggsannolikheter för den aktuella uppskattningen, även kallad ”observerad tillräcklig statistik”.

  • rho (float) – inlärningshastighet.

returnerar

den uppdaterade tidigare.

returtyp

lista över float

Lämna ett svar

Din e-postadress kommer inte publiceras.