实体识别干预词典

目前实体识别的干预主要包括两个对实体识别结果本身的干预,以及实体类型重要性的干预。当实体识别的结果不准时,可以通过实体识别的干预来进行解决。

概念介绍

实体识别干预

通过创建实体干预的词典,并在查询分析中实体识别中配置相应的干预词典,可以干预实体识别的结果。由于语义实体是和分词器密切相关的,因此,创建实体识别干预词典时,必须选择分析器。且在查询分析配置使用时,只有索引对应的分析器和干预词典的分词器一致,才能被选择使用。

注意

  • 在创建实体识别干预的词典时,仅支持独享型应用配置定制模型分析器。

  • 可以选择干预词典的query完整匹配或者部分匹配。

  • 添加干预词条时,添加的query需要是经过归一化后的(大小字母转小写、全角字符转半角字符),否则干预词条能添加成功,不能在查询时生效。

  • 配置查询分析-实体识别干预词典时,可以选择query是否忽略空格。

  • 某些情况下(如系统升级分词器后),可能会导致部分query在查询时分词和创建干预词典时的分词结果不一致,那么这条干预是不会生效的。查询会返回一个错误码:6612。当出现这个错误码时,需要到控制台中对这个干预词条进行修改。

实体重要性干预

为了方便用户使用,当前系统提供默认的实体重要性配置。用户可以根据实际业务情况,自主的调整配置。这块调整会影响query的改写规则。

注意

  • 配置重要性配置时,高和中不能都为空。否则根据实体识别改写query的功能将不生效。

  • 不同的重要性的实体不能有冲突,即一个实体只能有一个重要性。

使用介绍

目前支持对系统内置的实体识别词典进行人工干预。用户实现干预操作的过程通常有以下四步:

  1. 创建实体识别干预词典。用户通过搜索算法中心--->召回配置--->词典管理,进入查询分析干预词典页后,点击页面右上角的“创建”。选择了词典类型后,为词典命名,干预词典创建完成,词典会出现在页面的词典列表中。

  2. 新增和管理干预词典内的干预词条。词典创建完成后,在列表中点击词典名称或点击词典对应的“管理”,即可进入到干预词典的详情页。用户可在详情页内进行干预词条的新增和管理。

  3. 使用干预词典。创建并填充完成实体识别干预词典后,可在应用的查询分析内选择使用。

  4. 干预词典效果测试和上线。查询分析规则使用了干预词典后,应用到线上之前建议先进行搜索效果测试,评估效果是否符合干预预期。

实战演练

业务场景:某电商导购类业务在OpenSearch的应用实例中配置使用了查询分析规则,规则包含实体识别功能,但是在线上发现了badcase,于是决定使用干预功能。

badcase:用户搜索Query“香奈儿气垫”,默认的实体识别,将“香奈儿”归类为“普通词”;“气垫”归类为“材质”。 改写query后为,title:’气垫’ RANK title:’香奈儿’。但业务上“香奈儿”不是普通词。问题诊断:业务特殊专有名词,需要进行实体识别干预。

解决方案:新建实体识别干预词典,再将该干预词典应用在线上使用的查询分析规则中。

操作步骤

  1. 在控制台—->搜索算法中心—->召回配置—->词典管理,创建实体识别词典:

公共

填写名称,词典类型选择实体识别,分析类型选择系统内置分析器/自定分析器(根据查询分析中配置的分析器类型选择),关联分析器中会自动过滤出符合条件的分析器(仅支持电商分词类型配置实体识别):2

若查询分析中配置的索引为定制模型分析器,则分析器类型选择定制模型分析器,实例选择Ha3引擎,并选择对应的应用名称,关联分析器与查询分析中配置的分析器保持一致:

002
  1. 在新建的实体识别干预词典里新增干预词条,填写query,并修改系统识别结果:

原始的错误识别实体结果:

1干预后的结果:2

若实体识别词典是基于定制模型分析器创建的,在新增干预词典时需要选择分析器的版本,即定制召回模型使用的模型版本:

003
注意

干预类型中,完整匹配表示输入Query与干预Query完全相同时进行干预;部分匹表示输入Query包含干预Query时进行干预。

  1. 在查询分析界面把刚刚创建的“实体识别干预词典”先应用在一个未上线的查询分析规则中,以便进行搜索效果测试:

111113

注意

是否忽略空格功能指当在使用实体识别干预时是否忽略query中的空格(默认不开启),:输入Query:“连衣裙 女” ,干预词条:“连衣裙女”,选择“是”则按干预词典中的实体词进行干预,选择“否”则不进行干预。

  1. 搜索测试是否符合预期效果:(召回了有关“香奈儿气垫”的doc)

p248644

阿里云首页 智能开放搜索 OpenSearch 相关技术圈