NLP技术在搜索推荐场景中的应用

NLP技术在搜索推荐中的应用非常广泛,例如在搜索广告的CTR预估模型中,NLP技术可以从语义角度提取一些对CTR预测有效的信息;在搜索场景中,也经常需要使用NLP技术确定展现的物料与搜索query的相关性,过滤掉相关性较差的物料,防止对用户体验造成负面影响。在推荐场景中,文本信息也可以作为一种泛化性较强的信息补充,弥补协同过滤信号的稀疏性问题,提升预测效果。

今天这篇文章梳理了NLP技术在搜索推荐场景中3个方面的应用,分别是NLP提升CTR预估效果、NLP解决搜索场景相关性问题、NLP信息优化基于推荐系统效果。

1 NLP特征提升CTR预估效果

Learning Supplementary NLP Features for CTR Prediction in Sponsored Search(KDD 2022)是微软必应团队在近年KDD上发表的一篇工作,主要介绍了如何利用NLP特征提升CTR预估的效果。这篇工作的应用场景是必应的搜索广告,需要对给定搜索词下不同的广告document进行CTR预测,并根据预测的CTR进行排序。

业内一般使用NLP特征的方法是,使用预训练的BERT模型,给当前query和document对进行相关性打分,将这个打分作为一维特征输入到CTR预估模型中。然而文中指出,这种应用NLP特征的方法并不是最优的。本文提出了一种BERT和CTR预估模型联合训练的方式,让BERT提取的语义特征和CTR预估任务更加契合。

基础的模型结构如下图,左侧是位置特征和CTR预估的其他特征(如user、context特征等),右侧是语义特征,使用预训练的BERT,以query和ad文本作为输入,得到query和ad匹配的向量。CTR预估的向量和BERT生成的向量相加后,作为最终表示进行CTR预测。
在这里插入图片描述

由于BERT模型的参数量很大,网络层数很深,而CTR预估模型的网络层数比较浅。这两个模型直接一起优化会比较困难。因此文中采用了两阶段的训练方法。在第一阶段,先分别独立的使用CTR预估的label训练不带语义特征的CTR预估模型,以及预训练的BERT模型,这一步得到了初始化参数。在第二阶段,将两个网络融合到一起学习,同时更新所有网络的参数。

由于BERT网络参数量大,计算比较慢,文中还采用了一种蒸馏的策略压缩BERT模型的体积。Teacher部分是原始的BERT+CTR模型,Student部分将BERT改为一个轻量级的语义模型,使用正则化约束轻量级语义模型和原始BERT输出的向量表示相接近,让Student网络蒸馏主模型的知识。
在这里插入图片描述

2 NLP解决搜索场景相关性问题

NLP在搜索场景或电商场景的一大应用,就是解决相关性问题。相关性和CTR预估问题存在比较大的差异,相关性是影响CTR的一个因素,CTR还受到user、展现创意质量等多种因素的影响。相比而言,相关性更加客观的衡量了搜索词和展现商品是否匹配。因此,业内一般会将相关性建模和CTR建模分开考虑,而NLP技术对于解决相关性问题至关重要。

BERT2DNN: BERT Distillation with Massive Unlabeled Data for Online E-Commerce Search(ICDM 2020)是京东和清华大学发表的一篇解决电商场景相关性问题的工作。下图对比了本文提出的方法和业内其他基础方法的差异。
在这里插入图片描述

解决相关性问题,数据来源有两个方面,一方面是根据用户的搜索和点击行为构造数据,例如query-item发生点击就认为是相关的。这种数据标注成本很低,数据量也很大,但是并不代表真正的相关性,存在一定的噪声。另一种类型的数据是人工标注的相关性数据,这类数据由于需要人工标注,比较精准,噪声小,但是标注成本较高,往往不会积累很多数据。A unified neural network approach to e-commerce relevance learning(2019)这篇解决相关性问题的文章中,使用了先在用户行为数据上预训练,再使用人工标注的高质量数据finetune的架构构建相关性模型。

