Maybaygiare.org

Blog Network

modellen.ldamodel – Latent Dirichlet Allocation¶

het Gebruik van voorbeelden¶

de Trein LDA-model met behulp van een 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)

een model Opslaat op de harde schijf, het herladen of een vooraf getraind 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)

Query, het model met behulp van nieuwe, onzichtbare documenten

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

Update van het model door stapsgewijs de opleiding voor het nieuwe corpus

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

veel van de parameters kan worden afgestemd op het optimaliseren van de opleiding voor uw specifieke geval

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

trein en gebruik Online latente Dirichlet Allocation (OLDA) modellen zoals gepresenteerd inHoffman et al. : “Online Learning for Latent Dirichlet Allocation”.

voorbeelden

Initialiseer een model met behulp van een Gensim corpus

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

u kunt dan topic distributies afleiden op nieuwe, ongeziene documenten.

>>> doc_bow = >>> doc_lda = lda

het model kan worden bijgewerkt (getraind) met nieuwe documenten.

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

het model persistentie wordt bereikt door load()ensave()methoden.

Parameters

  • corpus (iterable of list of (Int, float), optional) – stroom van documentvectoren of dunne matrix van vorm (num_documents, num_terms).Als je een CSC in-memory matrix hebt, kun je deze converteren naar astreamed corpus met behulp van gensim.matutils.Sparse2Corpus.Indien niet gegeven, blijft het model ongetraind (vermoedelijk omdat uupdate() handmatig wilt aanroepen).

  • num_topics (int, optioneel) – het aantal gevraagde latente onderwerpen dat uit het opleidingscorpus moet worden gehaald.

  • id2word ({dict of (Int, str), gensim.corpora.dictionary.Dictionary}) – Mapping van woord-ID ‘ s naar woorden. Het wordt gebruikt om de woordenschat grootte te bepalen, evenals voordebuggen en onderwerp afdrukken.

  • gedistribueerd (bool, optioneel) – of gedistribueerde computers moeten worden gebruikt om de opleiding te versnellen.

  • chunksize (int, optioneel) – aantal documenten dat in elk trainingsgedeelte moet worden gebruikt.

  • passes (int, optioneel) – aantal passes door het corpus tijdens de training.

  • update_every (int, optioneel) – aantal te herhalen documenten voor elke update.Ingesteld op 0 voor batch learning, > 1 voor online iteratief leren.

  • Alfa ({numpy.ndarray, Str}, optioneel) –

    kan worden ingesteld op een 1D array van lengte gelijk aan het aantal verwachte onderwerpen dat ons a-priori geloof voor de waarschijnlijkheid van elk onderwerp uitdrukt.Als alternatief standaard voorafgaande selectie strategieën kunnen worden gebruikt door het leveren van een string:

    • ‘symmetrisch’: standaard; gebruikt een vaste symmetrische prior per onderwerp,

    • ‘asymmetrisch’: gebruikt een vaste genormaliseerde asymmetrische prior van 1.0 / (topic_index + sqrt(num_topics)),

    • ‘auto’: leert een asymmetrische prior van het corpus (niet beschikbaar indien gedistribueerd==True).

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

    a-priori geloof op woord waarschijnlijkheid, dit kan zijn:

    • scalar for a symmetric prior over topic/word probability,

    • vector of length num_words to denote an asymmetric user defined probability for each word,

    • matrix of shape (num_topics, num_words) to assign a probability for each word-topic combination,

    • de tekenreeks ‘auto’ om de asymmetrische voorafgaande te leren van de gegevens.

  • verval (float, optioneel) – een getal tussen (0.5, 1] om te wegen welk percentage van de vorige lambda waarde wordt vergeten wanneer elk nieuw document wordt onderzocht. Correspondeert met Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach: “Online Learning for Latent Dirichlet Allocation NIPS ’10”.

  • offset (float, optioneel)-

    Hyper-parameter die bepaalt hoeveel we de eerste stappen zullen vertragen de eerste paar iteraties.Correspondeert met Tau_0 van Matthew D. Hoffman, David M. Blei, Francis Bach: “Online Learning for Latent Dirichlet Allocation NIPS ’10”.

  • eval_every – int, optioneel) – log perplexity wordt geschat om de zoveel updates. Als u dit op één zet, vertraagt u de training met ~2x.

  • iteraties – int, optioneel) – maximaal aantal iteraties door het corpus wanneer u de verdeling van een corpus over het onderwerp wilt afleiden.

  • gamma_threshold – float, optioneel) – minimale verandering in de waarde van de gammaparameters om te blijven herhalen.

  • minimum_probability (float, optioneel) – onderwerpen met een waarschijnlijkheid lager dan deze drempel worden uitgefilterd.

  • random_state ({np.willekeurig.RandomState, int}, optioneel) – ofwel een randomState object of een seed om een te genereren. Handig voor reproduceerbaarheid.

  • ns_conf (dict of (Str, object), optioneel) – Sleutelwoordparameters doorgegeven aan gensim.utils.getNS() om een Pyro4-naam te verkrijgen.Alleen gebruikt als gedistribueerd is ingesteld op True.

  • minimum_phi_value (float, optioneel) – als per_word_topics Waar is, vertegenwoordigt dit een ondergrens van de term waarschijnlijkheden.

  • per_word_topics (bool) – indien waar berekent het model ook een lijst van onderwerpen, gesorteerd in aflopende volgorde van meest waarschijnlijke onderwerpen voor elk woord, samen met hun phi-waarden vermenigvuldigd met de lengte van de functie (d.w.z. het aantal woorden).

  • callbacks (lijst van Callback) – metrische callbacks om evaluatiegegevens van het model tijdens de training te loggen en te visualiseren.

  • dtype ({numpy.float16, numpy.float32, numpy.float64}, optioneel) – Data-type om te gebruiken tijdens berekeningen binnen het model. Alle ingangen worden ook geconverteerd.

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

