CN102495837B - 一种数字信息推荐预测模型的训练方法和系统 - Google Patents

一种数字信息推荐预测模型的训练方法和系统 Download PDF

Info

Publication number
CN102495837B
CN102495837B CN201110339200.6A CN201110339200A CN102495837B CN 102495837 B CN102495837 B CN 102495837B CN 201110339200 A CN201110339200 A CN 201110339200A CN 102495837 B CN102495837 B CN 102495837B
Authority
CN
China
Prior art keywords
marking
project
user
agt
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110339200.6A
Other languages
English (en)
Other versions
CN102495837A (zh
Inventor
鲁凯
王斌
史亮
李文娜
李锐
徐飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201110339200.6A priority Critical patent/CN102495837B/zh
Publication of CN102495837A publication Critical patent/CN102495837A/zh
Application granted granted Critical
Publication of CN102495837B publication Critical patent/CN102495837B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数字信息推荐预测模型的训练方法和系统,该方法包括:1)接收打分数据;2)确定数字信息的不同类别,每个类别中包括多个项目,其中所述类别之间存在关联关系;3)基于所述关联关系建立所述模型并训练获得所述模型,其中所述模型中包括一个或多个和集合相关的参数,其中所述集合为与一个类别的项目相关的另一个类别的项目的集合或者多个与一个类别的项目相关的另一个类别的项目的集合的并集。上述训练的预测模型可以有效的在实际推荐中缓解用户打分数不足造成的可利用打分数据严重稀疏的问题,具有很好的推荐效果。

Description

