használati példák
képezzen ki egy LDA modellt egy gensim corpus segítségével
>>> 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)
mentsen el egy modellt lemezre, vagy töltsön be újra egy előre betanított modellt
>>> 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)
lekérdezés, a modell új, láthatatlan dokumentumokat használ
>>> lda.update(other_corpus)>>> vector = lda
sok paraméter állítható be, hogy optimalizálja a képzést az adott esethez
>>> lda = LdaModel(common_corpus, num_topics=50, alpha='auto', eval_every=5) # learn asymmetric alpha from data
class gensim.models.ldamodel.
LdaModel
(corpus=None, num_topics=100, id2word=None, distributed=False, chunksize=2000, passes=1, update_every=1, alpha=’symmetric’, eta=None, decay=0.5, offset=1.0, eval_every=10, iterations=50, gamma_threshold=0.001, minimum_probability=0.01, random_state=None, ns_conf=None, minimum_phi_value=0.01, per_word_topics=False, callbacks=None, dtype=<class ‘numpy.float32’>)¶
Bases: gensim.interfaces.TransformationABC
gensim.models.basemodel.BaseTopicModel
vonat és használat Online látens Dirichlet Allocation (OLDA) modellek bemutatott inHoffman et al. : “Online tanulás a látens Dirichlet Allokációhoz”.
példák
modell inicializálása egy gensim korpusz használatával
>>> from gensim.test.utils import common_corpus>>>>>> lda = LdaModel(common_corpus, num_topics=10)
ezután új, láthatatlan dokumentumokra következtethet a témakör eloszlására.
>>> doc_bow = >>> doc_lda = lda
a modell frissíthető (betanítható) új dokumentumokkal.
>>> # In practice (corpus =/= initial training corpus), but we use the same here for simplicity.>>> other_corpus = common_corpus>>>>>> lda.update(other_corpus)
a modell tartóssága aload()
és save()
módszerekkel érhető el.
paraméterek
-
corpus (iterálható listája (int, float), opcionális) – patak dokumentum vektorok vagy ritka mátrix alakja (num_documents, num_terms).Ha van egy CSC in-memory mátrixa, akkor a gensim segítségével átalakíthatja astreamed corpus-ba.matutilok.Sparse2Corpus.Ha nincs megadva, a modell képzetlen marad (feltehetően azért, mert kézzel szeretné hívni a
update()
számot). -
num_topics (Int, opcionális) – a kért látens témák száma, amelyeket ki kell vonni a képzési korpuszból.
-
id2word ({dict of (int, str),
gensim.corpora.dictionary.Dictionary
}) – leképezés szóazonosítókról szavakra. A szókincs méretének meghatározására, valamint a fordításratörés és téma nyomtatás. -
elosztott (bool, opcionális) – az elosztott számítástechnikát kell-e használni a képzés felgyorsításához.
-
chunksize (Int, opcionális) – az egyes képzési darabokban használandó dokumentumok száma.
-
passzok (Int, opcionális) – a korpuszon való áthaladások száma edzés közben.
-
update_every (Int, opcionális) – az egyes frissítésekhez iterálandó dokumentumok száma.Állítsa 0-ra a kötegelt tanuláshoz, > 1 az online iteratív tanuláshoz.
-
alfa ({numpy.ndarray, str}, opcionális) –
beállítható egy 1D hosszúságú tömbre, amely megegyezik a várt témák számával, amelyek kifejezik az a-priori hitünket az egyes témák valószínűségéhez.Alternatív megoldásként alapértelmezett előzetes kiválasztási stratégiák alkalmazhatók egy karakterlánc megadásával:
-
‘symmetric’: Default; fix szimmetrikus priort használ témánként,
-
‘aszimmetrikus’: rögzített normalizált aszimmetrikus priort használ 1.0 / (topic_index + sqrt(num_topics)),
-
‘auto’: aszimmetrikus priort tanul a corpus (nem érhető el, ha elosztva==igaz).
-
-
eta ({float, np.array, str}, opcionális) –
a-priori meggyőződés a szó valószínűségéről, ez lehet:
-
skalár egy szimmetrikus prior felett téma/szó valószínűsége,
-
vektor hossza num_words jelölésére aszimmetrikus felhasználó által meghatározott valószínűség minden szó,
-
mátrix alakja (num_topics, num_words) rendelni egy valószínűség minden szó-téma kombináció,
-
Az ‘Auto’ karakterlánc az aszimmetrikus prior megismeréséhez az adatokból.
-
-
decay (float, opcionális) – egy szám között (0.5, 1] annak súlyozására, hogy az előző lambda-érték hány százalékát felejtik elamikor minden új dokumentumot megvizsgálnak. Megfelel Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:”Online tanulás látens Dirichlet Allocation NIPS’10”.
-
offset (float, opcionális)-
Hyper-paraméter, amely szabályozza, hogy mennyire lassítjuk az első lépéseket az első néhány iteráció.Megfelel Tau_0 Matthew D. Hoffman, David M. Blei, Francis Bach:”Online tanulás látens Dirichlet allokáció NIPS’10”.
-
eval_every (Int, opcionális) – Log zavarodottság becsült minden, hogy sok frissítést. Ennek az egynek a beállítása ~2x – rel lelassítja az edzést.
-
iterációk (Int, opcionális) – a korpuszon keresztüli iterációk maximális száma, amikor a korpusz témaeloszlására következtetünk.
-
gamma_threshold (float, opcionális) – a gamma paraméterek értékének minimális változása az iteráció folytatásához.
-
minimum_probability (float, opcionális) – a küszöbértéknél kisebb valószínűséggel rendelkező témák kiszűrésre kerülnek.
-
random_state ({np.véletlen.RandomState, int}, opcionális) – vagy egy randomState objektum, vagy egy mag, hogy létrehozzon egyet. Hasznos a reprodukálhatósághoz.
-
ns_conf (dict of (str, object), opcionális) – kulcsszó paraméterek szaporított
gensim.utils.getNS()
ahhoz, hogy a Pyro4 Nameserved.Csak akkor használható, ha a distributed értéke True. -
minimum_phi_value (float, opcionális) – ha a per_word_topics igaz, ez a valószínűségek kifejezés alsó határát jelenti.
-
per_word_topics (bool) – ha igaz, a modell kiszámítja a témák listáját is, csökkenő sorrendben rendezve az egyes szavak legvalószínűbb témáihoz, valamint azok phi-értékeit megszorozva a funkció hosszával (azaz a szavak számával).
-
visszahívások (a
Callback
listája) – metrikus visszahívások a modell értékelési mutatóinak naplózásához és megjelenítéséhez edzés közben. -
dtype ({numpy.float16, numpy.float32, numpy.float64}, opcionális)-a modellen belüli számítások során használandó adattípus. Minden bemenet is átalakításra kerül.
add_lifecycle_event
(event_name, log_level=20, **event)
csatoljon egy eseményt ennek az objektumnak a lifecycle_events attribútumába, valamint az eseményt log_level-en is naplózhatja.
az események fontos pillanatok az objektum életében, például “létrehozott modell”,”mentett modell”, “betöltött modell” stb.
a lifecycle_events attribútum megmarad az objektum save()
és load()
műveleteiben. Nincs hatással a modell használatára, de hasznos a hibakeresés és a támogatás során.
állítsa be önmagát.lifecycle_events = nincs ennek a viselkedésnek a letiltásához. Hívások add_lifecycle_event () nem rögzíti eseményeket önálló.lifecycle_events akkor.
paraméterek
-
event_name (str) – az esemény neve. Bármilyen címke lehet, pl. “létrehozott”, “tárolt” stb.
-
event (dict) –
kulcs-érték leképezés, hogy hozzáfűzze magát.lifecycle_events. JSON-szerializálhatónak kell lennie, ezért legyen egyszerű.Lehet üres.
Ez a módszer automatikusan hozzáadja a következő kulcsértékeket az eseményhez, így nem kell megadnia őket:
-
datetime: az aktuális dátum & idő
-
gensim: az aktuális Gensim verzió
-
python: az aktuális Python verzió
-
platform: az aktuális platform
-
esemény: az esemény neve
-
-
log_level (int) – a teljes esemény dict naplózása a megadott naplószinten. Állítsa hamisra, hogy egyáltalán ne jelentkezzen be.
bound
(corpus, gamma=None, subsample_ratio=1.0)
becsülje meg a korpuszból származó dokumentumok variációs kötését E_q – E_q-ként.
paraméterek
-
corpus (iterable of list of (int, float), opcionális) – Dokumentumvektorok vagy ritka alakmátrix (num_documents, num_terms), amelyeket a variációs határok becslésére használnak.
-
gamma (numpy.ndarray, opcionális) – téma súly variációs paraméterek az egyes dokumentumokhoz. Ha nem szállítják, akkor a modellből következtetnek.
-
subsample_ratio (float, opcionális) – a teljes korpusz százalékos aránya, amelyet az átadott korpusz argumentum képvisel (ha ez minta volt).Állítsa 1,0-ra, ha az egész korpusz elhaladt.Ezt multiplikatív tényezőként használják a valószínűség skálázásáramegfelelő módon.
visszaadja
az egyes dokumentumokra kiszámított variációs kötött pontszámot.
visszatérési típus
numpy.ndarray
clear
() ++
törölje a modell állapotát, hogy felszabadítson egy kis memóriát. Az elosztott megvalósításban használják.
diff
(other, distance=’kullback_leibler’, num_words=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True)
számolja ki a különbséget a téma eloszlásában két modell között: self és other.
paraméterek
-
egyéb (
LdaModel
) – a modell, amely összehasonlításra kerül az aktuális objektummal. -
távolság ({‘kullback_leibler’, ‘hellinger’,’ jaccard’,’ jensen_shannon’}) – a távolságmérő, amellyel a különbséget ki lehet számítani.
-
num_words (Int, opcionális) – a legrelevánsabb szavak száma, ha távolság == ‘jaccard’. Témák kommentálására is használják.
-
n_ann_terms (Int, opcionális) – a témák közötti metszéspontban/szimmetrikus különbségben lévő szavak maximális száma. Megjegyzésekhez használják.
-
átlós (bool, opcionális) – szükség van-e az azonos témák közötti különbségre (a különbségmátrix átlója).
-
megjegyzés (bool, opcionális) – vissza kell-e adni a két téma közötti szavak metszéspontját vagy különbségét.
-
normed (bool, opcionális) – a mátrixot normalizálni kell-e vagy sem.
visszatér
-
numpy.ndarray-különbség mátrix. Minden elem megfelel a két téma közötti különbségnek, alak (én.num_topics, egyéb.num_topics)
-
numpy.ndarray, opcionális-annotációs mátrix, ahol minden párhoz belefoglaljuk a két téma metszéspontjából származó szót,a szót pedig a két téma szimmetrikus különbségéből. Csak akkor tartalmazza, ha a megjegyzés = = igaz.Alak (self.num_topics, other_model.num_topics, 2).
példák
Szerezd meg a két modell által levezetett témapárok közötti különbségeket
>>> 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)
végezze el a következtetést egy darab dokumentumon, gyűjtsük össze az összegyűjtött elegendő statisztikát.
paraméterek
-
darab (lista listája (int, úszó)) – a corpus darab, amelyen a következtetési lépést végrehajtják.
-
állapot (
LdaState
, opcionális) – a frissítendő állapot az újonnan felhalmozott elegendő statisztikával. Ha nincs, a modellekmagát.állapot frissül.
visszaadja
Gamma paraméterek vezérli a téma súlyok, alak (len (darab), önálló.num_topics).
visszatérési típus
numpy.ndarray
do_mstep
(rho, egyéb, extra_pass=False): használjon lineáris interpolációt a meglévő témák ésösszegyűjtött elegendő statisztikát a témák frissítéséhez. paraméterek
-
rho (float) – tanulási Arány.
-
egyéb (
LdaModel
) – az a modell, amelynek elegendő statisztikája lesz a témák frissítéséhez. -
extra_pass (bool, opcionális) – szükséges-e ehhez a lépéshez további átadás a korpuszon.
get_document_topics
(bow, minimum_probability=None, minimum_phi_value=None, per_word_topics=False)
szerezd meg az adott dokumentum témaelosztását.
paraméterek
-
íj (corpus: listája (int, úszó)) – a dokumentum íj formátumban.
-
minimum_probability (float) – a küszöbértéknél alacsonyabb valószínűségű témákat elvetjük.
-
minimum_phi_value (float) –
Ha a per_word_topics igaz, akkor ez a valószínűségek kifejezés alsó határát jelenti.
Ha nincs értékre van állítva, az 1E-8 érték a 0S megelőzésére szolgál.
-
per_word_topics (bool) – ha igaz, ez a függvény két extra listát is visszaad, amint azt a “visszatér” szakasz ismerteti.
visszatér
-
listája (int, float) – téma Eloszlás az egész dokumentumot. A lista minden eleme egy pár téma azonosítója, ésa hozzárendelt valószínűség.
-
listája (int, listája (int, float), opcionális – a legvalószínűbb témák szavanként. A lista minden eleme egy pár szó azonosítója, valamint egy listatémák a szó relevanciája szerint rendezve. Csak akkor tér vissza, ha a per_word_topics értéke True.
-
listája (int, float listája), opcionális – Phi relevancia értékek, szorozva a funkció hosszával, minden szó-téma kombinációhoz.A lista minden eleme egy szó azonosítójának párja, valamint a szó és az egyes témák közötti phi értékek listája. Csak akkor tér vissza, ha a per_word_topics értéke True.
get_term_topics
(word_id, minimum_probability=None)
szerezd meg az adott szó legfontosabb témáit.
paraméterek
-
word_id (int) – az a szó, amelyre a téma eloszlását kiszámítják.
-
minimum_probability (float, opcionális) – a küszöbérték alatti hozzárendelt valószínűségű témákat elvetjük.
visszaadja
az ID és a hozzárendelt valószínűség párjait, az adott szó relevanciája szerint rendezve.
visszatérési típus
listája(int, float)
get_topic_terms
(topicid, topn=10)
szerezd meg az ábrázolást egyetlen témához. Szavak az egész azonosítók, a constrast a show_topic()
, amely képviseli a szavakat a tényleges karakterláncok.
paraméterek
-
topicid (int) – a visszaadandó téma azonosítója
-
topn (Int, opcionális) – a témához társított legjelentősebb szavak száma.
Szóazonosító – valószínűségi párokat ad vissza a téma által generált legrelevánsabb szavakhoz.
visszatérési típus
listája (int, float)
get_topics
() a következtetés során megtanult téma mátrix megszerzése. visszaadja
az egyes szavak valószínűségét az egyes témákban, alakzatokban (num_topics, vocabulary_size).
visszatérési típus
numpy.ndarray
inference
(chunk, collect_sstats=False)
mivel egy darab ritka dokumentumvektor, becsülje meg a gamma-t (a téma súlyait szabályozó paraméterek)a darab minden egyes dokumentumához.
Ez a funkció nem módosítja azt a modellt, amelyről feltételezzük, hogy a dokumentum teljes bemeneti darabja belefér a RAM-ba;egy nagy korpusz darabolását korábban kell elvégezni a folyamatban. Elkerüli a phi variáció kiszámításátparaméter közvetlenül a bemutatott optimalizálás felhasználásával inLee, Seung: algoritmusok a nem negatív mátrix faktorizáláshoz”.
paraméterek
-
darab (lista listája (int, úszó)) – a corpus darab, amelyen a következtetési lépést végrehajtják.
-
collect_sstats (bool, opcionális)-ha True értékre van állítva, akkor gyűjtsön (és adjon vissza) elegendő statisztikát a modell témájának frissítéséhez-worddistributions.
visszatér
az első elem mindig visszatér, és megfelel az államok gamma mátrix. A második elem csak akkor tér vissza, ha collect_sstats = = True, és megfelel az M lépéshez elegendő statisztikának.
visszatérési típus
(numpy.ndarray ,numpy.ndarray, None})
init_dir_prior
(prior, név) a Dirichlet-Eloszlás prior-jainak inicializálása. paraméterek
-
előzetes ({str, float listája, numpy.ndarray float, float}) –
a-priori hit szó valószínűsége. Ha name = = ‘eta’, akkor a prior lehet:
-
skalár egy szimmetrikus prior felett téma/szó valószínűsége,
-
vektor hossza num_words jelölésére aszimmetrikus felhasználó által meghatározott valószínűség minden szó,
-
mátrix alakja (num_topics, num_words) rendelni egy valószínűség minden szó-téma kombináció,
-
Az ‘Auto’ karakterlánc az aszimmetrikus prior megismeréséhez az adatokból.
Ha name == ‘alpha’, akkor a prior lehet:
-
a várt témák számával megegyező hosszúságú 1D tömb,
-
‘szimmetrikus’: témánként rögzített szimmetrikus priort használ,
-
‘aszimmetrikus’: 1.0/(topic_index + sqrt(num_topics)),
-
‘Auto’: aszimmetrikus priort tanul meg a korpuszból.
-
-
név ({‘alpha’, ‘eta’}) – függetlenül attól, hogy a priort az alfa vektor (1 paraméter témánként)vagy az eta (1 paraméter egyedi kifejezésenként a szókincsben) paraméterezi-e.
classmethod load
(fname, *args, **kwargs)
töltsön be egy korábban mentett gensim.models.ldamodel.LdaModel
fájlból.
Lásd még
save()
Modell mentése.
paraméterek
-
fname (str) – a modell tárolásának elérési útja.
-
*args-pozicionális argumentumok szaporítva
load()
. -
**kwargs-kulcsszó argumentumok szaporított
load()
.
példák
a nagy tömböket vissza lehet állítani írásvédett memóriaként (megosztott memória) az mmap=’r’beállításával:
>>> 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)
számolja ki és adja vissza szavanként valószínűség kötött, egy darab dokumentumok értékelési Corpus.
a kiszámított statisztikákat is kiírja, beleértve a zavart=2^(-kötött), az információs szinten történő bejelentkezéshez.
paraméterek
-
darab (lista listája (int, úszó)) – a corpus darab, amelyen a következtetési lépést végrehajtják.
-
total_docs (Int, opcionális) – a zavarosság értékeléséhez használt dokumentumok száma.
visszaadja
az egyes szavakra kiszámított variációs kötött pontszámot.
visszatérési típus
numpy.ndarray
print_topic
(topicno, topn=10)
egyetlen témát kap formázott karakterláncként.
paraméterek
-
topicno (int) – téma azonosítója.
-
topn (int) – a használt szavak száma a témából.
a téma
karakterlánc-ábrázolását adja vissza, például ‘-0.340 * “kategória” + 0.298 * “$m$ “+ 0.183 * “algebra”+…’.
visszatérési típus
str
print_topics
(num_topics=20, num_words=10)
szerezd meg a legjelentősebb témákat (alias a show_topics() módszerhez).
paraméterek
-
num_topics (Int, opcionális) – a kiválasztandó témák száma, ha -1 – az összes téma eredményben lesz (szignifikancia szerint rendezve).
-
num_words (Int, opcionális) – a témák szerint beillesztendő szavak száma (jelentőség szerint rendezve).
szekvenciát ad vissza (topic_id, ).
visszatérési típus
lista (int, lista (str, float))
save
(fname, ignore=(‘állapot’, ‘diszpécser’), külön=nincs, *args, **kwargs)
mentse el a modellt egy fájlba.
a nagy belső tömbök külön fájlokban tárolhatók, az fname előtaggal.
Megjegyzések
Ha a Python 2/3 verzióiban modelleket kíván használni, néhány dolgot szem előtt kell tartani:
a pácolt Python szótárak nem fognak működni a Python verziókban
a mentési módszer nem menti automatikusan az összes numpy tömböt külön-külön, csak azokat, amelyek meghaladják a sep_limit beállítást
save()
. A fő aggodalom itt az alfa tömb, ha például alpha=’auto’ – t használ.
kérjük, olvassa el a wiki receptek részetpéldául arra, hogyan lehet megoldani ezeket a problémákat.
Lásd még
load()
betöltési modell.
paraméterek
-
fname (str) – a rendszerfájl elérési útja, ahol a modell megmarad.
-
ignore (Str tuple, opcionális) – a tuple nevű attribútumai kimaradnak a pácolt modellből. A belső állapot alapértelmezés szerint figyelmen kívül hagyásának oka az, hogy a saját sorosítását használja, nem pedig az ezzel a módszerrel biztosított.
-
külön ({Str listája, None}, opcionális) – ha nincs – automatikusan észleli a nagy numpy / scipy-t.ritka tömbök a tárolt objektumban, és tároljákkülön fájlokba. Ezzel elkerülhető a savanyúság memória hibák és lehetővé teszi mmap ‘ ing nagy arraysback terhelés hatékonyan. Ha az str listája-Ez az attribútum külön fájlokban tárolódik, az automatikus ellenőrzés ebben az esetben nem történik meg.
-
*args-pozicionális argumentumok szaporítva
save()
. -
**kwargs-kulcsszó argumentumok szaporított
save()
.
show_topic
(topicid, topn=10)
szerezd meg az ábrázolást egyetlen témához. Szavak itt vannak a tényleges karakterláncok, a constrast-banget_topic_terms()
amely a szavakat a szókincsazonosítójuk alapján képviseli.
paraméterek
-
topicid (int) – a visszaadandó téma azonosítója
-
topn (Int, opcionális) – a témához társított legjelentősebb szavak száma.
szó – valószínűségi párokat ad vissza a téma által generált legrelevánsabb szavakhoz.
visszatérési típus
listája(str, float)
show_topics
(num_topics=10, num_words=10, log=False, formázott=True)
kap egy ábrázolást a kiválasztott témákhoz.
paraméterek
-
num_topics (Int, opcionális) – A visszaküldendő témák száma. Az LSA-val ellentétben az LDA témái között nincs természetes sorrend.Az összes téma visszaküldött témák részhalmaza ezért önkényes, és két LDAtraining futás között változhat.
-
num_words (Int, opcionális) – az egyes témákhoz bemutatandó szavak száma. Ezek lesznek a legrelevánsabb szavak (a legmagasabbaklehetőség minden témához).
-
log (bool, opcionális) – hogy a kimenet is naplózva, amellett, hogy vissza.
-
formázott (bool, opcionális) – a témaábrázolásokat karakterláncként kell-e formázni. Ha hamis, akkor az as2-t adják vissza (szó, valószínűség).
visszaadja
a témák listáját, mindegyik karakterláncként (ha formázott == True) vagy word-probabilitypairs.
visszatérési típus
{str, tuple of (str, float)}
sync_state
(current_Elogbeta=None)
propagálja az államok téma valószínűségeit a belső objektum attribútumára.
paraméterek
current_Elogbeta (numpy.ndarray) – minden téma hátsó valószínűsége, opcionális.Ha elhagyjuk, akkor kap Elogbeta állam.
top_topics
(corpus=None, texts=None, dictionary=None, window_size=None, koherencia=’u_mass’, topn=20, folyamatok=-1)
szerezd meg a legmagasabb koherenciájú témákat pontszám az egyes témák koherenciája.
paraméterek
-
corpus (iterálható listája (int, úszó), opcionális) – Corpus íj formátumban.
-
szövegek (az str listájának listája, opcionális) – tokenizált szövegek, amelyek a csúszó ablak alapú koherencia modellekhez szükségesek (pl. koherencia=`c_something’) valószínűségbecslő .
-
szótár (
Dictionary
, opcionális) – gensim szótár leképezése id szó létrehozásához corpus.Ha a model. id2word jelen van, erre nincs szükség. Ha mindkettő rendelkezésre áll, a pass dictionary kerül felhasználásra. -
window_size (Int, opcionális) – az az ablak mérete, amelyet a koherencia mérésére kell használni a logikai tolóablak használatával, mint a valószínűség becslője. Az ‘u_mass’ esetében ez nem számít.Ha nincs-Az alapértelmezett ablakméretek a következők: ‘c_v’ – 110,’ c_uci ‘ – 10,’ c_npmi ‘ – 10.
-
koherencia ({‘u_mass’,’ c_v’,’ c_uci’,’ c_npmi’}, nem kötelező) – a használandó koherencia mértéke.Leggyorsabb módszer – ‘u_mass’, ‘c_uci’, más néven c_pmi.Az ‘u_mass’ korpuszt meg kell adni, ha szövegek vannak megadva, akkor a szótár segítségével corpussá konvertálódik. A’ c_v’,’ c_uci ‘és’ c_npmi ‘ szövegeket kell megadni (korpusz nem szükséges)
-
topn (Int, opcionális) – egész szám, amely megfelel az egyes témákból kinyerendő felső szavak számának.
-
folyamatok (Int, opcionális) – a valószínűségbecslési fázishoz használandó folyamatok száma, az 1-nél kisebb értéket num_cpus-1-ként értelmezzük.
visszaadja
a lista minden eleme egy pár téma reprezentáció és a koherencia pontszám. Téma reprezentációa szavak eloszlása, amely a szóazonosítók párjainak és valószínűségeiknek a listájaként jelenik meg.
visszatérési típus
listája (listája (int, str), úszó)
update
(corpus, chunksize=None, decay=None, offset=None, passes=None, update_every=None, eval_every=None, iterációk=None, gamma_threshold=None, chunks_as_numpy=False) iteráció a Korpuszon keresztül, amíg a témák konvergálnak, vagy amígaz engedélyezett iterációk maximális száma elérésre kerül. a korpusznak iterálhatónak kell lennie.
elosztott módban az E lépés egy gépcsoportra oszlik.
Megjegyzések
Ez a frissítés egy már betanított modell frissítését is támogatja Új dokumentumokkal; a két modell ezután a régi és az új dokumentumok számának arányában egyesül. Ez a funkció még mindig kísérleti jellegű a nem állomásosinput adatfolyamok esetében. A helyhez kötött bemenethez (az új dokumentumokban nincs téma sodródás) viszont ez megegyezik a Matthew D. Hoffman, David M. Blei, Francis Bach online frissítése:”Online tanulás a látens Dirichlet Allokációhoz NIPS’10”.és garantáltan konvergál minden bomláshoz (0,5, 1,0). Ezenkívül kisebb korpuszméretek esetén előnyös lehet az eltolás növelése (lásd az 1.táblázatot ugyanabban a tanulmányban).
paraméterek
-
corpus (iterable of list of (int, float), opcionális) – Dokumentumvektorok vagy ritka alakmátrix (num_documents, num_terms), amelyeket a modell frissítésére használnak.
-
chunksize (Int, opcionális) – az egyes képzési darabokban használandó dokumentumok száma.
-
decay (float, opcionális) –
egy szám (0,5, 1] között, hogy az előző lambda érték hány százalékát felejtsék el, amikor minden új dokumentumot megvizsgálnak. Megfelel Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:”Online tanulás látens Dirichlet Allocation NIPS’10”.
-
offset (float, opcionális)-
Hyper-paraméter, amely szabályozza, hogy mennyire lassítjuk az első lépéseket az első néhány iteráció.Megfelel Tau_0 Matthew D. Hoffman, David M. Blei, Francis Bach:”Online tanulás látens Dirichlet allokáció NIPS’10”.
-
passzok (Int, opcionális) – a korpuszon való áthaladások száma edzés közben.
-
update_every (Int, opcionális) – az egyes frissítésekhez iterálandó dokumentumok száma.Állítsa 0-ra a kötegelt tanuláshoz, > 1 az online iteratív tanuláshoz.
-
eval_every (Int, opcionális) – Log zavarodottság becsült minden, hogy sok frissítést. Ennek az egynek a beállítása ~2x – rel lelassítja az edzést.
-
iterációk (Int, opcionális) – a korpuszon keresztüli iterációk maximális száma, amikor a korpusz témaeloszlására következtetünk.
-
gamma_threshold (float, opcionális) – a gamma paraméterek értékének minimális változása az iteráció folytatásához.
-
chunks_as_numpy (bool, opcionális) – hogy a következtetési lépéshez átadott minden darabnak numpy-nak kell-e lennie.ndarray vagy sem. A Numpy egyes beállításokban megfordíthatja az azonosítók kifejezést úszókká,ezeket a következtetésekben egész számokká alakítják át, ami aperformance hit. Az elosztott számításhoz kívánatos lehet a darabokat numpy-ként tartani.ndarray.
update_alpha
(gammat, rho)
a Dirichlet prior paramétereinek frissítése a dokumentumonkénti témasúlyokon.
paraméterek
-
gammat (numpy.ndarray) – az előző téma súlyparaméterei.
-
rho (float) – tanulási Arány.
az alfa paraméterek
sorrendjét adja vissza.
visszatérési típus
numpy.ndarray
update_eta
(lambdat, rho) ++
a Dirichlet prior paramétereinek frissítése a témánkénti szó súlyokon.
paraméterek
-
lambdat (numpy.ndarray) – korábbi lambda paraméterek.
-
rho (float) – tanulási Arány.
visszaadja
a frissített eta paramétereket.
visszatérési típus
numpy.ndarray
class gensim.models.ldamodel.
LdaState
(eta, alak, dtype=<class ‘numpy.float32 ‘>)
bázisok: gensim.utils.SaveLoad
információk beágyazása a LdaModel
objektumok elosztott kiszámításához.
ennek az osztálynak az objektumai a hálózaton keresztül kerülnek elküldésre, ezért próbálja meg tartani őketcsökkenti a forgalmat.
paraméterek
-
eta (numpy.ndarray) – az egyes ciklusokhoz rendelt előzetes valószínűségek.
-
alak (tuple of (int, int)) – alakja a megfelelő statisztika: (témák száma megtalálható, kifejezések száma a szókincsben).
-
dtype (típus) – felülbírálja a numpy tömb alapértelmezett típusait.
add_lifecycle_event
(event_name, log_level=20, **event)
csatoljon egy eseményt ennek az objektumnak a lifecycle_events attribútumába, valamint az eseményt log_level-en is naplózhatja.
az események fontos pillanatok az objektum életében, például “létrehozott modell”,”mentett modell”, “betöltött modell” stb.
a lifecycle_events attribútum megmarad az objektum save()
és load()
műveleteiben. Nincs hatással a modell használatára, de hasznos a hibakeresés és a támogatás során.
állítsa be önmagát.lifecycle_events = nincs ennek a viselkedésnek a letiltásához. Hívások add_lifecycle_event () nem rögzíti eseményeket önálló.lifecycle_events akkor.
paraméterek
-
event_name (str) – az esemény neve. Bármilyen címke lehet, pl. “létrehozott”, “tárolt” stb.
-
event (dict) –
kulcs-érték leképezés, hogy hozzáfűzze magát.lifecycle_events. JSON-szerializálhatónak kell lennie, ezért legyen egyszerű.Lehet üres.
Ez a módszer automatikusan hozzáadja a következő kulcsértékeket az eseményhez, így nem kell megadnia őket:
-
datetime: az aktuális dátum & idő
-
gensim: az aktuális Gensim verzió
-
python: az aktuális Python verzió
-
platform: az aktuális platform
-
esemény: az esemény neve
-
-
log_level (int) – a teljes esemény dict naplózása a megadott naplószinten. Állítsa hamisra, hogy egyáltalán ne jelentkezzen be.
blend
(rhot, other, targetsize=None)
egyesítse az aktuális állapotot egy másikkal a megfelelő statisztikák súlyozott átlagának felhasználásával.
a dokumentumok száma mindkét állapotobjektumban megnyúlik, így összehasonlítható nagyságúak.Ez az eljárás megfelel a sztochasztikus gradiens frissítésnekhoffman et al. : “Online tanulás a látens Dirichlet Allokációhoz”, lásd az (5) és (9) egyenleteket.
paraméterek
-
rhot (float) – a másik állapot súlya a számított átlagban. A 0,0 érték azt jelenti, hogy másteljesen figyelmen kívül hagyja. Az 1,0 érték azt jelenti, hogy az én teljesen figyelmen kívül marad.
-
egyéb (
LdaState
) – az állapotobjektum, amellyel az aktuális egyesítésre kerül. -
targetsize (Int, opcionális) – azon dokumentumok száma, amelyekre mindkét állapotot ki kell terjeszteni.
blend2
(rhot, other, targetsize=None)
egyesítse az aktuális állapotot egy másikkal, súlyozott összeggel a megfelelő statisztikákhoz.
ellentétben blend()
, a megfelelő statisztikák nem skálázottprior összesítés.
paraméterek
-
rhot (float) – nem használt.
-
egyéb (
LdaState
) – az állapotobjektum, amellyel az aktuális egyesítésre kerül. -
targetsize (Int, opcionális) – azon dokumentumok száma, amelyekre mindkét állapotot ki kell terjeszteni.
get_Elogbeta
() ++
Szerezd meg az egyes témák log (posterior) valószínűségeit.
visszaadja
Posterior valószínűségek minden téma.
visszatérési típus
numpy.ndarray
get_lambda
()
szerezd meg a hátsó paramétereket a témák felett, más néven”a témák”.
visszaadja a hátsó valószínűség
paramétereit a témákhoz képest.
visszatérési típus
numpy.ndarray
classmethod load
(fname, *args, **kwargs)
töltsön be egy korábban tárolt állapotot a lemezről.
felülbíráljaload
a dtype paraméter érvényesítésével a visszafelé kompatibilitás biztosítása érdekében.
paraméterek
-
fname (str) – a szükséges objektumot tartalmazó fájl elérési útja.
-
args (object) – pozicionális paramétereket kell terjeszteni osztály:~gensim.utils.Mentés.load
-
kwargs (object)-kulcsszó paramétereket kell terjeszteni osztály:~gensim.utils.Mentés.load
visszaadja
az adott fájlból betöltött állapotot.
visszatérési típus
LdaState
merge
(other) ++
egyesítse az egyik csomópontból származó e lépés eredményét egy másik csomópont eredményével (elegendő statisztika összegzése).
az összevonás triviális, és az összes fürt csomópont összevonása után pontosan ugyanazt az eredményt kapjuk, mintha a számítást egyetlen csomóponton futtatnánk (noapproximation).
paraméterek
egyéb (LdaState
) – az állapotobjektum, amellyel az aktuális egyesítésre kerül.
reset
()
készítse elő az állapotot egy új EM iterációra (elegendő statisztika visszaállítása).
save
(fname_or_handle, külön-külön=nincs, sep_limit=10485760, ignore=frozenset({}), pickle_protocol=4) ++
mentse az objektumot egy fájlba.
paraméterek
-
fname_or_handle (str vagy fájlszerű)-a kimeneti fájl vagy a már megnyitott fájlszerű objektum elérési útja. Ha az objektum fájlkezelő, akkor nem kerül sor speciális tömb-kezelésre, az összes attribútum ugyanabba a fájlba kerül.
-
külön (Str vagy None listája, opcionális) –
Ha nincs, automatikusan észleli a nagy numpy / scipy-t.ritka tömbök a tárolt objektumban, és tároljákkülön fájlokba. Ez megakadályozza a nagy objektumok memóriahibáit, valamint lehetővé teszi a nagy tömbök memory-leképezését az efficientloading és a nagy tömbök RAM-ban történő megosztása érdekében több folyamat között.
Ha az str listája: ezeket az attribútumokat külön fájlokba tárolja. Az automatikus méretellenőrzésebben az esetben nem történik meg.
-
sep_limit (Int, opcionális) – ne tároljon ennél kisebb tömböket külön-külön. Bájtban.
-
ignore (frozenset str, opcionális) – attribútumok, amelyeket egyáltalán nem szabad tárolni.
-
pickle_protocol (Int, opcionális) – a savanyúság Protokollszáma.
Lásd még
load()
objektum betöltése fájlból.
gensim.models.ldamodel.
update_dir_prior
(prior, N, logphat, rho)
egy adott prior frissítése Newton módszerével, leírva inJ. Huang: “a Dirichlet-eloszlási paraméterek maximális valószínűségének becslése”.
paraméterek
-
előzetes (float listája) – az előző iteráció minden lehetséges kimenetele (frissítendő).
-
N (int) – megfigyelések száma.
-
logphat (float listája) – Log valószínűségek az aktuális becsléshez, más néven “megfigyelt elegendő statisztika”.
-
rho (float) – tanulási Arány.
visszatér
a frissített prior.
visszatérési típus
úszó listája