zoukankan      html  css  js  c++  java
  • 论文笔记:CTRec: A Long-Short Demands Evolution Model for Continuous-Time Recommendation(SIGIR 2019)

    研究动机

    在电子商务中,人们的购买行为不仅仅取决于个人信息和兴趣偏好,新的需求与最近的购买行为,以及依赖于购买的周期性需求。我们称之为短期需求和长期需求。本文提出了一个新的模型CTRec来捕捉用户随时间变化的需求。为了让建立的模型对时间敏感,在模型中设计了一个Demand-aware Hawkes Process (DHP)框架来学习用户离散的购买记录。具体来讲,利用卷积神经网络以及LSTM捕捉短期需求;并利用自我注意机制捕捉长期需求的周期性购买周期。

    问题定义

    连续时间推荐问题定义如下:对于用户$u$给定的购买记录,预测用户$u$在未来时间$t_n+e$内购买商品$i$的概率。

     其中 $I_{t_n}^u$表示用户$u$的购买历史,$F$是预测函数,$t_e$表示的是$t_n$到$t_{n+e}$的时间间隔

    通过考虑连续时间的顺序信息和时间间隔信息,构造了连续时间推荐问题,作为一个广义的顺序推荐问题。

     下一项和下一会话/购物篮问题都是通过离散时间信息作为连续时间推荐的特例,只考虑了项目之间的排序关系

    模型

    短期需求——卷积神经网络

    长期需求——self-attentive cycles component 注意力循环部件

    总体框架

    霍克斯过程中的激励效应可能随着长期需求的周期性增加而增加,而短期需求的周期性减少,这种影响在简单的事件流模型中是无法处理的。

    Neural Hawkes Process

     作者建立了一个需求感知的霍克斯过程,强度函数为

     其中$ hea$是我们模型的参数,$f$是一个激活函数,将所有的数字映射的到正数上,$f(x)$的公式为

    在实验中,作者将$s$值设置为5。

    那么在$t$时刻购买商品$i$的概率为

     其中$t_o$是观察到的最后一次购买历史,$sin{[t_o,t]}$,下一次购买

     

    利用卷积时间感知LSTM建立短期的需求模型

    用户的短期需求可以看作是项目之间在接近时间范围内的局部序列模式,为了更好地捕捉局部序列模式,我们使用卷积时间感知LSTM对用户的短期需求进行建模

    item的卷积表示

    假设卷积核的大小为$k$,对于一个项目$t_{t_j}$,加上前面的$k-1$一个项目,生成一个新的卷积表示,前$k-1$个项目可以用0来自动补全,作者假设了多个窗口大小

    以便学习不同的特征,然后我们对多滤波器卷积表示进行平均池化,其中$i_{t_j}$项的最终卷积向量为$v_{t_j}$,定义为:

    最后所有项目的卷积向量表示为

    Time-Aware LSTM 

    为了进一步考虑连续时间,作者采用了时间感知的LSTM,其中输入为item的卷积表示,隐藏状态向量$h(t)$依赖于记忆细胞$c(t)$

    利用注意力机制对长期需求进行建模

    如果一件商品是很久以前消费的,它很难通过时间感知的LSTM捕捉到需求对当前的购买产生的影响,因此,我们设计了一个特殊的自关注组件来捕捉用户的长期需求。我们假设产品的周期性购买需求随着时间的推移而增加,考虑到用户经常会购买相似的商品(具有相同属性的商品,例如类别或品牌),而不是完全相同的商品,因此我们考虑商品的属性级注意

    给定一个用户$u$和一个在未来时间$t$的项目$i_t$,以及它的属性$a_tin{A}$,让$Din{Bbb{R}^{|U| imes|A| imes|A|}}$为所有用户的,项目之间的购买时间距离矩阵,这是一个估计值,$d^u_{a_t,a{_tj}}in{D^u}$,为当前预测项$i_t$与所有具有$a_{t_j}$属性的先前预测项$i_{t_j}$的估计购买时间距离。在矩阵$D^u$中,对角线上的元素是具有相同属性的产品的购买周期,非对角线上的元素代表着表示具有不同属性的物品的购买时间距离.

    表示最近一次购买$a_{t_j}$和时间间隔

    $alpha_{t,t_j}$代表前一个项目和当前预测项目之间的相似度,同时还考虑了他们的购买时间距离,值越大,代表在$t_j$的项目越有可能在$t$时间回购。

     

    表示长期需求的惩罚。

    最后利用attention机制将所有的动态组合。

    损失函数

    用户$u$的购买历史为

    我们的目标是最大化对数似然

    与现有推荐任务之间的关系

    我们将连续时间推荐定义为一个广义的顺序推荐问题:同时考虑了物品的排序和时间间隔信息。通过不可信的时间信息,我们的CTRec可以很容易地复制下一个项目和下一个会话/篮子的推荐任务。

    实验

    实验设置

    数据集

    baseline

    BPR

    FPMC

    RNN

    NARM

    STAMP

    RMTPP

    Time-LSTM

    CTRec

     评价指标

    k = 5 或 k = 10

  • 相关阅读:
    Mybatis中#{}与${}的区别:
    JDBC
    JavaScript与jQuery的区别
    JavaScript 高级
    AdminLTE
    servlet过滤器与监听器
    数据库连接池
    大对象数据LOB的应用
    Serializable
    泛型
  • 原文地址:https://www.cnblogs.com/simplekinght/p/11442573.html
Copyright © 2011-2022 走看看