【问题标题】:Training None Intent in LUIS在 LUIS 中训练无意图
【发布时间】:2017-09-08 12:11:19
【问题描述】:

我有一个具有以下意图的旅行机器人:-

  1. BookAFlight(训练有 20 个话语)

  2. GetTicketCopy(用 20 句话训练)

  3. CancelTicket(训练有 20 个话语)

  4. 无(默认)(当前未训练)

MS 文档建议,对于添加到其他意图的每 10 个话语,我针对至少 1-2 个话语训练 None。这意味着我需要说 6-12 句话来训练无。

我的查询是应该使用哪种种类的话语来训练无?

  1. 除了与我的机器人相关的内容(例如,我想点披萨、今天天气如何、美国总统是谁?等)之外,所有事情都在阳光下。

    李>
  2. 与用于训练我的其他意图的话语相对应的所有否定陈述(例如,我不想预订机票,我不想打印出来,我不想取消我的票等)

  3. 与当前未涵盖在我的范围内但用户仍可以向旅行机器人询问的意图相对应的所有话语(例如,我想预订前往机场的出租车,我的航班状态如何)

长话短说,我正在尝试确定哪些种类的话语应该进入我的 None 意图。无是处理有效话语的“否定”变体的正确位置吗?

【问题讨论】:

    标签: botframework azure-language-understanding


    【解决方案1】:

    None Intent 不是为“负面变化”而设计的,而是标记所有不受其他 Intent 管理的内容。

    因此,您应该添加与您的机器人无法处理但与您的上下文相关联的情况(您的第三个想法)相对应的话语。

    例如,在我的一个项目中,None 意图根据我的客户日志使用我的客户的其他用例进行训练,而不是我将使用我的机器人处理的用例。它有助于避免在糟糕的情况下抛出意图

    【讨论】:

    • 谢谢尼古拉斯。关于什么是处理负面变化的最佳方法的任何想法。目前,当用户输入“我不想预订航班”时,我的应用程序会为“BookAFlight”返回非常高的分数。在另一个线程中,开发人员使用 None 来处理负面变化,而其他一些人则提出了一种更复杂的方法,例如在将输入推送到 LUIS 模型之前进行情绪分析。 stackoverflow.com/questions/38497933/…
    • 尝试将这些负面示例添加到None 是并检查测试仪。情绪分析的问题是少数情况下调用的额外成本
    • 尝试了另一种方法。创建了一个新意图 (TraveBot_Negative_Intents) 只是为了处理负面变化。用每个功能区 1-2 个否定话语训练它(我不想订票,不要告诉我如何取消票等)。这样我就有了一种可靠的方法来识别所有负面变化并适当地回应它们。现在没有人可以单独处理当前超出范围的区域。结果看起来很有希望。很高兴听到这是否也适用于社区中的其他人。如果有/没有,请分享您的想法。
    • 这也是一种有效的方法,它只取决于你背后的商业案例
    • 这个答案与 MS 所说的 here 有点相反,它说“用你域之外的话语填充它。”
    【解决方案2】:

    LUIS 文档建议您应该对“无”意图使用完全偏离主题的话语: “从你的机器人不应该回答的特定问题开始,例如'什么样的恐龙有蓝色的牙齿?'” 他们还建议,对于某些行为的正面和负面反应,您可以创建单独的意图。例如。不想要车/想要车。或者使用单一意图并将相关术语标记为正面和负面实体。

    【讨论】:

    • 请注意,Msoft 的建议是让“无”话语远离您的主题话语。与主题话语的相似之处存在相关话语被错误分类的风险。同样,如果您没有用话语填充“无”,或者没有将至少 10% 的总话语定义为具有“无”意图,则存在风险。!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多