浙江大学学报(工学版), 2022, 56(2): 254-262 doi: 10.3785/j.issn.1008-973X.2022.02.005

计算机与控制工程

基于意图识别的不确定性行为序列预测方法

何飞,, 金苍宏, 吴明晖,

Uncertain behavior sequence prediction method based on intent identification

HE Fei,, JIN Cang-hong, WU Ming-hui,

通讯作者: 吴明晖,男,教授. orcid.org/0000-0001-8179-7119. E-mail: mhwu@zucc.edu.cn

收稿日期: 2021-10-10  

Received: 2021-10-10  

作者简介 About authors

何飞(1996—),男,硕士生,从事用户行为预测、机器学习研究.orcid.org/0000-0003-4465-9205.E-mail:fei.he@zju.edu.cn , E-mail:fei.he@zju.edu.cn

摘要

针对协同推荐和序列表征方法在预测用户行为任务上面临的行为不确定性和数据稀疏问题,提出基于意图识别的不确定性行为序列预测(G2IE)方法. G2IE方法根据计划行为理论(TPB),对用户行为序列中受控行为模式进行挖掘;基于信息熵计算相邻受控行为之间的不确定性行为列表的行为转移意图强度;融合行为转移意图增强行为关系,弥补行为意图缺失. G2IE方法挖掘行为的不确定性关系,并用模型进行量化,用于解决行为不确定性难点;通过融合转移意图方法能够发现更多的行为关系,也在一定程度上缓解数据稀疏的问题. 较其他使用行为直接关系的方法,G2IE方法有更准确丰富的表示能力. 在3个公开行为数据集上进行对比实验,结果表明,本研究方法在综合指标F1值上均为最优,证明了所提方法的有效性.

关键词: 行为模式挖掘 ; 不确定性关系 ; 意图识别 ; 图嵌入 ; 行为序列预测

Abstract

An graph based intent identification embedding (G2IE) method was proposed, in order to solve the problems of behavior uncertainty and data sparsity faced by collaborative recommendation and sequence representation methods in user behavior prediction. In G2IE method, firstly the theory of planned behavior (TPB) is used to mine the controlled behavior patterns in the user behavior sequence, then the transfer intention intensity of the uncertain behavior list between adjacent controlled behaviors is calculated based on information entropy, and finally the behavior relationship is strengthened by integrating the behavior transfer intention to make up for the lack of behavior intention. In G2IE method, the uncertainty of behavior is identified and it is measured with a model, in order to solve the problem of behavior randomness. The problem of data sparsity can be alleviated to some extent by discovering more behavior relationships through the fusion of transfer intention. G2IE method has more accurate and rich expression ability compared with other methods that use behavior direct relation. Experimental results on three public user behavior datasets demonstrate the effectiveness of the proposed method.

Keywords: behavior pattern mining ; uncertainty relationship ; intent identification ; graph embedding ; behavior sequence prediction

