首页 >>  正文

推荐系统的三大算法

来源:baiyundou.net   日期:2024-07-09

搜索和推荐场景的联动行为,千人千面的用户兴趣;

01 搜索步骤

用户输入搜索关键词,搜索系统根据输入信息,筛选出用户可能喜欢的内容,同时按照某种重要性进行排序并展示。简单而言,搜索可以分为三步:

  1. 对用户输入搜索词的解读
  2. 根据搜索词对内容筛选
  3. 对筛选后的结果集排序并展现,并且根据用户反馈进入新的搜索服务
1. 搜索前行为记录
  • 条件:对用户当前需求没有显式信息
  • 定位:以推荐为主
  • 典型产品:搜索底纹、搜索发现 、历史搜索词、热门搜索词
  • 搜索物料:历史搜索词、短期、长期商品交互(点击、加购、收藏、购买)、其他人的搜索及站内行为
2. 搜索中行为记录
  • 条件:需求部分已知
  • 定位:辅助查询输入
  • 典型产品:查询智能补全(SUG) /搜索联想
  • 搜索物料:短期、长期商品交互(点击、加购、收藏、购买)、其他人的搜索及站内行为
3. 搜索后的行为结果
  • 条件: 用户完成搜索, 已获取结果列表 ,排序及展示结果页
  • 定位: 辅助用户修正结果或重新查询
  • 典型产品: 相关搜索、筛选、泛词引导/锦囊、搜索纠错,搜索确认、搜索排序
  • 搜索物料:搜索词下类目重要属性,短期、长期商品交互(点击、加购、收藏、购买)、其他人的搜索及站内行为

02 动态流通语料库

语料库的语种,语料库也可以分成单语的(Monolingual)、双语的(Bilingual)和多语的(Multilingual),按照语料的采集单位,语料库又可以分为语篇的、语句的、短语的;双语和多语语料库按照语料的组织形式,还可以分为平行(对齐)语料库和比较语料库,统称为的语料构成译文关系。

  • 语料:从单语种到多语种
  • 数量:从百万级到千万级再到亿级和万亿级
  • 加工:从词法级到句法级再到语义和语用级
  • 文本:从抽样到全文
  • 特点:动态性,不确定一个固定的库容量(例如:把库容量目标确定为数百万字,上千万字,数千万字,数亿字等)

不确定一个固定的选择文本的时间段(例如:确定为49年-82年,80年-90年,90年-95年语料等);

不确定一个固定的文本选择范围或应用领域(例如:确定为只收现代汉语文学语料,或新闻语料,或科技语料或中小学生语料等,从而建立一些专门的语料库);

不确定一些固定的文本抽样对象(例如三只松鼠,新能源电池,蒙牛酸奶,等)。

定时抽取的语料库:根据大众媒体的传播情况,依据一定的原则来动态抽取;以观察和测量到流通度的变化情况,可以追踪到语言成分的产生,成长和消亡。

03 搜索的精准匹配推荐与记录

搜索词充当了用户与搜索工具之间的重要沟通载体,借助关键词实现用户自我意识与搜索引擎之间的交流,形成了一个意识产生、关键词转化、搜索、信息获取、动机满足的信息闭环。

当然还有很多因素也会去影响这个闭环,如用户(历史行为,浏览偏好,性别、年龄等)、地域、天气,一个宏观、长周期的链路等。

根据搜索的过程,可以拆解用户的搜索流程如下:搜索入口-搜索触发-内容输入-点击搜索-反馈结果。我们从这个流程的各个环节上来看四大电商app(京东、天猫、手淘、拼多多)的搜索功能,进行对比分析。

电商搜索为例,以用户搜索过程中输入搜索词(点击“搜索“按钮到按下”回车“之间发生的事)的过程为切入点,结合产品及技术方案展开,结合相关搜索词功能进行论述;

从而形成分词:长尾词,属性词,精准大词,短词、单词、双词。

划分等级:搜索热度、点击率、频率、竞争度、时间段落。

04 搜索词自动索引推荐产生联想效应

关键词匹配/补全/联想/纠错的作用主要划分为:引导、纠错和高效。

通过统计再计算,用户在第一次查询中得到预期搜索结果的概率非常低,所以需要引导查询自动建议可以减少用户搜索的工作量,并通过数据挖掘(群体行为和智慧)来给出高频恰当的搜索建议,语料库的词匹配与联动效应,在不断的记录分词中构造出相对完整的词库。

搜索时使用了前缀匹配,但是手淘和天猫使用了拓展icon,可快速将推荐词黏贴至搜索框,京东使用了属性、标签、类目扩展 (除了对输入内容做联想,还会展示出与关键词相关的维度,自动补全关键词,增加用户的选择),拼多多则相对搜索词产品探索较少。不过目的都是帮助用户快速锁定意图,并开展搜索。

