Я экспериментирую с некоторыми алгоритмами НЛП и сейчас сосредоточен на анализе настроений.По этой причине я скачал из http://www.cs.jhu.edu/~mdredze/datasets/sentiment/index2.html некоторые файлы формата .review
с положительными и отрицательными отзывами.
Я использую BeautifulSoup
для анализа этих XML-файлов, и сейчас я пытаюсь прочитать их, только выполнив следующий исходный код:
from bs4 import BeautifulSoup
positive_reviews = BeautifulSoup(open('*******/electronics/positive.review').read())
positive_reviews = positive_reviews.findAll('review_text')
negative_reviews = BeautifulSoup(open('*******/electronics/negative.review').read())
negative_reviews = negative_reviews.findAll('review_text')
Однако я получаю следующееошибка:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 118374: ordinal not in range(128)
при выполнении
positive_reviews = BeautifulSoup(open('*******/electronics/positive.review').read())
.
Как исправить эту ошибку?
Я также заменил
BeautifulSoup(open('*******/electronics/positive.review').read())
с
BeautifulSoup(open('*******/electronics/positive.review').read().decode('utf-8'))
, но я получаю точно такую же ошибку.
Наконец, я уже прочитал несколько соответствующих постов в StackOverflow, но пока ничего не помогаломне.Например, на моем терминале echo $LANG
выводит en_GB.UTF-8
, как описано в первом ответе UnicodeDecodeError: кодек «ascii» не может декодировать байт 0xef в позиции 1 , но я все еще получаю ошибкувыше.