我正在尝试使用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
我的设置是否错误?
我需要更多地训练路易斯吗?
我称端点错了吗?
我应该采取哪些步骤来尝试返回实体?
答案 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)