使用例¶
Gensimコーパスを使用してLDAモデルをトレーニング
>>> 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)
モデルをディスクに保存するか、事前に訓練されたモデルをリロードする
>>> 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)
クエリ、新しい、目に見えない文書を使用してモデル
>>> # 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
増分新しいコーパスにトレーニングすることにより、モデルを更新
>>> lda.update(other_corpus)>>> vector = lda
パラメータの多くは、あなたの特定のためのトレーニングを最適化するために調整することができますケース
>>> 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
オンライン潜在ディリクレ割り当て(OLDA)モデルを訓練し、使用します。 :”潜在的なディリクレ配分のためのオンライン学習”。
例
Gensimコーパスを使用してモデルを初期化
>>> from gensim.test.utils import common_corpus>>>>>> lda = LdaModel(common_corpus, num_topics=10)
新しい目に見えないドキュメントのトピック分布を推測することができます。p>
>>> doc_bow = >>> doc_lda = lda
モデルは新しいドキュメントで更新(トレーニング)することができます。P>
>>> # In practice (corpus =/= initial training corpus), but we use the same here for simplicity.>>> other_corpus = common_corpus>>>>>> lda.update(other_corpus)
モデルの永続性は、load()
save()
メソッドによって達成されます。
パラメータ
-
コーパス((int、float)のリストの反復可能、オプション)–ドキュメントベクトルのストリームまたは形状のスパース行列(num_documents、num_terms)。CSCインメモリ行列がある場合は、gensimの助けを借りて、それをastreamed corpusに変換できます。マトゥティルススパース2コルプス与えられていない場合、モデルは訓練されていないままになります(おそらく
update()
手動で呼び出したいためです)。 -
num_topics(int,optional)–トレーニングコーパスから抽出される要求された潜在トピックの数。id2word({dict of(int,str),
gensim.corpora.dictionary.Dictionary
})–単語Idから単語へのマッピング。 これは、語彙のサイズを決定するために使用されるだけでなく、デバッグとトピックの印刷。 -
distributed(bool,optional)–トレーニングを高速化するために分散コンピューティングを使用する必要があるかどうか。
-
chunksize(int,optional)–各トレーニングチャンクで使用されるドキュメントの数。
-
passes(int,optional)–トレーニング中にコーパスを通過した回数。
-
update_every(int,optional)–更新ごとに反復処理されるドキュメントの数。バッチ学習の場合は0に設定し、オンライン反復学習の場合は>1に設定します。
-
アルファ({numpy.ndarray,str},optional)-
は、各トピックの確率に対する先験的な信念を表現する期待されるトピックの数に等しい長さの1D配列に設定できます。または、文字列を指定することで、デフォルトの事前選択戦略を使用できます:
-
‘symmetric’:Default;トピックごとに固定された対称前を使用します,
-
‘asymmetric’:1.0/(topic_index+sqrt(num_topics))の固定正規化された非対称前を使用します,
-
‘auto’:コーパスから非対称前を学習します(distributed==true)。
-
-
eta({float,np.array,str},optional)–
単語確率に関する先験的な信念、これは次のようにすることができます:
-
トピック/単語確率を超える対称前のスカラー、
-
長さnum_wordsのベクトルは、各単語の非対称ユーザー定義確率を示す、
-
形状の行列(num_topics,num_words)は、各単語-トピックの組み合わせの確率を割り当てる、
li>
文字列’auto’は、データから非対称前を学習します。/p>
-
-
decay(float,optional)–(0.5、1]新しい文書が検査されるたびに、前のラムダ値の何パーセントが忘れられているかを重み付けします。 Hoffman,David M.Blei,Francis Bach:”潜在的なディリクレ配分のためのオンライン学習NIPS’10″からのカッパに対応している。
-
offset(float,optional)–
最初の数回の反復で最初のステップを遅くする量を制御するハイパーパラメータです。Matthew D.Hoffman,David M.Blei,Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10″のTau_0に対応しています。
-
eval_every(int,optional)–ログの当惑は、その多くの更新ごとに推定されます。 これを1に設定すると、トレーニングが~2倍遅くなります。
-
iterations(int,optional)–コーパスのトピック分布を推論するときのコーパスを通る反復の最大数。
-
gamma_threshold(float,optional)–反復を継続するためのガンマパラメータの値の最小変化。
-
minimum_probability(float,optional)–このしきい値よりも低い確率のトピックは除外されます。
-
ns_conf(dict of(str,object),optional)–キーワードパラメータは
gensim.utils.getNS()
に伝播され、Pyro4Nameservedを取得します。DistributedがTrueに設定されている場合にのみ使用されます。 -
minimum_phi_value(float,optional)–per_word_topicsがTrueの場合、これは確率という用語の下限を表します。p>
-
per_word_topics(bool)–Trueの場合、モデルはトピックのリストも計算し、各単語の可能性が最も高いトピックの降順でソートされ、phi値に特徴長(つまり単語数)を掛け
-
callbacks(list of
Callback
)–トレーニング中にモデルの評価指標を記録して視覚化するためのメトリックコールバック。 -
dtype({numpy.float16、numpy。浮動小数点数32、numpy。float64},optional)–モデル内の計算中に使用するデータ型。 すべての入力も変換されます。
ランダムRandomstate,int},optional)–randomStateオブジェクトまたはシードを生成します。 再現性のために有用。p>
add_lifecycle_event
(event_name,log_level=20,**event)¶
このオブジェクトのlifecycle_events属性にイベントを追加し、log_levelにイベントを追加します。
イベントは、”モデルが作成された”、”モデルが保存された”、”モデルがロードされた”など、オブジェクトの寿命の間の重要な瞬間です。
lifecycle_events属性は、オブジェクトのsave()
load()
操作間で永続化されます。 これはモデルの使用には影響しませんが、デバッグやサポートの際に役立ちます。
自己を設定します。この動作を無効にするには、lifecycle_events=Noneを指定します。 Add_lifecycle_event()を呼び出すと、イベントはselfに記録されません。その後、lifecycle_events。
パラメータ
-
event_name(str)–イベントの名前。 “Created”、”stored”などの任意のラベルを指定できます。
-
イベント(dict)–
selfに追加するキーと値のマッピング。lifecycle_events. JSON-serializableである必要があるので、単純にしてください。空にすることができます。このメソッドは自動的に次のkey-valuesをeventに追加するので、指定する必要はありません。
-
datetime: 現在の日付&時刻
-
gensim:現在のGensimバージョン
-
python:現在のPythonバージョン
-
プラットフォーム:現在のプラットフォーム
-
イベント:このイベントの名前
-
- log_level(int)–指定されたログレベルで、完全なイベントdictもログに記録します。 ログをまったく記録しない場合はFalseに設定します。
bound
(corpus,gamma=None,subsample_ratio=1.0)¶
コーパスからの文書の変分境界をE_Q-E_Qとして推定します。
Parameters
-
corpus((int,float)のリストの反復可能,オプション)–ドキュメントベクトルのストリームまたは形状のスパース行列(num_documents,num_terms)変数境界を推定するために使用されます。
-
ガンマ(numpy.ndarray、オプション)-各ドキュメントのトピックの重み変分パラメータ。 指定されていない場合は、モデルから推論されます。
-
subsample_ratio(float,optional)–渡されたcorpus引数によって表されるコーパス全体の割合(これがサンプルの場合)。コーパス全体が渡された場合は1.0に設定します。これは、確率を適切にスケールするための乗法因子として使用されます。
は、各文書に対して計算された変分境界スコアを返します。戻り値の型
numpy。ndarray
clear
()(
いくつかのメモリを解放するためにモデルの状態をクリアします。 分散実装で使用されます。
diff
(other,distance=’kullback_leibler’,num_words=100,n_ann_terms=10,diagonal=False,annotation=True,normed=True)¶
selfとotherの二つのモデル間のトピック分布の差を計算します。P>Parameters
-
other(
LdaModel
)–現在のオブジェクトと比較されるモデル。distance({‘kullback_leibler’,’hellinger’,’jaccard’,’jensen_shannon’})–差を計算する距離メトリック。num_words(int,optional)–distance==’jaccard’の場合に使用される最も関連性の高い単語の数。 トピックに注釈を付けるためにも使用されます。 -
n_ann_terms(int,optional)–トピック間の交差/対称差の単語の最大数。 注釈に使用されます。
-
diagonal(bool,optional)–同一のトピック間の差(差分行列の対角)が必要かどうか。
-
annotation(bool,optional)–2つのトピック間の単語の交差または相違を返す必要があるかどうか。
-
normed(bool,optional)–行列を正規化するかどうか。
は
-
numpyを返します。ndarray-差分行列。 各要素は、2つのトピック、shape(self)の違いに対応しています。num_topics、その他。num_topics)
-
numpy。ndarray,optional-Annotation matrixここで、各ペアについて、二つのトピックの共通部分からの単語と、二つのトピックの対称差からの単語が含まれます。 Annotation==Trueの場合にのみ含まれます。形状(自己。num_topics,other_model.num_topics,2)。
例
二つのモデルによって推論されたトピックの各ペアの違いを取得
>>> 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)¶
文書のチャンクに推論を実行し、収集された十分な統計を蓄積します。
Parameters
-
chunk(list of list of(int,float))–推論ステップが実行されるコーパスのチャンク。state(
LdaState
,optional)–新たに蓄積された十分な統計で更新される状態。 なしの場合は、モデル自体。状態が更新されます。
は、トピックの重み、shape(len(chunk),selfを制御する
ガンマパラメータを返します。num_topics)。
戻り値の型
numpy。ndarray
do_mstep
(rho,other,extra_pass=False)¶
最大化ステップ: 既存のトピック間の線形補間を使用し、トピックを更新するために他の十分な統計情報を収集しました。
パラメータ
-
rho(float)–学習率。other(
LdaModel
)–トピックを更新するために十分な統計が使用されるモデル。 -
extra_pass(bool,optional)–このステップでコーパス上で追加のパスが必要かどうかを指定します。
get_document_topics
(bow,minimum_probability=None,minimum_phi_value=None,per_word_topics=False)given
与えられたドキュメントのトピック分布を取得します。パラメータ
-
bow(corpus:list of(int,float))–BOW形式のドキュメント。
-
minimum_probability(float)–割り当てられた確率がこのしきい値よりも低いトピックは破棄されます。
-
minimum_phi_value(float)–
per_word_topicsがTrueの場合、これは含まれる項確率の下限を表します。
Noneに設定されている場合、値1e-8が0を防ぐために使用されます。
-
per_word_topics(bool)–Trueの場合、この関数は”Returns”セクションで説明されているように、二つの余分なリス
は、ドキュメント全体の(int,float)–トピック分布の
-
リストを返します。 リスト内の各要素は、トピックのidのペアであり、それに割り当てられた確率。
-
リスト(int、リスト(int、float)、オプション–単語ごとに最も可能性の高いトピック。 リスト内の各要素は、単語のidのペアと、この単語との関連性でソートされたトピックのリストです。 Per_word_topicsがTrueに設定されている場合にのみ返されます。
-
(int,floatのリスト)のリスト、オプション–Phi関連値、各単語-トピックの組み合わせの特徴の長さを乗算しました。リスト内の各要素は、単語のidと、この単語と各トピックの間のphi値のリストのペアです。 Per_word_topicsがTrueに設定されている場合にのみ返されます。
get_term_topics
(word_id,minimum_probability=None)given
与えられた単語に最も関連性の高いトピックを取得します。
Parameters
-
word_id(int)–トピック分布が計算される単語。
-
minimum_probability(float,optional)–このしきい値を下回る確率が割り当てられたトピックは破棄されます。
は、IDと割り当てられた確率のペアとして表される関連トピックを、指定された単語との関連性によってソートして返します。
を返します。
を返します。
戻り値の型
(int,float)のリスト
get_topic_terms
(topicid,topn=10)single
単一のトピックの表現を取得します。 Words実際の文字列で単語を表すshow_topic()
に変換された整数Id。
パラメータ
-
topicid(int)–返されるトピックのID
-
topn(int,optional)–トピックに関連付けられている最も重要な単語の数。
は、トピックによって生成された最も関連性の高い単語の
単語ID-確率ペアを返します。
戻り値の型
(int,float)のリスト
get_topics
()(
推論中に学習された用語トピック行列を取得します。
は、各トピックの各単語の確率shape(num_topics,vocabulary_size)を返します。
は、各トピックの各単語の確率を返します。
は、各トピックの各単語の確率を返します。戻り値の型
numpy。ndarray
inference
(chunk,collect_ssstats=False)疎な文書ベクトルのチャンクが与えられた場合、チャンク内の各文書のガンマ(トピックの重みを制御するパラメータ)を推定します。
この関数は、ドキュメントの入力チャンク全体がRAMに収まると想定されるモデルを変更しません。 非負行列分解のためのアルゴリズム”で提示された最適化を用いてファイ変分パラメータを直接計算することを避ける。
Parameters
-
chunk(list of list of(int,float))–推論ステップが実行されるコーパスのチャンク。collect_sstats(bool,optional)–Trueに設定されている場合、モデルのトピック-worddistributionsを更新するために必要な十分な統計情報も収集(および返し)します。
を返します
最初の要素が常に返され、それが状態ガンマ行列に対応しています。 2番目の要素は、collect_sstats==Trueの場合にのみ返され、Mステップの十分な統計に対応します。
戻り値の型
(numpy.ndarray,{numpy.ndarray,None})
init_dir_prior
(prior,name)¶
ディリクレ分布のプリオールを初期化します。
パラメータ
-
prior({str,floatのリスト,numpy.浮動小数点数のndarray,float})-
単語確率に関する先験的信念。 Name==’eta’の場合、前の値は次のようになります:
-
トピック/単語確率を超える対称前のスカラー、
-
長さnum_wordsのベクトルは、各単語の非対称ユーザー定義確率を示す、
-
形状の行列(num_topics,num_words)は、各単語-トピックの組み合わせの確率を割り当てる、
li>
文字列’auto’は、データから非対称前を学習します。
name==’alpha’の場合、前の値は次のようになります:
-
期待されるトピックの数に等しい長さの1D配列、
-
‘symmetric’:トピックごとに固定対称の優先順位を使用します、
-
‘asymmetric’:1.0/(topic_index+sqrt(num_topics))、
-
‘asymmetric’:1.0/(topic_index+sqrt(num_topics))、
-
‘asymmetric’:1.0/(topic_index+sqrt(num_topics))、
-
‘asymmetric’:1.0/(topic_index+sqrt(num_topics))、
-
‘asymmetric’:/li>
-
‘auto’:コーパスから非対称priorを学習します。
-
-
name({‘alpha’,’eta’})–事前がアルファベクトル(トピックごとに1つのパラメータ)またはeta(語彙内の一意の用語ごとに1つのパラメータ)によってパラメークラスメソッド
load
(fname,*args,**kwargs)¶以前に保存した
gensim.models.ldamodel.LdaModel
をファイルからロードします。も参照してください
save()
モデルを保存します。
パラメータ
-
fname(str)–モデルが格納されているファイルへのパス。*args-位置引数を
load()
に伝播します。**kwargs-キーワード引数はload()
に伝播されます。大きな配列は、mmap=’r’を設定することにより、読み取り専用(共有メモリ)としてmemmapすることができます。>>> 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)per
計算して-評価コーパスとして文書の塊を使用して、バインドされた単語の尤度。また、perplexity=2^(-bound)を含む計算された統計を出力して、情報レベルでログに記録します。
Parameters
-
chunk(list of list of(int,float))–推論ステップが実行されるコーパスのチャンク。
-
total_docs(int,optional)–当惑の評価に使用されるドキュメントの数。
は、各単語に対して計算された変分境界スコアを返します。戻り値の型
numpy。ndarray
print_topic
(topicno,topn=10)¶
フォーマットされた文字列として単一のトピックを取得します。
パラメータ
-
topicno(int)–トピックid。
-
topn(int)–使用されるトピックからの単語の数。’-0.340*”category”+0.298*”$M$”+0.183*”algebra”+…’のように、トピックの文字列表現を返します。
戻り値の型
str
print_topics
(num_topics=20,num_words=10)¶最も重要なトピックを取得します(show_topics()メソッドのエイリアス)。
Parameters
-
num_topics(int,optional)–選択されるトピックの数、-1の場合-すべてのトピックが結果になります(有意性順)。
-
num_words(int,optional)–トピックごとに含める単語の数(重要度順)。
は、(topic_id,)で
シーケンスを返します。(fname,ignore=(‘state’,’dispatcher’),separately=None,*args,**kwargs)model
モデルをファイルに保存します。
save
(fname,ignore=(‘state’,’dispatcher’),separately=None,*args,**kwargs)modelモデルをファイルに保存します。
save
(fname,ignore=(‘state’,’dispatcher’),separately=大きな内部配列は、接頭辞としてfnameを使用して、別々のファイルに格納することができます。
注意事項
Python2/3のバージョン間でモデルを使用する場合は、いくつかのことを念頭に置いてtokeepがあります:
-
ピクルス化されたPython辞書は、Pythonバージョン間では動作しません
-
saveメソッドは、すべてのnumpy配列を自動的に保存するわけではありません。
save()
で設定されているsep_limitを超えるもののみです。 ここでのmainconcernは、たとえばalpha=’auto’を使用している場合のアルファ配列です。
これらの問題を回避する方法の例については、wiki recipesセクションを参照してください。/p>
ロードモデルも参照してください。
load()
ロードモデル。
パラメータ
-
fname(str)–モデルが永続化されるシステムファイルへのパス。
-
ignore(tuple of str,optional)–タプル内の名前付き属性はpickledモデルから除外されます。 内部状態がデフォルトで無視される理由は、このメソッドによってoneprovidedではなく、独自のシリアル化を使用するためです。別々に({list of str,None}、optional)–なしの場合-大きなnumpy/scipyを自動的に検出します。格納されているオブジェクト内のスパース配列、および別々のファイルにstorethem。 これにより、pickleメモリエラーが回避され、負荷時に大きなarraysbackを効率的にmmapすることができます。 Str-この属性のリストが別々のファイルに格納される場合、この場合は自動チェックは実行されません。*args-位置引数を
save()
に伝播します。**kwargs-キーワード引数はsave()
に伝播されます。
show_topic
(topicid,topn=10)single単一のトピックの表現を取得します。 ここでの単語は、語彙IDで単語を表す
get_topic_terms()
に変換された実際の文字列です。パラメータ
-
topicid(int)–返されるトピックのID
-
topn(int,optional)–トピックに関連付けられている最も重要な単語の数。
は、トピックによって生成された最も関連性の高い単語の
単語-確率ペアを返します。
戻り値の型
(str,float)のリスト
show_topics
(num_topics=10,num_words=10,log=False,formatted=True)¶選択したトピックの表現を取得します。
Parameters
-
num_topics(int,optional)–返されるトピックの数。 LSAとは異なり、LDAのトピック間に自然な順序はありません。したがって、返されるすべてのトピックのトピックサブセットは任意であり、2つのLDAtraining実行の間で変更される可能性があります。
-
num_words(int,optional)–各トピックに表示される単語の数。 これらは最も関連性の高い単語になります(各トピックの可用性)。
-
log(bool,optional)–出力が返される以外にもログに記録されるかどうか。
-
formatted(bool,省略可能)–トピック表現を文字列として書式設定するかどうか。 Falseの場合、それらは(word,probability)の2タプルとして返されます。
トピックのリストを返します。
戻り値の型
{strのリスト,タプルの(str,float)}
sync_state
(current_elogbeta=None)inner状態トピックの確率を内部オブジェクトの属性に伝播します。
パラメータ
current_elogbeta(numpy.ndarray)-各トピックの事後確率。省略すると、状態からElogbetaが取得されます。
top_topics
(corpus=None,texts=None,dictionary=None,window_size=None,coherence=’u_mass’,topn=20,processes=-1)¶各トピックのcoherenceスコアが最も高いトピックを取得します。
パラメータ
-
コーパス((int、float)のリストの反復可能、オプション)–弓形式のコーパス。
-
texts(list of list of str,optional)–スライディングウィンドウベースを使用するcoherenceモデルに必要なトークン化されたテキスト(つまり、スライディングウィンドウベースを使用するcoherenceモデルに必要なトークン化されたテキスト coherence=’c_something’)確率推定器。
-
dictionary(
Dictionary
,optional)–コーパスを作成するためのIdワードのGensim辞書マッピング。Model.id2wordが存在する場合、これは必要ありません。 両方が指定されている場合は、渡された辞書が使用されます。 -
window_size(int,optional)–booleanスライディングウィンドウをprobability推定器として使用するコヒーレンス測定に使用するウィンドウのサイズです。 ‘U_mass’の場合、これは問題ではありません。Noneの場合-デフォルトのウィンドウサイズが使用されます:’c_v’-110,’c_uci’-10,’c_npmi’-10。coherence({‘u_mass’,’c_v’,’c_uci’,’c_npmi’},省略可能)–使用するコヒーレンス測定値。最速の方法-‘u_mass’、’c_uci’はc_pmiとしても知られています。’U_mass’コーパスを提供する必要があります,テキストが提供されている場合,それは辞書を使用してcorpusに変換されます. ‘C_v’の場合、’c_uci’と’c_npmi’のテキストを提供する必要があります(コーパスは必要ありません)
-
topn(int,optional)–各トピックから抽出される上位単語の数に対応する整数。processes(int,optional)-確率推定フェーズに使用するプロセスの数、1未満の値はnum_cpus-1として解釈されます。
を返しますリスト内の各要素は、トピック表現とそのコヒーレンススコアのペアです。 トピック表現単語の分布であり、単語Idとその確率のペアのリストとして表されます。
戻り値の型
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)¶新しいドキュメントでモデルを訓練します。コーパストピックが収束するまで、または許可された反復の最大数に達するまで。 corpusはiterableでなければなりません。
分散モードでは、Eステップはマシンのクラスタに分散されます。
注意事項
この更新プログラムは、新しいドキュメントで既に訓練されたモデルを更新することもサポートしています。 この機能は、静止していない入力ストリームではまだ実験的です。 一方、静止入力(新しい文書にはトピックドリフトがない)については、Matthew D.Hoffman,David M.Blei,Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10″のオンライン更新に等しい。とは、(0.5,1.0)の任意の減衰に対して収束することが保証されています。 さらに、コーパスサイズが小さい場合は、オフセットの増加が有益である可能性があります(同じ論文の表1を参照)。
パラメータ
-
コーパス((int,float)のリストの反復可能,オプション)–ドキュメントベクトルのストリームまたは形状のスパース行列(num_documents,num_terms)themodelを更新するために使用
-
chunksize(int,optional)–各トレーニングチャンクで使用されるドキュメントの数。
-
decay(float,optional)–
新しいドキュメントが検査されるたびに、前のラムダ値の何パーセントが忘れられるかを重みにする(0.5,1]の間の数値。 Hoffman,David M.Blei,Francis Bach:”潜在的なディリクレ配分のためのオンライン学習NIPS’10″からのカッパに対応している。
-
offset(float,optional)–
最初の数回の反復で最初のステップを遅くする量を制御するハイパーパラメータです。Matthew D.Hoffman,David M.Blei,Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10″のTau_0に対応しています。
-
passes(int,optional)–トレーニング中にコーパスを通過した回数。
-
update_every(int,optional)–更新ごとに反復処理されるドキュメントの数。バッチ学習の場合は0に設定し、オンライン反復学習の場合は>1に設定します。
-
eval_every(int,optional)–ログの当惑は、その多くの更新ごとに推定されます。 これを1に設定すると、トレーニングが~2倍遅くなります。
-
iterations(int,optional)–コーパスのトピック分布を推論するときのコーパスを通る反復の最大数。
-
gamma_threshold(float,optional)–反復を継続するためのガンマパラメータの値の最小変化。chunks_as_numpy(bool,optional)–推論ステップに渡される各チャンクがnumpyであるかどうか。ndarrayかどうか。 Numpyはいくつかの設定で用語Idを浮動小数点数に変換することができますが、これらは推論で整数に変換されます。 分散コンピューティングでは、チャンクをnumpyとして保持することが望ましい場合があります。ndarray。
update_alpha
(gammat,rho)¶ドキュメントごとのトピックの重みの前のディリクレのパラメータを更新します。
パラメータ
-
gammat(numpy.ndarray–-前のトピックの重みパラメータ。
-
rho(float)–学習率。
アルファパラメータの
シーケンスを返します。
戻り値の型
numpy。ndarray
update_eta
(lambdat,rho)¶トピックごとの単語の重みの前のディリクレのパラメータを更新します。
パラメータ
-
lambdat(numpy.ndarray–-以前のラムダパラメータ。
-
rho(float)–学習率。
は、更新されたetaパラメータを
返します。
戻り値の型
numpy。クラス
gensim.models.ldamodel.
LdaState
(eta,shape,dtype=<クラス’numpy.float32′>)BasesBases:
gensim.utils.SaveLoad
LdaModel
オブジェクトの分散計算のための情報をカプセル化します。このクラスのオブジェクトはネットワーク経由で送信されるため、トラフィックを減らすようにしてください。
パラメータ
-
eta(numpy.ndarray)-各項に割り当てられた事前確率。形状((int、int)のタプル)–十分な統計の形状:(発見されるトピックの数、語彙内の用語の数)。dtype(type)–numpy配列のデフォルトの型を上書きします。
add_lifecycle_event
(event_name,log_level=20,**event)¶このオブジェクトのlifecycle_events属性にイベントを追加し、log_levelにイベントを追加します。
イベントは、”モデルが作成された”、”モデルが保存された”、”モデルがロードされた”など、オブジェクトの寿命の間の重要な瞬間です。
lifecycle_events属性は、オブジェクトの
save()
load()
操作間で永続化されます。 これはモデルの使用には影響しませんが、デバッグやサポートの際に役立ちます。自己を設定します。この動作を無効にするには、lifecycle_events=Noneを指定します。 Add_lifecycle_event()を呼び出すと、イベントはselfに記録されません。その後、lifecycle_events。
パラメータ
-
event_name(str)–イベントの名前。 任意のラベルを指定できます。 “作成”、”保存”など
-
イベント(dict)–
selfに追加するキーと値のマッピング。lifecycle_events. JSON-serializableである必要があるので、単純にしてください。空にすることができます。
このメソッドは自動的に次のkey-valuesをeventに追加するので、指定する必要はありません。
-
datetime:現在の日付&time
-
gensim:現在のGensimバージョン
-
python:現在のPythonバージョン
-
platform:現在のプラットフォーム
-
イベント: このイベントの名前
-
-
log_level(int)–指定されたログレベルで、完全なイベント辞書もログに記録します。 ログをまったく記録しない場合はFalseに設定します。
blend
(rhot,other,targetsize=None)¶十分な統計の加重平均を使用して、現在の状態を別の状態とマージします。
ドキュメントの数は、両方の状態オブジェクトに引き伸ばされているため、同等の大きさになります。この手順は,hoffmanらの確率的勾配更新に対応する。 :”潜在的なディリクレ配分のためのオンライン学習”、式(5)および(9)を参照してください。
パラメータ
-
rhot(float)–計算された平均内の他の状態の重み。 0.0の値は、otherが完全に無視されることを意味します。 1.0の値は、selfが完全に無視されることを意味します。other(
LdaState
)–現在の状態オブジェクトがマージされる状態オブジェクト。 -
targetsize(int,optional)–両方の状態をストレッチするドキュメントの数。
blend2
(rhot,other,targetsize=None)sufficient十分な統計の重み付き合計を使用して、現在の状態を別の状態とマージします。p>
blend()
とは対照的に、十分な統計は集計にscaledpriorではありません。パラメータ
-
rhot(float)–未使用。other(
LdaState
)–現在の状態オブジェクトがマージされる状態オブジェクト。 -
targetsize(int,optional)–両方の状態をストレッチするドキュメントの数。
get_Elogbeta
()(各トピックのログ(事後)確率を取得します。
各トピックの事後確率を返します。戻り値の型
numpy。ndarray
get_lambda
()(また、”トピック”と呼ばれるトピック上の事後のパラメータを取得します。
トピックに対する事後確率の
パラメータを返します。
戻り値の型
numpy。ndarray
classmethod
load
(fname,*args,**kwargs)¶ディスクから以前に保存された状態をロードします。
オーバーライド
load
下位互換性を確保するためにdtypeパラメータを強制します。パラメータ
-
fname(str)–必要なオブジェクトを含むファイルへのパス。args(object)–クラス~gensimに伝播される位置パラメータ。ユーティルスセーブロードload
-
kwargs(object)–クラスに伝播されるキーワードパラメータ~gensim。ユーティルスセーブロードload
は、指定されたファイルからロードされた状態を返します。
は、指定されたファイルからロードされた状態を返します。
戻り値の型
LdaState
merge
(other)(あるノードからのEステップの結果を別のノードの結果とマージします(十分な統計を合計します)。
マージは簡単で、すべてのクラスターノードをマージした後、計算が単一のノードで実行された場合と同じ結果が得られます(noapproximation)。
Parameters
other(
LdaState
)–現在の状態オブジェクトがマージされる状態オブジェクト。reset
()(新しいEM反復の状態を準備します(十分な統計をリセットします)。
save
(fname_or_handle,separately=None,sep_limit=10485760,ignore=frozenset({}),pickle_protocol=4)objectオブジェクトをファイルに保存します。パラメータ
-
fname_or_handle(str or file-like)–出力ファイルまたは既に開かれているファイルのようなオブジェクトへのパス。 オブジェクトがファイルハンドルの場合、特別な配列処理は実行されず、すべての属性が同じファイルに保存されます。
-
別々に(strまたはNoneのリスト、オプション)–
なしの場合は、大きなnumpy/scipyを自動的に検出します。格納されているオブジェクト内のスパース配列、および別々のファイルにstorethem。 これにより、ラージオブジェクトのメモリエラーを防止し、ラージアレイをメモリマッピングして、複数のプロセス間でRAM内のラージアレイを効率的にロードし、共有することができます。strのリストの場合:これらの属性を別々のファイルに格納します。
strのリストの場合:これらの属性を別々のファイルに格納し この場合、自動化されたサイズチェックは実行されません。sep_limit(int,optional)–これより小さい配列を別々に格納しないでください。 バイト単位で。
-
ignore(strのfrozenset,optional)–まったく格納すべきではない属性。
-
pickle_protocol(int,optional)–pickleのプロトコル番号。
も参照してください
load()
ファイルからオブジェクトをロードします。
gensim.models.ldamodel.
update_dir_prior
(prior,N,logphat,rho)Newtonニュートンの方法を使用して、inJで説明されている特定の前に更新します。 Huang:”ディリクレ分布パラメータの最尤推定”.
Parameters
-
prior(floatのリスト)–前の反復で可能な各結果のprior(更新される)。
-
N(int)–観測値の数。logphat(floatのリスト)–現在の推定のログ確率。「観測された十分な統計」とも呼ばれます。
-
rho(float)–学習率。
は、更新された前の
を返します。
戻り値の型
浮動小数点数のリスト
-