Как остановить диалог всегда возвращая даты, которые должны разрешить сегодня как завтра - PullRequest
1 голос
/ 08 апреля 2019

У меня возникла проблема, когда, когда Dialogflow разрешает параметры @ sys.date-time для моего намерения с текстом, например " 5am ", они возвращаются как завтра , когда онидолжно быть сегодня .

(Сегодня по состоянию на 2019-04-08, а не 2019-04-09, как решено)

{
"responseId":"48bcf62d-dc2d-4f3c-befb-af8565fe01cb",
"queryResult":
   {
      "queryText":"today at 5a.m.",
      "speechRecognitionConfidence":0.97964007,
      "parameters": {
           "duration":"",
           "date":"2019-04-09T05:00:00+02:00" 
       },
...

"outputContexts":[
{
 ...
 "name":"projects/xxxxx/agent/sessions/xxxxxx/contexts/xxxx",
 "parameters":{
   "duration":"",
   "date":"2019-04-09T05:00:00+02:00",
   "date.original":"5 a.m.",
   "duration.original":""
   ...
}},

У меня также есть @sys.any в этом запросе, мое подозрениеэто может вызвать проблему.(Я бы предпочел, чтобы это была определенная пользователем сущность, но сопоставление недостаточно надежно в неоднозначных контекстах, поэтому я должен сделать это сам).

Кто-нибудь имеет опыт с этим и знает ли здесь какие-то ошибки, которые я мог быпопасть в?Я бы подумал, что « 5 утра » без каких-либо других модификаторов должно разрешиться до 5 утра сегодня .

1 Ответ

2 голосов
/ 08 апреля 2019

Как следует из рассуждений @Prisoner в комментариях, я считаю, что предположение Dialogflow справедливо. Что когда время звучит без даты, кажется, что оно в будущем?

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

...