voeg een event toe aan het attribuut lifecycle_events van dit object, en logt de event ook op log_level.

gebeurtenissen zijn belangrijke momenten tijdens het leven van het object, zoals “model created”,”model saved”, “model loaded”, enz.

het attribuut lifecycle_events wordt gehandhaafd voor de bewerkingen save()en load(). Het heeft geen invloed op het gebruik van het model,maar is nuttig tijdens het debuggen en ondersteuning.

stel zelf in.lifecycle_events = None om dit gedrag uit te schakelen. Oproepen naar add_lifecycle_event () zullen geen gebeurtenissen in self opnemen.lifecycle_events dan.

Parameters

  • event_name – str) – naam van de gebeurtenis. Kan elk label zijn, bijvoorbeeld “created”,” stored ” etc.

  • event (dict)-

    sleutelwaarde-toewijzing om aan zichzelf toe te voegen.lifecycle_events. Moet JSON-serialiseerbaar zijn, dus hou het simpel.Kan leeg zijn.

    Deze methode voegt automatisch de volgende sleutelwaarden toe aan de gebeurtenis, zodat u ze niet hoeft op te geven:

    • datetime: de huidige datum & tijd

    • gensim: de huidige Gensim versie

    • python: de huidige Python versie

    • platform: het huidige platform

    • gebeurtenis: de naam van dit evenement

  • log_level (int) – meld u Ook het volledige evenement dict, op het opgegeven log-niveau. Ingesteld op False om helemaal niet te loggen.

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

schat de variatiegrens van documenten uit het corpus als E_q – E_q.

Parameters

  • corpus (iterable of list of (Int, float), optional) – stroom van documentvectoren of dunne matrix van vorm (num_documents, num_terms) gebruikt om de variationele grenzen te schatten.

  • gamma (numpy.ndarray, optioneel) – onderwerp gewicht variationele parameters voor elk document. Indien niet geleverd, zal het worden afgeleid uit het model.

  • subsample_ratio – float, optioneel) – Percentage van het hele corpus vertegenwoordigd door het passed Corpus argument (in het geval dit een monster was).Ingesteld op 1.0 als het hele corpus werd aangenomen.Dit wordt gebruikt als multiplicatiefactor om de waarschijnlijkheid naar behoren te schalen.

geeft

De voor elk document berekende variatiegrenswaarde terug.

Return type

numpy.ndarray

clear()¶

Wis de status van het model om wat geheugen vrij te maken. Gebruikt in de gedistribueerde implementatie.

diff(other, distance=’kullback_leibler’, num_words=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True)¶

Bereken het verschil in topic distributies tussen twee modellen: self en other.

