编程语言
首页 > 编程语言> > c#-BOT框架中的qnA和Luis之间的意图得分映射

c#-BOT框架中的qnA和Luis之间的意图得分映射

作者:互联网

我有情况

在我的BOT框架中,我使用以下条件处理LUIS和QnA制造商

IF the INTENT is NONE – connect to the QnA maker and get answers
SOME OTHER INTENT – Corresponding answers will be triggered.

直到出现以下情况,它才能正常工作:

1)我在QnA Maker中有一个问题,例如-我如何搜索酒店

2)在纽瓦克(Newyark)的LUIS话语搜索酒店中-BOT框架为此目的提供了专用的API方法,并根据所选实体获取结果.

现在,我遇到了麻烦-如果用户键入“我如何搜索酒店”-这取决于LUIS意图,而不是QnA制造商-是否有更好的方法来处理这种情况而不会产生歧义

这是我的示例代码:

[LuisIntent("")]
[LuisIntent("None")]

///If NO INTENT MATCHES - CALL QnA Maker
public async Task None(IDialogContext context, LuisResult result)
{
    try
    { /* QnA maker call */ }



[LuisIntent("GetHotel")]

///If NO INTENT MATCHES - CALL QnA Maker
public async Task None(IDialogContext context, LuisResult result)
{
    try
    { /* API call to get the results */ }

解决方法:

更新和培训您的LUIS应用后,您可以尝试将其设置为correct top scoring intent,这可以帮助我们为语音选择正确的意图.

enter image description here

将其分配给正确的意图后,您可以重新培训您的LUIS并进行新的测试以检查其是否显示正确的结果.

enter image description here

另一种方法:在代码逻辑中处理它.如果要在达到GetHotel intent时在特定位置获取酒店,则可以检测返回的LUIS结果是否包含位置实体,如果没有返回位置实体,则可以进行QnA Maker调用以获取答案.

此外,如果可能,您可以修改代码结构和逻辑以首先致电QnA Maker,如果没有答案符合特定阈值分数,则致电LUIS.

标签:botframework,luis,qnamaker,c
来源: https://codeday.me/bug/20191025/1927774.html