Botframework 列举路易斯实体

Botframework 列举路易斯实体,botframework,azure-language-understanding,Botframework,Azure Language Understanding,我有一个LUIS模型,我试图使用下面的代码枚举我的实体 我在执行第二行时得到以下错误 “字典中不存在给定的键“luisResult” LUIS的实施最近有变化吗?列举LUIS中所有实体的替代方法是什么 var result = await _botServices.Dispatch.RecognizeAsync(stepContext.Context, cancellationToken); var luisResult = result.Properties["luisResult"] as

我有一个LUIS模型,我试图使用下面的代码枚举我的实体

我在执行第二行时得到以下错误

“字典中不存在给定的键“luisResult”

LUIS的实施最近有变化吗?列举LUIS中所有实体的替代方法是什么

var result = await _botServices.Dispatch.RecognizeAsync(stepContext.Context, cancellationToken);
 var luisResult = result.Properties["luisResult"] as LuisResult;
 var entities = luisResult.Entities;
 foreach (var entity in entities)
 {
   if (Common.BugTypes.Any(s => s.Equals(entity.Entity, 
   StringComparison.OrdinalIgnoreCase)))
   {
     await stepContext.Context.SendActivityAsync(
     MessageFactory.Text(String.Format("Yes! {0} is a Bug Type!", 
     entity.Entity)), cancellationToken);
   }
   else
   {
     await stepContext.Context.SendActivityAsync(
     MessageFactory.Text(String.Format("No! {0} is not a Bug Type!", entity.Entity)), cancellationToken);
   }
 }

   return await stepContext.NextAsync(null, cancellationToken);

换衣服怎么样

var luisResult = result.Properties["luisResult"] as LuisResult;

然后访问类的
实体
属性


您甚至可以放弃创建
luisResult
变量,而只使用
result.Entities

我已经解决了这个问题。有两个问题

  • 在构建识别器选项时,我没有提到参数“IncludeAPIResults=true”

  • 但是,它仍然不起作用,并且在使用LuisReconficateOptionsV3时,luisResult总是返回null。我最终求助于使用LuisRecogniteOptionsV2,这很有效。我可能会对此提出一个bug

  • var luisResult = result;