【问题标题】:Virtual Assistant -> LUIS, QnA, Dispatcher best practice虚拟助手 -> LUIS、QnA、调度程序最佳实践
【发布时间】:2020-02-04 08:08:05
【问题描述】:

对于我们在使用 LUIS、QnA Maker 时遇到的某些问题(尤其是调度程序),我有一些“最佳实践”的问题:

1) 如果我们在 Dispatcher 中有超过 15k 的话语,是否有任何最佳实践?这看起来像是 LUIS 应用程序的一个限制,但从长远来看,该模型的可扩展性是值得怀疑的。

2) LUIS 的必应拼写检查更改了姓名和姓氏,例如,如何避免这种情况?我想当我们谈论聊天机器人时,必应拼写检查是必要的,因为错字总是在门后,但用它来命名是危险的。

3) 开箱即用不支持交叉验证,您可以使用自定义代码将数据拆分为折叠(不难),使用命令行在 k-1/k 折叠上训练和发布模型,然后将 k-fold 话语一一发送到 API。仅通过 UI https://cognitive.uservoice.com/forums/551524-language-understanding-luis/suggestions/20082157-add-api-to-batch-test-model 支持批量上传,并且仅限于包含 1,000 个话语的测试集。如果我们使用一对一的方法,我们为每 1k 笔交易支付 1.50 美元https://azure.microsoft.com/de-de/pricing/details/cognitive-services/language-understanding-intelligent-services/,这意味着要获得 5 折的交叉验证指标,例如,我们可以为一次实验支付大约 20 美元我们当前的数据,如果我们添加更多数据会更多。

4) 模型是一个黑盒子,如果需要,我们无法使用自定义功能。

【问题讨论】:

  • 您能否详细说明您的第四个问题,以便我可以更新我发布的答案中的部分?
  • 关于自定义功能(第 4 点),我的意思是使用我们为我们的领域开发的自定义嵌入或对文本进行自定义预处理

标签: azure nlp botframework azure-language-understanding qnamaker


【解决方案1】:

我会尽量以如下方式解决您的疑虑:

1) 根据 LUIS 文档,

因此,您不能超过限制。对于 Dispatch 应用,如果总话语超过 15k,则 dispatch 将对话语进行下采样以将其保持在 15k 以下。有一个可选参数(--doAutoActiveLearning)供 CLI 进行自动主动学习,它会智能地进行采样(删除不相关的话语)。

--doAutoActiveLearning:(可选)默认为 false。 LUIS 对训练集大小的限制为 15000。当 LUIS 应用有更多的训练话语时,Dispatch 的自动主动学习过程可以智能地对话语进行下采样。

2) 必应拼写检查可帮助用户在 LUIS 预测话语的分数和实体之前纠正话语中拼写错误的单词。但是,如果您想避免使用 Bing Spell Check API 服务,则您需要添加正确和错误的拼写,这可以通过两种方式完成:

  • 标记具有所有不同拼写的示例话语,以便 LUIS 可以学习正确的拼写和拼写错误。与使用拼写检查器相比,此选项需要更多的标记工作。
  • 创建包含单词所有变体的短语列表。使用此解决方案,您无需标记示例话语中的单词变体。

3) 根据当前的documentation,每次测试最多允许 1000 个话语。该数据集是一个 JSON 格式的文件,最多包含 1,000 个标记的非重复话语。您可以在一个应用程序中测试多达 10 个数据集。 如果您需要进行更多测试,请删除一个数据集,然后添加一个新数据集。我建议您将其作为功能请求报告到 feedback forum

希望这会有所帮助。

【讨论】:

  • 嘿@raunsharao,谢谢你的详细回答,我这边的快速跟进:1- 主动学习:我们试过了,它适用于我们当前的数据(大约 20k 话语)。在准确性开始下降之前,您是否有经验或最佳实践可以处理多少话语? 2- Bing 拼写检查:在聊天机器人中为每个可能拼错的单词添加短语列表会很麻烦,因为使用的词汇量可能会有很大差异 3- 交叉验证:我们实际上发现调度 CLI 工具确实支持 CV(使用dispatch eval 命令),所以这不再是问题
  • @TommyJimmyEmiliano 我不知道在准确性开始下降之前可以处理的确切话语数量,但建议您在所有意图之间平衡您的话语以获得更高的准确性。但是,您可以查看LUIS best practices 以了解建议的注意事项。另外,如果您发现答案有帮助,您是否可以接受它以便它也能帮助其他人?谢谢
  • @ranusharao,关于自定义功能(例如自定义嵌入或自定义文本预处理)的第 4 点,LUIS 中是否有我们没有注意到的该领域的任何功能?
  • @MarawanOkasha,预处理功能(词形还原和词干提取)目前在路线图中。话虽如此,我不确定如果添加自定义文本预处理是否可以保持相同的性能或准确性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 2016-06-28
相关资源
最近更新 更多