代码之家  ›  专栏  ›  技术社区  ›  Martin Kearn

如何将实体与LUIS中定义的单词列表相匹配

  •  0
  • Martin Kearn  · 技术社区  · 9 年前

    我正在使用 LUIS Cognitive Services Emotion API 它将图像分为8种情绪(愤怒、轻蔑、厌恶、恐惧、幸福、中性、悲伤、惊讶)。

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

    LUIS正确地识别了情感实体,但我一直在思考如何将其映射到情感API使用的8个定义单词(愤怒、轻蔑、厌恶、恐惧、幸福、中立、悲伤、惊讶)。

    例如,如果我发送“谁是这里最悲伤的人”,它将返回此消息

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

    但如何使用LUIS或任何其他API将“悲伤”映射为“悲伤”呢?

    2 回复  |  直到 9 年前
        1
  •  0
  •   John Psaroudakis    9 年前

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

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

    “实体”:[{ “实体”:“最悲伤”, “类型”:“ ", “startIndex”:11, “endIndex”:17, “分数”:0.967470348

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

        2
  •  0
  •   Martin Kearn    9 年前

    我通过创建一个名为 emotion 它使用情感API使用的名称(愤怒、轻蔑等),为8种情感中的每一种都有一个子实体。

    Emotion entity with 8 child entities

    然后,我训练LUIS使用话语区分每个情感(儿童实体),现在LUIS返回类似这样的内容,以回答“谁是最幸福的人”这样的问题(注意,我使用的是“最幸福”而不是“幸福”,这是儿童实体的意思)

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

    通过这个回答,我能够确定哪些孩子的情绪是通过实际的名字而不是话语中的文字识别出来的。

    推荐文章