Функционал "Топ-5 интентов"

В Платформа существует функционал "Топ-5 интентов", который представлен в виде Контекстная переменная nlu_result.Контекстная переменная появляется при прохождении Реплика Собеседника через Слот NLU и содержит информацию о топ-5 распознанных Интентов в порядке убывания конфиденса.Пример Контекстная переменная: [{'intent_name': 'size', 'confidence': 0.9993743300437927}, {'intent_name': 'product_in_stock', 'confidence': 0.00019508253899402916}, {'intent_name': 'model_price', 'confidence': 0.00012844608863815665}, {'intent_name': 'address', 'confidence': 0.00010525238758418709}, {'intent_name': 'change_info', 'confidence': 6.851823127362877e-05}]Переменная nlu_result может содержать разное количество пар ключ-значение:

  1. 5 пар — если Слот NLU имеет 5 или более Подслотов intent;

  2. 2-4 пары — если Слот NLU имеет от 2 до 4 Подслотов intent (количество пар будет соответствовать количеству Подслотов intent);

  3. 1 пару — если Реплика Собеседника является точным совпадением с Обучающая фраза одного из Интентов.

Пример реализации Сценария с использованием функционала

Агент прогоняет Реплика Собеседника через Слот NLU, определяет, сколько элементов содержит Контекстная переменная nlu_result,затем выводит Собеседнику текст, содержащий либо топ-5 распознанных Интентов, либо 1 Интент, если Реплика Собеседника является точным совпадением с Обучающая фраза одного из Интентов.

  1. Агент содержит Слот NLU с 7 Интентами.

  2. После одного из Интентов построен следующий Сценарий агента:

      1. Подслот со значением {{ nlu_result[1].intent_name is defined }}

      2. Переход в ветку данного Подслота произойдет в том случае, если переменная nlu_result имеет второй элемент (порядковый номер элемента 1, поскольку нумерация начинается с нуля).

      3. Подслотсо значением true

      4. Переход в ветку данного Подслота произойдет в том случае, если Контекстная переменная nlu_result имеет только один элемент, что говорит о том, что Реплика Собеседника является точным совпадением с Обучающая фраза одного из Интентов.

    1. За Подслотом со значением {{ nlu_result[1].intent_name is defined }} следует текстовый Слот с текстом: Вот, что я распознал: Интент {{ nlu_result[0].intent_name}} с конфиденсом {{ nlu_result[0].confidence }} Интент {{ nlu_result[1].intent_name}} с конфиденсом {{ nlu_result[1].confidence }} Интент {{ nlu_result[2].intent_name}} с конфиденсом {{ nlu_result[2].confidence }} Интент {{ nlu_result[3].intent_name}} с конфиденсом {{ nlu_result[3].confidence }} Интент {{ nlu_result[4].intent_name}} с конфиденсом {{ nlu_result[4].confidence }}

    2. Данный Слот выводит Собеседнику все 5 вариантов распознанных Интентов.

    3. За Подслотом со значением true следует текстовый Слот с текстом: Вот, что я распознал: Интент {{ nlu_result[0].intent_name}} с конфиденсом {{ nlu_result[0].confidence }}

    4. Данный Слот выводит Собеседник 1 распознанный Интент.

    5. Ветки с текстовыми Слотами закрыты Слотами Wait For Reaction.

  3. После остальных Интентов стоит Слот Jump, ведущий в Слот Transition Rule.

Last updated