一种数字信息推荐预测模型的训练方法和系统
技术领域
本发明涉及数字信息处理领域,具体地,涉及数字信息推荐领域。
背景技术
随着互联网的快速发展,用户在各个门户网站、电子商务网站、视频或者音乐视听网站都面临信息过载的问题,因此挖掘用户的可能喜好,提供个性化的服务对提高用户的满意度和忠诚度具有非常重大的意义。推荐系统正是在这个背景产生的,并且近二十年来得到了非常迅猛的发展。IT巨头如亚马逊,谷歌,雅虎等,国内如当当网,淘宝网等都在其不同的应用中提供了个性化的推荐系统,极大的方便了用户并且也给商家带来了巨大的利益。
推荐系统大致可以分为两类:基于内容的推荐系统及基于协同过滤的推荐系统。基于内容的推荐系统主要是利用项目(item)的内容信息,例如项目名字等文字信息来找出相似的项目集合,然后根据用户喜欢的项目推荐该项目的相似项目。基于协同过滤的推荐系统主要是利用用户对项目的反馈,例如用户对项目的打分记录,购买记录,浏览记录等挖掘用户的可能喜好,推荐其可能喜欢的项目集合。
因为基于内容的推荐系统只与当前用户选择的项目有关,该方法没有考虑到对用户的历史行为进行建模,因此该方法无法满足用户的个性化需求。对于基于协同过滤的推荐系统,这类系统不需要考虑项目的属性以及领域知识即可获得很好的推荐效果,因此大多数推荐系统都是基于协同过滤技术的。然而由于在实际中用户的打分数往往比较少,所以协同过滤技术在应用时面临很多问题,例如冷启动问题,数据稀疏问题等。其中数据稀疏性对产生精确推荐往往造成很大的影响,因此合理的解决打分数据的稀疏性问题往往能够对产生精确推荐带来意想不到的影响。下面以音乐系统为例来详细说明以上两种推荐系统。
对于音乐推荐,可以根据音乐的音频建立相似度矩阵,然后根据用户听的音乐进行推荐。也可以根据音乐的相关文本标签(tag),属性,上下文信息(context information)等进行推荐,这些都可以看作是和基于内容推荐相关的方法,其难以满足用户的个性需求。
当前各个提供在线音乐的网站例如谷歌,雅虎,百度,搜狐等,他们的音乐推荐一般都是根据于用户的听歌记录以及用户对相关音乐的反馈(打分,喜欢/不喜欢)进行建模,然后将用户可能喜欢的音乐推荐给用户。这属于基于协同过滤的推荐系统,其推荐过程主要包括下列步骤:第一步获得用户对各个音乐的打分情况,然后对打分数据进行预处理;第二步是使用相关协同过滤的相关算法对打分数据进行建模,预测,这个过程是离线完成的;第三步是对于每个活跃用户,将预测完的该用户对各个音乐的可能打分值取最高的前K个(Top-K)项目进行在线推荐。图1示出了上述推荐过程的流程图。如上所述,用户打分数据稀疏性使得难以对用户进行准确推荐。
发明内容
本发明的目的在于提供一种推荐效果更理想的数字信息推荐预测模型的训练方法及系统。
根据本发明的一个方面,提供了一种数字信息推荐预测模型的训练方法,包括:
1)接收打分数据;
2)确定数字信息的不同类别,每个类别中包括多个项目,其中所述类别之间存在关联关系;
3)基于所述关联关系建立所述模型并训练获得所述模型,其中所述模型中包括一个或多个和集合相关的参数,其中所述集合为与一个类别的项目相关的另一个类别的项目的集合或者多个与一个类别的项目相关的另一个类别的项目的集合的并集。
上述方法中所述建立模型是基于隐参数模型建立。
上述方法中所述步骤3)中建立的所述模型为:
r ui ^ = μ + b u + b i + q i T ( p u + kkk Σ j ∈ album ( u ) a j )
其中所述μ是所有已知打分值的平均打分值,bu是用户u所打的打分值相对于平均打分的偏差,bi是关于项目i的打分值相对于平均打分的偏差,pu是和用户u相关的特征向量,qi是和项目i相关的特征向量,album(u)是与一个类别的项目相关的另一个类别的项目的集合或者多个与一个类别的项目相关的另一个类别的项目的集合的并集,aj表示和集合album(u)相关的参数,kkk为album(u)的系数。
上述方法中,所述kkk为(|album(u)|+1)-1/2
上述方法中,所述模型还包括:与用户打过分的项目集合相关的参数。
上述方法中,所述模型还包括:与用户已经实践的项目集合相关的参数。
上述方法中,所述模型还包括:打分时间段对用户偏差的影响参数。
上述方法中,所述模型还包括:打分时间段对用户的影响参数。
上述方法中,所述模型还包括:(ruj-buj)的补偿参数,
其中ruj表示已知的用户u对项目j打分的打分值,buj表示用户u对项目j打分的打分值相对于平均打分值的偏差。
上述方法中,所述(ruj-buj)的补偿参数的系数为(|(Rk(i;u)|+1)-1/2
其中Rk(i;u)=R(u)∩Sk(i),其中R(u)是用户打分值已知的项目集合,Sk(i)表示与项目i最相似的k个项目的集合。
上述方法中,所述模型还包括:隐式反馈。
上述方法中,所述隐式反馈的系数为(|Nk(i;u)|+1)-1/2
其中Nk(i;u)=N(u)∩Sk(i),其中N(u)是用户打过分的项目集合,Sk(i)表示与项目i最相似的k个项目的集合。
上述方法中,所述Sk(i)是基于打分的项目相似集合、基于所述类别之间存在的关联关系的项目相似集合和基于内容的项目相似集合中的任意一个或任意二或三个的融合结果。
上述方法中,所述步骤3)的所述训练是基于最小化损失函数来训练。
上述方法中,所述最小化损失函数的求解是采用梯度下降法。
根据本发明另一方面,还提供了一种数字信息推荐预测模型的训练系统,包括:
接收模块,用于接收打分数据;
类别确定模块,用于确定数字信息的不同类别,每个类别中包括多个项目,其中所述类别之间存在关联关系;
建模模块,用于基于所述关联关系建立所述模型并训练获得所述模型,其中所述模型中包括一个或多个和集合相关的参数,其中所述集合为与一个类别的项目相关的另一个类别的项目的集合或者多个与一个类别的项目相关的另一个类别的项目的集合的并集。
该发明所训练的预测模型可以有效的在实际推荐中缓解用户打分数不足造成的可利用打分数据严重稀疏的问题,具有很好的推荐效果。
附图说明
图1是基于协同过滤的推荐方法的流程图;
图2是根据本发明优选实施例的音乐类别之间的关联关系示意图;
图3是根据本发明优选实施例的打分数据集划分示意图;
图4是根据本发明优选实施例的音乐类别的层次结构图;
图5是根据Yahoo!Music打分数据集的时间段划分示意图;
图6是根据本发明优选实施例的项目相似集合划分示意图;
图7是根据本发明优选实施例的数字信息推荐系统框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明一个实施例的数字信息推荐预测模型的训练方法和系统进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于数字信息的层次结构以及各层次之间的关联关系来建模以提高推荐效果。下面以音乐推荐预测模型为例来详细说明本发明的方法和系统。
音乐类别通常可以分为:歌曲,专辑,演唱家,流派,并且这些类别之间存在一种层次结构,不同类别在层次结构中可能存在关联关系。每个类别中包括多个项目,例如演唱家类别中包括:李谷一、孙燕姿、孙楠等,流派类别包括:抒情、欢快等。图2是音乐类别之间的关联关系示意图。例如,歌曲1属于专辑1,其由某演唱家发行,并且它属于一个流派集合。对于推荐问题,可以让用户分别对各个类别进行打分,利用各类别之间的关联关系进行建模,进而缓解打分数据稀疏的问题,从而提高推荐效果。具体地,首先挖掘音乐类别间的关联关系,主要包括歌曲,专辑,演唱家,流派之间的联系。然后根据音乐类别间的层次关系建立预测模型,基于该预测模型对用户进行音乐推荐。该模型可以有效缓解音乐打分数据的稀疏性,具有很好的推荐精度。
在详细介绍本发明的训练方法前,首先介绍下本发明所涉及到的符号定义:
用u,v指代用户,用i,j指代项目,其中项目包括歌曲、专辑、流派和演唱家;
用m表示用户总数,n表示项目的总数;
Figure BDA0000104378560000053
rui是已知的u对i打分的打分值;
Figure BDA0000104378560000054
Figure BDA0000104378560000055
是对rui的预测值;
Figure BDA0000104378560000056
定义R是打分值已经知道的(u,i)集合:R={(u,i)|rui是已经知道的};
定义N是所有的打过分的(u,i)集合,即使打分值尚未知道:
Figure BDA0000104378560000058
Figure BDA0000104378560000059
定义T是测试集的打分集合;
Figure BDA00001043785600000510
定义R(u)是打分值已知的u打分的项目,N(u)是u打过分的所有项目集合:
Figure BDA00001043785600000511
下面根据本发明一个优选实施例,详细介绍本发明的训练方法所涉及的步骤,主要包括打分数据的预处理和根据预处理后的打分数据建立和训练预测模型。
1.打分数据的预处理
首先,获取用户对音乐项目的打分情况;然后,对打分数据进行预处理。优选地,预处理过程包括删除打分总数很少的用户、总的打分数很少的项目,以及不满足打分要求的打分。预处理的主要步骤如下:
(1)对于打分数据中的每个打分,如果打分值不在规定的范围内则删除该打分,该规定的范围例如[0-5]或[0-100];
(2)对于给出打分数据的每个用户,如果该用户的打分总数小于规定的阈值(如10),那么删除与该用户的所有打分数据,不使用该用户进行建模;
(3)对于打分数据中的每个项目(item),如果给该项目打分的用户总数小于规定的阈值,例如10,那么删除该项目的所有分数,不使用该项目进行建模。
根据该优选实施例,经过预处理的打分数据格式如下,对于每个用户有:
用户ID,音乐项目ID,打分值,打分日期,打分的具体时间。
优选地,对于经过预处理的打分数据集,按照一定比例将每个用户的打分集合根据用户打分时间的先后顺序进行划分,主要分为三个部分:训练集、验证集和测试集,其中训练集和验证集用于学习模型的参数,测试集主要用来评估模型的好坏。参见图3,根据本发明的一个优选实施例,80%的打分数据属于训练集,10%的打分数据属于验证集,10%的打分数据属于测试集。
2.建立预测模型
根据本发明的优选实施例,基于隐参数模型来建立本发明的预测模型。本领域普通技术人员可以理解,也可以基于图挖掘或者矩阵分解等方法来建立本发明的预测模型。
经典的隐参数模型(SVD)是通过发掘已知打分值潜在的特征来表示预测的打分值。该情况下,SVD的模型形式如下:
r ^ ui = μ + b i + b u + q i T p u
其中μ是所有已知打分值的平均打分值,其根据已知打分值直接计算。bu表示的是用户u所打的打分值相对于平均打分情况的偏差,bi表示的是关于项目i的打分值相对于平均打分的偏差。pu是和用户u相关的特征向量,其中的每个元素表示和用户u相关的隐参数。qi是和项目i相关的特征向量,其中的每个元素表示和项目i相关的隐参数。
如前所述,在音乐四种类别当中存在层次结构,并且不同层次的项目之间存在着关联关系。根据本发明的一个优选实施例,主要考虑三种层次关系,如图4所示,具体地,主要考虑以专辑,演唱家,流派为中心的三种关联关系:即对于每张专辑,考虑它包含的歌曲,所属的演唱家,以及相关的流派;对于每个演唱家,考虑他发行的歌曲,专辑以及和这些歌曲,专辑相关的流派;对于每个流派,考虑其相关的歌曲,专辑,以及这些歌曲、专辑所属的演唱家。
基于上面所述的音乐类别的层次关系,在经典隐参数模型上进行扩展,考虑到音乐类别的层次关系对用户偏好的影响,可以得到如下的模型:
r ui ^ = b ui + q i T ( p u + ( | album ( u ) | + 1 ) - 1 / 2 Σ j ∈ album ( u ) a j + ( | aritisst ( u ) | + 1 ) - 1 / 2 Σ j ∈ artist ( u ) t j +
( | genre ( u ) | + 1 ) - 1 / 2 Σ j ∈ genre ( u ) g j ) - - - ( 1 )
其中bui=μ+bu+bi。相比经典模型,主要对pu,即用户的特征向量,进行扩展。在经典模型的基础上加入了
Figure BDA0000104378560000073
Figure BDA0000104378560000074
其中album(u)表示与用户u打分的专辑相关联的项目集合,artist(u)表示与用户u打分的演唱家相关联的项目集合,genre(u)表示与用户u打分的流派相关的项目集合,|*|表示*集合中元素的个数。aj表示和集合album(u)相关的参数,tj表示和集合artist(u)相关的参数,gj表示和集合genre(u)相关的参数,这三个相关的参数可以在训练过程中获得。
接下来详细介绍使用专辑,演唱家,流派进行扩展的原因,以及album(u),artist(u),genre(u)的产生过程。从专辑角度出发,通常,假如一个用户喜欢一张专辑,那么导致他喜欢这张专辑的因素不仅仅是这张专辑本身,因为对于这张专辑来说它本身仅仅是一个名字;导致用户喜欢这张专辑的原因可能是这个用户非常喜欢这张专辑里的一些歌曲,也可能是这个用户是这张专辑所属的演唱家的粉丝,还可能是因为这张专辑所包含的一些流派是这个用户所非常喜欢的。因此考虑以专辑为中心的层次模型主要考虑它相关的歌曲,演唱家,流派。对于它相关的演唱家,流派由于关联关系不是特别明显,因此在选择的时候加以一定条件的控制,只有满足规定的条件时才考虑。对于用户不喜欢的情况作同样的考虑。从演唱家或流派角度出发,也有类似结论。基于以上现实规律,根据本发明的一个优选实施例,album(u),artist(u),genre(u)的产生过程具体如下:
1)关于以专辑为中心的层次扩展,album(u)的产生过程如下步骤所示:
a)统计用户u的打分专辑集合,记为A;
b)统计A中所有专辑所属的演唱家以及该演唱家关联专辑的个数;如果关联专辑的个数大于规定的阈值,例如集合A中专辑个数的1/3,则把该把演唱家加入到集合album(u)中;
c)统计A中所有专辑相关的流派以及该流派关联专辑的个数;如果关联专辑的个数大于规定的阈值,例如集合A中专辑个数的1/2,则把该流派加入到集合album(u)中;
d)预设阈值K,将A包含的每张专辑中包含的被打分个数最多的K个歌曲加入到album(u)中;如果K值大于某个专辑包含的歌曲总数,把该专辑包含的所有歌曲加入到album(u)中。
2)关于以演唱家为中心的层次扩展,主要考虑该演唱家发行的歌曲,专辑以及这些歌曲和专辑相关联的流派。artist(u)的产生过程和album(u)的产生过程类似:首先选择用户选择的每个演唱家中打分数最多的K个歌曲和专辑;然后,选择与每个演唱家的歌曲以及专辑相关联次数最多的K个流派。
3)关于以流派为中心的层次扩展,因为流派与歌曲、专辑或演唱家关联关系不是特别强,因此,优选地,规定稍微严格的条件限制。对于genre(u),产生过程如下:首先,选择和用户u打分的流派相关联的歌曲和专辑中被打分数最多的K1个歌曲和专辑,然后,选择和这些歌曲和专辑相关联次数最多的K2个演唱家。
根据本发明的另一个实施例,采用如下方式对经典模型进行扩展,首先定义集合AGT(u)如下:
AGT(u)=album(u)∪aritist(u)∪|genre(u)|
则扩展的基于层次结构的模型形式为:
r u , i ^ = b ui + q i T ( p u + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j ) - - - ( 2 )
其中bui
Figure BDA0000104378560000092
pu的定义与公式(1)相同,agtj表示和集合AGT(u)相关的参数。公式(2)所表示的模型与公式(1)表示的模型相比在求解时具有较高的效率,并且在Yahoo!Music打分数据集上进行试验,二者的精确度近似。在后面的描述中,基于公式(2)所表示的模型进行描述。
更优选地,还使用用户打过分的项目集合进行扩展。另外,还可以考虑用户听过、但没有打过分的项目。由此,得出如下基于层次结构的模型:
r u , i ^ = b ui + q i T ( p u + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j + ( | N ( u ) | + 1 ) - 1 / 2 Σ j ∈ N ( u ) y j + ( | L ( u ) | + 1 ) - 1 / 2 Σ j ∈ L ( u ) l j ) - - - ( 3 )
其中N(u)是u所有打过分的项目集合,L(u)是u听过的所有项目集合。yj表示和用户打过分的集合N(u)相关的参数,lj表示和用户听过的所有项目集合L(u)相关的参数。
对于该模型中变量,可以利用训练集的打分数据采用最小化损失函数来求解,即对于打分集合,最小化所有打分的预测结果和真实结构之间的误差和进行求解,其中损失函数的形式如下:
min b * , q * p , y * , agt * , Σ ( ui * , ∈ R ) ( r ui - r u , i ^ ) 2 + λ bu b u 2 + λ bi b i 2 + λ pu | | p u | | 2 + λ qi | | q i | | 2 + λ agt Σ j ∈ AGT ( u ) | | agt j | |
+ λ y Σ j ∈ N ( u ) | | y j | | 2 + λ l Σ j ∈ N ( u ) | | l j | | 2
其中λ*,包括λbu、λbi、λpu、λqi、λagt、λy和λl,表示损失函数的正规化因子,‖*‖表示的是向量*的模,对于该最小损失函数的求解可以采用梯度下降法。具体地,首先给每个变量赋一个范围在例如[-0.1,0.1]的任意初值,然后根据如下迭代公式进行迭代,当损失函数的值最小时得到迭代结果。其中迭代公式如下:
b u ← b u + r b u · ( e ui - λ b u · b u )
b i ← b i + r b i · ( e ui - λ b i · b i )
p u ← p u + r p u · ( e ui · q i - λ p u · p u )
q i ← q i + r q i · ( e ui · p u - λ q i · q i )
∀ j ∈ N ( u ) :
yj←yjy·(eui·(|N(u)|+1)-1/2·qiy·yj)
∀ j ∈ AGT ( u ) :
agtj←agtjagt·(eui·(|AGT(u)|+1)-1/2·qiagt·agtj)
∀ j ∈ L ( u ) :
lj←ljl·(eui·(|L(u)|+1)-1/2·qil·lj)
其中
Figure BDA0000104378560000104
r*表示模型的学习速率(learning rate),λ*表示正规化因子,r*,λ*统称为元参数。
根据本发明的一个优选实施例,利用验证集的打分数据基于公式(3)的模型进行学习,具体地,可以采用交叉验证或自动参数学习等方法来求解元参数。
本领域普通技术人员可以理解,通过在模型学习时采用不同的学习速率和正规化因子进行控制,可以无需考虑album(u),artist(u),genre(u)这三个方面相关的权重系数。
本领域普通技术人员可以理解,如果采用公式(1)所表示的模型,其中的三个相关参数与这里的相关参数agtj等计算方法类似,因此,不再赘述。
根据本发明一个优选实施例,在以上模型的基础上,还融合用户打分 时间段因素。
通常,用于用户每天在不同的时间段心情状态不同,所以在不同时间段具有不同的打分倾向。例如,用户白天在工作时间可能比较忙碌,压力相对有点大,这时他可能变得有一点苛刻,那么他的打分值相对比较低。然而到了夜晚之后,因为要做的事情相对比较少,心情比较轻松,所以这个时候他可能选择听一些自己喜欢听的音乐,打的分值稍微较高。
根据以上分析,可以将一天划分为不同的时间段。例如将一天分为{上午,下午,夜晚}。当然,也可以根据打分数据集采用其它的划分方法。图5示出了根据Yahoo!Music打分数据集的时间段划分示意图,如图所示,将一天划分为4个阶段,根据本发明的一个优选实施例,每个时间段所对应的系数如下:
在公式(3)所表示的模型的基础上,结合用户打分时段的动态模型形式如下:
r u , i ^ = b ui + b u , period ( t ) + q i T ( p u + p u , period ( t ) + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j +
( | N ( u ) | + 1 ) - 1 / 2 Σ j ∈ N ( u ) y j + ( | L ( u ) | + 1 ) - 1 / 2 Σ j ∈ L ( u ) l j ) - - - ( 4 )
其中t是特定的打分时间,其不依赖于具体的打分日期,period(t)表示打分时间段所对应的系数,bu,period(t)表示打分时间段对用户偏差的影响参数,pu,period(t)表示打分时间段对用户的影响参数。
与公式(3)所表示的模型的求解类似,可以采用最小化损失函数来求解公式(4)中的变量,,其中损失函数的形式如下:
min b * , q * , p * , y * , agt * Σ ( u , i ) ∈ R ( r ui - r u , i ^ ) 2 + λ bu b u 2 + λ bped b u , period ( t ) 2 + λ bi b i 2 + λ pu | | p u | | 2 + λ ped p u , period ( t ) 2
λ qi | | q i | | 2 + λ agt Σ j ∈ AGT ( u ) | | agt j | | 2 + λ y Σ j ∈ N ( u ) | | y j | | 2 + λ l Σ j ∈ N ( u ) | | l j | | 2
其中λ*bu,λbi,λbpedpu,λped,λqi,λagt,λy,λl)表示损失函数的正规化因子,所涉及的迭代公式如下:
b u ← b u + r b u · ( e ui - λ b u · b u )
bu,period(t)←bu,perid(t)+rbped·(euibped·bu,period(t))
b i ← b i + r b i · ( e ui - λ b i · b i )
p u ← p u + r p u · ( e ui · q i - λ p u · p u )
pu,period(t)←pu,period(t)+rped·(eui·qiped·pu)
∀ j ∈ N ( u ) :
yj←yjy·(eui·(|N(u)|+1)-1/2·qiy·yj)
∀ j ∈ AGT ( u ) :
agtj←agtjagt·(eui·(|AGT(u)|+1)-1/2·qiagt·agtj)
∀ j ∈ L ( u ) :
lj←ljl·(eui·(|L(u)|+1)-1/2·qil·lj)
本领域普通技术人员可以理解,根据短时间动态信息(temporalinformation)的使用方法,参见2009年Y.Koren在Proc.15th ACM SIGKDDInternational Conference on Knowledge and Discovery and DataMining(KDD’09)上发表的Collaborative Filtering with Temporal Dynamics一文,也可以综合用户的动态时间信息以及项目的动态时间信息等来建立本发明的上述模型,以达到更加准确的预测结果。
根据本发明一个优选实施例,在以上模型的基础上,还融合项目相似 度因素。
目前主流的考虑到项目相似度因素的推荐系统都是基于对项目的打分计算项目之间的相似度,然后采用邻居模型进行推荐,这种方法的不足是没有考虑到项目的领域知识,并且推荐的精确度在打分数据稀疏的情况也比较差。本发明为弥补这一不足提出了基于打分、音乐层次结构和内容三者融合的计算项目相似邻居的方法。首先分别介绍计算三个项目相似集合的方法:
1)基于打分的项目相似集合计算方法
基于打分的相似度计算方法最常用的是采用皮尔森系数来计算两个项目之间的相似度。在计算项目的相似邻居集合时,采用亚马逊(Amazon)的算法,具有比较高的计算效率,主要求解过程如下:
(I)输入打分数据集;
(II)遍历打分数据中的每个项目,设当前项目为I1;
(III)遍历对I1打过分的所有用户,设当前用户为U;
(IV)遍历U打过分的所有项目,设当前项目为I2;如果I1和I2不同,并且I2还没有遍历过,将I2放入队列Q,
(V)反复执行(III),(IV)直到遍历完所有的打分。
(VI)对于Q中的每个项目I2,计算I1和I2的相似度val;然后插入到集合S中,即:S[I1][I2]=val。
(VII)反复执行步骤(II)至(VI),直到计算完所有的项目获得相似度矩阵S。
预设一个阈值,规定当相似度大于该阈值时认为项目之间是相似的,以此获得i的基于分数计算的项目相似集合SR(i)。
2)基于音乐层次结构的项目相似集合计算方法
由于音乐类别之间存在层次关系,并且不同层次的类别之间存在关联关系,因此可以利用这一关联关系计算项目相似集合。具体地,根据音乐的四种类别:歌曲,专辑,演唱家,流派的不同采用如下步骤计算各自的项目相似集合:
对于每个歌曲i,它最相似的项目包括它所属于的专辑,演唱家和流派。因此,首先,选择在同一张专辑中的和该i具有相同流派的歌曲。然后,选择其他专辑中满足以下条件的歌曲:a)和i具有相同的流派,b)被打分数大于规定的阈值。最后,按照所选歌曲的打分数将所选歌曲降序排序。
对于每张专辑i,它最相似的项目包括它所属于的演唱家,相关的类别,以及它包含的歌曲中和它具有相同流派的歌曲。因此,选择其他的专辑和歌曲中打分数大于规定阈值并且和i具有的相同流派的专辑和歌曲。然后按照打分数降序排序。
对于每个演唱家i,选择该演唱家演唱的的K1个打分次数最多的专辑和歌曲,然后选择K2个与上说选择的专辑以及歌曲关联个数最多的流派。
对于每个流派i,首先,选择属于该流派的K个打分次数最多的歌曲和专辑,然后,选择K个和流派i相关的歌曲和专辑关联最多的演唱家。
通常,限定每个项目相似集合的个数K,当超过K时只取K个相似的项目,以此获得i的通过层次结构计算的项目相似集合SH(i)。规定为i的基于层次结构计算的相似项目的集合。
3)基于内容的项目相似集合计算方法
由于可以获得音乐的名字,因此也可以利用音乐项目的内容用来计算项目的相似度。根据本发明一个优选实施例,两个项目之间基于内容的相似度通过计算两个音乐名字的最长公共字串得到,并当相似度大于一定阈值时认为两个项目是相似的,以此获得i的基于内容的项目相似集合SC(i)。其中计算相似度的计算方式如下:
(I)假设两个项目涉及的字符串分别为A,B,其中A的长度为M,B的长度为N,LCS[m][n]表示字符串A中第1至m个字符组成的子串与B中第1至n个字符组成的子串的最大公共字串的长度,其中a和b分别属于A和B;
(II)LCS的迭代公式如下:
Figure BDA0000104378560000141
其中A[m-1]表示字符串A中第m-1个元素;
(III)字符串A,B的相似度为LCS[M][N]/max(M,N),其中max(M,N)表示M,N中的最大值。
类似地,也可基于音乐的标签(Tag)信息计算基于内容的项目相似集合。
利用以下步骤,将上述步骤计算的项目相似集合:SR(i),SH(i),SC(i)整合为一个集合:按照项目在上述三个集合中的出现次数由大到小进行排序;当出现次数相同时,按照所属集合SR(i),SH(i),SC(i)的前后顺序进行排序。由此获得项目i的项目相似集合S(i)。
本领域普通技术人员可以理解,为了提高计算效率,可以取项目相似集合S(i)中的前K个元素用于计算。
考虑了项目相似度后,建立基于层次关系、用户打分时段和邻居的预测模型形式如下:
r u , i ^ ( t ) = b ui + b u , period ( t ) + q i T ( p u + p u , period ( t ) + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j +
( | N ( u ) | + 1 ) - 1 / 2 Σ j ∈ N ( u ) y j + ( | L ( u ) | + 1 ) - 1 / 2 Σ j ∈ L ( u ) l j ) + ( | ( R k ( i ; u ) | + 1 ) - 1 / 2 Σ j ∈ R k ( i ; u ) ( r uj - b uj ) w ij - - - ( 5 )
+ ( | N k ( i ; u ) | + 1 ) - 1 / 2 Σ j ∈ N k ( i ; u ) c ij
这里Rk(i;u)=R(u)∩Sk(i),Nk(i;u)=N(u)∩Sk(i),R(u)表示的是用户已经打分的项目集合,Sk(i)表示项目i最相似的k个项目,Rk(i;u)表示的是用户u的打分集合中和项目i最相似的k个项目集合;N(u)表示用户的所有打过分的项目集合,Nk(i;u)表示的是用户u所有的打分集合中和项目i最相似的k个项目集合。Sk(i)是指项目i的最相似的k个邻居集合,项目i的项目相似集合S(i)中前k个元素组成的集合。wij可以看作是(ruj-buj)的补偿,cij是可以看作是隐式反馈。
与公式(3)和(4)表示的模型类似,采用如下最小化损失函数计算相关变量:
min b * , q * , p * , y * , agt * Σ ( u , i ) ∈ R ( r ui - r u , i ^ ) 2 + γ bu b u 2 + γ bi b i 2 + γ pu | | p u | | 2 + γ qi | | q i | | 2 + γ agt Σ j ∈ aGT ( u ) | | agt j | | 2
+ γ y Σ j ∈ N ( u ) | | y j | | 2 + γ l Σ j ∈ N ( u ) | | l j | | 2 + γ w Σ j ∈ R k ( i ; u ) | | w ij | | 2 + γ c Σ j ∈ N k ( i ; u ) | | c ij | | 2
其中所涉及的迭代公式如下:
b u ← b u + μ b u · ( e ui - λ b u · b u )
b u , period ( t ) ← b u , period ( t ) + μ b u , period · ( e ui - λ b u , , period · b u , period ( t ) )
b i ← b i + μ b i · ( e ui - λ b i · b i )
p u ← p u + μ p u · ( e ui · q i - p u )
p u , period ( t ) ← p u + μ p u , period · ( e ui · q i - p u , period ( t ) )
∀ j ∈ N ( u ) :
yj←yjy·(eui·(|N(u)|+1)-1/2·qiy·yj)
∀ j ∈ AGT ( u ) :
agtj←agtjagt·(eui·(|AGT(u)|+1)-1/2·qiagt·agtj)
∀ j ∈ L ( u ) :
lj←ljl·(eui·(|L(u)|+1)-1/2·qil·lj)
∀ j ∈ R k ( i ; u )
wij←wijw((|Rk(i;u)|+1)-1/2eui(ruj-buj)-λw·wij)
∀ j ∈ N k ( i ; u )
cij←cijc((|Nk(i;u)|+1)-1/2euic·cij)
本领域普通技术人员可以理解,上述公式(1)至(5)中所给出的模型仅为示例,可以对其进行各种变化,例如对经典模型的任意扩展项进行改变。以
Figure BDA00001043785600001513
为例,其中可以将求和公式
Figure BDA00001043785600001514
的系数(|AGT(u)|+1)-1/2改变为(|AGT(u)|+1的其他次方,也可以改变为仅包含AGT(u)的表达式,甚至该系数可以为1。
下面结合已经划分的打分数据和建立的预测模型来详细描述该预测模型的训练和评价过程。涉及到的评价指标主要包括:
1)平均绝对偏差MAE:通过计算预测的用户打分与实际的用户打分之间的偏差度量预测的准确性。MAE越小,推荐的准确度越高。计算公式如下:
MAE = Σ ( u , i ) ∈ T | r ui - r ui ^ | | T |
2)根平均方差RMSE:该评价指标使得预测偏差大的分量在最终的偏差中所占的比重较大。与平均绝对偏差一样,根平均方差越低,推荐准确度越高。计算公式如下:
RMSE = Σ ( u , i ) ∈ T ( r ui - r ui ^ ) 2 | T |
训练过程主要是利用训练集和验证集,具体过程如下:
首先,给元参数(学习速率和正规化因子)设定初始值。然后采用自动参数学习或者交叉验证的方法,每次在训练集合上迭代一次之后,在验证集上计算模型的RMSE或MAE并根据RMSE计算结果调整元参数的值。经过迭代预定的次数后,获得预测模型中元参数的值;
然后,将模型中相关变量如bu,bi,pu,pi,agtj,lj,wij,cij设置为[-0.1,0.1]内的随机数,利用学习好的元参数在训练集上根据上述迭代公式进行迭代,每迭代一次后在验证集上进行评价,计算RMSE或者MAE,当RMSE不再下降时,迭代终止,计算出迭代次数。
经过训练参数之后,即可获得最终所需的预测模型,可以基于该预测模型对每个活跃用户的没有打过分的项目进行预测,然后取预测值最高的K个项目推荐给用户。
图7示出了根据本发明优选实施例的预测模型架构图,其中示出该预测模型由隐参数模型和邻居模型二者相结合,且隐参数模型中体现了数字信息的层次结构、用户打分的时段信息和用户打分记录,邻居模型是基于基于内容的项目相似集合、基于层次结构的项目相似集合以及基于打分的项目相似集合而建立。
测试集用于评价如上训练的模型的质量。具体地,采用经过训练集和验证集训练好的元参数和迭代次数,然后将训练集和验证集合并起来,在合并后的集合上进行迭代,当达到规定的迭代次数后迭代终止,然后使用学习到的bu,bi,pu,pi,agtj,lj,wij,cij来预测测试集中用户对给定项目的可能打分,并根据和用户实际的打分的比较计算预测的误差。
基于该评价质量的方法,在雅虎音乐提供的打分数据集上进行了实验,雅虎音乐是经过11年收集用户的打分数据得到的,其打分数据的主要内容如表1:
表1
  用户数   项目总数   打分总数   验证集打分数   测试集总数
  1,000,990   624,961   262,810,175   4,003,690   6,005,940
