【问题标题】:How does LUIS determine intent from inputs?LUIS 如何根据输入确定意图?
【发布时间】:2018-08-15 04:24:30
【问题描述】:

我最近做了一个基本的聊天机器人,并让我的朋友测试了它。她输入了许多不同的乱码,而 LUIS 的结果让我感到困惑。

例如,她会输入 )(*)($*#)(!*#&$*#&$*#&)$(*)(!*)(!@*09837$)(@*#||||,LUIS 会将此识别为我检查数据库状态的意图之一。我唯一能想到的是它包含09837,一个数字,并从那里触发特定意图。但是,用于检查数据库状态的意图中使用的数字实体是复合实体(问题 ID)的一部分。这对我来说没有意义。

为了消除数字实体,我将查询缩短为 )(*)($*#)(!*#&$*#&$*#&)$(*)(!*)(!@*,但它仍然触发相同的意图,只是现在没有实体。

我能否了解 LUIS 如何根据用户输入确定意图?我是否必须在 None 意图中添加特定的用户输入?如果是这样,会不会有太多乱七八糟的输入来防止这种情况的发生?

如果您需要更多信息来回答问题,请告诉我! :)

【问题讨论】:

    标签: azure-language-understanding


    【解决方案1】:

    LUIS 是一种自然语言处理器。您的示例不是自然语言,因此您需要在使用 LUIS 之前提供处理以将其转换为自然语言,或者在 LUIS 中使用它不适合的功能 - 目前。

    NONE 意图针对应用程序域/范围之外的所有话语训练 LUIS。找到这些的最佳位置是在您当前来自客户的话语中。

    【讨论】:

    • 感谢您的回复。请问如何识别用户输入的位置?我对机器人框架相当陌生,并关注this example。我将无法使用session.message.text,因为它在识别意图时尚未定义session
    • this sample 用于 LUIS 部分。
    • 我认为 BF 3.x 代码让您感到困惑,因为它的大部分功能都被隐藏起来了。请查看此示例 --docs.microsoft.com/en-us/azure/cognitive-services/luis/… - session.message.text 是话语 - 用户在机器人中输入的内容 - args 是从 LUIS 返回的信息
    • 谢谢!我会看看它并调整我的机器人:)
    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    相关资源
    最近更新 更多