基于标签信息的个性化推荐方法和系统与流程

文档序号:11144137阅读:466来源:国知局
基于标签信息的个性化推荐方法和系统与制造工艺

本发明涉及信息技术领域,特别是涉及一种基于标签信息的个性化推荐方法和系统。



背景技术:

随着信息科技的发展,电子商务发展迅速,而电商平台的信息过载现象也愈加严重。为缓解信息过载,电商平台通常使用个性化推荐系统。个性化推荐系统根据用户个体的在线浏览数据或购买数据构建用户兴趣偏好模型,从而向用户推荐符合其独特需求的产品,可优化用户体验和提升平台用户流量。

传统的个性化推荐系统根据用户对购买过或浏览过的产品标注的标签,向用户推荐同类标签的产品。然而,用户一般用很少的标签来标注产品,而一个产品包含了数量有限的标签,因此电商平台包括的标签信息具有稀疏性,标签信息不能精准的代表产品的描述,同时,由于标签信息的稀疏性,用户之间相似性也是不精确的,导致推荐准确度不高。



技术实现要素:

基于此,有必要针对上述问题,提供一种推荐准确度的基于标签信息的个性化推荐方法和系统。

一种基于标签信息的个性化推荐方法,包括:

获取电商平台的用户标识、产品标识和标签信息,以及各用户标识所对应的各标签信息对各产品标识进行标记的状态,并根据获取的状态生成三维表;

根据所述三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型;

根据所述用户产品交互矩阵模型和所述产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型;

利用贝叶斯个性化排序方法求解所述联合分解模型得到多个参数值;

根据所述参数值获取所述用户标识对各产品标识的偏好程度;

根据所述偏好程度从大到小的顺序对所述产品标识排序,并从排序后的产品标识中依次选取推荐标识,将所述推荐标识对应的产品信息推荐给对应的用户标识所在的终端。

一种基于标签信息的个性化推荐系统,包括:

三维表获取模块,用于获取电商平台的用户标识、产品标识和标签信息,以及各用户标识所对应的各标签信息对各产品标识进行标记的状态,并根据获取的状态生成三维表;

矩阵模型建立模块,用于根据所述三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型;

模型组合构建模块,用于根据所述用户产品交互矩阵模型和所述产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型;

模型求解模块,用于利用贝叶斯个性化排序方法求解所述联合分解模型得到多个参数值;

偏好程度获取模块,用于根据所述参数值获取所述用户标识对各产品标识的偏好程度;

产品推荐模块,用于根据所述偏好程度从大到小的顺序对所述产品标识排序,并从排序后的产品标识中依次选取推荐标识,将所述推荐标识对应的产品信息推荐给对应的用户标识所在的终端。

上述基于标签信息的个性化推荐方法和系统,通过根据各用户标识所对应的各标签信息对各产品标识进行标记的状态生成三维表,根据三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型,根据用户产品交互矩阵模型和产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型;然后利用贝叶斯个性化排序方法求解联合分解模型得到多个参数值,根据参数值获取用户标识对各产品标识的偏好程度,根据偏好程度从产品标识中选取推荐标识,将推荐标识对应的产品信息推荐给对应的用户标识所在的终端。如此,通过结合标签信息和用户标识与产品标识之间的三元关系,建立联合分解模型,结合贝叶斯个性化排序方法对联合分解模型进行学习,进行个性化融合标签排序,能解决在标签信息中数据稀疏性的限制,提高个性化排序的精度, 从而提高推荐的准确度。

附图说明

图1为一实施例中基于标签信息的个性化推荐方法的流程图;

图2为一实施例中基于标签信息的个性化推荐系统的模块框图。

具体实施方式

参考图1,一实施例中的基于标签信息的个性化推荐方法,包括如下步骤。

S110:获取电商平台的用户标识、产品标识和标签信息,以及各用户标识所对应的各标签信息对各产品标识进行标记的状态,并根据获取的状态生成三维表。

用户标识用于识别唯一的用户,产品标识用于识别产品的类型,标签信息指用户对产品进行标记所使用的信息。用户标识所对应的标签信息对产品标识进行标记的状态包括标记和未标记,三维表中用户标识、产品标识和标签信息之间的三元关系可以用“1”和“0”的数值表示。例如,三维表可以用函数描述为:

F=(U,I,T,Y) (1);

