Botframework 路易斯:为什么我没有得到标准化的实体值

Botframework 路易斯:为什么我没有得到标准化的实体值,botframework,azure-language-understanding,Botframework,Azure Language Understanding,有谁能解释一下我的意图是不是想把维尔纽耶作为一个实体而不是维尔纽斯 或者我怎样才能得到vilnius而不是vilniuje? 我在使用节点,这是我的代码,我在那里获取实体 var cityEntity = builder.EntityRecognizer.findEntity(results.intent.entities, "city"); 顺便说一句,我是Ms bot框架的新手,所以我知道的不多:)您将vilniuje作为实体,因为它是在您的数据中找到的真实实体 但正如您在结果中所看到的

有谁能解释一下我的意图是不是想把维尔纽耶作为一个实体而不是维尔纽斯

或者我怎样才能得到
vilnius
而不是
vilniuje
? 我在使用节点,这是我的代码,我在那里获取实体

var cityEntity = builder.EntityRecognizer.findEntity(results.intent.entities, "city");


顺便说一句,我是Ms bot框架的新手,所以我知道的不多:)

您将
vilniuje
作为实体,因为它是在您的数据中找到的真实实体

但正如您在结果中所看到的,它在LUIS result的内容中也给出了它的
分辨率
作为
维尔纽斯
,因此您必须使用此值

var cityEntity = builder.EntityRecognizer.findEntity(results.intent.entities, "city");

if (cityEntity && cityEntity.resolution.values.length > 0) {
    // DO WHAT YOU WANT
}

根据设计,实体值是在原始查询中检测到的同义词或规范化字符串,在这两种情况下,我们都在实体解析字段中返回规范化值:

e、 g.
实体:家庭 规范化值同义词 妈妈,妈妈,伊琳娜 爸爸,爸爸,约瑟夫

查询:打电话给伊琳娜 类型:家庭 价值:伊丽娜 决议:妈妈

希望这有帮助