Предотвратить прямой выбор из обучения NL - PullRequest
0 голосов
/ 06 апреля 2020

Я согласовал концепцию выбора в обучении NL, чтобы теперь он мог принимать ввод и отображать результат, когда я озвучиваю опцию. Но недостатком этого является то, что он напрямую покажет результат, хотя я не на странице выбора. Есть ли способ предотвратить это? Мой подход - сопоставить цель NL с концепцией выбора, с при запросе с концепцией

[Обновить] Хотелось бы сначала показать меню пользователю, прежде чем он сделает свой выбор , Меню может быть показано, когда я запускаю действие

enter image description hereenter image description here

Где playNews> getNews> getMenu (выбор - вида ввода)

action (getNews) {
    type (Constructor)
    description (__DESCRIPTION__)
    collect {
        input (whatuserwant){
            type (userWantToHear)
            min (Required) max (One)
            default-init{
                intent{
                    goal: getMenu
                }
            }
            default-select{
                with-rule{
                    select-first
                }
            }

        }
    }
    output (newsAudio)
}

Чтобы разрешить выбор голосового ввода, я добавляю обучение для концепции enter image description here

, чтобы можно было выбрать выбор из меню, , но также примет выбор и запустится, хотя я еще не в меню. Можно ли от этого избавиться? Или это поведение Биксби?

1 Ответ

1 голос
/ 06 апреля 2020

Обновление: я бы удалил default-select и добавил prompt-behavior (AlwaysElicitation) к входу. Подробнее читайте в нашем DO C.

. Вы также можете проверить этот пример в GitHub , чтобы увидеть, как создать выборку представления ввода из другого ввода Действие. Этот пример является упрощенной версией того, как QuizIt обрабатывает выделенную часть. Вы также можете проверить тренировку, чтобы увидеть, как Биксби будет предпринимать различные действия с / без примера тренировки высшего уровня «А».

Приглашение на ввод должно быть легким и простым, как вы ожидаете: представить список с сообщением, затем пользователь может либо нажать, либо выбрать голос, и сможет продолжить действие.

Вот дополнительная информация, которая может оказаться полезной:

  1. Платформа Bixby будет пытаться сопоставить каждое свойство структуры при отсутствии ввода, поэтому пометьте свойство как visibility (Private) чтобы предотвратить это. Вы также можете использовать prompt-behavior (AlwaysSelection) для принудительного выбора входа.
  2. В случае обучения с подсказкой / продолжением, Биксби будет рассматривать его как обучение на высшем уровне, которое не подойдет ни одному другому обучению. Например, простая капсула для викторины, которая создала бы викторину по умолчанию, высказывание верхнего уровня «А» будет рассматриваться как ответ на первый вопрос как А. Чтобы предотвратить это, просто добавьте обучающий пример «А» и сопоставьте его с действием ты хочешь. Биксби знает, что нужно использовать это обучение на высшем уровне вместо быстрого обучения.
...