C# LuisReceigner结果不';"t show",;“价值”;DateTimeV2解析Json中的字段

C# LuisReceigner结果不';"t show",;“价值”;DateTimeV2解析Json中的字段,c#,.net,botframework,azure-language-understanding,C#,.net,Botframework,Azure Language Understanding,我正在尝试使用LUIS提取日期时间 环境:botframeworkv4 Lang:c#/.NET 我正在使用内置识别器提取用户提供的日期/时间 var recognizerResult = await_services.LuisServices[LuisKey].RecognizeAsync(turnContext, cancellationToken); Newtonsoft.Json.Linq.JObject Entities1 = recognizerResult?.Entities;

我正在尝试使用LUIS提取日期时间

环境:botframeworkv4 Lang:c#/.NET

我正在使用内置识别器提取用户提供的日期/时间

var recognizerResult = await_services.LuisServices[LuisKey].RecognizeAsync(turnContext, cancellationToken);
Newtonsoft.Json.Linq.JObject Entities1 = recognizerResult?.Entities;
现在,当我打印这个JSON文件时,我在解析部分没有得到“Value”字段。这是我在提取实体时得到的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响应中提取正确的日期时间。

是的,如果您选择使用
LuisRecogner
包。本质上,它“吃掉”了原始路易斯反应的重要细节

我的专业建议是避免使用
LuisRecognizer
,直接使用
LuisClient
上的完整功能。使用
LuisRecognizer
的唯一真正原因是,如果您想要额外的抽象级别,从而允许您使用其他识别器实现。如果您对LUIS“全神贯注”,那么您可能希望访问LUIS的完整保真度。

是的,因此如果您选择使用
LuisRecogener
软件包。本质上,它“吃掉”了原始路易斯反应的重要细节


我的专业建议是避免使用
LuisRecognizer
,直接使用
LuisClient
上的完整功能。使用
LuisRecognizer
的唯一真正原因是,如果您想要额外的抽象级别,从而允许您使用其他识别器实现。如果你对路易斯“全神贯注”,那么无论如何,你可能都想获得路易斯的完整保真度。

我会这样做:

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

然后它将生成一个字符串,我将其解析为dateTime。鉴于luis成功设置了MyDateEntity值。

我会这样做:

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

然后它将生成一个字符串,我将其解析为dateTime。假设luis成功设置了MyDateEntity值。

LuisClient的任何工作示例?和预构建日期时间实体的解析。有LuisClient的工作示例吗?以及预构建日期-时间实体的解析。我认为这与问题无关,因为在使用LuisRecognizer时未将原始luis结果解析为实体是问题的根本问题。我认为这与使用LuisRecognizer时未将原始luis结果解析为实体无关,这是问题的根本所在。