本文提出的BERTDNN方法,优化点主要体现在对BERT的蒸馏以及模型训练流程上。模型主体结构采用BERT,输入query和item文本信息,预测打分结果。首先在干净的相关性语料数据以及人工标注的高质量数据上训练BERT模型,然后利用这个模型对搜索日志中的用户行为数据打分,得到大量的包含相关性打分的数据。接下来使用一个DNN模型拟合这个打分,将BERT中的知识蒸馏到DNN模型中。DNN模型的结构可以采用query和item的embedding在底层直接交叉的双单塔结构,或者分别交叉的双塔结构。DNN模型大大降低了运行开销,作为线上最终部署的模型。
在这里插入图片描述

3 NLP优化推荐系统效果

在推荐系统中,一般根据user对item的打分结果学习user和item的表示向量,然后利用向量检索进行推荐。然而,协同过滤信号存在稀疏性,容易影响模型效果。而user的填写的评价、item的描述等文本信息,在协同过滤信号的基础上提供了高泛化性特征,对于提升推荐效果很有帮助。

Gated Attentive-Autoencoder for Content-Aware Recommendation(WSDM 2019)就采用了item content表示与user-item打分关系的表示相融合的方式提升效果。文中利用user-item打分学习一个embedding,同时利用item的内容信息结合attention模块学习一个文本表示信息,然后使用一个门结构对两侧的信息进行融合。此外,本文还是用了item的邻居信息结合attention来丰富中心节点表示。
在这里插入图片描述

另一篇文章Aligning Dual Disentangled User Representations from Ratings and Textual Content(KDD 2022)也采用了类似的方法。本文为了刻画user与item之间发生交互行为的底层因素,采用了分解学习的方法,根据user-item的打分信息以及user的评论信息分别学习两个表示,然后在分解学习得到多个因素后,在因素这个维度进行两个表示的对齐。
在这里插入图片描述

4 总结

本文主要介绍了NLP技术在搜索推荐场景中的应用。在搜索推荐中,文本信息是很常见的一种信息来源,因此如何利用文本信息提升CTR预估、推荐等模型效果,以及如何利用NLP技术解决相关性问题,都是搜推广场景中很有价值的研究点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318572.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——抽象工厂模式(Abstract Factory Pattern)

概述 抽象工厂模式的基本思想是将一些相关的产品组成一个“产品族”,由同一个工厂统一生产。在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法具有唯一性,一般情况下,一个具体工厂…

YOLOv5改进 | 二次创新篇 | 结合iRMB和EMA形成全新的iEMA机制(全网独家创新)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,为什么这么说,从去年的三月份开始对于图像领域的论文发表其实是变难的了,在那之前大家可能搭搭积木的情况下就可以简单的发表一篇论文,但是从去年开始单纯的搭积木其实发表论…

第1课 ROS 系统介绍

1.ROS操作系统介绍 在学习ROS 系统前,我们需要先了解操作系统的定义。操作系统,顾名思义,即提供部分软件和硬件的接口,以供用户直接使用。因此,针对不同的平台、不同的功能,需要采用不同的操作系统来完成底…

Three.js 纹理贴图的实现

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 纹理贴图简介 当我们创建一个网格时,比如我们不起眼的立…

大模型开启应用时代 数钉科技一锤定音

叮叮叮叮!数钉智造大模型,“定音”强势发布! 随着科技的飞速发展,大模型技术已逐渐成为推动产业变革的核心力量。在这一浪潮中,数钉科技凭借深厚的技术积累和敏锐的市场洞察力,成功利用大模型技术搭建起智能…

鸿蒙开发-UI-布局

鸿蒙开发-序言 鸿蒙开发-工具 鸿蒙开发-初体验 鸿蒙开发-运行机制 鸿蒙开发-运行机制-Stage模型 鸿蒙开发-UI 鸿蒙开发-UI-组件 鸿蒙开发-UI-组件-状态管理 鸿蒙开发-UI-应用-状态管理 鸿蒙开发-UI-渲染控制 文章目录 前言 一、布局概述 1.布局结构 2.布局元素组成 3.布局分类 …

场效应管在电路中如何控制电流大小

