电商搜索场景结构化匹配 使用命名实体识别(NER)+类目预测(意图识别)+同义词+上下位词
作者:互联网
上一篇的文章中电商搜索使用BM25算法召回+其他匹配特征主要讲了BM25算法的召回以及一些特征的融入,本篇继续进行剩余特征如核心词匹配,同义词匹配 ,上下位词,query类目与商品title类目匹配以及商品的业态等特征
整体结构图如下:
示例: 乐事薯片黄瓜
分词: 乐事 薯片 黄瓜
词性:品牌,商品核心词,口位词
这里面 补充一下:
一.分词的话你可以参照 知乎上面的 分词或者命名实体识别融合词典
二.词性匹配要注意 词性消歧义,因为不同的词在不同的商品中可能会有不同的词性,例如山东新鲜黄瓜, 黄瓜味薯片 这里面的黄瓜分别为商品核心词,口位词
具体的做法 当然不局限这些,你都可以尝试:
譬如:
黄瓜薯片 黄瓜为口位词属性
黄瓜茄子组合 黄瓜为商品核心词
基于规则分词处理方法:
1.根据类目信息,假设有分词性中有两个商品核心词a,b ,c为类目信息,要进行过滤
p(a|b,c)=p(a,b,c)/p(b,c)
p(b|a,c)=p(a,b,c)/p(a,c)
比较两个核心词谁是谁的典型
p(a|b,c)<p(b|a,c) 则选取a为核心词否则选取b
2.根据term权重 tfidff,deepct或者其他的
3.相似度模型,可以根据类目预测的模型,或者向量召回的模型 来进行相似度的权重衡量,分别计算不同的term 占原query或者原商品名称的cos值,占比越大可以作为最核心的词
基于模型处理的方法:
1.预训练增加相应的知识 融入类目信息,cls .....sep....sep....sep 分别为 query 商品 类目信息
loss=mlm_loss+quer是否匹配商品 (可以参照美团技术预训练搜索)
2.融入额外知识,k-bert,k-adapter, gcn网络 组合 编造品牌,商品核心词,口位词的图谱关系(spellgcn https://github.com/ACL2020SpellGCN/SpellGCN )
三.命中es不同的列,里面会有多级商品核心词,多级商品品牌
譬如 伊利特仑苏鲜奶 品牌 伊利,特仑苏 商品核心词:鲜奶 牛奶 奶制品
多级品牌是维护的,多级商品核心词是实体识别出来 或者切词切出来,牛奶 ,奶制品是 上下位词处理的
四.命中es不同的列,加不同的分数
query中原词、同义词到指定的列做召回
标签:词性,识别,匹配,商品,核心,上下位,黄瓜,电商,类目 来源: https://blog.csdn.net/bingheshidai_1234/article/details/122359527