Текстовая ошибка при попытке обучения данных

Получение ValueError: «текст» при попытке чтения и передачи данных csv BasicClassificationDatasetReader из модели deeppavlov

from deeppavlov import dataset_readers

dat = dataset_readers.basic_classification_reader.BasicClassificationDatasetReader () l = dat.read ("C: \ Users \ Anna \ Desktop \ NLP \ test", url = None, format = 'csv', sep = ',', header = 1)

TypeError Traceback (последний вызов последним) ~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_value (self, series, key) 4380 try: -> 4381 return libindex.get_value_box (s, key ) 4382, кроме IndexError:

pandas / _libs / index.pyx в pandas._libs.index.get_value_box ()

pandas / _libs / index.pyx в pandas._libs.index.get_value_at ()

pandas / _libs / util.pxd в pandas._libs.util.get_value_at ()

pandas / _libs / util.pxd в pandas._libs.util.validate_indexer ()

TypeError: объект 'str' нельзя интерпретировать как целое число

Во время обработки вышеуказанного исключения произошло другое исключение:

KeyError Traceback (последний вызов последним) в 2 3 dat = dataset_readers.basic_classification_reader.BasicClassificationDatasetReader () ----> 4 l = dat.read ("C: \ Users \ Anna \ Desktop \ NLP \ test", url = None , format = 'csv', sep = ',', header = 1, names = ['x', 'y'])

~ \ Anaconda3 \ lib \ site-packages \ deeppavlov \ dataset_readers \ basic_classification_reader.py в read (self, data_path, url, format, class_sep, * args, ** kwargs) 100, если class_sep равен None: 101 # каждый образец является кортежем ("text", "label") -> 102 data [data_type] = [(row [x], str (row [y])) for _, row in df.iterrows ()] 103 else: 104 # каждый образец - это кортеж ("текст", ["ярлык", "ярлык", ...])

~ \ Anaconda3 \ lib \ site-packages \ deeppavlov \ dataset_readers \ basic_classification_reader.py в (.0) 100, если class_sep равен None: 101 # каждый образец представляет собой кортеж ("текст", "метка") -> 102 данные [ data_type] = [(row [x], str (row [y])) for _, row в df.iterrows ()] 103 else: 104 # каждая выборка является кортежем ("текст", ["метка", " метка", ...])

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ series.py в getitem (self, key) 866 key = com.apply_if_callable (key, self) 867 try: -> 868 result = self.index.get_value (self, key) 869 870, если не is_scalar (результат):

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_value (self, series, key) 4387 поднять InvalidIndexError (key) 4388 else: -> 4389 поднять e1 4390 за исключением Exception: # pragma: no крышка 4391 поднять e1

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_value (self, series, key) 4373 try: 4374 return self._engine.get_value (s, k, -> 4375 tz = getattr ( series.dtype, 'tz', None)) 4376 кроме KeyError как e1: 4377, если len (self)> 0 и (self.holds_integer () или self.is_boolean ()):

pandas / _libs / index.pyx в pandas._libs.index.IndexEngine.get_value ()

pandas / _libs / index.pyx в pandas._libs.index.IndexEngine.get_value ()

pandas / _libs / index.pyx в pandas._libs.index.IndexEngine.get_loc ()

pandas / _libs / hashtable_class_helper.pxi в pandas._libs.hashtable.PyObjectHashTable.get_item ()

pandas / _libs / hashtable_class_helper.pxi в pandas._libs.hashtable.PyObjectHashTable.get_item ()

KeyError: 'текст'

от диппавлов импорт train_model, конфиги

Я хочу, чтобы данные загружались без ошибок. Теперь данные выглядят как метка значения 1600 строк


person Anna Tum    schedule 05.10.2019    source источник


Ответы (1)


Есть недокументированные аргументы инициализации x='text' и y='labels' - заголовки для данных x и y. Ошибка возникает из-за того, что pandas не может найти заголовок text в ваших данных.
Помните также, что вы используете header=1, а номера строк начинаются с 0, поэтому первая строка в вашем CSV-файле пропускается.

person Aleksei Lymar    schedule 15.11.2019