Parameters

  • Overig (LdaModel) – het model dat zal worden vergeleken met het huidige object.

  • afstand ({‘kullback_leibler’, ‘hellinger’ – ‘jaccard’,’ jensen_shannon’}) – de afstand waarmee het verschil wordt berekend.

  • num_words (int, optioneel) – het aantal meest relevante woorden gebruikt als distance = = “jaccard”. Ook gebruikt voor het annoteren van onderwerpen.

  • n_ann_terms – int, optioneel) – Max aantal woorden in kruising/symmetrisch verschil tussen onderwerpen. Gebruikt voor annotatie.

  • diagonaal (bool, optioneel) – of we het verschil tussen identieke onderwerpen nodig hebben (de diagonaal van de verschilmatrix).

  • annotatie (bool, optioneel) – of de kruising of het verschil van woorden tussen twee onderwerpen moet worden geretourneerd.

  • genormeerd (bool, optioneel) – of de matrix genormaliseerd moet worden of niet.

geeft

  • numpy terug.ndarray-een verschil matrix. Elk element komt overeen met het verschil tussen de twee onderwerpen,vorm (zelf.num_topics, andere.num_topics)

  • numpy.ndarray, optioneel-annotatie matrix waar voor elk paar we het woord uit de kruising van de twee onderwerpen,en het woord uit het symmetrische verschil van de twee onderwerpen. Alleen opgenomen als annotatie = = True.Vorm (zelf.num_topics, other_model.num_topics, 2).

voorbeelden

haal de verschillen tussen elk paar onderwerpen afgeleid door twee modellen

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

Voer de gevolgtrekking uit op een stuk documenten en accumuleer de verzamelde voldoende statistieken.

Parameters

  • chunk (list of list of (Int, float)) – het corpus chunk waarop de inferentie stap zal worden uitgevoerd.

  • status (LdaState, optioneel) – de status die moet worden bijgewerkt met de nieuw verzamelde voldoende statistieken. Zo niet, dan modelleert hij zichzelf.status is bijgewerkt.

geeft

Gammaparameters terug die het onderwerp gewichten, vorm (len(chunk), zelf bepalen.num_topics).

Return type

numpy.ndarray

do_mstep(rho, other, extra_pass = False)¶

Maximalisatiestap: gebruik lineaire interpolatie tussen de bestaande onderwerpen en verzamel voldoende statistieken in andere om de onderwerpen bij te werken.

Parameters

  • rho (float) – Leersnelheid.

  • Overig (LdaModel) – het model waarvan voldoende statistieken zullen worden gebruikt om de onderwerpen bij te werken.

  • extra_pass (bool, optioneel) – of deze stap een extra passage over het corpus vereiste.

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

haal de distributie van het onderwerp voor het gegeven document.

Parameters

  • bow (corpus: list of (Int, float)) – het document in BOW-formaat.

  • minimum_probability (float) – onderwerpen met een toegewezen waarschijnlijkheid lager dan deze drempel zullen worden verworpen.

  • minimum_phi_value – float) –

    als per_word_topics Waar is, vertegenwoordigt dit een ondergrens van de term waarschijnlijkheden die zijn opgenomen.

    indien ingesteld op Geen, wordt een waarde van 1e – 8 gebruikt om 0s te voorkomen.

  • per_word_topics (bool) – indien Waar, zal deze functie ook twee extra lijsten retourneren zoals uitgelegd in de “Returns” sectie.

