J'apprends Doc2Vec
modèle de gensim
bibliothèque et l'utiliser comme suit:Gensim Doc2Vec Exception AttributeError: objet « str » n'a pas d'attribut « mots »
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)
L'entrée dirname
est un chemin d'accès qui a, pour Par souci de simplicité, seulement 2 fichiers situés à chaque fichier contenant plus de 100 lignes. Je reçois l'exception suivante.
En outre, avec print
déclaration que je pouvais voir que le iterator itéré 6 fois le répertoire. Pourquoi cela est-il ainsi?
Toutes sortes d'aide seraient appréciées.
Une chose, ne voulez-vous pas si vous n'êtes pas dans les mots vides? En ce moment, vos phrases ne contiennent que des mots vides – datawrestler
Ouais c'est une erreur, je l'ai corrigé mais le même problème persiste. –