实体识别

功能介绍

实体识别,全称命名实体识别(Named Entity Recognition,简称NER),指对查询词中的具有特定意义的语义实体进行识别。查询分析根据识别的结果,依据实体类型的权重对查询词进行改写,使得召回的文档符合查询的意图。目前,OpenSearch的实体识别只支持电商行业。主要实体类型如下:

类别

普通词

材质

风格

款式元素

颜色

品牌

功能功效

尺寸规格

品质成色

场景

人群

套装

时间季节

型号

新品

系列

营销服务

地点地域

人名

文娱书文曲

机构实体

影视名称

游戏名称

数字

单位

品类

新词

修饰

专有名词

品类修饰词

符号

前缀

后缀

赠送

否定

代理

实体识别作用

在查询分析中,实体识别主要的作用于query改写和类目预测查询中。

Query改写

OpenSearch的查询分析最多改写出来两个query,第一个Query相比第二个Query会更精准,第二个query减少了参与召回的term,旨在当更精确的召回结果数不足时,用第二个query进行扩大召回。

Query改写主要根据实体的重要性,对query进行改写,召回时保留重要性高的实体词,对重要性低的部分不影响召回,只影响算法排序。实体的重要性目前分为3档,分别是高、中、低。

Query改写的规则如下:

  1. 重要性高的实体,其优先级完全一样,肯定会参与召回;

  2. 重要性低的实体,始终不参与召回;

  3. 重要性中的实体,其优先级按其在查询分析中配置的顺序依次递减,改写规则:

    1. 当query中有重要性高的实体时,重要性中的实体在第一个query中参与召回,第二个query不参与召回;

    2. 当query中没有重要性高的实体时,重要性中的实体在第一个query中参与召回,在第二个query中,优先级最高的那个实体类型的词会参与召回,其他的都不参与召回。

  4. 当query中没有重要性高和中的实体时,query改写不参照实体识别的结果;

  5. 当query只有重要性高或者只有重要性高和低的实体时,改写后只会得到一个query。

示例

假设实体重要性设置为:

高:品类
中:品牌材质款式元素风格颜色

1.包含重要性高和中的实体:

query=default:'杨幂同款耐克修身连衣裙包邮'
实体识别的结果:杨幂(人名)同款(后缀)耐克(品牌)修身(款式元素)连衣裙(品类)包邮(营销服务)

改写后的Query:
Query1:(default:'耐克' AND default:'修身' AND default:'连衣裙' RANK default:'杨幂' RANK default:'包邮' RANK default:'同款')
Query2:(default:'连衣裙' RANK default:'杨幂' RANK default:'耐克' RANK default:'包邮' RANK default:'同款' RANK default:'修身')

2.包含重要性高和低的实体:

query=default:'连衣裙包邮'
实体识别的结果:连衣裙(品类)包邮(营销服务)

改写后的Query:
Query1:(default:'连衣裙' RANK default:'包邮')

3.仅包含重要性高的实体:

query=default:'连衣裙'
实体识别的结果:连衣裙(品类)

改写后的Query:
Query1:(default:'连衣裙')

4.包含重要性中和低的实体:

query=default:'耐克修身包邮'
实体识别的结果:耐克(品牌)修身(款式元素)包邮(营销服务)

改写后的Query:
Query1:(default:'耐克' AND default:'修身' RANK default:'包邮')
Query2:(default:'耐克' RANK default:'修身' RANK default:'包邮')

5.仅包含重要性低的实体:

query=default:'杨幂同款包邮'
实体识别的结果:杨幂(人名)同款(后缀)包邮(营销服务)

无根据实体识别改写的query

与类目预测一起使用

Query中不同的实体对类目的影响是不一样的,因此,当原query没有类目预测的结果时,会根据一定的规则,去掉query中和类目意图无关或者相关度低的词后,进行类目预测。这对长尾query的类目预测会有很大的帮助。保留的实体词包括:

品类
人群
时间季节
款式种类
风格

示例

对于query 杨幂(人名)同款(后缀)春季(时间季节)修身(款式元素)连衣裙(品类),丢词后的query按照优先级排序分别为:

春季修身连衣裙
春季连衣裙
修身连衣裙
连衣裙

系统会按照上述顺序依次查询类目预测的结果。

功能使用流程

1.开放搜索控制台选择左侧导航栏中的“召回配置”下方对应的“查询分析配置”,选择对应的应用名和应用类型(线上/线下)点击创建

image

2.输入“规则名称”,选择“索引范围”,选择“行业类型”为电商分词,功能选择选中“实体识别”,点击“确定”

image注:在实体类型主要性设置中增删实体类型,默认使用系统内置词典,如果系统识别的实体存在badcase, 可以使用干预词典进行人为干预。

3.规则创建完毕后,可以进行搜索效果测试:

image测试效果:image查看查询分析过程:image

4.调试无误后,在查询分析界面,切换到“索引视角”,将对应的自定义查询分析设置为默认查询分析

image

5.设置默认自定义查询分析后的界面效果:

image

实体识别干预词典

业务场景不同,某些词的实体识别语义也是不同的,为了方便用户使用,OpenSearch提供实体识别干预词典,供用户自定义词的语义,目前实体识别的干预主要包括两个:一是对实体识别结果本身的干预,二是实体类型重要性的干预。当实体识别的结果不准时,应该通过实体识别的干预词典的配置来进行干预。通过创建实体识别干预词典,并在查询分析中实体识别配置相应的干预词典,就可以干预实体识别功能。具体实体识别干预词典配置及原理,请点击此处