如何正确使用 LUIS ML 特征?

How to correctly use LUIS ML-features?

我刚刚偶然发现了 LUIS 中的新“ML 功能”,我不确定我是否真的了解如何正确使用它们。该文档对我来说似乎非常抽象和模糊:

https://docs.microsoft.com/de-de/azure/cognitive-services/luis/luis-concept-feature

除了一个很好的一般性解释之外,非常欢迎以下示例的解决方案:

例子

意图:OpenABox

示例语句:“打开绿盒子”、“打开天蓝色盒子”。

实体:ColorEntity(无预建实体)。

颜色应理解为“绿色”、“蓝色”、“天蓝色”和“橄榄色”,其中“橄榄色”应视为“绿色”的同义词,“天蓝色”应视为“蓝色”的同义词。

解决方案

我假设你必须

是否正确,无法使用测试面板确认“橄榄色”与其规范形式“绿色”的正确分辨率?所以我必须使用 API 来测试这个?

模特

此模型已按上述方法创建。它似乎完成了它的工作。但这真的是最佳方式吗?里面好像有很多冗余。

{
  "luis_schema_version": "7.0.0",
  "intents": [
    {
      "name": "None",
      "features": []
    },
    {
      "name": "OpenABox",
      "features": [
        {
          "modelName": "ColorMLEntity",
          "isRequired": false
        }
      ]
    }
  ],
  "entities": [
    {
      "name": "ColorMLEntity",
      "children": [],
      "roles": [],
      "features": [
        {
          "featureName": "ColorPhraseList",
          "isRequired": false
        },
        {
          "modelName": "ColorListEntity",
          "isRequired": true
        }
      ]
    }
  ],
  "hierarchicals": [],
  "composites": [],
  "closedLists": [
    {
      "name": "ColorListEntity",
      "subLists": [
        {
          "canonicalForm": "green",
          "list": [
            "olive"
          ]
        },
        {
          "canonicalForm": "blue",
          "list": [
            "azure"
          ]
        }
      ],
      "roles": []
    }
  ],
  "prebuiltEntities": [],
  "utterances": [
    {
      "text": "open the azure box",
      "intent": "OpenABox",
      "entities": [
        {
          "entity": "ColorMLEntity",
          "startPos": 9,
          "endPos": 13,
          "children": []
        }
      ]
    },
    {
      "text": "open the green box",
      "intent": "OpenABox",
      "entities": [
        {
          "entity": "ColorMLEntity",
          "startPos": 9,
          "endPos": 13,
          "children": []
        }
      ]
    }
  ],
  "versionId": "0.1",
  "name": "ColorTest",
  "desc": "",
  "culture": "en-us",
  "tokenizerVersion": "1.0.0",
  "patternAnyEntities": [],
  "regex_entities": [],
  "phraselists": [
    {
      "name": "ColorPhraseList",
      "mode": true,
      "words": "green,blue,azure,olive",
      "activated": true,
      "enabledForAllModels": false
    }
  ],
  "regex_features": [],
  "patterns": [],
  "settings": []
}

特征应该是与意图或实体相关的信号。 所以对于这个例子,

  • 创建一个 ML 实体“ColorEntity”,
  • 标记话语
  • 将 ColorEntity 添加为意图的特征
  • 然后你可以给ColorEntity添加一个特征,列表实体或者词组列表,两者都不需要。