Как записать несколько значений одного объекта в IBM watson assistant после запроса слота? - PullRequest
0 голосов
/ 28 апреля 2018

В моем приложении Watson Assistant я хочу захватить несколько объектов в контексте, а также иметь слот, чтобы задать вопрос пользователю. Вот пример:

  • Пользователь: Я хочу лететь из Торонто в Бостон

И Ватсон правильно определяет:

intent: 'booking', @city:'Toronto', @city:'Boston'

Теперь у меня есть слот, который запрашивает класс бронирования:

  • Уотсон (Слот): Какой класс вы хотели бы?
  • Пользователь: Эконом

На данный момент контекст имеет только первое значение для сущности @city, т. Е. Торонто. Из моего поискового запроса я понимаю, что могу получить доступ к @city [0] и @ city 1 . И я попытался отразить это в контексте, выполнив следующее, но ценность, которую я получаю - Нет.

enter image description here

Как я могу правильно захватить оба города @city: Торонто, @city: Бостон и одновременно объект @class: economy?

Ответы [ 2 ]

0 голосов
/ 08 августа 2018

Возвращаясь к этому, поскольку в Watson Assistant были внесены изменения, чтобы сделать это проще.

1. Создайте две сущности. @fromCity и toCity.

2. Заполните каждую сущность одинаковыми значениями. Названия локаций.

3. Создайте свое намерение с помощью вопросов, подобных ниже.

I want to fly from Toronto to Boston
I have to get to Boston from Toronto ASAP. 
I want to get a flight to New York
I'm in Texas and need to fly to San Diego

4. На странице намерений выберите каждый город и отметьте его как @fromCity или @toCity. Это создает контекстные объекты.

enter image description here

Теперь, когда он тренируется, он будет понимать сущности в контексте предложения. Он также поймет, в каких местах вы его не обучали.

Более подробный пример здесь .

0 голосов
/ 30 апреля 2018

Интеллектуальные слоты - когда есть несколько объектов одного типа и больше слотов, которые соответствуют объекту одного типа, тогда, когда слот соответствует первому объекту, он будет «съеден» и недоступен для другого слота - следовательно следующий слот, соответствующий тому же типу объекта, будет соответствовать любому другому объекту того же типа. Чтобы добиться того, что вы хотите сделать, просто определите слоты следующим образом (чтобы оба они просто соответствовали сущности @city).

enter image description here

...