其中,F表示三维表,U标识用户标识集合,I表示产品标识集合,T表示标签信息集合,Y表示用户标识、产品标识和标签信息之间的三元关系,可由三维数组Y=(yu,i,t)∈R|U|×|I|×|T|表示。|U|表示用户标识的数量,|I|表示产品标识的数量,|T|表示标签信息的数量,u表示用户标识的序号,i表示产品标识的序号,t表示标签信息的序号。如果用户标识u对产品标识i指定了标签信息t,则yu,i,t=1,否则yu,i,t=0。

S120:根据三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型。

用户产品交互矩阵模型用于体现用户标识与产品标识之间的关系;产品标签关系矩阵模型用于体现产品标识与标签信息之间的关系。

在一实施例中,步骤S120包括步骤(a1)至步骤(a3)。

步骤(a1):根据三维表生成用户产品矩阵和产品标签矩阵。

将公式(1)的三元关系分解为两个两维邻接矩阵AUI和AIT,分别表示用户产品矩阵和产品标签矩阵。若第u个用户标识对应的用户标记过第i个产品标识对应的产品,则否则同理,若第i个产品标识对应的产品被标记过第t个标签信息对应的标签,则否则用户产品矩阵AUI和产品标签矩阵AIT构成的二维表分别如表1和表2所示。

表1

表2

步骤(a2):根据用户产品矩阵建立用户产品交互矩阵模型。

步骤(a3):根据产品标签矩阵建立产品标签关系矩阵模型。

在一实施例中,步骤(a3)包括步骤(b1)至步骤(b4)。

步骤(b1):根据产品标签矩阵建立各产品标识之间的产品共现矩阵。

产品共现矩阵中的行和列均为产品标识,产品共现矩阵中的元素为对应行与对应列的标识产品共享相同标签信息的数量。因此,从产品共现矩阵可以得知两个产品标识之间是否共享相同标签信息,以及共享标签信息的数量。

步骤(b2):根据产品共现矩阵和产品标签矩阵获取各产品标识之间的点互 信息值。

步骤(b3):根据点互信息值和预设值获取对应产品标识之间的交互值。

步骤(b4):根据对应产品标识之间的交互值、预设的产品隐特征向量和预设的上下文隐特征向量建立产品标签关系矩阵模型。

本实施例中,用户产品交互矩阵模型为:

步骤(b2)包括:

步骤(b3)包括:

mij=max{PMI(i,j)-logk,0}(4);

产品标签关系矩阵模型为:

mij=wi·cjT (5);

其中,表示用户标识u与产品标识i之间的交互值,μ表示用户产品矩阵中数据的总体均值,bi表示产品标识i的偏差,bu为用户标识u的偏差,xu为用户标识u对产品标识的偏好,yi为产品标识i的特性向量,内积为用户标识u对产品标识i的总体偏好;PMI(i,j)表示产品标识i与产品标识j之间的点互信息值,#(i,j)表示产品标识i和产品标识j共享的标签信息的标签数,#(i)表示产品标签矩阵中产品标识i对应的标签信息的数量,#(j)表示产品标签矩阵中产品标识j对应的标签信息的数量,|D|表示产品共现矩阵中非零元素的数量;mij表示产品标识i与产品标识j之间的交互值,k为预设值,wi表示产品标识i的产品隐特征向量,cj表示产品标识j的上下文隐特征向量。

公式(4)中,k控制了矩阵的数据稀疏性,可通过交叉验证方式确定出来;如果PMI(i,j)-logk>0,则mij=PMI(i,j)-logk;反之,mij=0。

S130:根据用户产品交互矩阵模型和产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型。

联合分解模型根据用户产品交互矩阵模型和产品标签关系矩阵模型联合构成,用于体现用户标识、产品标识和标签信息之间的关系。

在一实施例中,联合分解模型为:

其中,bui表示联合分解模型中的观测信度,表示用户标识u与产品标识i之间的交互值,xu为用户标识u对产品标识i的偏好,yi为产品标识i的特性向量,mij表示产品标识i与产品标识j之间的交互值,cj表示产品标识j的上下文隐特征向量。

假定在公式(2)中产品标识i的特性向量yi和公式(5)中产品标识i的产品隐特征向量wi是相同的,因此利用公式(2)和公式(5),可构建得到公式(6)。其中,Regularization表示用户标识、产品标识、上下文隐特征向量之间的正则化项。

S140:利用贝叶斯个性化排序方法求解联合分解模型得到多个参数值。

