【问题标题】:Luis why im not getting normalized value entity路易斯为什么我没有得到规范化的价值实体
【发布时间】:2018-02-23 12:15:03
【问题描述】:
如果我的意图是将vilniuje 作为实体而不是vilnius,那么任何人都可以解释一下吗?
或者我怎样才能得到vilnius 而不是vilniuje?
我使用节点,这是我的代码,我正在获取实体
var cityEntity = builder.EntityRecognizer.findEntity(results.intent.entities, "city");
顺便说一句,我是 Ms bot 框架中的新手,所以我不太了解 :)
【问题讨论】:
标签:
botframework
azure-language-understanding
【解决方案1】:
您将vilniuje 作为实体获取,因为它是在您的数据中找到的真实实体。
但正如您在结果中看到的那样,它也在 LUIS Result 的内容中将其 resolution 作为 Vilnius,因此您必须使用此值。
var cityEntity = builder.EntityRecognizer.findEntity(results.intent.entities, "city");
if (cityEntity && cityEntity.resolution.values.length > 0) {
// DO WHAT YOU WANT
}
【解决方案2】:
根据设计,实体值是在原始查询中检测到的同义词或规范化字符串,在这两种情况下,我们都会在实体解析字段中返回规范化值:
例如
实体:家庭
归一化值同义词
妈妈妈妈,伊琳娜
爸爸爸爸约瑟夫
查询:打电话给伊琳娜
类型:家庭
价值:伊琳娜
分辨率:妈妈
希望这会有所帮助。