【问题标题】:How to resolve text back to specific types with LUIS (Bot Framework)?如何使用 LUIS (Bot Framework) 将文本解析回特定类型?
【发布时间】:2019-11-13 19:16:04
【问题描述】:

我正在使用 Bot Framework 和 LUIS 创建聊天机器人,并尝试将文本解析回特定类型。

例如,如果用户要说:

“我的笔记本电脑屏幕没有打开”将此解决为“屏幕问题”

或

“我的键盘不工作”将此解决为“键盘问题”

或

“我的笔记本电脑上洒了液体,现在它无法开机”到“液体损坏”

我需要相当多的这种方式的分类。我考虑过为每种类型设置不同的意图。即屏幕问题和键盘问题。但是,我认为使用单一意图可能有更好的方法来做到这一点?

【问题讨论】:

  • 能否请您显示一些代码或一些工作原理?

标签: c# botframework chatbot azure-language-understanding


【解决方案1】:

如您所述,一定要使用多个意图。这是正确的方法。

还可以考虑添加尽可能多的话语,因为您的短语非常复杂(超过 12 个单词)。

【讨论】:

    【解决方案2】:

    这取决于您的其他意图/用例以及您想让它变得多复杂。对于您的示例,您似乎将有很多“问题”项目。在这种情况下,我会制定一个“帮助”意图,并使键盘/屏幕/wifi/lan 成为实体列表(也许可以称之为部件)。然后在您的代码中,确定帮助意图后,您可以查找零件。这将节省您的时间,而不必为多个意图重复“我对 {Part} 有问题”和“请帮助解决 {part}”等。唯一需要注意的是,为了使实体列表更准确,我会在每个列表项的“同义词”中输入尽可能多的拼写错误。实体列表很容易使用,任何匹配都会被识别为实体中的一个项目

    【讨论】:

      【解决方案3】:

      只有一个意图或数量非常有限的意图意味着您仅将 LUIS 用于“实体”检测 - 这反过来会导致关键字检测,您最终将获得没有 NLP/语义文本分析但付费的解决方案一个。

      拥有多个意图似乎很好 - 您可以在一个 Luis 应用程序中拥有 500 意图。

      谈到“屏幕问题”和“键盘问题”示例 - 根据我们的经验,我会为一个模板选择一个意图作为答案。无论意图如何,都可以在 Luis 中将诸如“屏幕”或“键盘”之类的关键字检测为一个实体,并且基于它们,您可以在自定义模板中为特定意图填写一些自定义“通配符”。

      最后但并非最不重要的一点是,不要忘记在“无”意图中填写与迄今为止定义的意图相似但无效的示例的句子。请参阅“余额中不包含 None 意图。该意图应包含应用中总话语的 10%”here。

      【讨论】:

        猜你喜欢
        • 2022-02-24
        • 1970-01-01
        • 1970-01-01
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        • 2019-03-18
        • 1970-01-01
        • 2023-03-30
        相关资源
        最近更新 更多