Получить UnicodeDecodeError при запуске в Стэнфорде в l oop python - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу обработать все токенизированные данные в файле JSON с помощью NER Stanford NLP. Для этого использовали al oop, чтобы просмотреть все данные в файле JSON. Но когда все oop работает некоторое время и выдает эту ошибку после печати некоторых результатов.

UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-32-2752ee302a4d> in <module>
 62 while i < len(body):
 63   terms_stop = [term for term in preprocess(body[i]) if term not in stop]
 ---> 64   classified_text = st.tag(terms_stop)
 65   print(classified_text)
 66 
      ~\Anaconda3\lib\site-packages\nltk\tag\stanford.py in tag(self, tokens)
 91     def tag(self, tokens):
 92         # This function should return list of tuple rather than list of list
 ---> 93         return sum(self.tag_sents([tokens]), [])
 94 
 95     def tag_sents(self, sentences):

     ~\Anaconda3\lib\site-packages\nltk\tag\stanford.py in tag_sents(self, sentences)
116             cmd, classpath=self._stanford_jar, stdout=PIPE, stderr=PIPE
117         )
--> 118         stanpos_output = stanpos_output.decode(encoding)
119 
120         # Delete the temporary file

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf3 in position 94: invalid continuation byte

Json значения файла

[{"date": "2020-01-09T07:00:03Z", "body": "some texts......."},
 {"date": "2020-01-09T07:00:03Z", "body": "some texts......."},
 {"date": "2020-01-09T07:00:03Z", "body": "some texts......."},
 {"date": "2020-01-09T07:00:03Z", "body": "some texts......."},
 {"date": "2020-01-09T07:00:03Z", "body": "some texts......."}]

L oop, которые я использовал:

data = pd.read_json('data.json')
body = data['body']

st = StanfordNERTagger('C:/Users/ca/Desktop/jupyter NB/resources/english.all.3class.distsim.crf.ser.gz',
                   'C:/Users/ca/Desktop/jupyter NB/resources/stanford-ner.jar', encoding="utf-8")

i = 0
while i < len(body):
  tokenizedData = [term for term in preprocess(body[i]) if term not in stop]
  classified_text = st.tag(tokenizedData)
  print(classified_text)

  i += 1

Я хочу решение, чтобы избежать этой ошибки и процесс завершен JSON file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...