用户在搜索框输入字符时,会在搜索框下面实时显示下拉提示词给用户,方便用户选择;可以帮助用户快速输入和优化搜索条件,且避免输入错误;在此基础上很多电商app也出现了筛选功能,在当前搜索建议词基础上进行扩展,进一步减少用户操作,一般在用户搜索的不够具体,会推荐该搜索词更细的分类。

淘宝的辅助多重筛选搜索,输入时展现的一系列联想内容,点击右边的一个拓展icon,就可以采用联想出的内容,在此基础上继续缩小范围筛选,从而帮助用户获得最接近需求的内容。

通过当前实时输入的词去匹配候选词,一般查询频度和同查询词的历史查询记录为重要参考依据。

在搜索词补全和联想数量上,淘宝为10条,拼多多为10条,京东/天猫超过10条,但是不能过多,过多的选择会给用户造成记忆负担,并且占据空间,有损用户体验,所以需要控制数量以便信息不会过载。

当然部分电商在历史的版本迭代中会尝试在搜索输入阶段进行纠错,比如输入联衣群,下拉框中自动纠正为连衣裙的一些选项,目前四个电商app均并无此功能,而是在搜索结果展示内做纠错及提醒;自动容错功能,将极大地提升用户体验,并提升用户的购买率。

语料库的建立实现:

  1. 可选择对接第三个已有的语料库开放平台(可减少开发时长)
  2. 自主构建语料库体系

前缀匹配原则,完整词未出现时一般使用补全/联想功能,品类引导词为主;当出现明显品类词后开始出现更细粒度属性及标签筛选词。一般从Query log中挖掘出大量候选Query,并且保证前缀相同,然后根据某种计算模型给候选Query 计算一个分数,最后按照分数选出TopK作为最终结果。

主要考虑因素:当前搜索词,用户(性别、年龄等特征),日志中的群体。

常见搜索引擎均带有Suggestion功能,直接使用前缀匹配后的候选词(Trie树 + TopK算法,回溯算法遍历trie树),使用用户搜索频度最高的TopK个搜索词,但是这样会使长尾词无法得到曝光机会。

05 AC联动算法

在用户进行搜索商品时,通过用户与搜索词信息进行意图预测,并辅之以类目、性别预测,前缀匹配后最终将某个性别和类目下的共现最高的TopK热搜词作为搜索框下拉框提示词。

复杂模型版1

复杂模型版,使用前缀匹配算法进行候选集召回(若召回量过少,考虑非前缀匹配结果),并做简单截断;然后使用用户特征(性别、年龄、行为序列)、Context特征(季节、天气、温度、地理位置)进行、当前搜索词的Embedding Vector,然后候选搜索词也有一个Embedding Vector,三个Vector分别与候选Vector计算Cosine similarity,最终使用一个线性模型融合三个分数,最终的排序结果会进行语义去重再选择TopK(这里也可以用生成模型来做排序)。

这里可以将用户、Context均视为搜索词,就可以用日志数据构造Doc,最终使用Doc2vec或Word2vec。

通过语义、行为、Session log等挖掘出Query间相似分,并加入用户、搜索词、Context类特征及其交叉特征。多维度相似融合再排序: 按照点击相似度、文本相似度、Session相似度衡量Query之间的相似度,得到候选的Pair(可选)交给重排序模块,对Query pair的优先级做优化,生成Top K的改写结果。

query2query召回基于行为: item cf/swing、Simrank++基于session: Word2vec、Seq2seq基于内容: Query2vec(类似Word2vec,构建Query序列)query排序模型: LR/GBDT

样本: 用户日志,行为加权(展现:1,点击:5,购买:50)

特征: 搜索词的Pv/Ctr/Cvr,用户是否活跃,用户画像/特征,用户+候选词(查询词/浏览详情页与热搜候选词相似度),Context特征(地理位置,温度,天气等)

#专栏作家#

村上春树,人人都是产品经理专栏作家。养成挖掘性的思考习惯、综合、市场、运营、技术、设计、数据、擅长跨境电商,综合电商与商业模型。

本文原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

