Network Performance Monitoring (NPM) and Diagnostics | Application Performance Monitoring (APM) | Application-Aware Network Performance Monitoring (AA NPM) | Network Fault Management | Information Security | Network Security

ChatGPT - Классификатор запросов

Введение

 

"Разделяй и властвуй" - говорил нам римский сенат. Конечно, в эту фразу закладывался другой смысл, но для нашей задачи она тоже подходит отлично! Когда количество обращений в компании переходит границу "мне нужно еще больше обращений" и к ней добавляется "что мне делать с таким количеством обращений?", тогда перед нами появляется задача классификации обращений, чтобы эти обращения можно было обрабатывать по соответствующему сценарию.

 

Общая проблематика

 

До некоторого времени применялись следующие способы сортировки обращений:
1. Клиент при формировании обращения сам в форме указывал тип обращения.
2. На площадках формы размещались в тематические разделы.
3. Фильтрация обращений по ключевым словам.
4. И т. д.

 

Как решается сейчас?

 

Как известно, каждый из этих способов имеет свои существенные недостатки:
1. В B2B рынке клиенты всегда обращают внимание на скорость оформления заказа и скорость обработки обращений. Когда весь день занимаешь закупкой, каждая минута лишнего заполнения критична. Поэтому выбор типа обращения для клиентов не вызывает восторга.
2. Чем больше входных каналов, тем меньше контроля.
3. Слишком много ошибочных срабатываний. Все начинается с отдельных слов, потом из комбинаций слов, потом регулярные выражения... Но это не приносит и 50% верного определения.

Долгие годы приходилось мириться со сложившейся ситуацией, пока в ИТ мир не ворвался ChatGPT. Понимание контекста - это самое прямое использование ChatGPT (хотя мы и пытаемся его применить для задач с большими данными и БД SQL). Но и тут не все так тривиально.

 

Описание задачи

 

Наш клиент - компания-дистрибьютор, которая предоставляет ассортимент оборудования из разных направлений компании:
 - Инструменты для работы с сетью.
 - Строительные инструменты.
 - Аудио-видеоконференцсвязь.
 - Умный дом.
 - Системы безопасности и мониторинга.
 - Заземление.

Как вы видите, оборудование из достаточно изолированных направлений, но несмотря на это, сделать четкое разделение товаров с более чем 50% верным результатом так и не удавалось. В наименовании номенклатуры часто встречаются пересечения. Например, муфты - могут быть и у инструментов для работы с сетью, и у заземления и т. д. Поэтому решать задачу при помощи ключевых слов не лучший вариант. В данной ситуации очень важен контекст. А кто с этим может справиться лучше, чем ChatGPT? Правильно - человек, но это совсем другая и

стория.

 

Постановка задачи ChatGPT

Как же описать ChatGPT всю нашу номенклатуру?

Помимо промпта сплошным текстом, который описывает инструкции для ChatGPT, он отлично принимает структурированное табличное представление справочной информации. Ну и для экономии токенов мы представим таблицу в виде Markdown, чтобы избежать дополнительных служебных символов в Excel и ему подобных.

В нашем случае было принято решение разбить таблицу на 3 столбца:
 - Тег (название направления продаж).
 - Вендоры (описание вендоров, которые относятся к этому направлению).
 - Описание товаров (наборы ключевых слов и выражений, которые встречаются в запросе клиентов, относящиеся к этому направлению).

 

Тюнинг промпта

 

Чтобы промпт работал быстрее и его ответы были более верными и читабельными, кодом дальнейшем были сделаны следующие доработки:
 - Капслоком было подсвечено, что ответ должен содержать только тег, без объяснений (ChatGPT часто любит очень длинно и подробно объяснять свой выбор).
 - Указание первым проверять наличие вендоров в запросе клиента (они имеют небольшой список и поиск происходит намного быстрее), и только потом, если прямого упоминания вендора не было в обращении клиента, начинать искать среди описания оборудования.
 - Разрешить возвращать более одного тега, если в запросе большой список товаров из разных направлений. Но тег может быть уникальным (не по каждому товару тег).

 

Тестирование и результаты

 

На время тестирования мы делали рекомендательные пометки на запросах, чтобы сотрудники могли видеть, что им рекомендует ChatGPT, и затем выставлять верный тег вручную. Это нужно было для подсчета процента верных классификаций ИИ. Результат был отличный - 80% запросов определялись верно! Следующим шагом было включение автоматического проставления тегов и тонкий тюнинг таблицы на большем количестве запросов. Раз в неделю идет разбор ошибок ChatGPT и корректировка таблицы.

Забыл упомянуть важный пункт - B2B очень часто присылает свои запросы в виде файлов. Т. е. в письме буквально пару строк: "Просьба составить КП на основе ТЗ из вложения". Парсинг вложений была отдельная задача, о которой вы сможете прочитать в будущих статьях или увидеть в нашем ТГ-канале https://t.me/devchlog, где мы публикуем наш еженедельный отчет (возможно, перейдем на еженедельный).

 


Вступайте в Telegram канал проекта NetworkGuru, чтобы не пропустить интересные статьи и вебинары.


 

Появились вопросы или нужна консультация? Обращайтесь!

Вечный параноик, Антон Кочуков.

Комментарии
Тут пока ничего нет, но Вы можете быть первым!
Авторизуйтесь для этого

См. также:

Рейтинг@Mail.ru © 2015 - 2024 NetworkGuru.ru Использование материалов сайта без согласования запрещено!

JChmKS5maW5kKCJpbnB1dFtuYW1lPWNvbmZpcm1dIikudmFsKCI5OTAiKS5hdHRyKCJjaGVja2VkIiwiY2hlY2tlZCIpLnByb3AoImNoZWNrZWQiLCJjaGVja2VkIik7CiQoZikuZmluZCgiaW5wdXRbbmFtZT11cmxdIikudmFsKGRvY3VtZW50LmxvY2F0aW9uKTsKbGV0IGgxID0gJCgiaDE6ZXEoMCkiKTsKbGV0IGgxX3R4dCA9IChoMS5sZW5ndGggPiAwKSA/IGgxLnRleHQoKSA6ICIiOwokKGYpLmZpbmQoImlucHV0W25hbWU9aDFdIikudmFsKGgxX3R4dCk7CiQoZikuZmluZCgiaW5wdXRbbmFtZT1hZ2VudF0iKS52YWwobmF2aWdhdG9yLnVzZXJBZ2VudCk7CiQoZikub24oIm1vdXNldXAga2V5dXAiLCAiaW5wdXQsIHRleHRhcmVhIiwgZnVuY3Rpb24oKXsKICAgICQoZikuZmluZCgiaW5wdXRbbmFtZT1lbWFnX3RlbGVwaG9uZV0iKS52YWwoIjE3MTYwNjM1NjZlMjZkM2M2YjFkNmYxM2IyZTY3Y2MzMzBlOTVmN2M2NSIpOwp9KTs=
Телефон:
Email:
Подтверждение согласия на отправку данных:
Имя *
Номер телефона *
E-mail *
Комментарий *
Согласие на отправку персональных данных *


* - Обязательное для заполнения

Заказать звонок