Это немного сложно объяснить, поэтому я надеюсь, что использование примера будет наиболее эффективным.
Мы создаем сервис, который позволяет Parent
вести список их Children
и выполните действия против этих Children
.
. Parent
- это пользователь, делающий высказывания агенту / намерению DF.
Parent
добавляет своих детей (имена) в базу данных.через веб-интерфейс (не DF) до использования DF.
Это означает, что у нас может быть представление базы данных, например:
PARENT TABLE
ID Name
1 User A
2 User B
РЕБЕНОК ТАБЛИЦА
ID NAME PARENT_ID
1 John 1
2 Jon 2
3 Jake 2
Фразы намерения имеют следующий формат и параметры
"Do {ACTION} for {CHILD_NAME}"
Проблема, с которой мы сталкиваемся, состоит в том, как решитьэто так, что когда параметры извлекаются агентом, они передаются в выполнение с правильным дочерним именем, чтобы мы могли использовать это имя для пользователя, чтобы выполнить проверку и предоставить контекст для выполнения.
Напримерmple, если Пользователь A делает следующее высказывание
"Do {ACTION} for John"
Как мы можем гарантировать, что агент извлекает «Джон», а не «Джон», когда он передает параметры в выполнение?
Я видел несколько предложений относительно сущностей сеанса и даже прочитал Пример викторин городских улиц , однако сущности сеанса кажутся основанными на идее конкретных значений сеанса (Дочерние имена в моем примере, названия улиц в примере, приведенном в ссылке), поддерживаются глобально и не специфичны для какого-либо пользователя.
Я не уверен, как это будет работать в моем случае.Я не могу ожидать, чтобы вести список ВСЕХ возможных имен, и даже если бы я мог, у меня было бы несколько записей для John и Jon и все равно не было бы способаагент, зная, какой из них использовать, я бы предположил.
Может быть, есть способ динамически добавлять заполнители сущностей для каждого использования и возможные значения параметров для этой сущности динамически на основе значений, которые мы храним в базе данных, но это кажется неосуществимым и нереалистичным?
Каково решение этого типа проблемы с диалоговым дизайном в DF?Это кажется очень распространенным явлением (Маркировка предметов из списка задач или приложений из списка покупок).