其中项目中类别的个数如表2:
表2
  项目总数   歌曲数   专辑数   演唱家数   流派数
  624,961   507172   88909   27888   992
其中打分值是在[0-100]的整数。在设置隐参数模型中的涉及到的向量(pu,qi)维数为50时,在验证集和测试集上的根平均误差RMSE结果如表3
表3
由表3可以明确看出,本发明的预测模型根平均误差明显小于经典模型的根平均误差,也就是说,本发明的预测模型具有较理想的推荐效果。
本领域普通技术人员可以理解,上面以音乐推荐预测模型的训练为例来说明本发明的训练方法和系统,但是该训练方法不仅仅可以用于训练音乐推荐预测系统,只要是具有层次结构的项目都可以使用,例如电影,电子商务等推荐预测系统。有理由相信本发明对于提高用户对推荐效果的满意度,增加用户的忠诚度,进而为服务提供商带来巨大的商业利润具有很大的潜在价值。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (13)

1.一种数字信息推荐预测模型的训练方法,包括:
1)接收打分数据;
2)确定数字信息的不同类别,每个类别中包括多个项目,其中所述类别之间存在关联关系;
3)基于所述关联关系建立所述模型并训练获得所述模型,其中所述模型为:
r ui ^ = b ui + q i T ( p u + ( | album ( u ) | + 1 ) - 1 / 2 Σ j ∈ album ( u ) a j + ( | aritist ( u ) | + 1 ) - 1 / 2 Σ j ∈ artist ( u ) t j + ( | genre ( u ) | + 1 ) - 1 / 2 Σ j ∈ genre ( u ) g j )
其中bui=μ+bu+bi,μ是所有已知打分值的平均打分值,bu是用户u所打的打分值相对于平均打分情况的偏差,bi是关于项目i的打分值相对于平均打分的偏差,pu是和用户u相关的特征向量,qi是和项目i相关的特征向量,album(u)表示与用户u打分的专辑相关联的项目集合,artist(u)表示与用户u打分的演唱家相关联的项目集合,genre(u)表示与用户u打分的流派相关的项目集合,|*|表示*集合中元素的个数,aj表示和集合album(u)相关的参数,tj表示和集合artist(u)相关的参数,gj表示和集合genre(u)相关的参数;或者,所述模型为:
r u , i ^ = b ui + q i T ( p u + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j )
其中,AGT(u)=album(u)Uaritist(u)U|genre(u)|,agtj表示和集合AGT(u)相关的参数。
2.根据权利要求1所述的方法,其特征在于,所述模型还包括:与用户打过分的项目集合相关的参数。
3.根据权利要求1所述的方法,其特征在于,所述模型还包括:与用户已经实践的项目集合相关的参数。
4.根据权利要求1所述的方法,其特征在于,所述模型还包括:打分时间段对用户偏差的影响参数。
5.根据权利要求1所述的方法,其特征在于,所述模型还包括:打分时间段对用户的影响参数。
6.根据权利要求1所述的方法,其特征在于,所述模型还包括:(ruj-buj)的补偿参数,
其中ruj表示已知的用户u对项目j打分的打分值,buj表示用户u对项目j打分的打分值相对于平均打分值的偏差。
7.根据权利要求6所述的方法,其特征在于,所述(ruj-buj)的补偿参数的系数为(|(Rk(i;u)|+1)-1/2
其中Rk(i;u)=R(u)ISk(i),其中R(u)是用户打分值已知的项目集合,Sk(i)表示与项目i最相似的k个项目的集合。
8.根据权利要求1所述的方法,其特征在于,所述模型还包括:隐式反馈。
9.根据权利要求8所述的方法,其特征在于,所述隐式反馈的系数为(|Nk(i;u)|+1)-1/2
其中Nk(i;u)=N(u)ISk(i),其中N(u)是用户打过分的项目集合,Sk(i)表示与项目i最相似的k个项目的集合。
10.根据权利要求9所述的方法,其特征在于,所述Sk(i)是基于打分的项目相似集合、基于所述类别之间存在的关联关系的项目相似集合和基于内容的项目相似集合中的任意一个或任意二或三个的融合结果。
11.根据权利要求1所述的方法,其特征在于,所述步骤3)的所述训练是基于最小化损失函数来训练。
12.根据权利要求11所述的方法,其特征在于,所述最小化损失函数的求解是采用梯度下降法。
13.一种数字信息推荐预测模型的训练系统,包括:
接收模块,用于接收打分数据;
类别确定模块,用于确定数字信息的不同类别,每个类别中包括多个项目,其中所述类别之间存在关联关系;
建模模块,用于基于所述关联关系建立所述模型并训练获得所述模型,其中所述模型为:
r ui ^ = b ui + q i T ( p u + ( | album ( u ) | + 1 ) - 1 / 2 Σ j ∈ album ( u ) a j + ( | aritist ( u ) | + 1 ) - 1 / 2 Σ j ∈ artist ( u ) t j + ( | genre ( u ) | + 1 ) - 1 / 2 Σ j ∈ genre ( u ) g j )
其中bui=μ+bu+bi,μ是所有已知打分值的平均打分值,bu是用户u所打的打分值相对于平均打分情况的偏差,bi是关于项目i的打分值相对于平均打分的偏差,pu是和用户u相关的特征向量,qi是和项目i相关的特征向量,album(u)表示与用户u打分的专辑相关联的项目集合,artist(u)表示与用户u打分的演唱家相关联的项目集合,genre(u)表示与用户u打分的流派相关的项目集合,|*|表示*集合中元素的个数,aj表示和集合album(u)相关的参数,tj表示和集合artist(u)相关的参数,gj表示和集合genre(u)相关的参数;或者,所述模型为:
r u , i ^ = b ui + q i T ( p u + ( | AGT ( u ) | + 1 ) - 1 / 2 Σ j ∈ AGT ( u ) agt j )
其中,AGT(u)=album(u)Uaritist(u)U|genre(u)|,agtj表示和集合AGT(u)相关的参数。
CN201110339200.6A 2011-11-01 2011-11-01 一种数字信息推荐预测模型的训练方法和系统 Expired - Fee Related CN102495837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110339200.6A CN102495837B (zh) 2011-11-01 2011-11-01 一种数字信息推荐预测模型的训练方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110339200.6A CN102495837B (zh) 2011-11-01 2011-11-01 一种数字信息推荐预测模型的训练方法和系统

