【问题标题】:LUIS - Can we use phrases list for new values in the entity type ListLUIS - 我们可以在实体类型列表中使用短语列表来获取新值吗
【发布时间】:2018-05-29 12:33:29
【问题描述】:

我正在创建 LUIS 聊天机器人应用程序以提取有关公司的信息。例如

Google 公司的文件名 1 是什么”。

所以我目前正在使用 "list entity" 提取“filed_name1”,因为公司的字段数量有限。

同样,我使用 List entity 来提取公司名称。因为公司名称现在也受到限制。

现在我想处理将新公司名称添加到现有列表中的情况。

我尝试使用“短语列表”来检查它是否可以处理新名称。但它不起作用。

我创建了短语列表“companyNames”,给出了 3 个现有名称和一个新公司名称。

现在当我用话语进行测试时

"公司 new_company_name 的 field_name3 是什么

它没有将 new_company_name 标识为一个实体。尽管我已经在短语列表中提供了它以及现有的公司名称。

注意:由于性能原因,我使用 List 实体来表示公司名称,而不是简单的 (ml) 实体。实际上,公司名称的长度从 10 个字符到 50 个字符以上。

已编辑:

模式:公司 {CompanyName}

{CompanyFieldName} 是什么

短语列表:Google 、Apple 、Oracle 、Samsung(不在列表中的实体或话语中)

Sample data format in a table

一旦我用相同模式的前 3 个公司名称进行了培训。我正在使用以下带有新公司名称的话语测试我的应用。

“三星公司的文件名 1 是什么”

它能够将 field_name1 检测为实体,但在任何实体中都没有识别出三星。

【问题讨论】:

  • "what is the field_name3 for company new_company_name" 所有的话语都遵循相同的模式吗?
  • 是的@JyoFanidam,所有的话语都遵循相同的模式,无论是训练话语还是测试话语。为了更好地理解,我添加了一个小示例。

标签: nlp chatbot azure-language-understanding azure-cognitive-services


【解决方案1】:

现在我想处理添加新公司名称的情况 现有列表。

我尝试使用“短语列表”来检查它是否可以处理新名称。 但它不起作用。

新的Patterns feature (使用pattern.any)可以解决这个问题。

此功能有助于按照特定模式标记名词。您无需提供公司名单。

创建意图

然后创建实体,选择它们为 pattern.any entity.

在Pattern的功能中添加pattern的格式:

训练应用程序。

这是测试结果,展示了它是如何处理这种情况的,没有提供示例。

所以我目前使用“list entity”作为提取“filed_name1”作为 公司的字段数是有限的。

您仍然可以使用列表实体提取“field-name1”。我只是提供了一个示例来说明如果列表变长了如何处理这种情况。

如果我们使用 patter.any 实体创建模式。它无法区分公司名称和公司代码。我想知道为什么我创建的模式没有帮助。

如果案例具有相同的模式来处理公司名称的代码和名称,那么使用列表实体是正确的选择。模式功能通过首先触发实体来工作,其中这种情况是失败点。

希望这会有所帮助!

【讨论】:

  • 感谢@JyoFanidam 的详细解释在我的场景中,在模式中使用 companyNames list entity 的原因是,我在 getCompanyInfo 意图中还有另一种说法,即按公司代码查询。例如:公司 101 的 field_name1 是什么。如果我们使用 patter.any 实体创建模式。它无法区分公司名称和公司代码。有什么解决方法吗?我想知道为什么我创建的模式没有帮助。理论上的短语列表(docs.microsoft.com/en-us/azure/cognitive-services/luis/…)也应该有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
相关资源
最近更新 更多