全部产品

实体识别

功能介绍

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

类别/英文

类别/英文

类别/英文

类别/英文

普通词/common

材质/material

风格/style

款式元素/element

颜色/color

品牌/brand

功能功效/function

尺寸规格/size

品质成色/quality

场景/scenario

人群/people

套装/suit

时间季节/season

型号/model

新品/new-release

系列/series

营销服务/marketing

地点地域/region

人名/name

文娱书文曲/entertainment

机构实体/organization

影视名称/movie

游戏名称/game

数字/number

单位/unit

品类/category

新词/new-word

修饰/adjective

专有名词/proper-noun

品类修饰词/category-modifier

符号/symbol

前缀/prefix

后缀/suffix

赠送/gift

否定/negative

代理/agent

实体识别作用

在查询分析中,实体识别主要的作用于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.开放搜索控制台选择左侧导航栏中的“召回配置”下方对应的“查询分析”

4444

2.在上图页面中选择对应的应用名和应用类型(线上/线下),点击“创建”

2

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

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

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

4测试效果:5查看查询分析过程:6

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

7

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

8

实体识别干预词典

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