Publications (2)

Publication Number Publication Date
CN102495837A CN102495837A (zh) 2012-06-13
CN102495837B true CN102495837B (zh) 2014-05-07

Family

ID=46187662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110339200.6A Expired - Fee Related CN102495837B (zh) 2011-11-01 2011-11-01 一种数字信息推荐预测模型的训练方法和系统

Country Status (1)

Country Link
CN (1) CN102495837B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049479B (zh) * 2012-11-26 2016-01-13 北京奇虎科技有限公司 一种在线视频标签生成方法和系统
CN103020161B (zh) * 2012-11-26 2015-12-09 北京奇虎科技有限公司 在线视频推荐方法和推荐系统及处理系统
CN103514304B (zh) * 2013-10-29 2017-01-18 海南大学 一种项目推荐方法和装置
CN104462270B (zh) * 2014-11-24 2018-09-21 华为软件技术有限公司 一种信息推荐的方法及装置
CN105608105B (zh) * 2015-10-30 2018-11-13 浙江大学 一种基于收听上下文的音乐推荐方法
CN106951528B (zh) * 2017-03-21 2019-11-08 北京邮电大学 一种推荐信息确定方法及装置
CN107204184B (zh) * 2017-05-10 2018-08-03 平安科技(深圳)有限公司 语音识别方法及系统
CN110348930A (zh) * 2018-04-08 2019-10-18 阿里巴巴集团控股有限公司 业务对象数据处理方法、业务对象信息的推荐方法和装置
CN116112705A (zh) * 2023-01-17 2023-05-12 抖音视界有限公司 一种视频推荐方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053971A (zh) * 2009-10-30 2011-05-11 日电(中国)有限公司 用于面向排序的协同过滤的推荐方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053971A (zh) * 2009-10-30 2011-05-11 日电(中国)有限公司 用于面向排序的协同过滤的推荐方法和设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Collaborative Filtering with Temporal Dynamics;Yehuda Koren;《COMMUNICATIONS OF THE ACM》;20100430;第53卷(第4期);全文 *
Yehuda Koren.Collaborative Filtering with Temporal Dynamics.《COMMUNICATIONS OF THE ACM》.2010,第53卷(第4期),全文.
基于协同过滤的音乐推荐研究;鲁凯;《NSTL国家科技图书文献中心》;20110713;第一章第1.4-1.5节,第三章-第五章,第六章第6.2节,第七章 *
鲁凯.基于协同过滤的音乐推荐研究.《NSTL国家科技图书文献中心》.2011,第一章第1.4-1.5节,第三章-第五章,第六章第6.2节,第七章.

