模糊匹配

默认情况下,实体匹配要求某个实体条目进行完全匹配。 如果是单字词实体条目值和同义词,这会正常工作,但如果是多字词值和同义词,则可能会出现问题。以实体“ball”为例,该实体应与以下最终用户表述部分相匹配:

  • “ball”
  • “red ball”
  • “ball red”
  • “small ball”
  • “ball small”
  • “small red ball”
  • “small ball red”
  • “red small ball”
  • “red ball small”
  • “ball small red”
  • “ball red small”

为了能够匹配,您一般需要为这些排列中的每一个定义实体条目值和同义词。但是,如果启用了模糊匹配,值或同义词的字词顺序就会无关紧要。下列字词将触发所有上述示例发生匹配:

  • “ball”
  • “red ball”
  • “small ball”
  • “small red ball”

创建模糊匹配实体

控制台

  1. 打开 Dialogflow CX 控制台。
  2. 选择 GCP 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击实体类型。
  6. 点击创建。
  7. 勾选模糊匹配。
  8. 填写剩余字段。
  9. 点击保存。

API

将 EntityType.enableFuzzyExtraction 字段设置为 true。

为 EntityType 参考选择协议和端口:

协议 V3 V3beta1
REST EntityType 资源 EntityType 资源
RPC EntityType 接口 EntityType 接口
C++ EntityTypesClient 不可用
C# EntityTypesClient 不可用
Go EntityTypesClient 不可用
Java EntityTypesClient EntityTypesClient
Node.js EntityTypesClient EntityTypesClient
PHP 不可用 不可用
Python EntityTypesClient EntityTypesClient
Ruby 不可用 不可用

限制

存在以下限制:

  • 正则表达式实体无法启用模糊匹配。 这些特性会互相排斥。
  • 如果实体用于匹配 ID、国民身份号码等严格值,则不应启用模糊匹配。