PDF (1039KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

何飞, 金苍宏, 吴明晖. 基于意图识别的不确定性行为序列预测方法. 浙江大学学报(工学版)[J], 2022, 56(2): 254-262 doi:10.3785/j.issn.1008-973X.2022.02.005

HE Fei, JIN Cang-hong, WU Ming-hui. Uncertain behavior sequence prediction method based on intent identification. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(2): 254-262 doi:10.3785/j.issn.1008-973X.2022.02.005

互联网上沉淀了海量的用户行为数据,例如视频的观看和评分,商品的点击和购买,社交网站的发帖和点赞等. 这些数据蕴含丰富的行为信息,对其进行研究可以有效解决“信息过载”问题,提高需求匹配效率,给用户提供更好的服务. 在商业场景[1]、社会治理[2]领域具有巨大的应用前景,是当前的研究热点.

传统用户行为分析模型聚焦于用户历史行为中的静态行为模式挖掘,如基于矩阵分解的SVD算法[3]将用户的单个行为当成独立的记录[3-5]. 这类方法丢失了行为记录中的序列信息,忽视了用户行为模式的动态变化. 针对行为序列建模问题已经有不少研究. 在机器学习方面,Liu等[6]通过基于统计的行为模式挖掘得到显式的关联规则,但忽略了不可观测的模式,也没有考虑行为的时间跨度和对行为进行更细粒度的研究. Jarboui等[7]使用马尔科夫决策过程(Markov decision process, MDP)预测慕课用户的行为. 近年来,基于神经网络的深度学习方法也被广泛应用于序列行为建模. 如Hidasi等[8]提出的GRU4Rec模型首次用门控循环单元(gated recurrent unit, GRU)[9]进行序列行为预测. Yu等[10]在长短期记忆神经网络(long short-term memory, LSTM)中加入时间感知控制器和内容感知控制器,使得状态更新时能充分考虑上下文信息. 以上方法考虑了行为的先后关系,但仍忽视行为的不确定性问题. 行为并不全是有意识的,其中可能存在很多的噪声[11]. L阶马尔可夫链或仅含有循环神经网络(recurrent neural networks, RNNs)的模型,均基于前一行为对紧邻的下一行为有直接影响的假设,因此无法表述行为模式的不确定性. Tang等[12]提出基于卷积神经网络的Caser模型,根据序列的时间维度和行为表征的隐藏维度将近期若干行为作为二维矩阵数据,基于水平和垂直卷积,Caser模型可以学习到包含跳跃特点的行为模式,能在一定程度上解决行为不确定性问题,但Caser模型学习复杂不确定行为关系的能力受到卷积核大小的影响. 刘浩翰等[13]则利用注意力机制来消除无目的点击行为对捕获主要意图的影响.

行为信息学认为,图论有助于呈现行为的进化和行为模式[14]. 为了表达更加复杂的行为关系,基于图神经网络的方法被用来学习行为表征. Wang等[15]提出BGE模型,根据历史行为序列构建行为图,再基于DeepWalk[16]和Skip-Gram[17]在图结构上学习得到行为嵌入表征. 但是由于行为种类众多,每个用户的行为记录可能只占所有可能行为的一小部分,构建的行为图较稀疏. 解决数据稀疏问题,一方面可以利用外部信息增强行为间的关系,如Wang等[15]在BGE的基础上,依赖行为的辅助信息(例如行为类别),提出EGES模型. 王永贵等[18]用项目评分矩阵以及项目类型矩阵构造用户类别偏好矩阵,更好地反映用户的兴趣偏好;另一方面,也可以从自身行为数据中挖掘更多关系解决数据稀疏问题,如岳希等[19]先根据用户之间的相似度初步预测空缺值,再结合平均值和预测值进行填补. 但以上方法都未能同时考虑行为不确定性和数据稀疏问题.

为了解决用户行为不确定性和行为数据稀疏问题,本研究提出基于意图识别的不确定性行为序列预测(graph based intent identification embedding, G2IE)方法. 通过考虑相邻行为时间跨度的受控行为模式挖掘算法得到能表达意图的受控行为序列,根据受控行为间不确定性行为的概率分布,基于信息熵定义受控行为间转移意图的强度,融合原始行为关系和行为转移意图关系构建意图识别行为图. 再用无监督图嵌入算法将高维、稀疏的行为表示为低维、稠密向量,将历史行为序列编码为向量序列输入循环神经网络,预测未来可能发生的行为.

1. 相关描述和问题定义

定义1 用户行为. 给定用户集合 $U = \{ {u_1},{u_2}, \cdots ,$ ${u_{|U|}}\} $,所有可能的行为集合 $ B = \{ {a_1},{a_2}, \cdots ,{a_{|B|}}\} $,其中 $|U|$表示用户总数, $|B|$表示行为种类总数. 用户 $u$在时刻 $t$的行为可以用一个三元组 $a_t^{(u)} = \left( {u,{{a}},t} \right)$表示,其中 $u \in U$$a \in B$.

定义2 行为序列. 将用户 $u$的所有历史行为按照时间先后排序,得到 $u$的历史行为序列 ${s^{(u)}} = $ $ \left\langle {a_{{t_1}}^{(u)},a_{{t_2}}^{(u)}, \cdots ,a_{{t_n}}^{(u)}} \right\rangle $. $S = \{ {s^{(1)}},{s^{(2)}}, \cdots ,{s^{(|U|)}}\} $表示所有用户的历史行为序列集合.

定义3 行为转移意图. 行为意图是指个体制定有意识的计划来执行或不执行某些特定的未来行为的程度[20]. 计划行为理论(theory of planned behavior, TPB)[21]认为行为意图是行为的直接前提,并且只有当某个行为受个体的意志控制时,行为意图才能通过此行为表达. 参考Warshaw等[20]对行为意图的定义,可以把行为间的转移意图形式化为在行为集合 $B$的笛卡尔积空间上的实值函数:

$ I:B \times B \to {{\mathbf{R}}}. $

$I$是一个区间尺度,意图的强弱可以通过该尺度和适当构造的评级量表评估. 除了度量属性外,实值函数 $I$还须满足有限范围约束:对于所有的 $\left( {{a_i},{a_j}} \right) \in B\times B$,有

$ {\lambda _{\text{L}}} \leqslant I\left( {{a_i},{a_j}} \right) \leqslant {\lambda _{\text{U}}}. $

式中: ${\lambda _{\text{L}}}$表示个体执行了 ${a_i}$后完全没有再执行 ${a_j}$的意图; ${\lambda _{\text{U}}}$表示个体完全确定决定在 ${a_i}$之后执行 ${a_j}$. 个体执行某个行为的意图不能比 ${\lambda _{\text{L}}}$更小,或者比 ${\lambda _{\text{U}}}$更大. 因此,行为间的转移意图可以被重新形式化为

$ I:B \times B \to \left[ {{\lambda _{\text{L}}},{\lambda _{\text{U}}}} \right]. $

经过归一化,得到行为间转移意图的数值表示:

$ {I'}\left( {{a_i},{a_j}} \right) = \frac{{I\left( {{a_i},{a_j}} \right) - {\lambda _{\text{L}}}}}{{{\lambda _{\text{U}}} - {\lambda _{\text{L}}}}}. $

定义4 Top-N行为预测问题. 给定某个用户 $u$的历史行为序列 ${s^{(u)}}$,Top-N行为预测问题要求预测得到对所有行为 $a \in B$的排序,使用户的未来行为尽可能出现在此排序的前N个位置.

2. 基于意图识别的行为预测方法

针对用户行为的不确定性和数据稀疏的问题,提出基于意图识别的不确定性行为序列预测G2IE方法. 由于用户行为的不确定性,在用户的历史行为序列中存在受用户意志控制的受控行为和无目标的随机行为. 只有受控行为才具有意图表达的作用,因此,应该先从历史行为序列中挖掘得到受控行为序列,再对这些受控行为序列进行意图分析. 如果某种行为模式被用户重复执行多次,那么有理由认为此行为模式是在用户意志控制下生成的,此外,如果2个行为之间的时间间隔过长,它们应当属于不同的序列. 本研究先使用考虑行为时间跨度的受控行为模式挖掘算法对所有用户的历史行为序列进行处理,得到受控行为模式集合;然后根据受控行为模式中相邻受控行为之间的不确定性行为概率分布,基于信息熵定义受控行为间转移意图的强度,融合原始行为关系和行为转移意图关系构建意图识别行为图;再基于图嵌入算法和循环神经网络预测用户未来可能执行的行为. 如图1所示,G2IE模型可以分为3个步骤:意图识别行为图构建、行为图嵌入表征学习和序列行为预测. 图中, ${\boldsymbol{y}}({a})_{t + 1}^u$为用户 $u$$t + 1$时刻可能行为的概率分布.

图 1

图 1   G2IE方法的整体架构图

Fig.1   Overall architecture of G2IE method


2.1. 意图识别行为图构建

2.1.1. 受控行为模式挖掘

$p = \left\langle {{a_i},{a_j}, \cdots ,{a_k}} \right\rangle $表示挖掘得到的某个受控行为模式, $P = {\{ {p_i}\}}$表示所有受控行为模式的集合, $ \left( {{a_i},{a_j}} \right) $表示 $p$中的一对相邻受控行为,其中 $ {a_i},{a_j} \in p $$A = {\{ {({a_i},{a_j})_m}\} }$表示 $p$中所有相邻受控行为对的集合, $ {L_{{a_i},{a_j}}} $表示所有在受控行为对 $ \left( {{a_i},{a_j}} \right) $之间出现的不确定性行为的列表. 为了保证挖掘得到的受控行为序列中行为之间的时效性,在PrefixSpan算法[22]中加入行为时间跨度限制,并在每次挖掘得到受控行为模式 $p$时,记录其中相邻受控行为对的中间不确定性行为到对应的列表 $ {L_{{a_i},{a_j}}} $中. 步骤如下所示.

1) ${\text{len}} = 1$. 2)从行为序列集合 $S$中发现长度为 ${\text{len}}$的频繁序列模式集合 $P$. 3)以 $P$$S$划分为 $|P|$个搜索子空间,分别挖掘含有以 $p \in P$为前缀的长度为 ${\rm{len}} + 1$的频繁序列. 每当发现新的频繁序列 ${p'} = \left\langle a_m^{(1)},a_n^{(2)}, \cdots , $ $ a_i^{({\text{len}})},a_j^{({\text{len}} + 1)} \right \rangle $时,判断第 ${\text{len}} + 1$和第 ${\text{len}}$个行为的时间跨度是否在规定的阈值 $\lambda $内,其中 $a_i^{(k)}$的上标 $k$表示行为 ${a_i}$${p'}$中的次序. 若满足,则将当前处理的行为序列 $s$$a_i^{({\text{len}})}$$a_j^{({\text{len}} + 1)}$之间的行为加入不确定性行为列表 ${L_{{a_i},{a_j}}}$,将 ${p'}$加入集合 ${P'}$;反之,则舍弃 ${p'}$. 搜索完成得到频繁序列集合 ${P'} = \left\{\left\langle a_m^{(1)},a_n^{(2)}, \cdots , a_i^{({\text{len}})},a_j^{({\text{len}} + 1)}\right\rangle \Big|{t_{{\text{len}} + 1}} - {t_{{\text{len}}}} \leqslant \lambda \right\} $,其中 ${t_k}$指第 $k$个行为在序列中的发生时间. 4) ${\text{len}} = {\text{len}} + 1$$P = {P'}$,转到步骤3). 5)返回所有得到的受控行为对的中间不确定性行为列表 $L_{{{a}_i},{{a}_j}}$.

2.1.2. 行为转移意图强度计算

对于 $A$中的每个受控行为对 $\left( {{a_i},{a_j}} \right)$,计算其对应的不确定性行为列表 ${L_{a_ {_i},a_ {_j}}}$中不同行为出现的概率分布:

$ P(a|{L_{{a_i},{a_j}}}) = {{{\text{count}} \; (a)}}\left/{{\left| {{L_{{a_i},{a_j}}}} \right|}}.\right. $

式中: $ a \in {L_{{a_i},{a_j}}} $表示 $ {L_{{a_i},{a_j}}} $中不同的行为, ${\rm{count}} \; (a)$表示行为 $a$$ {L_{{a_i},{a_j}}} $中的出现次数, $\left| {{L_{{a_i},{a_j}}}} \right|$表示 $ {L_{{a_i},{a_j}}} $中元素的数目.

计算受控行为对 $\left( {{a_i},{a_j}} \right)$之间的不确定行为概率分布的信息熵:

$ {H_{{a_i},{a_j}}} = - \sum\limits_a {P(a|{L_{{a_i},{a_j}}})\log_2 P(a|{L_{{a_i},{a_j}}})} . $

式中: ${H_{{a_i},{a_j}}} \in \left[ {0,\; \log_2 \left( {\left| {{L_{{a_i},{a_j}}}} \right|} \right)} \right]$.

得到从行为 ${a_i}$转移到 ${a_j}$的意图强度函数:

$ I({a_i},{a_j}) = 1/{H_{{a_i},{a_j}}}. $

得到行为间转移意图的最小值和最大值:

$ \left.\begin{gathered} {\lambda _{\rm{L}}} = \mathop {\min }\limits_{({a_i},{a_j}) \in A} I\left( {{a_i},{a_j}} \right), \hfill \\ {\lambda _{\rm{U}}} = \mathop {\max }\limits_{({a_i},{a_j}) \in A} I\left( {{a_i},{a_j}} \right). \hfill \\ \end{gathered} \right\} $