贝叶斯个性化排序模型的主要思想是通过定义正向反馈(感兴趣)为1,反之,负向反馈(不感兴趣)或未被观测反馈(无意识)为0。用户标识u,属于正向反馈的产品标识i比负向或未被观测反馈的产品标识j具有更高的排序。步骤S140的求解过程如下。

步骤(c1):定义对于给定的用户标识u,求得第u个用户标识的最优参数,所以根据贝叶斯个性化排序方法得出联合分解模型的学习目标就是最大化如下公式(7)中的后验概率这个问题可用如下的最大化后验概率可能性来公式化:

式中,Θ代表联合分解模型中的参数集合{Xu,d,Yi,d,Yj,d,Ct,d,Cl,dUIIC},并有, 是第u个用户标识对应的用户对所有产品标识对应的产品的偏好排序。 表示由样本集得到的第u个用户标识对所有产品标识的偏好似然函数;p(Θ)表示参数的先验知识。其中似然函数可以表示为如下公式(8):

式中,表示第u个用户标识对应的用户对所有产品标识对应的产品的偏 好排序中,产品标识i排在产品标识j前面,且每对产品标识的排序独立于其他产品标识对的排序。表示第u个用户标识相比于产品标识j对于产品标识i的偏好概率,同时可以表示为如下公式(9):

式中,表示第u个用户标识的用户对第i个产品标识的产品的个体偏好与对第j个产品标识对应产品的个体偏好的差值,即表示用户标识u对各产品标识i的偏好程度,表示用户标识u对各产品标识j的偏好程度; 表示的Sigmoid Logistic函数。根据这种转化方式,用缩写代替并假设参数的先验知识p(Θ)服从均值为0、协方差矩阵为ΣΘ的高

斯分布,则公式(7)中后验概率的对数形式可以简化为如下公式(10):

因此,为了学习用户隐特征矩阵X和产品隐特征矩阵Y,最优化目标函数的学习可由式(10)的学习变成对如下公式(11)的学习:

同理,对于基于标签信息的产品共现矩阵的学习,对产品隐特征矩阵Y和上下隐特征矩阵C的最优化目标函数的学习可构建成如下公式(12):

其中,t和l分别表示不同的标签信息。结合式(11)和(12),对联合分解模型的目标函数的学习可以构建为如下公式(13):

式(13)中,λΘ是模型参数的正则化系数,α是用来平衡两个目标函数的参数。

步骤(c2):随机初始化生成用户隐特征矩阵X、产品隐特征矩阵Y和上下 隐特征矩阵C。

步骤(c3):对于产品共现矩阵,计算第u个用户标识对应的用户对第i个产品标识对应产品的偏好与对第j个产品标识的偏好的差值进而得到参数δUI

步骤(c4):利用随机梯度下降方法求得参数集合Θ中参数Xu,d、Yi,d、Yj,d的梯度,在参数Yi,d和Yj,d为定值时,对参数δUI进行迭代更新,直到收敛为止,从而获得参数Xu,d的最优值,同时,利用所获得的参数Xu,d,对参数δUI进行迭代更新,直到收敛为止,从而获得参数Yi,d和Yj,d的最优值,模型参数迭代修正过程如下:

Xu,d←Xu,d+μ(α·δUI(Yi,d-Yj,d)-λ·Xu,d);

Yi,d←Yi,d+μ(α·δUI·Xu,d-λ·Yi,d);

Yj,d←Yj,d+μ(α·δUI·(-Xu,d)-λ·Yj,d);

式中,d表示迭代次数,Xu,d为第d次迭代中用户标识u对产品标识的偏好,Yi,d为第d次迭代中产品标识i的特性向量,Yj,d为第d次迭代中产品标识j的特性向量,α和λ是正则化项系数,μ是学习速率;

步骤(c5):对于基于标签信息的产品共现矩阵,计算第i个产品标识对第t个标签信息的偏好与第i个产品标识对第l个标签信息偏好的差值进而得到参数δIC值为

步骤(c6):利用随机梯度下降方法求得参数集合Θ参数Yi,d、Ct,d、Cl,d的梯度,在参数Ct,d和Cl,d为定值时,对参数δIC进行迭代更新,直到收敛为止,从而获得参数Yi,d的最优值;同时,利用所获得的参数Yi,d,对参数δIC进行迭代更新,直到收敛为止,从而获得参数Ct,d和Cl,d的最优值。模型参数迭代修正过程如下:

Yi,d←Yi,d+μ((1-α)·δIC(Ct,d-Cl,d)-λ·Yi,d);

