J'essaie de construire un modèle RNN qui classe une revue à un sentiment positif ou négatif.Imdb erreur d'encodage de la critique
Il existe un dictionnaire de vocabulaire, et en prétraitement, je fais une revue dans une séquence d'index.
Par exemple,
"This movie was best" --> [2,5,10,3]
Lorsque je tente d'obtenir Vocabs fréquentes et voir son contenu, j'ai eu cette erreur:
num of reviews 100
number of unique tokens : 4761
Traceback (most recent call last):
File "preprocess.py", line 47, in <module>
print(vocab)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 10561: ordinal not in range(128)
code
est comme ci-dessous:
from bs4 import BeautifulSoup
reviews = []
for item in os.listdir('imdbdata/train/pos')[:100]:
with open("imdbdata/train/pos/"+item,'r',encoding='utf-8') as f:
sample = BeautifulSoup(f.read()).get_text()
sample = word_tokenize(sample.lower())
reviews.append(sample)
print("num of reviews", len(reviews))
word_freq = nltk.FreqDist(itertools.chain(*reviews))
print("number of unique tokens : %d"%(len(word_freq.items())))
vocab = word_freq.most_common(vocab_size-1)
index_to_word = [x[0] for x in vocab]
index_to_word.append(unknown_token)
word_to_index = dict((w,i) for i,w in enumerate(index_to_word))
print(vocab)
La question est, comment puis-je sortir ce UnicodeEncodeError
lorsqu'il s'agit de problème PNL avec Python? Surtout lorsque vous obtenez du texte en utilisant la fonction open
.
C'est la réponse que je cherchais! Je vous remercie. –