【问题标题】:How to match an entity to a defined list of words in LUIS如何将实体与 LUIS 中定义的单词列表匹配
【发布时间】:2016-11-28 07:32:58
【问题描述】:

我正在使用 LUISCognitive Services Emotion API 一起工作,它为 8 种情绪(愤怒、蔑视、厌恶、恐惧、快乐、中立、悲伤、惊讶)对图像进行排名。

在我的 LUIS 模型中,我将“情感”定义为一个实体并训练了模型。

LUIS 可以正确识别情感实体,但我不知道如何将其映射到情感 API 使用的 8 个已定义词(愤怒、蔑视、厌恶、恐惧、快乐、中性、悲伤、惊讶)。

例如,如果我发送“谁是这里最悲伤的人”,它会返回这个

"entities": [{
  "entity": "saddest",
  "type": "Emotion",
  "startIndex": 11,
  "endIndex": 17,
  "score": 0.967470348
}]

但是如何使用 LUIS 或任何其他 API 将“最悲伤”映射到“悲伤”?

【问题讨论】:

  • 你能给我看一个你用来训练 LUIS 的例子吗?

标签: botframework microsoft-cognitive azure-language-understanding


【解决方案1】:

我不完全确定你的情况是什么,所以我的回答可能有点不对劲。

根据您的描述,我了解到您希望在实体类型和 Emotion API 的情绪类别之间创建映射。我要做的是在 LUIS 中创建 8 种不同的实体类型,例如 Emotion_Anger、Emotion_Sadness 等,然后训练模型使其分别识别这些实体类型。对于您的示例,假设您正确训练了 LUIS 模型,预期结果将是

“实体”:[{ “实体”:“最悲伤的”, "type": "Emotion_Sadness", “开始索引”:11, “结束索引”:17, “分数”:0.967470348 }]

然后,您可以轻松地将实体类型 Emotion_Sadness 映射到悲伤类别。

【讨论】:

    【解决方案2】:

    我自己通过创建一个名为 emotion 的实体实现了这一点,该实体使用情绪 API 使用的名称(愤怒、蔑视等)为 8 种情绪中的每一种都有一个子实体。

    然后我训练 LUIS 使用话语区分每种情绪(子实体),现在 LUIS 返回类似这样的内容以响应“谁是最快乐的人”之类的查询(注意我使用了“最快乐”这个词而不是“幸福”,这是子实体)

      "entities": [
        {
          "entity": "happiest",
          "type": "emotion::happiness",
          "startIndex": 11,
          "endIndex": 18,
          "score": 0.9464528
        }
      ]
    

    使用此响应,我能够确定使用实际名称而不是话语中的文本识别出哪些儿童情绪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 2017-08-23
      相关资源
      最近更新 更多