Ct,d←Ct,d+μ((1-α)·δIC·Yi,d-λ·Ct,d);

Cl,d←Cl,d+μ((1-α)·δIC·(-Yi,d)-λ·Cl,d);

式中,Ct,d表示为第d次迭代中被第t个标签信息标注的产品标识i的上下文隐特征向量,Cl,d为第d次迭代中被第l个标签信息标注的产品标识i的上下文隐特征向量。

S150:根据参数值获取用户标识对各产品标识的偏好程度。

在一实施例中,步骤S150包括:

其中,表示用户标识u对基于标签信息的产品标识i的偏好程度。

S160:根据偏好程度从大到小的顺序对产品标识排序,并从排序后的产品标识中依次选取推荐标识,将推荐标识对应的产品信息推荐给对应的用户标识所在的终端。

上述基于标签信息的个性化推荐方法,通过根据各用户标识所对应的各标签信息对各产品标识进行标记的状态生成三维表,根据三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型,根据用户产品交互矩阵模型和产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型;然后利用贝叶斯个性化排序方法求解联合分解模型得到多个参数值,根据参数值获取用户标识对各产品标识的偏好程度,根据偏好程度从产品标识中选取推荐标识,将推荐标识对应的产品信息推荐给对应的用户标识所在的终端。如此,通过结合标签信息和用户标识与产品标识之间的三元关系,建立联合分解模型,结合贝叶斯个性化排序方法对联合分解模型进行学习,进行个性化融合标签排序,能解决在标签信息中数据稀疏性的限制,提高个性化排序的精度,从而提高推荐的准确度。

上述基于标签信息的个性化推荐方法可用于服装和手机等实体产品、电影和音乐等数字产品、旅游线路和在线检测安排等服务产品的个性化排序系统,应用范围广泛。

参考图2,一实施例中的基于标签信息的个性化推荐系统,包括三维表获取模块110、矩阵模型建立模块120、模型组合构建模块130、模型求解模块140、偏好程度获取模块150和产品推荐模块160。

三维表获取模块110用于获取电商平台的用户标识、产品标识和标签信息,以及各用户标识所对应的各标签信息对各产品标识进行标记的状态,并根据获取的状态生成三维表。

矩阵模型建立模块120用于根据三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型。

模型组合构建模块130用于根据用户产品交互矩阵模型和产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型。

模型求解模块140用于利用贝叶斯个性化排序方法求解联合分解模型得到多个参数值。

偏好程度获取模块150用于根据参数值获取用户标识对各产品标识的偏好程度。

产品推荐模块160用于根据偏好程度从大到小的顺序对产品标识排序,并从排序后的产品标识中依次选取推荐标识,将推荐标识对应的产品信息推荐给对应的用户标识所在的终端。

在一实施例中,矩阵模型建立模块120包括矩阵生成单元(图未示)、第一模型建立单元(图未示)和第二模型建立单元(图未示)。

矩阵生成单元用于根据三维表生成用户产品矩阵和产品标签矩阵。第一模型建立单元用于根据用户产品矩阵建立用户产品交互矩阵模型。第二模型建立单元用于根据产品标签矩阵建立产品标签关系矩阵模型。

在一实施例中,第二模型建立单元包括产品共现矩阵生成子单元(图未示)、点互信息值获取子单元(图未示)、交互值获取子单元(图未示)和模型获取子单元(图未示)。

产品共现矩阵生成子单元用于根据产品标签矩阵建立各产品标识之间的产品共现矩阵。点互信息值获取子单元用于根据产品共现矩阵和产品标签矩阵获取各产品标识之间的点互信息值。交互值获取子单元用于根据点互信息值和预设值获取对应产品标识之间的交互值。模型获取子单元用于根据对应产品标识之间的交互值、预设的产品隐特征向量和预设的上下文隐特征向量建立产品标签关系矩阵模型。

在一实施例中,用户产品交互矩阵模型为:

点互信息值获取子单元具体用于计算:

交互值获取子单元具体用于计算:

mij=max{PMI(i,j)-logk,0};

产品标签关系矩阵模型为:

mij=wi·cjT

