Press "Enter" to skip to content

搜索场景下的智能实体推荐

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

 

分享嘉宾 :陈溪 腾讯 研究员

 

编辑整理: 吴晓 庆 东南大学

 

出品平台:DataFunTalk

 

导读: 本 次分享题目为搜索场景下的智能实体推荐,主要分为四部分讲解:

 

场景介绍及概览

 

实体推荐相关性

 

稀疏数据下的实体召回

 

多领域多场景下的实体推荐

 

01

 

场景介绍及概览

 

1. 场景介绍

 

首先是整体场景介绍和概览,我们的实体推荐是推荐与query相关的实体,并聚合为不同的维度呈现出来。

 

① 通用推荐

 

举例:query为“刘德华”,推荐相关的人物与影视。

 

② 垂直领域推荐

 

举例:query为影视领域时,推荐相关电视剧及同演员影视;query为小说领域时,推荐相似小说、同作者小说等。

 

下图右下角我们在小说阅读器场景下实体推荐的尝试。

 

 

2. 产品技术框架

 

下面介绍我们的整体技术框架,主要分为:基础数据、底层能力、推荐系统、应用场景四部分。

 

① 基础数据

 

在基础数据上会使用原始日志,包含搜索日志、曝光点击;还会接入知识图谱、垂直灵犀、垂直网站以及doc内容信息。

 

② 底层能力

 

在底层能力上,对于query会做文本理解和实体理解工作,文本理解工作包含意图判断、实体识别以及实体消歧,实体理解包含实体质量、实体分类以及实体关联。

 

③ 推荐系统

 

在基础数据和底层能力之后,进入到推荐逻辑之中。在推荐系统中主要分为召回、排序和质量控制三个部分。在召回部分主要采用多路召回队列的方式,比如基于协同过滤的方法、基于内容的方法以及基于语义或知识图谱的方法等。排序的过程主要是通过CTR融合多路召回队列,针对不同的业务场景会考虑用户体验以及整体的多样性做重排。质量控制中会将质量较差或者比较敏感的信息过滤掉。

 

④ 应用场景

 

在应用场景中,除了在结果页搜索场景中应用,也在QQ浏览器内其他场景进行了尝试,比如小说阅读器,百科以及第三方页面等,都有一定的效果。

 

 

02

 

实体推荐相关性

 

实体推荐需要保证与query的相关性是合理的,在这种情况下,我们产出了自己的方案。

 

1. 用户查询

 

在搜索场景下,用户的查询行为是主动行为,一般带着比较明确的意图;与之相对应的推荐结果是被动接收的,本身对于推荐的实体没有明确的预期。在这样的情况下:

 

我们既要保证推荐的结果与query是相关性的,也要保证开放性,让用户获取到新的知识。

 

采用的方案:对query预测隐含的类别,然后对最终的推荐结果做限制。

 

我们浏览了用户大量的查询词之后,将query主要分为三大类:

 

query不直接包含实体,但隐藏着对实体的需求 。比如:query为“中国特色的运动会吉祥物”,用户对虚拟人物类实体有需求。

 

query包含单/多个实体 。比如:query为“人世间剧情介绍”,用户需求为影视类实体。

 

query就是实体名称 。比如:query为“天龙八部”,在知识图谱中对应多个实体ID,需求的可能性较多。

 

 

2. 补充多场景信息,丰富query内容

 

query本身是一个较短的文本,蕴含信息量少,较难预测,因此补充多场景信息,以达到丰富query内容的目的。比如:query为“艾尔登法杯”,是一个新词,查询词的热度陡增,训练数据无积累,纯文本识别难度大,因此我们引入了知识图谱和搜索场景的特征。在知识图谱特征中,将“艾尔登法杯”的属性融合进去;结合搜索场景的特征,我们将点击的标题和站点信息融合,辅助我们识别意图。

 

 

3. 结合用户会话内的前序行为,辅助判断查询词指向

 

针对部分多义项的实体名称,我们结合用户会话内的前序行为进行判断。比如:query为“天涯明月刀”,可以指向游戏、书籍、影视等,此时我们根据用户历史查询行为进行判断。若用户A历史行为包含游戏查询词,那幺此时选择游戏实体的概率更高;用户B历史行为中点击书籍站点,那幺此时选择书籍实体的概率更高;若用户没有前序行为,将最热门的实体作为兜底策略。

 

 

4. 融合

 

将前面搜索场景特征、知识图谱特征、用户前序行为特征进行融合。将这些特征分别做embedding映射,上层通过多塔融合特征,每个塔单独负责预测每一个类别的概率,再通过动态设定各个类别的阈值,判断最终是否出现此类别,后续通过出现的类别控制召回。

 

 

03

 

稀疏数据下的实体召回

 

确认了用户query需求之后,进入召回阶段。我们发现在上述方案下,对于头部查询词有较好的覆盖情况。相对热门查询词,针对冷门查询词或实体的召回比较困难,因此如何缓解稀疏数据下的实体召回是我们深入讨论的问题。

 

1. 搜索场景下数据的稀疏性

 

通过分析整体的数据,将数据的稀疏性分为两个方面:

 

查询词的稀疏性 :冷门查询词或者新出现查询词没有数据积累,查询词热门但积累实体不足,因此召回困难。比如:query为“冰墩墩”,用户搜索的query都围绕“冰墩墩”、“雪容融”展开,这种情况下可挖掘的实体有限,但存在着深层可激发的兴趣点还有“其他冬奥会吉祥物”。

 