得到归一化的行为转移意图强度函数:

$ {I'}\left( {{a_i},{a_j}} \right) = \frac{{1 - {H_{{a_i},{a_j}}}{\lambda _{\rm{L}}}}}{{{H_{{a_i},{a_j}}}\left( {{\lambda _{\rm{U}}} - {\lambda _{\rm{L}}}} \right)}}. $

式中: $ {I'}\left( {{a_i},{a_j}} \right) \in \left[ {0,1.0} \right] $. $ {I'}\left( {{a_i},{a_j}} \right) $越大,表示从 ${a_i}$转移到 ${a_j}$的意图越强,反之,意图越弱.

计算所有受控行为对的意图转移强度,得到受控行为间转移意图关系集合 ${R^{{\text{int}}}} = \left\{ \left( {{a_i},{a_j},{w_{i,j}}} \right)\big| $ $ \left( {{a_i},{a_j}} \right) \in A \right\}$,其中 $ {w_{i,j}} = {I'}({a_i},{a_j}) $.图2所示为挖掘得到受控行为模式 $ < {a_i},{a_j},{a_k} > $和计算其中受控行为转移意图强度的示例. 图中,①表示原始的行为序列,②表示受控行为模式挖掘得到的结果,③表示得到的受控行为转移意图关系.

图 2

图 2   受控行为转移意图关系挖掘

Fig.2   Transfer intention relations mining of controlled behavior


2.1.3. 意图识别行为图构建

获取原始行为关系集合 ${R^{{\text{ori}}}}$. 根据用户历史行为序列集合 $S$,获取其中所有相邻行为对的集合 ${A'} = {\left\{ {{{\left( {{a_i},{a_j}} \right)}_m}} \right\}}$,得到原始行为关系集合 ${R^{{\text{ori}}}} = \left\{ \left( {{a_i},{a_j},{w_{i,j}}} \right)\big| ({a_i},{a_j}) \in {A'} \right\}$,其中 ${w_{i,j}} = {\lambda _{\rm{L}}}$,表示这些不受用户意志控制的行为的转移意图强度是最小的.

意图识别行为图 $G = \left( {V,\;E} \right)$,其中, $V = \{ a|a \in B\} $为图中结点的集合,每个结点对应一种行为; $E$为图中结点间关系的集合,由原始行为关系 ${R^{{\text{ori}}}}$和行为转移意图关系 ${R^{{\text{int}}}}$融合得到,E的表达式为

$ \begin{split} E =\;& \{ e = ({a_i},{a_j},{w_{i,j}})|({a_i},{a_j}) \in {A'} \wedge \\ &e \in {R^{{\text{int}}}} \vee ({a_i},{a_j}) \in A - {A'} \wedge e \in {R^{{\text{ori}}}}\} . \end{split} $

即,如果行为对 $({a_i},{a_j})$${A'}$中出现,则添加 ${R^{{\text{int}}}}$中的关系到 $E$中;反之,如果 $({a_i},{a_j})$仅在 $ A $中出现,则添加 ${R^{{\text{ori}}}}$中的关系到 $E$中. 如图3所示为由图2中的原始行为关系和行为转移意图关系构建得到的意图识别行为图. 行为 ${a_i}$${a_j}$间的原始行为关系被替换为行为转移意图关系;行为 ${a_j}$${a_k}$之间则新增了一个直接连接两者的行为转移意图关系,表明 ${a_j}$${a_k}$之间可以不经过中间不确定性行为介导而直接转移的潜在可能.

图 3

图 3   意图识别行为图示例

Fig.3   Example of intent identification behavior graph


意图增强行为图相对于原始行为图增加了行为间转移意图的不确定性关系,在一定程度上减轻了不确定性行为的干扰;此外,部分行为转移意图关系为首次出现,也在一定程度上缓解了数据稀疏的问题.

2.1.4. 时间复杂度分析

受控行为模式挖掘的时间复杂度与挖掘过程中生成的搜索子空间树有关,设 ${\rm{de}}$为树的深度, $w$为树的宽度,n为输入数据的规模,且每个子空间的行为序列数都不超过原始行为数据集中的序列数 $|S|$,因此其时间开销为 $O({\rm{de}} \times w |S|)$,时间复杂度为 $O({n^3})$. 后续计算转移意图强度和构建意图识别行为图的时间复杂度均为 $O({n^2})$. 因此,总的时间复杂度为 $O({n^3})$.

2.2. 行为图嵌入表征学习

行为图嵌入表征学习模块的目标是将行为在图上满足的关系从图空间映射到低维向量空间.

意图识别行为图中的边权表示2个行为之间的连接强度. 先将图G上的边集合E从图空间映射到概率空间. 行为ij之间的边权为 ${w_{i,j}}$,图中所有边权的总和为

$ W = \sum\limits_{(a_i,a_j,w_{ij}) \in E} {{w_{i,j}}} . $

边(i, j)对应的连接概率为

$ P(i,j) = {{{w_{i,j}}}}/{W}. $

定义目标空间 ${{\mathbf{R}}^d}$,行为i和行为j的低维向量表示 ${{\boldsymbol{u}}_{\boldsymbol{i}}}、{{\boldsymbol{u}}_{\boldsymbol{j}}} \in {{\mathbf{R}}^d}$. 在目标空间中,边(i, j)对应的连接概率为

$ \hat P(i,j) = \sigma ({\boldsymbol{ u}}_{{i}}^{{{\rm{T}}}} \cdot {{{\boldsymbol{u}}}_{{j}}}) = \frac{1}{{1 + \exp \;( - {{ {\boldsymbol{u}}}}_{{i}}^{{{\rm{T}}}} \cdot {{{{ {\boldsymbol{u}}}}}_{{j}}})}}. $

当目标空间中的边概率分布和原空间中边概率分布趋于一致时,便可以认为目标空间保留了原空间上的行为关系. 为了学习到有效的行为嵌入表示,要使概率分布 $P(i,j)$$\hat P(i,j)$之间的距离最小,即最小化目标函数:

$ O = d(P( \cdot , \cdot ),\hat P( \cdot , \cdot )). $

式中: $d(\cdot)$表示2个概率分布之间的距离. 选择KL散度表示概率分布间的距离,消除常数项后得到最终的目标函数:

$ O = - \sum\limits_{(a_i,a_j,w_{ij}) \in E} {{w_{i,j}}\log_2\; \hat P(i,j)} . $

通过找到最小化目标函数的 ${\left\{{{{\boldsymbol{u}}}}_{{\boldsymbol{i}}}\right\}}$,每个结点被表示为一个 $d$维向量.

2.3. 序列行为预测

将用户某个时段的行为作为序列结构,用循环神经网络进行预测. 循环神经网络的每个单元内有一个隐藏的状态向量 ${{\boldsymbol{h}}_t} \in {{{\bf{R}}}^d}$${{\boldsymbol{h}}_t}$编码了到时刻t为止的序列历史信息,其更新过程为

$ {{\boldsymbol{h}}_t} = g({\boldsymbol{W}}{{\boldsymbol{x}}_t} + {\boldsymbol{U}}{{\boldsymbol{h}}_{t - 1}}) . $

式中: $g$为激活函数, $ {\boldsymbol{W}} $$ {\boldsymbol{U}} $为权重矩阵, $ {{\boldsymbol{x}}_t} $为在时间 $t$上的输入, ${{\boldsymbol{h}}_{t - 1}}$为前一时刻的隐藏状态. 将用户行为序列中每个行为对应的嵌入向量表示作为每个时间步的输入 ${{\boldsymbol{x}}_t}$.

行为预测部分不是本研究的重点,因此,参考GRU4Rec[8],使用循环神经网络的变种门控循环单元GRU[9]来进行预测. GRU使用更新门和重置门来决定如何更新每个单元的状态. 当前状态是过去状态和候选状态的线性插值:

$ {{\boldsymbol{h}}_t} = ({\boldsymbol{1}} - {{\boldsymbol{z}}_t}) * {{\boldsymbol{h}}_{t - 1}} + {{\boldsymbol{z}}_t} * {{\boldsymbol{\hat h}}_t}. $

式中: ${{\boldsymbol{z}}_t}$为更新门, $ {{\boldsymbol{\hat h}}_t} $为候选状态.

$ {{\boldsymbol{z}}_t} = \sigma\; ({{\boldsymbol{W}}_{z}}{{\boldsymbol{x}}_t} + {{\boldsymbol{U}}_{z}}{{\boldsymbol{h}}_{t - 1}}), $

$ {{\boldsymbol{\hat h}}_t} = \tanh \;({\boldsymbol{W}}{{\boldsymbol{x}}_t} + {\boldsymbol{U}}({{\boldsymbol{r}}_t} * {{\boldsymbol{h}}_{t - 1}})), $

$ {{\boldsymbol{r}}_t} = \sigma \; ({{\boldsymbol{W}}_{{r}}}{{\boldsymbol{x}}_{{t}}} + {{\boldsymbol{U}}_{{r}}}{{\boldsymbol{h}}_{t - 1}}). $

式中:rt为重置门.

给出当前时刻的隐藏状态 ${{\boldsymbol{h}}_t}$,循环神经网络可以输出序列中下一个行为的概率分布:

$ {\boldsymbol{y}}(a)_t^u = {\boldsymbol{W}}{{\boldsymbol{h}}_t} + {\boldsymbol{b}}. $

式中: ${\boldsymbol{b}} \in {{\mathbf{R}}^n}$${\boldsymbol{W}} \in {\mathbf{R}^{n \times d}}$分别为输出层的偏置项和权重矩阵. 取所有行为中概率最高的N个行为作为预测的结果.

预测用户下一个行为的任务可以看作分类任务,也可以看作基于相关度的排序任务,通常采用排序任务训练能取得更好的效果[8]. 因此,本研究采用基于pairwise的排序损失函数,通过比较正样本和负样本的预测概率来不断最小化损失函数L,使正样本的排序不断靠前,负样本的排序不断靠后:

$ L = \frac{1}{{{N_{\rm{s}}}}}\sum\limits_{j = 1}^{{N_{\rm{s}}}} {\sigma ({{\hat r}_{u,j}} - {{\hat r}_{u}}) + \sigma (\hat r_{u,j}^2)} . $

式中: ${N_{\rm{s}}}$为负样本数量, ${\hat r_{u}}$为用户u的正样本预测概率, ${\hat r_{u,j}}$为用户u的负样本预测概率.

3. 实验结果与数据分析

3.1. 实验数据集

本研究基于3个不同领域的公开数据集验证模型的有效性. 1)MovieLens 1M (ML)[23-24]:包含用户对电影的评分行为. 2)RecSys15-Buy(RecSys)[25]:来自RecSys2015年的竞赛数据,包含用户在电商网站上的点击行为和购买行为,本研究使用其中的购买数据. 3)Amazon Beauty(Beauty)[26-27]:包含用户对商品评价的行为数据.

