更新时间:2020-08-20 18:12
实体识别,全称命名实体识别(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改写和类目预测查询中。
OpenSearch的查询分析最多改写出来两个query,第一个Query相比第二个Query会更精准,第二个query减少了参与召回的term,旨在当更精确的召回结果数不足时,用第二个query进行扩大召回。
Query改写主要根据实体的重要性,对query进行改写,召回时保留重要性高的实体词,对重要性低的部分不影响召回,只影响算法排序。实体的重要性目前分为3档,分别是高、中、低。
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.开放搜索控制台选择左侧导航栏中的“召回配置”下方对应的“查询分析”:
2.在上图页面中选择对应的应用名和应用类型(线上/线下),点击“创建”:
3.输入“规则名称”,选择“索引范围”,选择“行业类型”为电商分词,功能选择选中“实体识别”,点击“确定”:
注:在实体类型主要性设置中增删实体类型,默认使用系统内置词典,如果系统识别的实体存在badcase, 可以使用干预词典进行人为干预。
4.规则创建完毕后,可以进行搜索效果测试:
测试效果:
查看查询分析过程:
5.调试无误后,在查询分析界面,切换到“索引视角”,将对应的自定义查询分析设置为默认查询分析:
6.设置默认自定义查询分析后的界面效果:
业务场景不同,某些词的实体识别语义也是不同的,为了方便用户使用,opensearch提供实体识别干预词典,供用户自定义词的语义,目前实体识别的干预主要包括两个:一是对实体识别结果本身的干预,二是实体类型重要性的干预。当实体识别的结果不准时,应该通过实体识别的干预词典的配置来进行干预。通过创建实体识别干预词典,并在查询分析中实体识别配置相应的干预词典,就可以干预实体识别功能。具体实体识别干预词典配置及原理,请点击此处。
在文档使用中是否遇到以下问题
更多建议
匿名提交