IBM Watson NLC — как переобучить существующий классификатор в Java SDK

Я хочу добавить больше примеров в свой классификатор с помощью java sdk. Идея заключается в периодическом увеличении размера данных и улучшении классификатора. Однако в документах показан только вариант обучения создать новый классификатор. .

Если я не могу переучиться, могу ли я получить использованные данные в исходном классификаторе для обучения нового классификатора с помощью SDK?

В случае, если эти функции не существуют, каков наилучший подход? Увеличивать мои данные локально и создавать новые классификаторы в каждом новом поезде, отправляющем всю базу данных?


person Albano Borba    schedule 12.05.2020    source источник


Ответы (1)


Не существует API ни для обновления/переобучения классификатора, ни для извлечения обучающих данных существующего классификатора.

Корпуса, создаваемые службой, не имеют опции обновления или усиленного обучения. Отсюда необходимость генерировать новый корпус, если есть изменения в обучающих данных.

Это также означает, что при создании корпуса сервису не нужно хранить обучающие данные.

Итог обсуждения в комментариях:

Если вы хотите получить эффект от переобучения классификатора, есть 2 подхода:

  • Используйте студию Watson для создания своего классификатора / классификатора обучения, после первоначального обучения вы увидите возможность переобучить классификатор.
  • Если вы хотите сделать это программно с помощью SDK, вы можете создать и обучить классификатор, как обычно, а затем удалить существующий классификатор и создать новый классификатор с новым набором данных.

P.S. Под капотом Watson studio также удаляет и создает новый классификатор при попытке переобучить

person chughts    schedule 13.05.2020
comment
На портале IBM вы можете добавить новые примеры или загрузить существующий набор данных. Таким образом, SDK не поддерживает эти операции. Спасибо! - person Albano Borba; 13.05.2020
comment
Это верно. Watson Studio имеет некоторые уникальные функции для классификатора естественного языка, которые не поддерживаются API и поэтому не поддерживаются пакетом SDK. - person Allen Dean; 14.05.2020
comment
Означает ли это, что вам нужно создавать новый классификатор каждый раз, когда вы хотите обучить набор данных? Я заметил, что служба NLC предоставляет 4 бесплатных обучающих мероприятия в месяц, странно !! - person Clint; 27.05.2020
comment
Да, @Клинт. Это моя текущая проблема. :/ - person Albano Borba; 28.05.2020
comment
похоже, что единственный способ переобучиться — через Watson Studio, и вам также нужно будет создать классификатор с помощью студии. И вы можете классифицировать фразу через SDK программно и соответствующим образом обрабатывать вывод. - person Clint; 29.05.2020
comment
Под прикрытием Watson Studio не занимается переобучением. Он удаляет старый классификатор и создает новый. - person chughts; 29.05.2020
comment
@chughts, да, вы правы, я ссылался на Redbook по NLC, но если вы посмотрите на цены plan это стоит примерно в 6 раз больше для нового классификатора по сравнению с обучающим мероприятием, и каким-то образом обучающие мероприятия не отображаются в SDK. - person Clint; 01.06.2020
comment
Я думаю, что цена говорит: вы можете иметь 1 классификатор бесплатно. Если вы хотите больше, чем любой более 1, будет стоить в месяц. Если вы не хотите, чтобы с вас взимали плату, вы придерживаетесь одного, удаляя и создавая новый. Как только у вас есть 2, вы платите за дополнительный. Вы получаете 4 обучающих мероприятия бесплатно на своем бесплатном одиночном классификаторе. т.е. вы можете создать его 4 раза в месяц, но если вы пройдете 4 события, т.е. вы удалили и создали 4 раза в месяц, то вам нужно будет заплатить что-то более 4 за месяц. т.е. вы не можете продолжать создавать, удалять, создавать. - person chughts; 01.06.2020
comment
@chughts, спасибо за ясность, было бы здорово, если бы вы могли указать мне на документ IBM, подтверждающий вышеизложенное :) - person Clint; 02.06.2020
comment
Попробуйте следующее: 1. Создайте классификатор в Watson Studio. 2. Используйте API для перечисления всех классификаторов, обратите внимание на идентификатор и имя. 3. Обновите и переобучите классификатор в Watson Studio. 4. Используйте API, чтобы вывести список всех классификаторов. Вы увидите то же имя, что и раньше, создавая иллюзию того же классификатора, но идентификатор будет другим, указывая на то, что это не тот же классификатор. Что вы действительно спрашиваете о ценообразовании, так это «что такое обучающее мероприятие?» - person chughts; 02.06.2020
comment
Затем вы можете использовать средство отслеживания активности в облаке IBM, чтобы увидеть, какие события на самом деле вызваны повторным обучением Watson Studio — cloud.ibm.com/docs/ - person chughts; 02.06.2020
comment
@chughts, отредактировал свой пост, надеюсь, ты не против. Спасибо :) - person Clint; 24.06.2020