Nlp 如何正确使用LUIS ML功能?

Nlp 如何正确使用LUIS ML功能?,nlp,azure-language-understanding,nlu,Nlp,Azure Language Understanding,Nlu,我只是偶然发现了LUIS中的新“ML特性”,我不确定我是否真的理解如何正确使用它们。文档对我来说似乎非常抽象和模糊: 除了很好的一般性解释外,以下示例的解决方案也是非常受欢迎的: 示例 目的:OpenABox 示例话语:“打开绿色盒子”,“打开蓝色盒子” 实体:ColorEntity(无预构建实体) 颜色应理解为“绿色”、“蓝色”、“蔚蓝”和“橄榄色”,其中“橄榄色”应视为“绿色”的同义词,“蔚蓝”应视为“蓝色”的同义词 解决方案建议书 我想你不得不这么做 添加意图 添加一个列出所有颜色并指

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

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

示例

目的:OpenABox

示例话语:“打开绿色盒子”,“打开蓝色盒子”

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

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

解决方案建议书

我想你不得不这么做

  • 添加意图
  • 添加一个列出所有颜色并指定其同义词的列表实体
  • 添加一个短语列表,再次列出一些颜色,但可能不是全部,而不考虑其含义
  • 使ML功能全球化
  • 将这些值标记为可交换
  • 添加ML实体,并将列表实体和短语列表指定为特征
  • 是否需要列表实体功能
  • 添加示例语句并用列表实体标记实体?还是使用ML实体?或者两者都有
  • 是否将ML实体作为功能添加到意图?还是短语列表?还是列表实体?或者根本没有
使用测试板无法确认“olive”到其标准形式“green”的正确分辨率是否正确?所以我必须使用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添加一个功能,可以是列表实体,也可以是短语列表,而无需两者