UnicodeDecodeError с pyrouge

Я хочу оценить свои резюме по Pyrouge. pyrouge - это оболочка для Python для пакета оценки ROUGE.

Моя проблема в том, когда я хочу использовать pyrouge для оценки моих резюме. Я написал эти команды:

from pyrouge import Rouge155

r = Rouge155()
r.system_dir = '/Users/raghad/Desktop/Articles/system_summaries/'
r.model_dir = '/Users/raghad/Desktop/Articles/model_summaries/'
r.system_filename_pattern = 'summary.(\d+).txt'
r.model_filename_pattern = 'summary.[A-Z].#ID#.txt'

output = r.convert_and_evaluate()
print(output)
output_dict = r.output_to_dict(output)

но я получаю эту ошибку:

2018-08-10 19:05:34,194 [MainThread  ] [INFO ]  Writing summaries.
2018-08-10 19:05:34,197 [MainThread  ] [INFO ]  Processing summaries. Saving system files to /var/folders/yq/dcjh2lr14676s_8kl6s6vjgc0000gn/T/tmptyzxws4q/system and model files to /var/folders/yq/dcjh2lr14676s_8kl6s6vjgc0000gn/T/tmptyzxws4q/model.
2018-08-10 19:05:34,197 [MainThread  ] [INFO ]  Processing files in /Users/raghad/Desktop/Articles/system_summaries/.
2018-08-10 19:05:34,197 [MainThread  ] [INFO ]  Processing .DS_Store.
Traceback (most recent call last):
  File "rouge3.py", line 12, in <module>
    output = r.convert_and_evaluate()
  File "/usr/local/lib/python3.6/site-packages/pyrouge/Rouge155.py", line 360, in convert_and_evaluate
    self.__write_summaries()
  File "/usr/local/lib/python3.6/site-packages/pyrouge/Rouge155.py", line 489, in __write_summaries
    self.__process_summaries(self.convert_summaries_to_rouge_format)
  File "/usr/local/lib/python3.6/site-packages/pyrouge/Rouge155.py", line 482, in __process_summaries
    process_func(self._system_dir, new_system_dir)
  File "/usr/local/lib/python3.6/site-packages/pyrouge/Rouge155.py", line 202, in convert_summaries_to_rouge_format
    input_dir, output_dir, Rouge155.convert_text_to_rouge_format)
  File "/usr/local/lib/python3.6/site-packages/pyrouge/utils/file_utils.py", line 29, in process
    input_string = f.read()
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py", line 700, in read
    return self.reader.read(size)
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py", line 503, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x86 in position 23: invalid start byte

Что я должен делать? Моя кодировка по умолчанию - UTF-8

0 ответов

Если вы запустите это на MacOs, в той же папке (скрытый файл) будет файл с именем.DS_Store. Убери это.

См. https://github.com/bheinzerling/pyrouge/issues/22

Если вы используете другую систему, ищите скрытые файлы в том же каталоге.

Другие вопросы по тегам