Оптимизация и приоритизация
По мере роста вашего проекта и увеличения количества намерений, правильная организация и настройка NLU-модели становятся критически важными для поддержания высокой точности и качества диалога. В этом разделе мы рассмотрим два ключевых аспекта: рефакторинг и приоритизацию.
Оптимизация: Рефакторинг Намерений
Со временем некоторые общие намерения (например, «Вопросы по заказу») могут стать перегруженными и терять в точности. В таких случаях рекомендуется проводить рефакторинг — разделение одного большого намерения на несколько более мелких и сфокусированных.
Например, намерение «Вопросы по заказу» можно разделить на:
«Где мой заказ?»
«Изменить состав заказа»
«Отменить заказ»
Эти новые, более точные намерения можно по-прежнему использовать в одном и том же месте в сценарии, но это значительно повысит точность распознавания и упростит дальнейшую поддержку модели.
Приоритизация: Как бот выбирает главное?
Пользователи не всегда говорят прямо. Их сообщения могут содержать сразу несколько мыслей. Например:
"Превет! Я хотел бы заказать пиццу. И поскорее!"
Наша NLU-модель анализирует каждое предложение отдельно и может распознать здесь сразу три намерения: приветствие, заказ_пиццы и просьба_ускорить. Приоритизация — это механизм, который позволяет боту понять, какое из этих намерений является главным, и отреагировать именно на него, проигнорировав второстепенные.
Как работает приоритизация?
В основе механизма лежит иерархия списков, в которые распределяются все намерения проекта. Когда в одном сообщении распознается несколько намерений, система выбирает то, которое находится в списке с наивысшим приоритетом.
Структура приоритетов
Стандартная иерархия выглядит следующим образом, от высшего приоритета к низшему:
Критически важные намерения (
critical_list): Это намерения, которые должны быть обработаны в первую очередь, несмотря ни на что. Примеры:отмена_заказа,вызов_оператора.Стандартные намерения (
other_listи др.): Основная масса ваших продуктовых намерений. Если в запросе нет критически важных, бот выберет намерение из этой группы.Системные и "мусорные" намерения: Намерения с самым низким приоритетом, такие как
спасибо,приветствие,прощание. Они будут проигнорированы, если в сообщении есть что-то более важное.Исключения (
no_priority_list): Намерения, которые по какой-то причине должны быть исключены из логики приоритизации.
Настройка приоритизации Конфигурация этих списков выполняется нашими специалистами на основе вашей бизнес-логики. Чтобы настроить приоритеты, вам достаточно предоставить нам ранжированный список ваших ключевых намерений.
Практический пример
Представим, что пользователь пишет: "Спасибо, все отлично! А где мой заказ?"
Система распознает два намерения:
спасибо(низкий приоритет) иузнать_статус_заказа(стандартный приоритет).Механизм приоритизации видит, что
узнать_статус_заказаимеет более высокий приоритет.Бот проигнорирует благодарность и запустит сценарий для отслеживания заказа.
Этот подход позволяет боту фокусироваться на решении реальной задачи пользователя, делая диалог более эффективным и естественным.
Последнее обновление