按照文献[28-29]中的常规做法,数据集保留至少有5个行为的用户,把数据集中每位用户前70%的行为序列作为训练集,即用户的历史行为序列,后30%的行为序列作为测试集,即用户未来发生的行为. 稀疏性是用户-行为交互矩阵的稀疏性,其计算方式为 ${\rm{SI}} = 1 - {n'}\big/{{(|U|\times |B|)}}$,其中, $n'$为行为记录数. 预处理后的数据集统计信息如表1所示, ${{\rm{len}}}_{{\text{a}}}$为平均序列长度.可以看出,ML、RecSys和Beauty数据集的稀疏性问题越来越严重.

表 1   数据集信息统计

Tab.1  Dataset statistics

数据集 $|U|$ $|B|$ ${\rm{len} }_{ {\text{a} } }$ $n\text{′}$ ${\rm{SI} }/\rm{\text{%} }$
ML 6040 3377 165.47 999416 95.10
RecSys 45520 4519 6.60 300105 99.85
Beauty 40037 13951 6.52 261205 99.95

新窗口打开| 下载CSV


3.2. 评价指标

采用精确率(precision)、召回率(recall)和平衡分数(F1)来评估模型性能. 给定每个用户的Top-N预测列表 ${ \hat R_{1:N}}$,和测试集行为 $R$,每位用户的精确率和召回率定义为

$ {\text{prec}} = {{|R \cap {{\hat R}_{1:N}}|}}/{N}, $

$ {\text{recall}} = {{|R \cap {{\hat R}_{1:N}}|}}/{{|R|}}. $

式中: $N \in \{ 5,10\} $,取所有用户在这2个指标上的平均值作为结果.

F1值的定义为

$ {\text{F1}} = \frac{{2 \times {\text{prec}} \times {\text{recall}}}}{{{\text{prec}} + {\text{recall}}}}. $

对于每种方法,取多次实验的平均值作为结果.

3.3. 实验设计

将G2IE方法与另外8个方法进行比较,从而验证G2IE方法的有效性. 类似文献[12],研究不同方法的嵌入表征维度对性能的影响.

用于比较的另外8种方法如下,其代码均可以在Github公开获得.

1) Random:随机选择一个行为进行预测.

