将品牌识别为实体的训练模型

Training model to recognize brands as entities

我正在尝试在 LUIS 中创建一个模型,该模型允许我检测话语中是否提到了一个品牌(任何品牌)。我尝试了不同的方法,但我正在努力让它发挥作用。

首先我有一个意图 searchBrand 和一些示例语句:

'Help me find info about Channel'
'I want to know more about Adidas'
...

我想要的是 LUIS 识别话语中提到的品牌(作为实体)。 我相信我有这些选择:

  1. 使用列表实体:不可能,因为我必须填写列表 与每一个可能存在的品牌,而且,用户会 必须准确地写品牌,不允许打字错误(例如 ralf 劳伦)

  2. 使用 ML 实体:我相信这可能是正确的方法。我尝试了以下但没有成功:

    • 创建 ML 实体 "brands"
    • 添加具有 1 个组件的结构 "brand"
    • 给组件添加一个 Descriptor,以不同品牌的列表为例

一旦我在话语中标记了实体,模型就可以正确识别我添加到描述符中的品牌,但无法识别其他品牌或拼写错误

另一个选项是模式实体。它介于您列出的两个选项之间。你确实需要用模式来训练它,如果模式完全关闭,它就不会识别实体(也不会识别意图,除非你已经用话语单独训练它,你应该这样做)。但是,您案例中的措辞似乎足够一致,您可以为此定义一些模式,并且当您从端点话语训练您的机器人时,您可以根据需要添加其他模式。这是一个例子:

当我把它们放在一起时,我意识到我忽略了 [help me] 和 [find],基本上模式是 "info about {brand}",这可能适合也可能不适合,具体取决于您的其他意图。如果你说一些不同的东西,比如 "Tell me more about Adidas",意图将被识别(我用你的样本话语训练它),但模式,因此实体,不会。

Tutorial on using Patterns in LUIS

我按照这个开始工作:

  1. 创建 ML 实体 "brands"
  2. 向实体添加一个包含不同品牌列表的描述符作为示例。请记住 规范化 描述符
  3. 中的元素
  4. 将品牌添加到描述符
  5. 将实体标记为 "brands" 意图 "searchBrands"
  6. 训练和测试模型

标准化 LUIS 中的所有内容非常重要。我将描述符中的品牌大写,而 LUIS 无法识别新品牌,一旦我将品牌标准化,LUIS 开始建议新品牌并在测试模型时识别更多