This site is no longer updated.Go to new Conversational Cloud docs

Правила активации


Для определения намерения клиента вы можете использовать паттерны, примеры фраз и интенты

При использовании в одном сценарии паттернов, интентов и групп примеров, обработка правил активаций происходит с приоритетом по мере убывания:

  1. Паттерны.
  2. Группа примеров классификатора STS.
  3. Интенты.

Механизм активации правил

  1. Если запрос клиента сработал в стейте с паттерном, группой примеров e! и интентом, то приоритет будет у паттерна. Сработает стейт с паттерном.
  2. Если запрос клиента сработал в стейте с группой примеров e! и интентом, то приоритет будет у группы примеров. Cработает стейт с группой примеров.
  3. Если запрос клиента сработал только в стейте с интентом, отработает только он.
  4. В остальных случаях запрос клиента будет обработан стейтом CatchAll.

CatchAll

Обратите внимание, что при совместном использовании NLU-сервиса с паттернами и примерами фраз классификатора, не используется подобный CatchAll:

    state: CatchAll
        q!: *
        a: Не понял

Для непредусмотренных сценарием запросов клиента используйте event: noMatch:

    state: CatchAll
        event: noMatch
        a: Вы сказали: {{ $request.query }}

Пример сценария

Рассмотрим сценарий:

theme: /

    state: Pattern
        q!: * паттерн *
        a: Сработал паттерн

    state: Example
        e!: паттерн
        a: Этот пример не срабатывает, потому что отрабатывает паттерн

    state: Second example
        e!: пример
        a: Сработал пример

    state:
        intent!: /паттерн
        a: Этот пример не срабатывает, потому что отрабатывает паттерн

    state:
        intent!: /пример
        a: Этот пример не срабатывает, потому что отрабатывает группа примеров

    state: Intent
        intent!: /интент
        a: Сработал интент

    state: CatchAll
        event: noMatch
        a: Вы сказали: {{ $request.query }}

При этом тренировочные фразы для интентов:

  • /паттерн — паттерн;
  • /пример — пример;
  • /интент — интент.

Запускаем тестовый виджет и проверям сценарий:

  1. При запросе Паттерн отрабатывает стейт Pattern.
  2. При запросе Пример отрабатывает стейт Second example.
  3. При запросе Интент отрабатывает стейт Intent.
  4. Все непредусмотренные сценарием запросы обрабатывает стейт CatchAll.

При использовании в одном сценарии паттернов, интентов и групп примеров, разработчик может сам определить приоритет обработки правил активаций.