场效应管的概念 场效应晶体管(FieldEffectTransistor缩写(FET))简称场效应管。主要有两种类型(juncTIonFET—JFET)和金属-氧化物半导体场效应管(metal-oxidesemiconductorFET,简称M…

操作系统详解(5)——信号(Signal)

系列文章: 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 文章目录 概述信号的种类Hardware EventsSoftware Events 信号的原理信号…

YOLOv8改进 | 注意力篇 | 实现级联群体注意力机制CGAttention (全网首发)

一、本文介绍 本文给大家带来的改进机制是实现级联群体注意力机制CascadedGroupAttention,其主要思想为增强输入到注意力头的特征的多样性。与以前的自注意力不同,它为每个头提供不同的输入分割,并跨头级联输出特征。这种方法不仅减少了多头注意力中的计算冗余,而且通过增…

虚幻UE 特效-Niagara特效初识

虚幻的Niagara特效系统特别的强大,可以为开发者提供丰富的视觉效果! 本篇笔记对Niagara系统进行初步的学习探索 文章目录 前言一、Niagara四大核心组件二、粒子发射器和粒子系统1、粒子发射器的创建2、粒子系统的创建3、Niagara系统的使用 总结 前言 在…

【SSM框架】初识Spring

初识Spring Spring家族 Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若千个项目,每个项目用于完成特定的功能 ✅Spring Framework(底层框架)Spring Boot(提高开发速度)Spring Cloud&#xf…

C# 图解教程 第5版 —— 第24章 预处理指令

文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令(#define、#undef )24.4 条件编译(#if、#else、#elif、#endif)24.5 条件编译结构24.6 诊断指令(#warning、#error)24.7 行号指令(#li…

最新域名群站开源系统:打造强大网站矩阵,引领SEO优化新潮流!

搭建步骤 第一步:安装PHP和MYSQL服务器环境 对于想要深入了解网站建设的人来说,自己动手安装PHP和MYSQL服务器环境是必不可少的步骤。这将使你能够更好地理解网站的运行机制,同时为后续的网站开发和优化打下坚实基础。 第二步:…

迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾

商业竞争激烈,品牌不仅是企业的标志和形象,更是其核心价值和竞争力的体现。然而,企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…

[GN] nodejs16.13.0版本完美解决node-sass和sass-loader版本冲突问题

项目场景: npm install 运行vue项目时候 问题描述 项目场景:sass-loader ,node-sass出错 ! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: smoore-mes-web1.4.0 npm ERR! Found: webpack3.12.0 npm ER…

【计算机组成原理】高速缓冲存储器 Cache 的写策略(Writing Policy)

写策略 Writing Policy 缓存的写策略指的是确定何时将数据写入缓存或主存的策略。 写命中 Write Hit 全写法 Write Through 在全写法策略中,每次发生写操作时都会将数据同时写入缓存和主存。这样可以保证数据的一致性,但会增加主存的写入操作&#xf…

ubuntu连接xshell怎么连接

在网上找了好多办法都不行 例如 太久没打开Ubuntu可能输入命令查不到IP地址,解决办法也比较简单,首先第一步 确定自己能不能进入管理员root权限(输入命令su),如果没有的话得重新配置,如下图 这是因为当前Ub…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(1)准备工作、部门管理

一、准备工作 1.明确需求 根据产品经理绘制的页面原型,对部门和员工进行相应的增删改查操作。 2.环境搭建 将使用相同配置的不同项目作为Module放入同一Project,以提高相同配置的复用性。 准备数据库表(dept, emp) 资料中包含…

[Linux 进程(三)] 进程优先级,进程间切换,main函数参数,环境变量

文章目录 1、进程优先级1.1 Linux下查看进程优先级1.2 Linux 进程优先级的修改PRI and NItop命令配合操作更改优先级 1.3 竞争 独立 并行 并发 2、进程间切换3、Linux2.6内核进程调度队列3.1 活跃进程3.2 过期进程 4 main函数参数 — 命令行参数4.1 利用main函数的参数实现一个…

golang实现rpc方法二:使用jsonrpc库【跨平台】

首先在golang实现rpc方法一net/rpc库中实现了RPC方法,但是那个方法不是跨平台的,没法在其他语言中调用这个实现的RPC方法,接下来我们可以通过jsonroc库实现跨语言的RPC方法。俩种实现方式的代码其实也是差不多的,大差不差&#xf…