","force_purephv":"0","gnid":"9b3d72785778f57a8","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t01d78911d722a5a61a.jpg","width":"900"},{"desc":"","height":"1414","title":"","url":"https://p0.ssl.img.360kuai.com/t01b57abd976bb4668a.jpg","width":"1686"},{"desc":"","height":"789","title":"","url":"https://p0.ssl.img.360kuai.com/t0176989baf1ae3f3ca.jpg","width":"1130"},{"desc":"","height":"712","title":"","url":"https://p0.ssl.img.360kuai.com/t0100be327b7da35b0b.jpg","width":"900"},{"desc":"","height":"755","title":"","url":"https://p0.ssl.img.360kuai.com/t017eecb03fca7a56a1.jpg","width":"1118"},{"desc":"","height":"981","title":"","url":"https://p0.ssl.img.360kuai.com/t01d43e3b4be6a078c3.jpg","width":"2047"},{"desc":"","height":"593","title":"","url":"https://p0.ssl.img.360kuai.com/t0123850a4547fe54cd.jpg","width":"726"},{"desc":"","height":"898","title":"","url":"https://p0.ssl.img.360kuai.com/t01fd3f974a9b8ae16f.jpg","width":"1560"},{"desc":"","height":"519","title":"","url":"https://p0.ssl.img.360kuai.com/t01e5a4bbe97ad8d8ac.jpg","width":"900"},{"desc":"","height":"900","title":"","url":"https://p0.ssl.img.360kuai.com/t017c40fbe96930f54d.jpg","width":"1500"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"hbase","pub_time":1659173520000,"pure":"","rawurl":"http://zm.news.so.com/4c177ff7457febbd98f301981b65020b","redirect":0,"rptid":"57c42896869a4a8b","s":"t","src":"人人都是产品经理","tag":[{"clk":"ktechnology_1:拼多多","k":"拼多多","u":""}],"title":"电商系统搜索场景推荐的千人千面——语料库建立

秋枝炉1128什么是电子商务推荐系统 -
车贪琴19836785187 ______ 随着互联网的普及和电子商务的发展,电子商务系统在为用户提供越来越多选择的同时,其结构也变得更加复杂,用户经常会迷失在大量的商品信息空间中,无法顺利找到自己需要的商品.电子商务推荐系统直接与用户交互,模拟商店销售人员...

秋枝炉1128如何评价一个好的推荐系统算法 – 我爱机器学习 -
车贪琴19836785187 ______ 如何更好地掌握机器学习Colorado是伯克利大学的在读博士,同时也是Metacademy的创始人.Metacademy是一个优秀的开源平台,许多专业人员共同在这个平台上编写wiki文章.目前,这些文章主要围绕着机器学习和人工智能这两个主题.在...

秋枝炉1128推荐系统中用到的热传导算法和物质扩散是怎么用的 -
车贪琴19836785187 ______ 删除推荐程序,_user-software-microsoft-windows-currentversion-explorer-flieexts-相应后缀-openwithlist里面修改键值就行了

秋枝炉1128人工智能在推荐算法上的应用
车贪琴19836785187 ______ 在日常工作生活当中,人工智能也不是遥不可及,AI算法在各行各业中已经广泛使用,极大提高企业生产效率,减少人工成本和时间成本.1、农业:农业中已经用到很多...

秋枝炉1128数据挖掘、机器学习、深度学习、推荐算法的联系与差别? -
车贪琴19836785187 ______ 数据挖掘:使用一些技术、手段、算法挖掘、发掘数据之间的关系 数据的潜在联系等 机器学习:使用一些算法 例如svm xgboost knn 神经网络等 学习数据的特征与目标之间的关系等 深度学习:深度学习也可以说属于机器学习 只不过深度学习强调使用神经网络来完成机器学习完成的任务 而且强调神经网络的深度一般比较深 推荐算法:是上述三种技术的一种实际应用 来解决实际问题 类似的还有 NLP CV 指纹识别等

秋枝炉1128谈谈个性化推荐系统的利弊都有哪些? -
车贪琴19836785187 ______ 如果一个个性化推荐系统能将新的、有意思领域推荐给我们,并且将我们关注领域最新进展、历史脉络、有价值信息等等推荐给我们,这件事对于消除信息壁垒,增加信息价值是很好手段、方法.值得我们为此付出努力和心血.

秋枝炉1128推荐系统中用到的热传导算法和物质扩散是怎么用的 -
车贪琴19836785187 ______ 常常用二部图来表示用户和物品之间的关系:把用户(Users)看成一类,把物品(Objects)看作另一类.当某个用户购买过某个商品时,他们之间会存在一条连边.而同一类点之间不存在连边,即用户与用户之间,商品与商品之间不存在连边,类似于这样组成的网络就称为二部图.电子商务中的商品推荐,可以看做是二部图上的链路挖掘问题,而扩散过程可以用来寻找网络中两个节点之间的关联强度.

秋枝炉1128如何设计一个好的推荐系统 -
车贪琴19836785187 ______ 答案跟如何定义“好”相关.1,如果“好”指易扩展.推荐系统从架构上来说一般包括离线和在线投放系统两部分,离线部分包括离线数据和算法,在线部分包括实时数据和策略.2,如果“好”指点击率.首先是好的数据,其次是好的算法.3,如果“好”指用户体验好.要有好的产品形式,充给予用户选择的权利,比如订阅.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024