模糊匹配

默认情况下,实体匹配要求某个实体条目进行完全匹配。如果是单字词实体条目值和同义词,这会正常工作,但如果是多字词值和同义词,则可能会出现问题。以实体“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、国民身份号码等严格值,则不应启用模糊匹配。