0

Doc2Vecライブラリからモデルを学習gensimし、次のように使用しています。

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 つのファイルのみを含むディレクトリ パスです。次の例外が発生しています。

出力

また、printステートメントを使用すると、イテレータがディレクトリを 6 回反復したことがわかりました。これはなぜですか?

どんな種類の助けもいただければ幸いです。

4

1 に答える 1