geeft

  • lijst van (int, float) – Topic distributie voor het hele document terug. Elk element in de lijst is een paar van de ID van een onderwerp, en de waarschijnlijkheid die eraan werd toegewezen.

  • lijst van (int, lijst van (int, float), optioneel – meest waarschijnlijke onderwerpen per woord. Elk element in de lijst is een paar van de ID van een woord, en een lijst van topics gesorteerd op hun relevantie voor dit woord. Alleen geretourneerd als per_word_topics was ingesteld op True.

  • lijst van (int, lijst van float), optioneel – Phi relevantie waarden, vermenigvuldigd met de lengte van de functie, voor elke woord-onderwerp combinatie.Elk element in de lijst is een paar van de ID van een woord en een lijst van de phi-waarden tussen dit woord en elk onderwerp. Alleen geretourneerd als per_word_topics was ingesteld op True.

get_term_topics(word_id, minimum_probability=None)¶

haal de meest relevante onderwerpen voor het gegeven woord.

Parameters

  • word_id (int) – het woord waarvoor de distributie van het onderwerp zal worden berekend.

  • minimum_probability (float, optioneel) – onderwerpen met een toegewezen waarschijnlijkheid onder deze drempel zullen worden verworpen.

geeft

de relevante onderwerpen weergegeven als paren van hun ID en hun toegewezen waarschijnlijkheid, gesorteerd door relevantie voor het gegeven woord.

Return type

list of (Int, float)

get_topic_terms(topicid, topn=10)¶

krijg de representatie voor een enkel onderwerp. Woorden de integer ID ‘ s, in beperst totshow_topic() die woorden representeert door de werkelijke strings.

Parameters

  • topicid (int) – de ID van het te retourneren onderwerp

  • topn (int, optioneel) – aantal van de belangrijkste woorden die geassocieerd zijn met het onderwerp.

geeft

woord – ID-waarschijnlijkheidsparen terug voor de meest relevante woorden die door het onderwerp worden gegenereerd.

Return type

list of (Int, float)

get_topics ()¶

Get the term-topic matrix learn during inference.

geeft

de waarschijnlijkheid voor elk woord in elk onderwerp, vorm (num_topics, vocabulary_size).

Return type

numpy.ndarray

inference(chunk, collect_sstats=False)¶

gegeven een stuk van schaarse documentvectoren, estimate gamma (parameters die de topic gewichten controleren)voor elk document in de chunk.

Deze functie wijzigt het model niet het gehele invoerdeel van het document wordt verondersteld in RAM te passen;het chunken van een groot corpus moet eerder in de pijplijn worden gedaan. Vermijdt het berekenen van de Phi variationalparameter direct met behulp van de optimalisatie gepresenteerd inLee, Seung: algoritmen voor niet-negatieve matrix factorisatie”.

Parameters

  • chunk (list of list of (Int, float)) – het corpus chunk waarop de inferentie stap zal worden uitgevoerd.

  • collect_sstats (bool, optioneel)-indien ingesteld op True, verzamel (en retourneer) ook voldoende statistieken die nodig zijn om de topic-worddistributies van het model bij te werken.

geeft

het eerste element wordt altijd geretourneerd en komt overeen met de toestanden gamma matrix. Het tweede element wordt alleen geretourneerd als collect_sstats = = True en komt overeen met de voldoende statistieken voor de stap m.

Return type

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

init_dir_prior(prior, name)¶

Initialiseer priors voor de Dirichlet distributie.

Parameters

  • prior ({str, lijst van float, numpy.ndarray van float, float}) –

    A-priori geloof op woord waarschijnlijkheid. Als naam = = ‘eta’ dan kan de prior:

    • scalar for a symmetric prior over topic/word probability,

    • vector of length num_words to denote an asymmetric user defined probability for each word,

    • matrix of shape (num_topics, num_words) to assign a probability for each word-topic combination,

    • de tekenreeks ‘auto’ om de asymmetrische voorafgaande te leren van de gegevens.

    als name = = ‘alpha’, dan kan de prior:

    • een 1D array van lengte gelijk aan het aantal verwachte onderwerpen,

    • ‘symmetrisch’: gebruikt een vaste symmetrische prior per onderwerp,

    • ‘asymmetrisch’: gebruikt een vaste genormaliseerde asymmetrische prior van 1.0/(topic_index + sqrt(num_topics)),

    • ‘auto’: leert een asymmetrische prior van het corpus.

  • naam ({‘alpha’, ‘eta’}) – of de prior wordt geparametreerd door de alfavector (1 parameter per onderwerp)of door de eta (1 parameter per unieke term in de woordenschat).

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

Laad een eerder opgeslagen gensim.models.ldamodel.LdaModel uit een bestand.

zie ook

save()

Model opslaan.

Parameters

  • fname (str) – pad naar het bestand waarin het model is opgeslagen.

  • * argumenten-positionele argumenten doorgegeven aan load().

  • * * kwargs-Sleutelwoordargumenten gepropageerd naar load().

voorbeelden

grote arrays kunnen worden teruggeplaatst als alleen-lezen (gedeeld geheugen) door mmap=’r’in te stellen:

>>> 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)¶ berekenen en retourneren per woord waarschijnlijkheid gebonden, met behulp van een stuk van documenten als evaluatie Corpus.

output ook de berekende statistieken, inclusief de perplexity=2^(-bound), om te loggen op INFO-niveau.

Parameters

  • chunk (list of list of (Int, float)) – het corpus chunk waarop de inferentie stap zal worden uitgevoerd.

  • total_docs – int, optioneel) – aantal documenten gebruikt voor de evaluatie van de verwarring.

geeft

De voor elk woord berekende variatiegebonden score terug.

Return type

numpy.ndarray

print_topic(topicno, topn=10)¶

haal een enkel onderwerp als een opgemaakte string.

Parameters

  • topicno (int) – Topic id.

  • topn (int) – aantal woorden van het onderwerp dat zal worden gebruikt.