Also Published As

Publication number Publication date
CN102495837A (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
CN102495837B (zh) 一种数字信息推荐预测模型的训练方法和系统
Hodson et al. Mean squared error, deconstructed
CN102982107B (zh) 一种融合用户、项目和上下文属性信息的推荐系统优化方法
Bonfiglio et al. Assessing the behaviour of non-survey methods for constructing regional input–output tables through a Monte Carlo simulation
CN101694652A (zh) 一种基于极速神经网络的网络资源个性化推荐方法
CN103377250B (zh) 基于邻域的top‑k推荐方法
CN106339383B (zh) 一种搜索排序方法及系统
CN101321190B (zh) 一种异构网络中的推荐方法及推荐系统
CN104572797A (zh) 基于主题模型的个性化服务推荐系统和方法
Shin et al. Context-aware recommendation by aggregating user context
CN105574003A (zh) 一种基于评论文本和评分分析的信息推荐方法
CN106251174A (zh) 信息推荐方法及装置
CN102591915B (zh) 一种基于标签迁移学习的推荐方法
CN107451894A (zh) 数据处理方法、装置和计算机可读存储介质
CN103514255A (zh) 一种基于项目层次类别的协同过滤推荐方法
CN103353880B (zh) 一种利用相异度聚类和关联的数据挖掘方法
Yu et al. Recommendation with diversity: An adaptive trust-aware model
Chen et al. Modeling user's receptiveness over time for recommendation
CN102156747B (zh) 一种引入社会化标签的协作过滤评分预测方法及装置
CN111191099B (zh) 一种基于社交媒体的用户活动类型识别方法
Sun et al. Leveraging friend and group information to improve social recommender system
CN106209959A (zh) 基于用户需求的网络服务智能发现方法
CN102508894B (zh) 一种数字信息推荐预测模型的训练方法和系统
Muhuri et al. Analysis of the pertinence of indian women’s institutions in collaborative research
Song et al. Determining user expertise for improving recommendation performance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140507

Termination date: 20201101

CF01 Termination of patent right due to non-payment of annual fee