实体的稀疏性 :由于马太效应,热门实体反复推荐,新鲜感弱化;另一方面是基于长尾理论,大量冷门实体很少被推荐,但并不代表冷门实体没有需求,因此冷门实体可以用作激活用户深层兴趣,激发用户更多的需求。

 

 

针对这两种稀疏性,我们产出了不同的解决方案:

 

① 查询词稀疏性解决方案

 

将原始query转化为召回能力强、相似度高的query补充召回。转化过程中主要使用三条路径:

 

itemCF :借助用户行为,挖掘有关联的,但字面不一定相似的query。比如用户搜索“谷爱琳滑雪”,此时由于用户对人物的不熟悉出现了错别字,我们将其纠正为“谷爱凌个人简介”。

 

IR :倒排索引的方式。我们对query文本分词,挖掘字面相似的query。比如“谷爱琳滑雪”可以召回“谷爱凌简介”。

 

SR:基于双塔的语义模型。召回语义相近,但发散性更好的query。比如“谷爱琳滑雪”可以召回“谷爱凌国籍”等。

 

在我们的场景下,我们既要考虑转化后的query与原始query的相似性,也要考虑query本身召回实体的能力。因此我们在训练双塔模型时,将query本身召回实体能力作为约束条件。首先通过query的历史表现拟合分数,历史表现包含实体点击、返回实体个数等特征;然后将拟合后的分数作为辅助目标,在学习过程中,将预测的分数和拟合的目标分数做差值,将差值融合到loss中。这样的模型更适合我们的实体推荐场景。

 

 

搜索场景特点: 大部分以核心实体展开。 在此特点下,我们既要挖掘相似的query,也要挖掘核心实体辅助召回。 因此引入了实体链接方法。

 

实体识别:我们引入知识图谱属性构造别名字典,同时根据用户搜索行为反馈辅助识别,最后使用NER的方式做通用实体识别补充。

 

场景适配 :包含核心实体判断和意图类别匹配。只有核心实体我们才会保留,同时判断query的意图和实体的类别是否匹配。

 

实体消歧 :得到候选实体后,需要进行实体消歧。考虑实体embedding、实体属性、实体描述、同时考虑搜索场景下百科的热度、query特征、doc特征等。

 

 

② 实体稀疏性解决方案

 

实体在知识图谱中呈现出图的结构,我们选择使用GNN实现实体embedding泛化。首先根据用户session、知识图谱关联和doc内容构建实体关系图;然后对正负样本采样,生成最终的训练集合。

 

实体关系图构建 。基于用户session可以得到用户熟知的关系,基于知识图谱可以补充未知知识,基于网页或者信息流内容的方式可以挖掘出现频率较高的实体对,补充具有时效性的关系和新奇的知识。

 

 

正负样本生成 。正样本采样使用有偏动态游走的方式。通过负样本的优化丰富整体训练数据。负样本包含easy样本和hard样本,easy样本通过随机负采样和热度负采样的方式得到,hard样本由两种采样方式得到,第一种是通过同类型实体热度负采样和top邻居节点类型热度负采样的方式得到,第二种是通过加长步数降低q值随机游走,游走到的节点按次数排序,选取末端节点作为负样本。

 

 

训练过程存在冷门实体训练不充分情况,于是需要补充实体的side info,包含实体类别、实体上位词、实体关键词; 然后通过Attention动态调整特征权重。

 

 

存在问题:仅考虑当前节点信息,泛化能力受到游走正样本限制。

 

因此,我们引入GraphSAGE模型的思想引入当前节点的邻居节点信息来丰富表征。

 

 

以下是我们模型的结构:

 

 

根据场景特点做了优化,在GraphSAGE中,在Sample方面我们尝试使用不同阶邻居,最终采用K=2,以保证相关性和训练迭代效率; 改变原有均匀采样的方式,优化为30%的均匀采样和70%的热度采样。 在Aggregate时,采用attention机制聚合采样邻居,考虑不同邻居对当前节点的影响。 将EGES模型embedding作为输入,借助预训练优势,防止局部最优问题。

 

 

04

 

多领域多场景下的实体推荐

 

在引入了实体的Graph embedding后,通过向量检索的方式丰富整体的召回,再结合基于用户行为、知识图谱的召回方式,就获得了多路的召回队列。然后进入排序阶段。由于实体含有不同的类别和属性,且query可以映射到不同的领域,因此需要对多领域多场景的推荐做适应性的策略。

 

1. 多维度特征建设

 

多维度的特征建设主要有query维度、实体维度和联合维度。

 

query维度 :引入query关键词、query意图、query点击信息、同时考虑query本身需求多样性。

 

实体维度 :考虑实体质量、历史表现、确认搜索结果页优质。

 

联合维度 :考虑历史表现、query和文本的相似度、query与实体察觉度。

 

 

2. 多领域模型建设

 

场景特点1 : 不同领域的实体属性不同。

 

场景特点2 : 类别间数据不平衡,热门类别数据充分,冷门类别数据不足。

 

 

针对场景特点,优化我们的模型结构。

 

将query特征、通用实体特征共享,以保证这部分特征训练充分;对于不同领域的特征,具有独享的特征;每部分特征都含有专门的网络进行预测。

 

 

3. 多场景维度细化

 

针对不同的场景,通过维度细化提升用户体验。在我们的推荐场景下,除了图片、名称、描述之外,还提供类别提示。

 

类别作用 :辅助理解推荐逻辑、帮助用户了解同类实体。因此,细化类别后,用户会有相应感知。

 

细化类别 :引入知识图谱信息,知识图谱中实体类别体系及概念体系。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注