Есть ли способ извлечь только параметр, а не сущность? - PullRequest
2 голосов
/ 08 февраля 2020

Я создал объект «редактируемый», имеющий записи в виде {имя, возраст, цвет, место}

бот: выберите опцию для обновления [варианты: {имя, возраст, цвет, место}]

пользователь: имя

бот: введите свое имя?

пользователь: Xyz

бот: запись обновлена. выберите опцию для обновления [варианты: {имя, возраст, цвет, место}]

это прекрасно работает

, но если пользователь говорит что-то вроде " my name - это Xyz"для обновления имени.

бот: выберите опцию для обновления [варианты: {имя, возраст, цвет, место}]

пользователь: имя

бот: введите ваше имя?

пользователь: мое имя is Xyz

бот: введите ваше имя.

как, когда пользователь включает «имя» в своей фразе, тогда бот сопоставляет его с сущностью и снова задает тот же вопрос. Как решить эту проблему, я просто хочу извлечь «Xyz», хотя он использует фразу «меня зовут Xyz».

1 Ответ

0 голосов
/ 08 февраля 2020

Вы можете использовать contextx для управления потоком разговора. Контексты используются, чтобы помочь диалогу определить правильное намерение. Выходные контексты - это контексты, созданные после того, как намерение было обнаружено, а входной контекст - это контекст, необходимый для обнаружения намерения.

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

Вот пример использования 3 намерений для этого диалога:

  • "Приветствие по умолчанию"
  • "Обновление выбора имени"
  • "Обновление имени"

Разговор

Обнаружено намерение: Приветствие по умолчанию

Агент говорит: "Выберите параметр для обновления [параметры are {name, age, color, place}] "

Контекст вывода:" select-option "


Пользователь говорит:" name "

Контекст ввода: "select-option"

Обнаружено намерение: Обновление выбора имени

Агент говорит: введите ваше имя

Контекст вывода: "update-name"


Пользователь говорит: «Меня зовут Xyz»

Контекст ввода: «имя-обновления»

Обнаружено намерение: Имя обновления

Агент говорит: «Запись обновлена»


В дополнение к этому есть последующие намерения , которые используются для этого сценария ios, один из Преимущество заключается в том, что в последующих EXT создаются автоматически.

Параметры

Вы можете получить всю информацию, которая будет обновлена ​​в рамках одного и того же намерения. Для этого вы можете добавлять параметры по мере необходимости и использовать заполнение слота . Обратите внимание, что вы можете указать определяющие приглашения, которые будут использоваться при запросе этих параметров.

Actions and parameters

Вам потребуется добавить обучающие фразы, которые помогут определить различные параметры учитывая:

Training phrases

Во время разговора, когда обнаруживается это намерение, агент попытается сопоставить все необходимые параметры и запросит недостающую информацию , В конце концов, у вас будет доступ к этой информации:

Example of parameters collected

Учтите, что с такими намерениями можно быстро справиться. Попробуйте использовать четко определенные сущности для ваших параметров и множество обучающих фраз (обратите внимание, что в одной обучающей фразе вы можете собрать более одного параметра, например, «Меня зовут Xyz, а мне 27»).

...