geeft

tekenreeksrepresentatie van onderwerp terug, zoals ‘ -0.340 * “category” + 0.298 * “$M$ “+ 0.183 * “algebra”+ …’.

Return type

str

print_topics(num_topics=20, num_words=10)¶

haal de meest significante onderwerpen (alias voor de methode show_topics ()).

Parameters

  • num_topics (int, optioneel) – het aantal te selecteren onderwerpen, als -1 – alle onderwerpen in resultaat zullen zijn (geordend naar Betekenis).

  • num_words (int, optioneel) – het aantal op te nemen woorden per onderwerp (gerangschikt naar Betekenis).

geeft

reeks terug met (topic_id,).

Return type

list of (Int, list of (str, float))

save(fname, ignore=(‘state’, ‘dispatcher’), separate=None, *args, **kwargs)¶

sla het model op in een bestand.

grote interne arrays kunnen worden opgeslagen in afzonderlijke bestanden, met fname als prefix.

Notes

Als u van plan bent om modellen te gebruiken in Python 2/3 versies zijn er een paar dingen die u in gedachten moet houden:

  1. de ingelegde Python-woordenboeken werken niet tussen Python-versies

  2. De save-methode slaat niet automatisch alle numpy-arrays afzonderlijk op, alleen degenen die sep_limit overschrijden die in save()zijn ingesteld. Het belangrijkste probleem hier is de alpha array als bijvoorbeeld alpha=’auto’gebruikt.

raadpleeg de sectie wiki recepten voor een voorbeeld over hoe om deze problemen te werken.

zie ook

load()

Laadmodel.

Parameters

  • fname (str) – pad naar het systeembestand waarin het model zal worden voortgezet.

  • negeren (tupel van str, optioneel) – de benoemde attributen in de tupel zullen buiten het gebeitste model worden gelaten. De reden waarom de interne toestand standaard wordt genegeerd, is dat het zijn eigen serialisatie gebruikt in plaats van de één die door deze methode wordt verstrekt.

  • afzonderlijk ({lijst van str, geen}, optioneel) – indien geen-detecteert automatisch Grote numpy/scipy.schaarse arrays in het object dat wordt opgeslagen, en storethem in afzonderlijke bestanden. Dit vermijdt augurk geheugen fouten en maakt mmap ‘ ING grote arraysback op belasting efficiënt. Als de lijst met Str – this-attributen in afzonderlijke bestanden wordt opgeslagen, wordt de automatische controle in dit geval niet uitgevoerd.

  • * argumenten-positionele argumenten doorgegeven aan save().

  • * * kwargs-Sleutelwoordargumenten gepropageerd naar save().

show_topic(topicid, topn=10)¶

krijg de representatie voor een enkel onderwerp. Woorden hier zijn de werkelijke strings, in beperst totget_topic_terms() die woorden representeert door hun woordenschat-ID.

Parameters

  • topicid (int) – de ID van het te retourneren onderwerp

  • topn (int, optioneel) – aantal van de belangrijkste woorden die geassocieerd zijn met het onderwerp.

geeft

woord – kans paren voor de meest relevante woorden gegenereerd door het onderwerp.

Return type

list of (Str, float)

show_topics(num_topics=10, num_words=10, log=False, formatted=True)¶

krijg een representatie voor geselecteerde onderwerpen.

Parameters

  • num_topics (int, optioneel) – aantal te retourneren onderwerpen. In tegenstelling tot LSA, is er geen natuurlijke volgorde tussen de onderwerpen in LDA.De subgroep terugkerende onderwerpen van alle onderwerpen is daarom willekeurig en kan tussen twee ldatrainingen veranderen.

  • num_words (int, optioneel) – aantal woorden dat Voor elk onderwerp moet worden gepresenteerd. Dit zullen de meest relevante woorden zijn (voor elk onderwerp de hoogste probability toegewezen).

  • log (bool, optioneel) – of de uitvoer ook gelogd is, behalve geretourneerd.

  • geformatteerd (bool, optioneel) – geeft aan of de voorstellingen van het onderwerp als tekenreeksen moeten worden opgemaakt. Als False, worden ze geretourneerd as2 tupels van (woord, waarschijnlijkheid).

geeft

een lijst van onderwerpen terug, elk vertegenwoordigd als een string (indien geformatteerd = = True) of word-probabilitypairs.

Return type

list of {str, tuple of(str, float)}

sync_state(current_Elogbeta=None)¶

