【问题标题】:LUIS does not recognize names with spacesLUIS 无法识别带空格的名称
【发布时间】:2017-10-24 09:00:15
【问题描述】:

所以我得到了一个使用 Microsoft Bot Framework 构建的机器人,它使用 LUIS API 进行文本识别。使用这个机器人,我可以询问有关我在后端获得的不同设备的信息。他们有像 Desk、Desk 2 和 Phone Booth 4 这样的名称。第一个和第二个名称工作得很好,但是每当我发送一个包含 2 个或更多空格的名称时,LUIS 将无法识别它。我已将所有名称添加到 LUIS 上的功能列表中,但它似乎没有做任何事情。当我在机器人代码中执行该意图的方法时,只要我发送这种名称,实体就为空。知道我该如何解决这个问题吗?正如我所描述的,像 Desk 2 这样只有一个空格的名称就可以了。也许有一种方法可以在 LUIS 中将多个单词保存为一个实体?

在下图中,顶部的条目是“给我展示电话亭 4”,底部的条目是“给我展示桌子 2”。

【问题讨论】:

    标签: bots azure-language-understanding


    【解决方案1】:

    这需要一些工作,但是您是否尝试过以编程方式更新您的模型?

    在 LUIS API 参考中,您可以标记 individual utterances 或在 batches 中进行标记。这样做的好处是您可以根据索引位置选择应识别为实体的内容。

    示例:

    {
        "text": "Book me a flight from Cairo to Redmond next Thursday",
        "intentName": "BookFlight",
        "entityLabels":
        [
            {
                "entityName": "Location::From",
                "startCharIndex": 22,
                "endCharIndex": 26
            },
            {
                "entityName": "Location::To",
                "startCharIndex": 31,
                "endCharIndex": 37
            }
        ]
    }
    

    我承认我以前没有尝试过这样做,但我不知道以这种方式进行标记/训练会在逻辑上失败。


    我确实注意到您的实体的一件事是它们由一个项目和一个数字组成。您可以将它们放入复合实体中;但在这种情况下,按照我上面提到的方式进行操作是完成您正在寻找的事情的好方法。

    也就是说,如果您打算将 office-furniture-pieces(?) 用作单独意图的实体,例如 'PurchaseNewOfficePieces',则可能需要为 'Desk 2''Phone Booth 4' 创建使用复合实体.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多