其中,表示用户标识u与产品标识i之间的交互值,μ表示用户产品矩阵中数据的总体均值,bi表示产品标识i的偏差,bu为用户标识u的偏差,xu为用户标识u对产品标识的偏好,yi为产品标识i的特性向量,内积为用户标识u对产品标识i的总体偏好;PMI(i,j)表示产品标识i与产品标识j之间的点互信息值,#(i,j)表示产品标识i和产品标识j共享的标签信息的标签数,#(i)表示产品标签矩阵中产品标识i对应的标签信息的数量,#(j)表示产品标签矩阵中产品标识j对应的标签信息的数量,|D|表示产品共现矩阵中非零元素的数量;mij表示产品标识i与产品标识j之间的交互值,k为预设值,wi表示产品标识i的产品隐特征向量,cj表示产品标识j的上下文隐特征向量。

在一实施例中,偏好程度获取模块150用于根据:

计算用户标识对各产品标识的偏好程度。其中,表示用户标识u对基于标签信息的产品标识i的偏好程度。

上述基于标签信息的个性化推荐系统,通过三维表获取模块110根据各用户标识所对应的各标签信息对各产品标识进行标记的状态生成三维表,矩阵模型建立模块120根据三维表建立用户产品交互矩阵模型和产品标签关系矩阵模型,模型组合构建模块130根据用户产品交互矩阵模型和产品标签关系矩阵模型,构建用户标识、产品标识和标签信息对应的联合分解模型;模型求解模块140利用贝叶斯个性化排序方法求解联合分解模型得到多个参数值,偏好程度获取模块150根据参数值获取用户标识对各产品标识的偏好程度,产品推荐模块160根据偏好程度从产品标识中选取推荐标识,将推荐标识对应的产品信息推荐给对应的用户标识所在的终端。如此,通过结合标签信息和用户标识与产品标识之间的三元关系,建立联合分解模型,结合贝叶斯个性化排序方法对联合分 解模型进行学习,提出了一种新的个性化融合标签排序算法,能解决在标签信息中数据稀疏性的限制,提高个性化排序的精度,从而提高推荐的准确度。

使用标准数据集与基础算法在机器学习相关性能指标,如:曲线下面积(AUC)、平均准确率(MAP)、归一化累积折扣率(NDCG)、平均倒序排名(MRR)等方面进行比较,可验证基于标签信息的个性化推荐方法的优越性。

下面结合一具体应用例,针对基于标签信息的个性化推荐方法进行实验论证,具体包括:

1)准备标准数据集

本发明使用Last.fm数据集作为标准数据集验证基于标签信息的个性化推荐方法的有效性。Last.fm数据集是被发布在第二届推荐系统信息异质性和融合性国际研讨会平台上的个性化推荐数据集。在Last.fm数据集中,用户可对音乐专辑或者艺术家进行标注标签,共包含了艺术家信息、用户友好关系信息和标签信息,数据集包括了1737位独立用户,5632首音乐,14192个标签信息。训练集和测试集采用80%/20%的规则进行分割。

2)评价指标

采用曲线下面积(AUC)、平均准确率(MAP)、推荐长度为N的召回率(Rec@N)、归一化累积折扣率(NDCG)和平均排序倒数(MRR)作为本实施例的评价指标。曲线下面积AUC用来评价一个二值分类器的优劣;Rec@N评估群推荐系统返回所有相关产品的能力;平均准确率MAP用来预测产品平均评分,归一化累积折扣率NDCG用来获得相关产品的排序优势,平均排序倒数MRR检验方法排序效果,三者都是用来反映在推荐列表中相关产品的准确性。推荐列表长度为N的召回率Rec@N计算公式为:

N是测试集中相关产品的数目;Nrelated是在排序列表和测试集中同时出现的产品数目。平均准确率均值MAP定义为:

其中|U|是测试集中用户的数目,是一个指示变量,如果用户u的推荐列表中排名第n的产品也出现在测试集中,则值为1,其余情况都为0。Prec@n表示的是直到到达排序为n的产品的推荐结果的精度:

其中,nrelated是排序列表中相关产品的数目。平均排序倒数MRR是第一个排序正确的产品的逆的连乘,计算公式为:

归一化累积折扣率NDCG计算相对复杂,计算公式为:

3)在标准数据集上进行实验

为了验证基于标签信息的个性化推荐方法的有效性,本文分别在Last.fm的数据集取布长为5和10分别进行建模和预测,并将预测结果与其他模型预测结果在评价指标上进行比较。实验结果如表3所示。

表3

与Random、MostPop、UserKNN、ItemKNN、IMF和BPRMF等推荐模型的预测结果相比,本发明的基于标签信息的个性化推荐方法(Tag2Vec)预测结果在绝大部分指标上都表现出了更优的预测准确率。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1