を持っていない私はgensim
ライブラリからDoc2Vec
モデルを学んでいますし、次のようにそれを使用して:Gensim Doc2Vec例外はAttributeError:「str」はオブジェクトが属性の言葉 "
class MyTaggedDocument(object):
def __init__(self, dirname):
self.dirname = dirname
def __iter__(self):
for fname in os.listdir(self.dirname):
with open(os.path.join(self.dirname, fname),encoding='utf-8') as fin:
print(fname)
for item_no, sentence in enumerate(fin):
yield LabeledSentence([w for w in sentence.lower().split() if w in stopwords.words('english')], [fname.split('.')[0].strip() + '_%s' % item_no])
sentences = MyTaggedDocument(dirname)
model = Doc2Vec(sentences,min_count=2, window=10, size=300, sample=1e-4, negative=5, workers=7)
入力dirname
がために、持っているディレクトリのパスですシンプルさのために、各ファイルには100本以上のラインを含む2つのファイルしかありません。私はExceptionに続いています。
また、print
文で私は、反復子がディレクトリを6回にわたり反復することを見ることができました。なぜこれはそうですか?
何か助けていただければ幸いです。それは、(以前はLabeledSentence
呼ばwords
とtags
特性を有する)TaggedDocument
のような形をしなければならないテキストの例オブジェクトの1、のように見える
ストップワードにwが含まれていないと、1つのことはしたくないですか?あなたの文章にはストップワードしか含まれていません。 – datawrestler
これは間違いですが、私はそれを修正しましたが、同じ問題が残っています。 –