Geef de toestanden topic probabilities door aan het attribuut van het binnenste object.

Parameters

current_Elogbeta (numpy.ndarray) – Posterior waarschijnlijkheden voor elk onderwerp, optioneel.Indien weggelaten, zal het Elogbeta krijgen van de staat.

top_topics(corpus=None, texts=None, dictionary=None, window_size=None, coherence=’u_mass’, topn=20, processes=-1)¶

Get the topics with the highst coherence score the coherence for each topic.

Parameters

  • corpus – iterable of list of (Int, float), optional) – Corpus in BoW format.

  • teksten (lijst van lijst van str, optioneel) – Tokenized teksten, nodig voor coherentiemodellen die gebruik maken van schuifvensters (d.w.z. coherentie=`c_something’) kansschatting .

  • woordenboek (Dictionary, optioneel) – gensim woordenboek toewijzing van id-woord om corpus aan te maken.Als model.id2word aanwezig is, is dit niet nodig. Als beide worden verstrekt, zal passed dictionary worden gebruikt.

  • window_size (int, optioneel) – Is de grootte van het venster dat gebruikt moet worden voor coherentiemaatregelen met Booleaans schuifvenster als hunprobability estimator. Voor ‘u_mass’ maakt dit niet uit.Als geen-de standaard venstergroottes worden gebruikt die zijn: ‘c_v’ – 110,’ c_uci ‘ – 10,’ c_npmi ‘ – 10.

  • coherentie ({‘u_mass’, ‘c_v’, ‘c_uci’, ‘c_npmi’}, optioneel) – te gebruiken Coherentiemaat.Snelste methode- ‘u_mass’, ‘c_uci’ ook bekend als c_pmi.Voor’ u_mass ‘ corpus moet worden verstrekt, als teksten wordt verstrekt, zal het worden omgezet in Corpus met behulp van het woordenboek. Voor’ c_v’,’ c_uci ‘en’ c_npmi ‘ moeten teksten worden verstrekt (corpus is niet nodig)

  • topn (int, optioneel) – geheel getal dat overeenkomt met het aantal topwoorden dat uit elk onderwerp moet worden geëxtraheerd.

  • processen (int, optioneel) – aantal te gebruiken processen voor de waarschijnlijkheidsschatting fase, elke waarde kleiner dan 1 zal worden geïnterpreteerd alsnum_cpus-1.

geeft

terug elk element in de lijst is een paar van een onderwerp representatie en zijn coherentie score. Onderwerp representaties zijn distributies van woorden, weergegeven als een lijst van paren van woord-ID ‘ s en hun kansen.

Return type

list of (list of (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)¶

Train het model met nieuwe documenten, door EM-itereren over het corpus totdat de onderwerpen convergeren, of totdat het maximum aantal toegestane iteraties is bereikt. corpus moet een herhaling zijn.

in de gedistribueerde modus wordt de e-stap verdeeld over een cluster van machines.

Notes

Deze update ondersteunt ook het bijwerken van een reeds opgeleid model met nieuwe documenten; de twee modellen worden vervolgens samengevoegd in verhouding tot het aantal oude vs.nieuwe documenten. Deze functie is nog steeds experimenteel voor niet-stationairinputstromen. Voor stationaire input (geen onderwerp drift in nieuwe documenten), aan de andere kant, dit gelijk aan theonline update van Matthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.en is gegarandeerd te convergeren voor eventuele verval in (0.5, 1.0). Bovendien kan voor kleinere corpusformaten een verhoging van de offset nuttig zijn (zie Tabel 1 op hetzelfde papier).

Parameters

  • corpus (iterable of list of (Int, float), optional) – stroom van documentvectoren of dunne matrix van vorm (num_documents, num_terms) gebruikt om het model bij te werken.

  • chunksize (int, optioneel) – aantal documenten dat in elk trainingsgedeelte moet worden gebruikt.

  • verval (float, optioneel) –

    een getal tussen (0,5, 1] om te wegen welk percentage van de vorige lambda-waarde wordt vergeten wanneer elk nieuw document wordt onderzocht. Correspondeert met Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach: “Online Learning for Latent Dirichlet Allocation NIPS ’10”.

  • offset (float, optioneel)-

    Hyper-parameter die bepaalt hoeveel we de eerste stappen zullen vertragen de eerste paar iteraties.Correspondeert met Tau_0 van Matthew D. Hoffman, David M. Blei, Francis Bach: “Online Learning for Latent Dirichlet Allocation NIPS ’10”.

  • passes (int, optioneel) – aantal passes door het corpus tijdens de training.

  • update_every (int, optioneel) – aantal te herhalen documenten voor elke update.Ingesteld op 0 voor batch learning, > 1 voor online iteratief leren.

  • eval_every – int, optioneel) – log perplexity wordt geschat om de zoveel updates. Als u dit op één zet, vertraagt u de training met ~2x.

  • iteraties – int, optioneel) – maximaal aantal iteraties door het corpus wanneer u de verdeling van een corpus over het onderwerp wilt afleiden.

  • gamma_threshold – float, optioneel) – minimale verandering in de waarde van de gammaparameters om te blijven herhalen.

  • chunks_as_numpy (bool, optioneel) – of elk stuk dat wordt doorgegeven aan de inferentiestap een numpy moet zijn.ndarray of niet. Numpy kan in sommige settingsturn de term IDs in floats, deze zullen worden omgezet terug in gehele getallen in gevolgtrekking, die aperformance hit loopt. Voor gedistribueerde computing kan het wenselijk zijn om de brokken als numpy te houden.ndarray.

update_alpha(gammat, rho)¶

Update parameters voor de Dirichlet prior op de gewicht van het onderwerp per document.

Parameters

  • gammat (numpy.ndarray – – Vorige onderwerp gewicht parameters.

  • rho (float) – Leerpercentage.

geeft

reeks alfaparameters terug.

Return type

numpy.ndarray

update_eta(lambdat, rho)¶

Update parameters voor de Dirichlet prior op de per-onderwerp woordgewichten.

Parameters

  • lambdat (numpy.ndarray) – vorige lambda parameters.

  • rho (float) – Leerpercentage.

geeft

De bijgewerkte eta parameters terug.

Return type

numpy.ndarray

klasse gensim.models.ldamodel.LdaState(eta, shape, dtype=<klasse ‘numpy.float32 ‘>)¶

Bases: gensim.utils.SaveLoad

Encapsulate information for distributed computation of LdaModel objects.

objecten van deze klasse worden verzonden over het netwerk, dus probeer ze mager te houden om het verkeer te verminderen.

Parameters

  • eta (numpy.ndarray) – de eerdere kansen toegewezen aan elke termijn.

  • vorm (tupel van (int, int)) – vorm van de voldoende statistieken: (aantal te vinden onderwerpen, aantal termen in de woordenschat).

  • dtype (type) – overschrijft de standaard typen nompy array.

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

voeg een event toe aan het attribuut lifecycle_events van dit object, en logt de event ook op log_level.

gebeurtenissen zijn belangrijke momenten tijdens het leven van het object, zoals “model created”,”model saved”, “model loaded”, enz.

het attribuut lifecycle_events wordt gehandhaafd voor de bewerkingen save()en load(). Het heeft geen invloed op het gebruik van het model,maar is nuttig tijdens het debuggen en ondersteuning.

stel zelf in.lifecycle_events = None om dit gedrag uit te schakelen. Oproepen naar add_lifecycle_event () zullen geen gebeurtenissen in self opnemen.lifecycle_events dan.

Parameters

  • event_name – str) – naam van de gebeurtenis. Kan elk label zijn, bijv. “aangemaakt”, “opgeslagen” etc.

  • event (dict)-

    sleutelwaarde-toewijzing om aan zichzelf toe te voegen.lifecycle_events. Moet JSON-serialiseerbaar zijn, dus hou het simpel.Kan leeg zijn.

    Deze methode wordt automatisch de volgende sleutel-waarden van de gebeurtenis, dus je hoeft niet op te geven:

    • datum en tijd: de huidige datum & tijd

    • gensim: de huidige Gensim versie

    • python: de huidige Python versie

    • platform: het huidige platform

    • gebeurtenis: de naam van deze gebeurtenis

  • log_level (int) – log ook de volledige gebeurtenis dict, op het opgegeven logniveau. Ingesteld op False om helemaal niet te loggen.

blend(rhot, other, targetsize=None)¶

voeg de huidige status samen met een andere met behulp van een gewogen gemiddelde voor de voldoende statistieken.

het aantal documenten wordt uitgerekt in beide statusobjecten, zodat ze van vergelijkbare omvang zijn.Deze procedure komt overeen met de stochastische gradiënt update vanhoffman et al. : “Online Learning for Latent Dirichlet Allocation”, zie vergelijkingen (5) en (9).

Parameters

  • rhot (float) – gewicht van de andere toestand in het berekende gemiddelde. Een waarde van 0.0 betekent dat otheris volledig genegeerd. Een waarde van 1.0 betekent dat self volledig genegeerd wordt.

  • Overig (LdaState) – het toestandsobject waarmee het huidige object zal worden samengevoegd.

  • doelgrootte (int, optioneel) – het aantal documenten om beide statussen op te rekken.

blend2(rhot, other, targetsize=None)¶

voeg de huidige toestand samen met een andere met behulp van een gewogen som voor de voldoende statistieken.

in tegenstelling tot blend(), worden de voldoende statistieken niet geschaald voor de aggregatie.

Parameters

  • rhot (float) – ongebruikt.

  • Overig (LdaState) – het toestandsobject waarmee het huidige object zal worden samengevoegd.

  • doelgrootte (int, optioneel) – het aantal documenten om beide statussen op te rekken.

get_Elogbeta()¶

haal de log (posterior) waarschijnlijkheden voor elk onderwerp.

geeft

Posterior probabilities voor elk onderwerp.

Return type

numpy.ndarray

get_lambda()¶

krijg de parameters van de posterior over de onderwerpen, ook wel aangeduid als”de onderwerpen”.

geeft

Parameters van de posterieure waarschijnlijkheid over onderwerpen.

Return type

numpy.ndarray

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

Laad een eerder opgeslagen status van schijf.

overschrijft load door de dtype-parameteraf te dwingen om achterwaartse compatibiliteit te garanderen.

Parameters

  • fname (str) – pad naar bestand dat het benodigde object bevat.

  • args (object) – positionele parameters die moeten worden doorgegeven aan klasse:~gensim.utils.SaveLoad.laad

  • kwargs – object)-Sleutelwoordparameters die moeten worden doorgegeven aan klasse:~gensim.utils.SaveLoad.load

geeft

de toestand terug die uit het gegeven bestand is geladen.

Return type

LdaState

merge(other)¶

voeg het resultaat van een e-stap van één knooppunt samen met dat van een andere knooppunt (Som voldoende statistieken op).

het samenvoegen is triviaal en na het samenvoegen van alle clusterknooppunten, hebben we hetzelfde resultaat als wanneer de berekening op een enkel knooppunt werd uitgevoerd (geen approximatie).

Parameters

overige (LdaState) – het toestandsobject waarmee het huidige object zal worden samengevoegd.

reset ()¶

bereid de status voor op een nieuwe EM iteratie (reset voldoende statistieken).

save(fname_or_handle, separate=None, sep_limit=10485760, ignore=frozenset ({}), pickle_protocol=4)¶

sla het object op in een bestand.

Parameters

  • fname_or_handle – str of bestand-achtig)-pad naar uitvoerbestand of reeds geopend bestand-achtig object. Als het object een bestandshandle is, wordt er geen speciale array-afhandeling uitgevoerd, alle attributen worden in hetzelfde bestand opgeslagen.

  • afzonderlijk (lijst van str of geen, optioneel) –

    indien geen, detecteer automatisch Grote numpy/scipy.schaarse arrays in het object dat wordt opgeslagen, en storethem in afzonderlijke bestanden. Dit voorkomt geheugenfouten voor grote objecten en maakt het ook mogelijk om de grote arrays in kaart te brengen voor het efficiënt laden en delen van de grote arrays in RAM tussen meerdere processen.

    If lijst van str: sla deze attributen op in afzonderlijke bestanden. De automatische maatcontrole wordt in dit geval niet uitgevoerd.

  • sep_limit (int, optioneel) – sla arrays die kleiner zijn dan deze niet afzonderlijk op. In bytes.

  • negeren (frozenset van str, optioneel) – attributen die helemaal niet zouden moeten worden opgeslagen.

  • pickle_protocol – int, optioneel) – protocolnummer voor pickle.

zie ook

load()

object uit bestand Laden.

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

Update een gegeven prior met behulp van Newton ‘ s methode, beschreven inj. Huang: “maximale waarschijnlijkheid schatting van Dirichlet Distributieparameters”.

Parameters

  • prior – lijst van float) – de prior voor elk mogelijk resultaat bij de vorige iteratie (wordt bijgewerkt).

  • N – int) – aantal waarnemingen.

  • logphat (lijst van float) – log waarschijnlijkheden voor de huidige schatting, ook wel “voldoende geobserveerde statistieken” genoemd.

  • rho (float) – Leerpercentage.

geeft

De bijgewerkte voorafgaande.

Return type

lijst van float

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.