2) MostPopular:按行为流行度排序,选择最流行的行为作为预测值.

3) ItemKNN①[30]:把与当前行为相似的行为作为预测结果. 行为间的相似度被定义为共现矩阵中的行为向量间的余弦相似度. 最近邻数量为80.

4) BPRMF①[31]:使用pairwise的排序损失函数优化矩阵分解算法. 参照文献[32],使用行为隐藏表征的平均值来表示序列. 该方法的参数设置如下:因子数量为10,L2正则化为0.0025,学习率为0.05.

5) GRU4Rec②[8]:使用循环神经网络GRU和排序损失函数来捕捉用户序列行为之间的依赖. 该方法的参数设置如下:隐藏空间维度为128,负采样数量为10,2层GRU层,学习率为0.001,L2正则化为1×10−6.

6) Caser③[12]:使用水平卷积过滤器和垂直卷积过滤器来学习高阶的序列行为模式. 参照文献[32],在预测未来行为时忽略用户的隐藏表征. 该方法的参数设置如下:隐藏空间维度为128,水平卷积的输出通道维度为16,水平卷积核大小为(i,128), $i$$\{ 1, \cdots ,5\} $,垂直卷积的输出通道维度为4,垂直卷积核大小为(5,1),学习率为0.001,L2正则化为1×10−6,负采样数量为10.

