ここに似た質問がありますGensim Doc2Vec Exception AttributeError: 'str' object has no attribute 'words'ですが、役に立たない回答はありませんでした。Doc2Vecを20newsgroupsデータセットでトレーニングする。例外の取得AttributeError: 'str'オブジェクトの属性 'words'がありません
私は20newsgroupsコーパスでDoc2Vecを訓練しようとしています。 は、ここで私は単語を構築する方法は次のとおりです。
from sklearn.datasets import fetch_20newsgroups
def get_data(subset):
newsgroups_data = fetch_20newsgroups(subset=subset, remove=('headers', 'footers', 'quotes'))
docs = []
for news_no, news in enumerate(newsgroups_data.data):
tokens = gensim.utils.to_unicode(news).split()
if len(tokens) == 0:
continue
sentiment = newsgroups_data.target[news_no]
tags = ['SENT_'+ str(news_no), str(sentiment)]
docs.append(TaggedDocument(tokens, tags))
return docs
train_docs = get_data('train')
test_docs = get_data('test')
alldocs = train_docs + test_docs
model = Doc2Vec(dm=dm, size=size, window=window, alpha = alpha, negative=negative, sample=sample, min_count = min_count, workers=cores, iter=passes)
model.build_vocab(alldocs)
その後、私はモデルを訓練し、結果を保存します。
model.train(train_docs, total_examples = len(train_docs), epochs = model.iter)
model.train_words = False
model.train_labels = True
model.train(test_docs, total_examples = len(test_docs), epochs = model.iter)
model.save(output)
私はモデルをロードしようとすると、問題が表示されます。 screen
私は試しました:
ラベルを使用しました代わりにTaggedDocument
のedSentenceはTaggedDocumentをもたらす代わりの1にmin_count設定リストに
それらを追加するので、何の言葉は、問題がで発生した。また
(念のため)無視されないであろうpython2だけでなく、python3。
これを解決してください。