Как обучить ИИ-консультанта поправками без дообучения модели
Почему исправлять поведение помощника правилами быстрее и дешевле, чем дообучать модель, и как вести такие поправки, чтобы они не мешали друг другу.
Помощник посоветовал не то. Первая мысль — «надо дообучить модель». На практике почти всегда быстрее и дешевле поправить поведение правилом.
Чем отличаются два подхода
Дообучение модели. Требует набора примеров, вычислительных ресурсов, времени на обучение и проверку. Результат виден не сразу, а откатить его сложно. Проверить, что именно изменилось, тоже непросто.
Поправка правилом. Формулируется одной фразой, действует с первого же запроса, отключается одним нажатием, и видно, какая именно поправка сработала.
Для задачи «этот товар не надо предлагать при таком запросе» второй путь очевидно лучше.
Как это работает
Правило не меняет модель. Оно попадает в описание задачи, которое модель получает вместе с запросом, и влияет на разбор и подбор.
Отсюда важное следствие: правил не может быть бесконечно много. В работу берутся те, что относятся к текущему запросу, а не весь список сразу.
Как формулировать поправки
Плохо: «отвечай лучше», «будь внимательнее».
Хорошо: конкретное соответствие между ситуацией и действием.
- «Если спрашивают про уборку снега на площадке до пяти соток, не предлагать тяжёлую технику».
- «При запросе про переезд сначала уточнять этаж и наличие лифта».
- «Позицию с истёкшей сертификацией не предлагать вовсе».
Правило описывает случай и требуемое поведение. Общие пожелания ни на что не влияют.
Три вида поправок
- Что предлагать. Уточняет подбор в конкретной ситуации.
- Чего не предлагать. Исключает позицию из выдачи по признаку. Самый действенный вид.
- Что спрашивать. Добавляет нужный уточняющий вопрос в определённом сценарии.
Второй вид работает надёжнее остальных, потому что запрет проверяется однозначно.
Откуда брать поправки
Из диалогов. Читайте разговоры, отмечайте неудачные ответы и превращайте их в правила. Формулировка рождается из вопроса: как надо было ответить в этом случае.
Хороший темп — раз в неделю разбирать отмеченные диалоги. Первые недели правил появляется много, дальше поток стихает.
Про то, как читать диалоги — правильный диалог подбора: разбор по репликам.
Как не сломать себе выдачу
- Проверяйте после добавления. Прогоните эталонный набор запросов: правило могло задеть соседние случаи.
- Не пишите противоречий. Два правила, требующих разного в одной ситуации, дают непредсказуемый результат.
- Держите список обозримым. Периодически убирайте устаревшие: товар снят, сезон прошёл.
- Фиксируйте причину. Через полгода никто не вспомнит, зачем добавлено правило без пояснения.
Когда правил недостаточно
Если поправки повторяют одно и то же про десятки позиций, дело не в поведении помощника, а в данных: в каталоге не хватает признака, по которому это различается. Тогда правильнее завести поле, а не двадцать правил.
Вывод и следующий шаг
Поведение помощника исправляется правилами: они действуют сразу, отключаются мгновенно и понятны человеку. Дообучение модели для этой задачи избыточно.
Следующий шаг: прочитайте десять последних диалогов, отметьте неудачные и сформулируйте по одному правилу для каждого. Это работа на час, а результат виден сразу.
Частые вопросы
Нужно ли дообучать модель вообще?
Для подбора по каталогу обычно нет. Данные и правила решают задачу быстрее.
Сколько правил можно завести?
Практически — десятки. Если их сотни, проблема в данных, а не в поведении.
Как быстро действует правило?
С первого же запроса после сохранения.
Могут ли правила противоречить друг другу?
Могут, и тогда результат непредсказуем. Проверяйте пересечения при добавлении.
Кто должен писать правила?
Человек, знающий товар и клиентов. Разработчик для этого не нужен.
Как проверить, что правило не навредило?
Прогнать эталонный набор запросов до и после.