7) BGE: 基于DeepWalk和Skip-Gram在用户行为图上学习行为表征. 原算法仅包含行为表征学习,本研究在其学习得到的行为表征的基础上用循环神经网络预测未来行为. 其参数设置如下,隐藏空间维度为128,Skip-Gram的窗口大小为5,负采样数为10,2层GRU层,学习率为0.001,L2正则化为10−6.

8) G2IE−: 为了验证行为增强对模型的效果,G2IE−移除G2IE的意图识别行为图模块,剩余部分的参数设置与G2IE方法一致.

本研究提出的G2IE模型参数设置如下:在ML、RecSys和Beauty数据集上,频繁序列模式挖掘的最大时间跨度分别为20 min、1 h、7 d. 最小频繁序列模式长度分别设置为10、10、2,无最大长度限制. 行为图嵌入表征学习模块的表征维度d=128,采用Adam[33]优化器最小化目标函数,学习率为0.001. 在序列行为预测模块,基于滑动窗口将数据处理为时间步为5的序列,输入层维度为5×128,用行为图嵌入表征学习模块的结果初始化,2层GRU,隐藏状态均为128维,取最后一层最后一个时刻的隐藏状态为序列表征,输出层权重参数维度为 $|B|$×128,偏置参数维度为 $|B|$,损失函数负采样数为10,L2正则化为1×10−6,学习率为0.001.

3.4. 实验结果与分析

表2所示为意图识别行为图和原始行为图相比,关系数量的增加比例. 表中, ${n_{{\text{ori}}}}$${n_{{{\rm{int}}} }}$分别为原始行为图和意图识别行为图的关系数, $\Delta n$${n_{{{\rm{int}}} }}$相比 ${n_{{\text{ori}}}}$增加的比例. 通过构建意图识别行为图,不仅能增加行为间转移的意图不确定性信息,还能改善原始行为图的数据稀疏问题.

表 2   意图识别行为图和原始行为图的关系数差异

Tab.2  Difference of relation num between intent identification behavior graph and original behavior graph

数据集 ${n_{{\text{ori}}}}$ ${n_{ { {\rm{int} }} } }$ $\Delta n /{\text{% }}$
ML 375039 491539 31.06
RecSys 92901 103984 11.93
Beauty 133135 143 433 7.74

新窗口打开| 下载CSV


表3所示为不同算法在3个数据集上的最好性能结果. 表中,@N表示选取的预测行为数位 $N$,最优方法用粗体标记,次优方法用下划线标记. 可以看出,同时考虑了图结构和序列信息的方法(如G2IE, BGE)的性能优于仅考虑序列信息的方法(如Caser, GRU4Rec),仅考虑序列信息的方法又优于传统的静态预测方法,说明图结构对表达复杂行为转移模式的有效性和在行为预测中考虑行为时序信息的必要性.

表 3   3个数据集上方法性能对比

Tab.3  Comparison of method performance on three datasets

数据集 方法 prec@5 recall@5 F1@5 prec@10 recall@10 F1@10
ML Random 0.00993 0.00146 0.00255 0.01061 0.00313 0.00483
MostPopular 0.11129 0.02134 0.03581 0.10109 0.03754 0.05475
ItemKNN 0.09152 0.02785 0.04271 0.08851 0.05254 0.06594
BPRMF 0.12543 0.03066 0.04928 0.11334 0.05379 0.07296
GRU4Rec 0.29106 0.02958 0.05370 0.26023 0.05290 0.08793
Caser 0.11815 0.03201 0.05037 0.12210 0.06371 0.08373
BGE 0.29099 0.02958 0.05369 0.25954 0.05276 0.08769
G2IE− 0.28758 0.02923 0.05307 0.25878 0.05260 0.08743
G2IE 0.29176 0.02965 0.05383 0.26209 0.05328 0.08855
RecSys Random 0.00011 0.00045 0.00018 0.00013 0.00098 0.00023
MostPopular 0.00308 0.01165 0.00487 0.00298 0.02280 0.00527
ItemKNN 0.02421 0.09515 0.03860 0.02495 0.19414 0.04422
BPRMF 0.00323 0.01256 0.00514 0.00327 0.02499 0.00578
GRU4Rec 0.02086 0.06909 0.03205 0.01666 0.11033 0.02895
Caser 0.03139 0.10862 0.04871 0.02804 0.19390 0.04899
BGE 0.03935 0.13032 0.06045 0.02959 0.19600 0.05142
G2IE− 0.03770 0.12486 0.05791 0.02877 0.19056 0.04999
G2IE 0.04410 0.14605 0.06774 0.03252 0.21540 0.05651
Beauty Random 0.00006 0.00014 0.00008 0.00005 0.00030 0.00009
MostPopular 0.00207 0.00520 0.00296 0.00182 0.00919 0.00304
ItemKNN 0.00182 0.00422 0.00254 0.00202 0.00906 0.00330
BPRMF 0.00205 0.00527 0.00295 0.00174 0.00875 0.00290
GRU4Rec 0.00338 0.00837 0.00482 0.00312 0.01545 0.00519
Caser 0.00440 0.00930 0.00597 0.00380 0.01610 0.00615
BGE 0.00606 0.01501 0.00864 0.00519 0.02567 0.00863
G2IE− 0.00618 0.01529 0.00880 0.00543 0.02686 0.00903
G2IE 0.00683 0.01690 0.00973 0.00598 0.02959 0.00995

