快速入门:在 LUIS 门户中生成应用

在本快速入门中,请使用预生成的主要自动化域创建一个 LUIS 应用来打开和关闭灯和设备。 此预生成的域为你提供意向、实体和示例话语。 接下来,请尝试添加更多意向和实体来自定义应用。 完成本教程后,你会有一个在云中运行的 LUIS 终结点。

登录到 LUIS 门户

LUIS 的新用户需要执行此过程:

  1. 登录 LUIS 门户,选择你所在的国家/地区,然后同意使用条款。 如果看到“我的应用”,则 LUIS 资源已存在,你应该跳过此过程,开始创建应用。 如果没有,首先使用 Azure 资源,这使你能将 LUIS 帐户与新的或现有的 Azure 创作资源进行关联。
  1. 在出现的“选择创作”窗口中,找到你的 Azure 订阅和 LUIS 创作资源。 如果没有资源,可新建一个。

    选择语言理解创作资源的类型。

    创建新的创作资源时,请提供以下信息:

    • 租户名称 - 与 Azure 订阅关联的租户。
    • Azure 订阅名称 - 将对资源计费的订阅。
    • Azure 资源组名称 - 你选择或创建的自定义资源组名称。 使用资源组可将 Azure 资源分组,以便进行访问和管理。
    • Azure 资源名称 - 你选择的自定义名称,用作创作和预测终结点查询的 URL 的一部分。
    • 定价层 - 定价层确定每秒和每月的最大事务数。

选择订阅和创作资源

当你选择特定订阅和创作资源时,你将看到与之关联的应用的列表。

选择创作订阅和创作资源

创建新应用

可在“我的应用”中创建和管理应用程序。

创建应用程序

若要创建应用程序,请单击“+ 新建应用”。

在显示的窗口中,输入以下信息:

名称 说明
名称 应用的名称, 例如“home automation”。
环境 应用能够理解和显示的语言。
说明 应用的说明。
预测资源 将接收查询的预测资源。

选择“完成”。

备注

创建应用程序后将无法更改区域性。

添加预生成域

LUIS 提供一组预生成的域,它们可帮助你开始使用应用程序。 预生成的域应用已填充有意向实体言语

  1. 在左侧导航栏中选择“预生成域”。

  2. 搜索“HomeAutomation”。

  3. 在 HomeAutomation 卡上选择“添加域”。

    选择“预生成域”,然后搜索“HomeAutomation”。 在 HomeAutomation 卡上选择“添加域”。

    成功添加域以后,预生成域框会显示“删除域”按钮。

<a name="check-out-intents-and-entities">查看意向和实体

  1. 在左侧导航菜单中选择“意向”,以便查看 HomeAutomation 域意向。 它具有示例言语,例如 HomeAutomation.QueryStateHomeAutomation.SetDevice

    备注

    “无”是由所有 LUIS 应用提供的意向。 可以使用它来处理与应用提供的功能无法对应的话语。

  2. 选择 HomeAutomation.TurnOff 意向。 此意向包含一系列使用实体标记的示例言语。

  3. 如果你想要查看应用的实体,请选择“实体”。 如果单击某个实体(例如 HomeAutomation.DeviceName),你将看到与之关联的值的列表。

    图像替换文字

训练 LUIS 应用

用意向、实体和言语填充应用程序后,需要对应用程序进行训练,以便能够反映出你所作的更改。

  1. 在 LUIS 网站的右上方,选择“训练”按钮。

    “训练”按钮

  2. 当“训练”按钮上的状态指示器为绿色时,即表示训练完成。

测试应用

训练完应用以后,即可测试它。

  1. 在右上方导航中选择“测试”。

  2. 在“交互式测试”窗格中键入测试言语,然后按 Enter。 例如,“关闭照明设备”。

    在本例中,“关灯”被正确标识为 HomeAutomation.TurnOff 的评分最高的意向。

    “测试”面板的屏幕截图,其中突出显示了话语

  3. 选择“检查”以查看有关预测的详细信息。

    包含检查信息的“测试”面板的屏幕截图

  4. 关闭“测试”窗格。

自定义应用程序

除了预生成的域,还可使用 LUIS 创建你自己的自定义应用程序,或者在预生成的域之上进行自定义。

创建意向

向应用添加更多意向

  1. 在左侧导航菜单中选择“意向”。
  2. 选择“创建”
  3. 输入意向名称 HomeAutomation.AddDeviceAlias,然后选择“完成”。

创建实体

向应用添加更多实体

  1. 在左侧导航菜单中选择“实体”。
  2. 选择“创建”
  3. 输入意向名称 HomeAutomation.DeviceAlias,从“类型”中选择机器学习,然后选择“创建” 。

添加示例话语

示例话语是用户在聊天机器人或其他客户端应用程序中输入的文本。 它们可将用户文本的意向映射到 LUIS 意向。

HomeAutomation.AddDeviceAlias 的“意向”页上,请在“示例言语”下添加以下示例言语 ,

# 示例陈述
1 Add alias to my fan to be wind machine
2 Alias lights to illumination
3 nickname living room speakers to our speakers a new fan
4 rename living room tv to main tv

