2017-02-14 4 views
1

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

  • Если conversation_start Ночью Уотсон говорит: «Добрый вечер!
  • Если conversation_start К утру Уотсон говорит: «Доброе утро!
  • Если conversation_start К вечеру Уотсон говорит: Добрый день!

На самом деле я создаю один entitie с @time и если тип пользователя спокойной ночи, сущности кроме того, что и Уотсон отвечает именно то, что набрал пользователь.

И мое состояние ответ:

@time, how are you? 

Пример:

  • Пользователь: Спокойной ночи!
  • Уотсон: Спокойной ночи !, как вы

Смотрите, что это был тот же самый ответ, потому что я создал объект с этими периодами

Проверка изображения:

enter image description here

Я хочу знать, если это возможно сделать автоматически или если мне нужно разработать код для этого и, если возможно, пример.

ответ

5

Как указано here вы можете использовать сейчас()

см

{ 
    "conditions": "now().before('12:00:00')", 
    "output": { 
    "text": { 
     "values": [ "Good morning!" ] 
     } 
    } 
} 

Per @MichalBida комментарий, пожалуйста, обратите внимание, что в настоящее время() не записывает время на канале конечного пользователя, а из служба разговоров. Поэтому лучше использовать контекстную переменную со временем в часовом поясе конечного пользователя и на нем применять .before('12:00:00')

+0

Большое спасибо @Dudi. –

+2

Это будет использовать часовой пояс серверов, на которых запущена служба разговора. Если вы хотите использовать часовой пояс, где на самом деле находится пользователь, вам нужно найти, какое время на стороне клиента (например, веб-страница, объединяющая службу conv.), и передать ее в conv. сервис через переменную 'context' (' 'вечер": true') .. –

+0

Большое спасибо @MichalBida –