新窗口打开| 下载CSV


在RecSys和Beauty数据集上,所提出的G2IE方法在所有的指标上都取得了最优性能;在ML数据集上,G2IE算法在Prec@5、Prec@10以及综合指标F1@5和F1@10上取得了最优. 对于F1@10指标,G2IE在3个数据集上都取得了最优性能,且相比除了GI2E−外的次优方法分别提升了0.98%、9.90%和15.30%. ML数据集相比RecSys和Beauty数据集的特点是平均序列长度更长、行为数据更多,数据稀疏问题没有另外2个数据集严重,且行为时间间隔更短,序列行为间出现随机不确定性行为的可能性也更小,因此对其性能的提升相对较小;在更为稀疏和不确定性行为出现概率更高的RecSys和Beauty数据集上,G2IE方法相对次优方法在F1@10上的提升效果就更加明显,说明原始数据越稀疏,行为不确定性越强,G2IE方法越有效.

消融实验显示,G2IE方法相比G2IE−方法在3个数据集的F1@10指标上分别提升了1.28%、13.04%和10.19%. 在ML和RecSys数据集上G2IE−都不是次优方法,而增加意图识别行为图模块后的G2IE都是最优,说明本研究提出的构建意图识别行为图的有效性.

图4所示为行为嵌入表征维度D对F1@10指标的影响,在保持其他参数不变的情况下,改变嵌入表征维度分别为30、50、64、100、128,观察3个数据集上F1@10的表现. 可以看出,在待预测行为数量更多的RecSys和Beauty数据集上,增大行为表征维度对性能的提升较为明显. 这是因为嵌入表征维度越大,能编码的信息越多,当待预测候选行为较多时,采用更高维的表征能加大行为之间的区分. 但是行为表征维度并不是越大越好,过大可能会出现过拟合的现象,例如在ML数据集上,Caser在50维时就取得了最佳性能;在Beauty数据集上,BGE在100维时就取得最佳性能,因此须选择一个合适的维度才能取得最好的效果. 本研究所提出的方法在3个数据集上都是在128维的嵌入表征上取得最佳性能,这是因为本研究方法所构建的意图识别行为图相比原始行为关系包含了更多的信息.

图 4

图 4   行为嵌入表征维度对F1@10指标的影响

Fig.4   Impact of behavior embedding dimensions on F1@10 indicator


4. 结 语

为了减轻用户行为预测中的行为不确定性和数据稀疏问题,提出G2IE模型. G2IE基于频繁序列模式挖掘和信息熵构建意图识别行为图,再用图神经网络学习行为的嵌入表示,最后用循环神经网络预测用户的未来行为. 实验表明,G2IE模型在3个公开行为数据集上能超过很多先进算法.

未来可以进一步研究不同行为之间的语义关系,或研究如何挖掘行为间的因果关系,提高模型的鲁棒性和泛化能力.

https://github.com/zenogantner/MyMediaLite
https://github.com/slientGe/Sequential_Recommendation_Tensorflow
https://github.com/graytowne/caser_pytorch
https://github.com/wangzhegeek/EGES

参考文献

冯兴杰, 曾云泽

基于评分矩阵与评论文本的深度推荐模型

[J]. 计算机学报, 2020, 43 (5): 884- 900

DOI:10.11897/SP.J.1016.2020.00884      [本文引用: 1]

FENG Xing-jie, ZENG Yun-ze

Joint deep modeling of rating matrix and reviews for recommendation

[J]. Chinese Journal of Computers, 2020, 43 (5): 884- 900

DOI:10.11897/SP.J.1016.2020.00884      [本文引用: 1]

陈彦敏, 王皓, 马建辉, 等

基于层级注意力机制的互联网用户信用评估框架

[J]. 计算机研究与发展, 2020, 57 (8): 1755- 1768

DOI:10.7544/issn1000-1239.2020.20200217      [本文引用: 1]

CHEN Yan-min, WANG Hao, MA Jian-hui, et al

A hierarchical attention mechanism framework for internet credit evaluation

[J]. Journal of Computer Research and Development, 2020, 57 (8): 1755- 1768

DOI:10.7544/issn1000-1239.2020.20200217      [本文引用: 1]

GU Y, YANG X, PENG M, et al

Robust weighted SVD-type latent factor models for rating prediction

[J]. Expert Systems with Applications, 2020, 141: 112885

DOI:10.1016/j.eswa.2019.112885      [本文引用: 2]

EKSTRAND M D, RIEDL J T, KONSTAN J A. Collaborative filtering recommender systems [M]. Boston: Now Publishers Inc, 2011.

黄璐, 林川杰, 何军, 等

融合主题模型和协同过滤的多样化移动应用推荐

[J]. 软件学报, 2017, 28 (3): 708- 720

[本文引用: 1]

HUANG Lu, LIN Chuan-jie, HE Jun, et al

Diversified mobile app recommendation combining topic model and collaborative filtering

[J]. Journal of Software, 2017, 28 (3): 708- 720

[本文引用: 1]

LIU D R, LAI C H, LEE W J

A hybrid of sequential rules and collaborative filtering for product recommendation

[J]. Information Sciences, 2009, 179 (20): 3505- 3519

DOI:10.1016/j.ins.2009.06.004      [本文引用: 1]

JARBOUI F, GRUSON-DANIEL C, DURMUS A, et al. Markov decision process for MOOC users behavioral inference [C]// European MOOCs Stakeholders Summit. Naples: Springer, 2019: 70-80.

