专栏名称: AINLP
关注AI、NLP相关技术,关注算法研发职位和课程;回复"文章"获取历史信息;双语聊天机器人"无名";中英翻译请输入:翻译 翻译内容;自动对联,请输入:上联 上联内容;调戏夸夸聊天机器人,请求夸、求赞;查询相似词,请输入: 相似词 词条
目录
相关文章推荐
芋道源码  ·  船新 IDEA 2025.1 要来了,新特性真香! ·  2 天前  
芋道源码  ·  开源实用的一物一码溯源防伪系统 ·  5 天前  
芋道源码  ·  工作中这样用MQ,很香! ·  6 天前  
51好读  ›  专栏  ›  AINLP

再谈序列化推荐-集成item类目属性

AINLP  · 公众号  ·  · 2021-08-15 22:10

正文


作者:十方

    

序列化推荐已经火了很久了,但是现存的方法并没有对item和类目属性之间的复杂关系进行建模,这篇论文Item Categorical Attrbute Integrated Sequential Recommendation认为挖掘这种关系对下一个item推荐具有很大影响。所以该文提出了一个集成item类目属性的序列化推荐框架,该框架由两个部分组成,一个是Item-Attribute Aggregation(IAA)模型,一个是Entity Sequential(ES)模型。IAA模型中,用图的方法表达item和属性之间的复杂关系,在ES模型中,里面有一个item序列(IS)模型和一个属性序列(AS)模型。所以最终ICAI-SR用两个序列预估下一个item。


ICAI-SR架构


从上图架构图中我们可以看到,IAA模型用于挖掘item和属性之间的关系,得到它们的embedding,ES用于发掘序列的特性。IAA和ES从不同角度挖掘item和属性之间的关系,举例来说,IAA建模了哪些item拥有哪些属性,ES编码了item/属性序列之间的转移模式。从图中我们可以看到,ES模型给每种类型的Entity都进行了序列化建模。因为一个item会有多个属性,所以需要把这些属性的embedding进行聚合喂给AS模型,最后IS和AS模型一起预测next item。


IAA模型包含两层,如下图所示:

一共有j种类型的属性A = {Aj | 1 <=j <= T},论文参考了GraphSAGE,对每个item,会采样固定数目(S)的不同类型的邻居属性。从上图,我们很清晰的看到第一层将不同类型的属性进行聚合成T个属性向量,这T个属性向量再经过第二层进行聚合,最后成为item的embedding。可以定义为下式:

Attribute to item Aggregation:

Inner attribute aggration layer:

说完了IAA建模,我们看下序列建模,这里论文并没有使用什么较为创新的方法,用的是GRU和BERT作为ES模型.通过IAA我们会得到item序列和x个属性序列,如果序列长度为T,经过ES层,我们就会得到T * (1 + x)个embedding, 预估2~T+1的item,用softmax计算loss,注意这里不需要把属于同一个T下的1+x个embedding concat起来预估下一个item,论文里之间是把这1+x各embeding分别softmax,算log loss,在把所有loss相加,如下式所示,属性带来的loss需要有个超参进行控制:


实验


可以看到ICAI-BERT在recall/NDCG/MRR各项指标中都要优于其他模型.


这里需要注意NDCG指标受超参影响也不小,如下图所示:


参考资料
  • ICAI-SR:Item Categorical Attrbute Integrated Sequential Recommendation

  • https://dl.acm.org/doi/pdf/10.1145/3404835.3463060


欢迎加入NLP相关方向技术交流群
请添加AINLP小助手微信(id: ainlper)
请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