Ошибка текста при попытке обучить данные - PullRequest
0 голосов
/ 05 октября 2019

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

из deeppavlov import dataset_readers

dat = dataset_readers.basic_classification_reader.BasicClassificationDat (lattase) laseчитать ("C: \ Users \ Anna \ Desktop \ NLP \ test", url = Нет, 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 ()

Ошибка типа: 'strr'объект не может быть интерпретирован как целое число

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

Трассировка KeyError (последний последний вызов) в 2 3 dat = dataset_readers.basic_classification_reader.BasicClassificationDatasetReader () ----> 4 l = dat.read ("C: \ Users \"Anna \ Desktop \ NLP \ test ", url = Нет, 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 # каждый пример - кортеж ("текст"," label ") -> 102 data [data_type] = [(row [x], str (row [y])) для _, строка в df.iterrows ()] 103 else: 104 # каждый образец представляет собойtuple ("text", ["label", "label", ...])

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

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

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_value (self, series, key) 4387 повысить InvalidIndexError (ключ) 4388 else: -> 4389 повысить e1 4390, кроме исключения: # pragma: без обложки 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 тц= 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 ()

панд/_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.px.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bs.bsp. PyObjectHashTable.get_item ()

KeyError: 'text'

из deeppavlov import train_model, configs

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

1 Ответ

0 голосов
/ 15 ноября 2019

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

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