[本文引用: 1]

HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[EB/OL]. [2021-10-10]. https://arxiv.org/abs/1511.06939.

[本文引用: 4]

CHO K, VAN MERRIËNB B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation [EB/OL]. [2021-10-10]. https://arxiv.org/abs/1406.1078.

[本文引用: 2]

YU Z, LIAN J, MAHMOODY A, et al. Adaptive user modeling with long and short-term preferences for personalized recommendation [C]// Proceedings of the 28th International Joint Conference on Artificial Intelligence. Macao: AAAI Press, 2019: 4213-4219.

[本文引用: 1]

SHEIL H, RANA O. Classifying and recommending using gradient boosted machines and vector space models [C]// UK Workshop on Computational Intelligence. Nottingham: Springer, 2017: 214-221.

[本文引用: 1]

TANG J, WANG K. Personalized top-n sequential recommendation via convolutional sequence embedding [C]// Proceedings of the 11th ACM International Conference on Web Search and Data Mining. [S.l.] : ACM, 2018: 565-573.

[本文引用: 3]

刘浩翰, 吕鑫, 李建伏

考虑用户意图和时间间隔的会话型深度学习推荐系统

[J]. 计算机应用与软件, 2021, 38 (3): 190- 195

[本文引用: 1]

LIU Hao-han, LV Xin, LI Jian-fu

A session based deeplearning recommendation system considering userpurpose and time interval

[J]. Computer Applications and Software, 2021, 38 (3): 190- 195

[本文引用: 1]

CAO L, PHILIP S Y

Behavior informatics: an informatics perspective for behavior studies

[J]. IEEE Intelligent Informatics Bulletin, 2009, 10 (1): 6- 11

[本文引用: 1]

WANG J, HUANG P, ZHAO H, et al. Billion-scale commodity embedding for e-commerce recommendation in Alibaba [C]// Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. London: ACM, 2018: 839-848.

[本文引用: 2]

PEROZZI B, AL-RFOU R, SKIENA S. Deepwalk: online learning of social representations [C]// Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2014: 701-710.

[本文引用: 1]

MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space [EB/OL]. [2021-10-10]. https://arxiv.org/abs/1301.3781.

[本文引用: 1]

王永贵, 刘凯奇

一种优化聚类的协同过滤推荐算法

[J]. 计算机工程与应用, 2020, (15): 66- 73

DOI:10.3778/j.issn.1002-8331.1910-0095      [本文引用: 1]

WANG Yong-gui, LIU Kai-qi

Collaborative filtering recommendation algorithm for clustering optimization

[J]. Computer Engineering and Applications, 2020, (15): 66- 73

DOI:10.3778/j.issn.1002-8331.1910-0095      [本文引用: 1]

岳希, 唐聃, 舒红平, 等

基于数据稀疏性的协同过滤推荐算法改进研究

[J]. 工程科学与技术, 2020, 52 (1): 198- 202

[本文引用: 1]

YUE Xi, TANG Dan, SHU Hong-ping, et al

Research on improvement of collaborative filtering recommendation algorithm based on data sparseness

[J]. Advanced Engineering Sciences, 2020, 52 (1): 198- 202

[本文引用: 1]

WARSHAW P R, DAVIS F D

Disentangling behavioral intention and behavioral expectation

[J]. Journal of Experimental Social Psychology, 1985, 21 (3): 213- 228

DOI:10.1016/0022-1031(85)90017-4      [本文引用: 2]

AJZEN I

The theory of planned behavior

[J]. Organizational Behavior and Human Decision Processes, 1991, 50 (2): 179- 211

DOI:10.1016/0749-5978(91)90020-T      [本文引用: 1]

HAN J, PEI J, MORTAZAVI-ASL B, et al. Prefixspan: mining sequential patterns efficiently by prefix-projected pattern growth [C]// Proceedings of the 17th International Conference on Data Engineering. Heidelberg: IEEE, 2001: 215-224.

[本文引用: 1]

MovieLens 1M dataset [DB/OL]. [2021-10-10]. https://grouplens.org/datasets/movielens/1m/.

[本文引用: 1]

HARPER F M, KONSTAN J A

The movielens datasets: history and context

[J]. ACM Transactions on Interactive Intelligent Systems, 2015, 5 (4): 1- 19

[本文引用: 1]

RecSys2015 [DB/OL]. [2021-10-10]. https://recsys.acm.org/recs ys15/.

[本文引用: 1]

MCAULEY J. Amazon product data [DB/OL]. [2021-10-10]. http://jmcauley.ucsd.edu/data/amazon/.

[本文引用: 1]

MCAULEY J, TARGETT C, SHI Q, et al. Image-based recommendations on styles and substitutes [C]// Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. Santiago: ACM, 2015: 43-52.

[本文引用: 1]

YUAN Q, CONG G, SUN A. Graph-based point-of-interest recommendation with geographical and temporal influences [C]// Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. Shanghai: ACM, 2014: 659-668.

[本文引用: 1]

ZHAO S L, ZHAO T, YANG H Q, et al. Stellar: spatial-temporal latent ranking for successive point-of-interest recommendation [C]// Proceedings of the 30th AAAI Conference on Artificial Intelligence. Phoenix: AAAI Press, 2016: 315–321.

[本文引用: 1]

LINDEN G, SMITH B, YORK J

Amazon. com recommendations: item-to-item collaborative filtering

[J]. IEEE Internet Computing, 2003, 7 (1): 76- 80

DOI:10.1109/MIC.2003.1167344      [本文引用: 1]

RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback [EB/OL]. [2021-10-10]. https://arxiv.org/abs/1205.2618.

[本文引用: 1]

LI J, REN P, CHEN Z, et al. Neural attentive session-based recommendation [C]// Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Singapore: ACM, 2017: 1419–1428.

[本文引用: 2]

KINGMA D P, BA J. Adam: a method for stochastic optimization[EB/OL]. [2021-10-10]. https://arxiv.org/abs/1412.6980.

[本文引用: 1]

/