Результат LuisRecognizer не показывает поле «Значение» в разрешении DateTimeV2 Json - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь извлечь dateTime, используя LUIS.

Среда: BotFramework V4 Язык: c # / .NET

Я использую встроенный распознаватель для извлечения даты / времени, предоставленных пользователем.

var recognizerResult = await_services.LuisServices[LuisKey].RecognizeAsync(turnContext, cancellationToken);
Newtonsoft.Json.Linq.JObject Entities1 = recognizerResult?.Entities;

Теперь, когдаЯ печатаю этот файл JSON. Я не получаю поле «Значение» в разделе «Разрешение». Это ответ JSON, который я получаю при извлечении сущностей.

Query String : fly on 20 mar return on 24 mar Entities Returned { "$instance": { “datetime”: [ { “startIndex”: 7, “endIndex”: 13, “text”: “20 mar”, “type”: “builtin.datetimeV2.date” }, { “startIndex”: 24, “endIndex”: 30, “text”: “24 mar”, “type”: “builtin.datetimeV2.date” } ] }, “datetime”: [ { “type”: “date”, “timex”: [ “XXXX-03-20” ] }, { “type”: “date”, “timex”: [ “XXXX-03-24” ] } ] }

Я пытался использовать includeAPIResult : true параметр при создании распознавателя.Все те же результаты.Пожалуйста, подскажите, что я делаю не так.И как я могу извлечь правильное время Дата из ответа JSON.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Я делаю что-то вроде этого:

luisResults.Entities.MyDateEntity?[0].Expressions?[0]

В результате получается строка, которую я анализирую в dateTime.Учитывая, что luis успешно устанавливает значение MyDateEntity.

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

Да, так это известная проблема сейчас , если вы решите использовать пакет LuisRecognizer.По сути, он «съедает» важные детали необработанного ответа LUIS.

Моя профессиональная рекомендация - избегать LuisRecognizer и просто использовать полную версию LuisClient напрямую.Единственная реальная причина использовать LuisRecognizer - это если вам нужен тот дополнительный уровень абстракции, который позволяет вам работать с другими реализациями распознавателя.Если вы «олл-ин» в LUIS, то, возможно, вам все равно нужен доступ к полной точности LUIS.

...