文章のリストがあり、チュートリアルの指示に従って、そこからコーパスを作成します。
texts = [[word for word in document.lower().split() if word.isalpha()] for document in documents]
corpus = corpora.Dictionary(texts)
このコーパスで LDA モデルをトレーニングし、トピックのキーワードを抽出したいと思います。
lda = models.LdaModel(corpus, num_topics=10)
しかし、トレーニング中にエラーが発生しました: TypeError: 'int' object is not iterable
. 私は何を間違っていますか?コーパスはどのような形式にする必要がありますか?
コーパスを作成した後doc2bow
、単語からハッシュを作成する単一のコーパスを作成する必要があります (いわゆる「ハッシュ トリック」 )。
texts = [[word for word in document.lower().split() if word.isalpha()] for document in documents]
corpus = corpora.Dictionary(texts)
hashed_corpus = [corpora.doc2bow(text) for text in texts]
その後、次を使用してモデルをトレーニングできますhashed_corpus
。
lda = models.LdaModel(corpus, id2word=corpus, num_topics=5)
id2word
ハッシュから単語にトピックをマッピングし、それを使用すると、トピックを数字ではなく単語として取得できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加