Gensim辞書をディスクに保存しました。ロードすると、id2token
属性dictは入力されていません。
辞書を保存するコードの簡単な部分:
dictionary = corpora.Dictionary(tag_docs)
dictionary.save("tag_dictionary_lda.pkl")
これで、ロードするとき(jupyterノートブックにロードするとき)、トークンをIDにマッピングするために正常に機能しますが、id2token
は機能せず(IDをトークンにマップできません)、実際にはid2token
はまったく入力されていません。
> dictionary = corpora.Dictionary.load("../data/tag_dictionary_lda.pkl")
> dictionary.token2id["love"]
Out: 1613
> dictionary.doc2bow(["love"])
Out: [(1613, 1)]
> dictionary.id2token[1613]
Out:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input> in <module>()
----> 1 dictionary.id2token[1613]
KeyError: 1613
> list(dictionary.id2token.keys())
Out: []
何かご意見は?
dictionary.id2token[1613]
を直接使用できるため、dictionary[1613]
は必要ありません。
後でdictionary.id2token
をチェックすると、それ以上空にならないことに注意してください。これは、dictionary.id2token
がメモリを節約するための要求に対してのみ形成されるためです(Dictionaryクラスの初期化中に述べられているように)。