有没有一种方法可以将QnA问题转换为LUIS意向陈述

时间:2019-07-01 02:37:32

标签: azure botframework luis azure-bot-service qnamaker

我遵循了此Microsoft文档,以实现使用Bois的Bot的实现,该Bot使用LUIS将用户的问题路由到QnAMaker:https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=cs

基本上,我在V3文档(https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/tutorials/integrate-qnamaker-luis)中注意到了(因为在V4中没有提及) 它说:

  

为每个QnA Maker知识库添加一个意图。这个例子   语音应该对应于QnA Maker知识中的问题   基地。

我的问题是,除了将所有问题从QnA Maker手动复制到每个Intent(假设我有多个KB)之外,还有没有更简便的方法?例如从QnA Maker导出文件或类似文件?

1 个答案:

答案 0 :(得分:1)

这是使用Dispatch工具完成的。本质上,它所做的是从QnA Maker KB中下载问题,并创建一个名称为“ dispatch”的新LUIS应用。在此新应用中,将为您的每个QnA Maker KB添加一个意图,命名将为q_<kb_name_here>,相关KB中的问题将作为发音添加到该意图中。

如何执行此操作概述在您链接的文档的Create the dispatch model部分下。

您需要安装npm附带的NodeJS才能从CognitiveModels文件夹中的命令行执行以下操作(粗略指南):

// install botdispatch package
npm i -g botdispatch

// initialise a dispatch file
dispatch init -n <filename-to-create> --luisAuthoringKey "<your-luis-authoring-key>" --luisAuthoringRegion <your-region>

// add references to luis and qna apps
dispatch add -t luis -i "<app-id-for-weather-app>" -n "<name-of-weather-app>" -v <app-version-number> -k "<your-luis-authoring-key>" --intentName l_Weather
dispatch add -t luis -i "<app-id-for-home-automation-app>" -n "<name-of-home-automation-app>" -v <app-version-number> -k "<your-luis-authoring-key>" --intentName l_HomeAutomation
dispatch add -t qna -i "<knowledge-base-id>" -n "<knowledge-base-name>" -k "<azure-qna-service-key1>" --intentName q_sample-qna

// generate a dispatch model
dispatch create

然后,您必须在LUIS门户中找到新应用并进行发布,然后才能使用它。然后按照Use the dispatch model下的步骤利用LUIS进行路由。