J'essaie d'exécuter le modèle lda sur mes fichiers. Tout d'abord j'ai fait un peu de pré-traitement comme tokenization et arrêter la suppression de mots. Je fais ceci pour plusieurs fichiers, mais quand je passe la sortie finale au modèle lda cela me donne une erreur et j'ai vu dans Google que lda prend plusieurs fichiers comme entrée. Maintenant, je veux stocker la sortie de chaque fichier dans un tableau, puis passer ce tableau comme une entrée, mais il me donne aussi une erreur IndexError: indice d'attribution de liste hors de portée. Je ne sais pas quel est le problème. Toute aide serait grandement appréciée, merci!comment passer la sortie de plusieurs fichiers à un tableau
# URDU STOP WORDS REMOVAL
doc_clean = []
stopwords_corpus = UrduCorpusReader('./data', ['stopwords-ur.txt'])
stopwords = stopwords_corpus.words()
count = 1
# print(stopwords)
for infile in (wordlists.fileids()):
words = wordlists.words(infile)
finalized_words = remove_urdu_stopwords(stopwords, words)
doc_clean[count] = finalized_words
print(doc_clean)
count =count+1
print("\n==== WITHOUT STOPWORDS ===========\n")
print(finalized_words)
id2word = corpora.Dictionary(doc_clean)
mm = [id2word.doc2bow(text) for text in texts]
lda = models.ldamodel.LdaModel(corpus=mm, id2word=id2word, num_topics=3, update_every=1, chunksize=10000, passes=1)
À quelle ligne l'erreur se produit-elle? Avez-vous un stacktrace? Je suppose que le problème commence avec 'count = 1'. Plus tard, vous appelez 'doc_clean [count]' qui commence évidemment par l'index 1 au lieu de 0 –
Utilisez 'doc_clean.append (finalized_words)' où 'append' est une méthode de liste pour ajouter des éléments dans la liste. –
@MaxM Il donnera toujours une erreur car dans une liste vide vous ne pouvez pas accéder ou ajouter des éléments comme celui-ci. –