为了获得最佳结果,请确保示例言语存在以下几方面的变化:

  • 言语长度
  • 标点
  • 选词
  • 谓语时态(现在时、过去时和将来时)
  • 词序

标签示例言语

你添加了 ML 实体,因此需要标记言语。 应用程序使用标签来学习如何提取你创建的 ML 实体。

要标记言语,可以使用两个选项:实体调色板标记和内联标记。

实体调色板标记

单击右上方的 @ 图标时,实体调色板将在该页右侧打开。

  1. 选择要开始标记的实体。

    使用实体调色板标记实体

  2. 突出显示要用此实体标记的文本。

    使用实体调色板标记实体

内联标记

  1. 突出显示要标记的文本。

  2. 从弹出的菜单中选择要用来标记该文本的实体。

    用于标记文本的菜单

创建预测资源

目前,你完成了应用程序的创建。 你需要创建一个预测资源来发布应用程序,从而通过预测终结点在聊天机器人或其他客户端应用程序中接收预测结果

通过 LUIS 门户创建预测资源

  1. 在应用程序中转到“管理”选项卡。

  2. 在左侧导航栏中,选择“Azure 资源”。

  3. 单击“添加预测资源”按钮。

    从门户添加预测资源

    如果已有预测资源,请添加。 否则,请选择“创建新的预测资源”。

    从门户添加预测资源 - 2

发布应用以获取终结点 URL

若要在聊天机器人或其他客户端应用程序中接收 LUIS 预测,需要将应用发布到预测终结点。

  1. 在右上方的导航栏中选择“发布”。

    右上方菜单中的“LUIS 发布到终结点”按钮的屏幕截图

  2. 选择“生产”槽,然后选择“完成” 。

    “LUIS 发布到终结点”的屏幕截图

  3. 在通知中选择“访问终结点 URL”,以转到“Azure 资源”页 。 只有你拥有与应用关联的预测资源时,才能看到 URL。 还可以单击“管理”来找到“Azure 资源”页 。

    指示应用已发布的消息

查询 V3 API 预测终结点

  1. 在 LUIS 门户中的“Azure 资源”页面(左菜单)上的“预测资源”选项卡的“管理”部分(右上菜单)中,复制页面底部的“示例查询” 。 该 URL 具有应用 ID、密钥和槽名称。 V3 预测终结点 URL 的格式如下:https://YOUR-RESOURCE-NAME.api.cognitive.azure.cn/luis/prediction/v3.0/apps/APP-ID/slots/SLOT-NAME/predict?subscription-key=YOUR-PREDICTION-KEY&<optional-name-value-pairs>&query=YOUR_QUERY_HERE

    预测资源部分中的示例查询

    将 URL 粘贴到新的浏览器选项卡中。如果看不到该 URL,则表明你没有预测资源,需要创建一个。

  1. 在浏览器地址栏中,请确保查询字符串的以下值采用 URL 格式。 如果它们不在查询字符串中,请添加它们:

    • verbose=true
    • show-all-intents=true
  2. 在浏览器地址栏中,转到 URL 末尾,对查询字符串输入“关闭客厅灯光”,然后按 Enter。

    {
        "query": "turn off the living room light",
        "prediction": {
            "topIntent": "HomeAutomation.TurnOff",
            "intents": {
                "HomeAutomation.TurnOff": {
                    "score": 0.969448864
                },
                "HomeAutomation.QueryState": {
                    "score": 0.0122336326
                },
                "HomeAutomation.TurnUp": {
                    "score": 0.006547436
                },
                "HomeAutomation.TurnDown": {
                    "score": 0.0050634006
                },
                "HomeAutomation.SetDevice": {
                    "score": 0.004951761
                },
                "HomeAutomation.TurnOn": {
                    "score": 0.00312553928
                },
                "None": {
                    "score": 0.000552945654
                }
            },
            "entities": {
                "HomeAutomation.Location": [
                    "living room"
                ],
                "HomeAutomation.DeviceName": [
                    [
                        "living room light"
                    ]
                ],
                "HomeAutomation.DeviceType": [
                    [
                        "light"
                    ]
                ],
                "$instance": {
                    "HomeAutomation.Location": [
                        {
                            "type": "HomeAutomation.Location",
                            "text": "living room",
                            "startIndex": 13,
                            "length": 11,
                            "score": 0.902181149,
                            "modelTypeId": 1,
                            "modelType": "Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceName": [
                        {
                            "type": "HomeAutomation.DeviceName",
                            "text": "living room light",
                            "startIndex": 13,
                            "length": 17,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceType": [
                        {
                            "type": "HomeAutomation.DeviceType",
                            "text": "light",
                            "startIndex": 25,
                            "length": 5,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ]
                }
            }
        }
    }
    

详细了解 V3 预测终结点

清理资源

不再需要 LUIS 应用时,请将其删除。 为此,请在左上角的菜单中选择“我的应用”。 在应用列表中选择应用名称右侧的省略号 (...),然后选择“删除”。 在弹出的“删除应用?”对话框中,选择“确定” 。

后续步骤