路易斯没有向机器人

时间:2018-04-13 04:17:18

标签: botframework microsoft-cognitive luis

我正在尝试使用Azure语言理解制作一个机器人,它一直顺利进行,直到我试图让实体识别工作。

最初我尝试制作许多分层实体,希望路易斯最终能够将它们挑出来,但在环顾四周之后,许多例子都指向使用较少数量的实体。

Luis似乎更善于根据位置而不是文本来选择话语,所以我现在有~4个意图和〜实体。每个人约有20个话语。

当我向API提交新的话语时,它通常只返回2个意图中的1个而没有实体。如初。

但是当我查看Luis.ai仪表板时,它会显示不同的Intent分数,并实际将单词标记为实体。

我使用webClient.DownloadString("https://australiaeast.api.cognitive.microsoft.com/...")调用API并将JSON反序列化为Microsoft.Bot.Builder.Luis.Models.LuisResult

Returned values vs Values in Luis

我的设置是否错误?
我需要更多地训练路易斯吗? 我称端点错了吗?

我应该采取哪些步骤来尝试返回实体?

2 个答案:

答案 0 :(得分:0)

您在其中发布LUIS应用程序的区域对应于您在创建Azure LUIS端点密钥时在Azure门户中指定的区域或位置。要发布到Australian regions,您只能在https://au.luis.ai创建LUIS应用。如果您尝试使用澳大利亚地区的密钥在其他任何地方发布,LUIS会显示警告消息。相反,请使用https://au.luis.ai。在https://au.luis.ai创建的LUIS应用程序不会自动迁移到其他区域。您需要导出然后导入LUIS应用程序才能进行迁移。

LUIS使用主动学习来预测话语。看起来你很难区分label entities和LUIS预测(对齐意图)。您可以标记实体并对其进行训练,以便将应用程序的性能提升为mentioned here

LUIS通过"建议"引导开发人员完成改进过程。从发送到应用程序的http端点的话语中标记suggests utterances的功能。根据开发人员愿意改进的模型,根据意图或实体建议这些话语。您可以通过查看LUIS门户中通过interactive testing跟踪每个模型的性能的仪表板或通过batch testing来衡量模型来决定需要改进的意图或实体。测试集或两者的质量。您应该继续进行迭代,直到对模型的质量感到满意为止。希望这会有所帮助!!

答案 1 :(得分:0)

每次在模型中进行更改并对其进行培训后,您都需要发布您的LUIS应用模型。

当您训练模型时,更新的模型仅位于门户网站内,并且不可供整个世界使用。发布模型,使更改可在发布的插槽中访问。

检查LUIS是否在已发布模型中按预期响应的一种方法是使用LUIS中的Test功能。

enter image description here

点击 Compare with published 会打开另一个显示已发布模型中话语响应的刀片。 (可以选择生产和分期槽)。

enter image description here