CN104951518A - 一种基于动态增量更新的上下文推荐方法 - Google Patents

一种基于动态增量更新的上下文推荐方法 Download PDF

Info

Publication number
CN104951518A
CN104951518A CN201510302968.4A CN201510302968A CN104951518A CN 104951518 A CN104951518 A CN 104951518A CN 201510302968 A CN201510302968 A CN 201510302968A CN 104951518 A CN104951518 A CN 104951518A
Authority
CN
China
Prior art keywords
matrix
tensor
user
mode
msub
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.)
Granted
Application number
CN201510302968.4A
Other languages
English (en)
Other versions
CN104951518B (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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN201510302968.4A priority Critical patent/CN104951518B/zh
Publication of CN104951518A publication Critical patent/CN104951518A/zh
Application granted granted Critical
Publication of CN104951518B publication Critical patent/CN104951518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于动态增量更新的上下文推荐方法,其特征在于包括以下步骤:1)根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子;2)当张量的规模发生变化时,根据新加入的用户数据构成的新张量对步骤1)得到的四类特征因子进行动态增量更新,得到新的四类特征因子;3)当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户。本发明可以广泛应用在电子商务网站的推荐系统中。

Description

一种基于动态增量更新的上下文推荐方法
技术领域
本发明涉及一种上下文推荐方法,特别是关于一种基于动态增量更新的上下文推荐方法。
背景技术
进入21世纪后,各种电子商务网站迅猛发展,同时随着各种无线技术的发展,使得移动互联网、物联网、社交网络的发展也非常迅速,全人类已经进入了“大数据”时代。在“大数据时代”“信息过载”的问题更加严重,推荐系统的研究与发展很好的解决了信息过载的问题。随着社交网络等“大数据”的发展,数据的种类越来越多,作为大数据特点之一的“种类(Variety)”越来越成为推荐系统数据的一个特点。面对如此多种类的数据类型,基于上下文感知的推荐方法可以融合用户的多种上下文信息而有利于推荐方法的准确度提升。因此,基于上下文感知的推荐方法在目前的产业界和学术界都有着不断的研究与发展。
根据中国互联网信息中心(CNNIC)发布的《第35次中国互联网络发展状况统计报告》(以下简称《报告》)显示,截至2014年12月,我国网民规模达6.49亿,全年共计新增网民3117万人。同时,《报告》中还显示,截至2014年12月,我国手机网民规模达5.57亿,较2013年增加5672万人。截至2014年12月,我国网络购物用户规模达到3.61亿,较2013年底增加5953万人。我国的网民数量有了很大的提高,同时,电子商务网站中的用户也发生了很大的数量提升,越来越多的人使用电子商务网站购买东西。根据淘宝天猫的统计,2014年11月11日,“天猫双十一”购物狂欢节单日成交额达到571亿元,其中无线客户端成交243亿,在2013年的“双十一”购物狂欢节,单日的成交额为350亿,在2012年,单日成交额为191亿。通过上述数据可以看出,互联网中的用户和商品数量在2014年取得了较快的增长,面对如此庞大的用户群体和商品,大数据的另一个特点“速度(Velocity)”对于互联网中的应用也是一个非常重要的特征。互联网中的产品越来越重视数据实时性的需求。例如,在新闻推荐系统中,数据的实时性是推荐方法最重要的要求。
目前越来越多的学者投入到推荐系统的研究中,取得了丰硕的成果,推动了推荐方法准确度的提升。现有技术公开了采用主题模型LDA(Latent Dirichlet Allocation)的方法学习用户的偏好矩阵,同时将物品的内容信息融入到LDA模型的训练中,提高了算法的精确度;另外,现有技术还公开了在基于位置信息的推荐中,将“用户—物品—地点”三者之间的关系抽象成三阶张量,采用张量分解的算法实现推荐方法,给定一个查询的地点,系统根据当前地点的事件实体与用户的位置属性进行个性化的信息推荐。在社会化推荐中,现有技术还公开一种基于信任关系的协同过滤算法,算法在计算用户相似度的时候考虑将用户的信任关系加入到相似度的计算中,将用户之间的信任程度代替协同过滤算法中的相似用户的计算,提升了算法在社会网络应用中的推荐准确度。
尽管目前越来越多的推荐算法的发展提高了推荐系统的推荐准确性,但是现有这些方法具有以下的不足:现有研究工作是基于一个假设:用户和物品的数量不变。在传统的推荐系统中,研究人员假设用户和物品的二维关系构成一个效用矩阵,采用矩阵分解或者其他方法对矩阵进行运算,然后对用户进行推荐。这种模型中,假设用户的数量是固定的,但是在实际的网站中,我们知道网站上的用户和物品的数量是不断在增加的,例如:Meetup目前已经拥有九百万的用户,但是仍然以每个月二十八万的用户数量在增长;截止2014年四季度末,微博月活跃用户达到1.76亿,全年净增4700万。在这种现实世界中的推荐网站中,当用户的数量发生增长的时候,传统的静态推荐方法需要对网站中所有用户的历史数据矩阵进行重新计算,这样会增加系统的负担,造成计算资源的浪费,这种推荐模型已经不能满足实际需求。
在传统的推荐算法研究中,学者们采用矩阵分解的方法取得了准确度方面的提升。但是大多数的算法都是静态算法,当用户或者物品数量增加的时候,不能动态的进行更新计算,算法需要对整个数据集进行重新计算。Brien等人在文章中将SVD方法用户隐含语义索引(Latent Semantic Indexing,LSI)的研究中,针对“单词—文档”矩阵中,文档数量增加的时候,采用增量SVD分解的方法避免矩阵的重新计算问题;Badrul在文章中针对大数据规模的挑战,提出了基于增量SVD分解运算的推荐算法,将原始的“用户—物品”矩阵做SVD分解得到特征矩阵,然后将特征矩阵与新用户的数据进行更新计算得到新的特征矩阵,提高了算法的运行效率。目前基于张量分解的应用中,学者们采用张量分解对数据集进行分解计算,但是当数据集内的数据发生变化的时候,原来的分解结果就不能用了,需要对变化后的数据重新进行张量分解。SunJimeng等人提出了动态的流式主成分分析方法来处理网络流数据,发掘网络数据流中的异常点,LiXi等人提出了基于动态张量子空间的图像跟踪技术。在推荐系统的研究中,基于HOSVD分解的研究工作取得了不错的进展。但是这些算法都是基于静态数据的,不适于目前的推荐系统中用户和信息迅速扩张的背景。
发明内容
针对上述问题,本发明的目的是提供一种能够降低推荐算法的处理时间,提高推荐系统实时性的基于动态增量更新的上下文推荐方法。
为实现上述目的,本发明采取以下技术方案:一种基于动态增量更新的上下文推荐方法,其特征在于包括以下步骤:
1)根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子;
2)当张量的规模发生变化时,根据新加入的用户数据构成的新张量对步骤1)得到的四类特征因子进行动态增量更新,得到新的四类特征因子;
3)当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户。
所述步骤1)根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子,具体实现过程为:
1.1)在某一电子商务网站通过历史记录提取用户信息,并根据用户信息进行建模,构建张量A,采用数学表达式表示张量代表张量A为N阶张量,张量第1阶表示用户,即包含I1个用户,张量第2阶表示物品,即包含I2个物品,张量第n阶n∈[3,...,N]表示上下文信息,即n个上下文信息包含In个不同属性;其中,用户信息包括三类,分别为用户名称、物品名称和用户上下文信息,用户上下文信息是指用户的上网时间和用户IP;
1.2)对张量A进行张量分解运算,得到四类特征因子,即:用户特征矩阵物品特征矩阵上下特征矩阵以及特征核张量gt;同时,记录对张量A的展开矩阵A(n)进行矩阵奇异值分解的特征矩阵以及右奇异值矩阵t表示推荐系统当前的时刻。
所述步骤2)采用ITF算法实时更新数据变化后的四类特征因子,具体过程为:
2.1)对用户数量或者物品数量增加后的数据,提取新用户名称、新物品名称以及上下文信息构成新的张量,记为张量F;假设张量A的大小为需要增量计算的张量为二者在第4模式合并后组成的新张量记为其中,假设I1=I2=I3=I4=2,I′4=1,那么
2.2)对张量A*按照第1模式展开得到展开矩阵进行动态增量更新计算,展开矩阵的大小为对于原始张量A的第一模式展开矩阵A(1)的矩阵SVD分解结果对展开矩阵进行动态增量更新根据如下步骤进行:
①根据公式对张量F的第一模式展开矩阵F(1)进行计算的到矩阵Y;
②对矩阵Y进行秩为R1的SVD运算:(UY,∑Y,VY)=SVD(Y,R1),得到三个特征矩阵UY,∑Y,VY
③将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( 1 ) = U t ( 1 ) U Y ;
Σ t + 1 ( 1 ) = Σ t ( t ) ;
V t + 1 ( 1 ) = V t ( 1 ) 0 0 I f V Y ;
式中,If为大小为I′N×I′N的单位矩阵,这样就可以得到张量A*按照第一模式展开得到展开矩阵在t+1时刻的特征矩阵
2.3)对张量A*按照第2模式展开得到展开矩阵进行动态增量更新计算,采用n表示张量的第n模式,在此步骤中,n=2代表第2模式,引入单位矩阵Pn,使得 A ( n ) * = [ A ( n ) | F ( n ) ] P n , 具体实现过程为:
A)引入单位矩阵G=[En|Qn](1≤n≤I1I2...In-1),En和Qn将G分为2I1I2...In-1个列向量,其中,
B)将Pn表示为: P n = [ E 1 | E 2 | ... | E I 1 I 2 ... I n - 1 | Q 1 | Q 2 | ... | Q I 1 I 2 ... I n - 1 ] T , 例如对张量A*按照第2模式展开得到展开矩阵进行列变换的矩阵:
P 2 = [ E 1 | E 2 | ... | E I 1 | Q 1 | Q 2 | ... | Q I 1 ] T ,
对张量A*按照第3模式展开得到展开矩阵进行列变换的矩阵:
P 3 = [ E 1 | E 2 | ... | E I 1 × I 2 | Q 1 | Q 2 | ... | Q I 1 × I 2 ] T ,
C)根据公式对张量F的第n模式展开矩阵F(n)进行计算的到矩阵Y;
D)对矩阵Y进行秩为Rn的SVD(矩阵奇异值分解)运算:(UY,∑Y,VY)=SVD(Y,Rn),得到三个特征矩阵UY,∑Y,VY
E)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( n ) = U t ( n ) U Y ;
Σ t + 1 ( n ) = Σ t ( n ) ;
V t + 1 ( n ) = P n T V t ( n ) 0 0 I f V Y ;
得到张量A*按照第n模式展开得到展开矩阵在t+1时刻的特征矩阵
2.4)按照步骤2.3)的方法计算张量第3阶到N-1阶展开矩阵的增量更新后的特征矩阵n∈[3,N-1];
2.5)对张量A*按照第N模式展开得到展开矩阵进行动态增量更新计算,得到更新后的特征矩阵以四阶张量为例,计算展开矩阵的动态增量更新后的特征矩阵具体的计算步骤如下:
a)需要首先对进行列变换,得到像矩阵那样的形式,以第4模式展开矩阵为例,需要对进行矩阵转置操作,记
b)根据公式对张量F的第N模式展开矩阵F(N)进行计算的到矩阵Y;
c)对矩阵Y进行秩为RN的SVD运算:(UY,∑Y,VY)=SVD(Y,RN),得到三个特征矩阵UY,∑Y,VY
d)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( N ) = V t ( N ) 0 0 I f V Y ;
Σ t + 1 ( N ) = Σ t ( N ) ;
V t + 1 ( N ) = U t ( N ) U Y ;
得到张量A*按照第N模式展开得到展开矩阵在t+1时刻的特征矩阵
2.6)分别提取张量A*按照每一模式展开得到的展开矩阵进行动态更新计算后的特征矩阵:
所述步骤3)当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户,具体实现过程为:根据得到的特征矩阵以及特征核心张量gt,按照如下的公式对张量A*进行重构:假设在构建张量的时候,用户为第1模式,物品为第2模式,上下文信息为第3模式,计算用户u在上下文环境c对物品i的评分值为Ruic=Buic,假设Ruic为用户u对物品i的喜欢程度,将对几个物品进行排序,取排名前几的物品推荐给用户。
本发明由于采取以上技术方案,其具有以下优点:1、本发明根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子;当张量的规模发生变化时,根据新加入的用户数据构成的新张量对得到的四类特征因子进行动态增量更新,得到新的四类特征因子;当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户,因此本发明通过动态增量更新的推荐方法解决目前推荐系统静态数据的不足,降低推荐方法的处理时间,提高推荐系统的实时性。2、本发明采用三阶张量模型来用于社会网络中的上下文推荐算法,采用张量分解的方法进行上下文推荐算法研究,并提出可以增量更新的高阶张量分解算法,这种算法可以在社交网站中的用户和物品等发生增长的时候,根据历史的计算结果和新用户的信息进行增量计算,避免了传统推荐算法的重计算的缺点。本发明可以广泛应用在电子商务网站的推荐系统中。
附图说明
图1是本发明的张量动态增量更新方法的流程图;
图2是本发明中以四阶张量为例的张量展开矩阵示意图。
具体实施方式
以下结合附图来对本发明进行详细的描绘。然而应当理解,附图的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。
如图1所示,本发明的基于动态增量更新的上下文推荐方法,包括以下步骤:
1、根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子,具体过程为:
1.1)在某一电子商务网站(例如淘宝网)通过历史记录提取用户信息,用户信息包括三类,分别为用户名称、物品名称和用户上下文信息(上网状态信息),其中,用户上下文信息是指用户的上网时间、用户IP地址等;并根据用户信息进行建模,构建张量,记为张量A,采用数学表达式表示张量代表张量A为N阶张量,本发明中采用张量第1阶(模式)表示用户,即包含I1个用户;采用张量第2阶(模式)表示物品,即包含I2个物品;采用张量第n阶(模式)n∈[3,...,N]表示上下文信息,即n个上下文信息包含In个不同属性。
1.2)对张量A进行张量分解运算,得到四类特征因子,即:用户特征矩阵物品特征矩阵上下特征矩阵以及特征核张量gt,同时,记录对张量A的展开矩阵A(n)进行矩阵奇异值分解的特征矩阵以及右奇异值矩阵
在这里,本发明采用t表示推荐系统当前的时刻,t+1时刻表示推荐系统的数据发生变化后,需要进行动态增量更新计算的时刻。
2、当张量的规模发生变化时,根据新加入的用户数据构成的新张量对步骤1)得到的四类特征因子进行动态增量更新,得到新的四类特征因子;本发明采用ITF算法实时更新数据变化后的四类特征因子,具体包括以下步骤:
2.1)对用户数量或者物品数量增加后的数据,提取新用户名称、新物品名称以及上下文信息构成新的张量,记为张量F,采用数学表达式表示N阶张量
在高阶张量的增量计算中,为了方便描述与理解,如图2所示,假设步骤1中张量A的大小为需要增量计算的张量为二者在第4模式合并后组成的新张量记为其中,假设I1=I2=I3=I4=2,I′4=1,那么对于图2中的张量以及矩阵,白色的部分代表步骤1中所获得的数据,即张量A以及张量A的展开矩阵;灰色的部分代表的新数据,即张量F以及张量F的展开矩阵。
2.2)对张量A*按照第1模式展开得到展开矩阵进行动态增量更新计算,展开矩阵的大小为对于原始张量A的第一模式展开矩阵A(1)的矩阵SVD分解结果对展开矩阵进行动态增量更新可以根据如下的步骤:
①根据公式对张量F的第一模式展开矩阵F(1)进行计算的到矩阵Y;
②对矩阵Y进行秩为R1的SVD(矩阵奇异值分解)运算:(UY,∑Y,VY)=SVD(Y,R1),得到三个特征矩阵UY,∑Y,VY
③将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( 1 ) = U t ( 1 ) U Y ;
Σ t + 1 ( 1 ) = Σ t ( 1 ) ;
V t + 1 ( 1 ) = V t ( 1 ) 0 0 I f V Y .
式中,If为大小为I′N×I′N的单位矩阵,在图2的例子中,If为大小为I′4×I′4的单位矩阵。这样就可以得到张量A*按照第一模式展开得到展开矩阵在t+1时刻的特征矩阵
2.3)对张量A*按照第2模式展开得到展开矩阵进行动态增量更新计算,例如附图2中的张量A*按照第2模式展开得到展开矩阵因为新加入的数据在矩阵中是不连续的,所以需要首先对进行列变换,得到像矩阵那样的形式(即展开矩阵A(1)与F(1)的合并矩阵[A(1)|F(1)]的样式进行增量更新计算)。
为了描述的一般性,以下采用n表示张量的第n模式,在此步骤中,n代表第2模式。引入单位矩阵Pn,使得具体实现过程为:
A)引入单位矩阵G=[En|Qn](1≤n≤I1I2...In-1),En和Qn将G分为2I1I2...In-1个列向量,其中
B)将Pn表示为: P n = [ E 1 | E 2 | ... | E I 1 I 2 ... I n - 1 | Q 1 | Q 2 | ... | Q I 1 I 2 ... I n - 1 ] T , 如图2所示,对张量A*按照第2模式展开得到展开矩阵进行列变换的矩阵:
P 2 = [ E 1 | E 2 | ... | E I 1 | Q 1 | Q 2 | ... | Q I 1 ] T ,
对张量A*按照第3模式展开得到展开矩阵进行列变换的矩阵:
P 3 = [ E 1 | E 2 | ... | E I 1 × I 2 | Q 1 | Q 2 | ... | Q I 1 × I 2 ] T ,
C)根据公式对张量F的第n模式展开矩阵F(n)进行计算的到矩阵Y;
D)对矩阵Y进行秩为Rn的SVD(矩阵奇异值分解)运算:(UY,∑Y,VY)=SVD(Y,Rn),得到三个特征矩阵UY,∑Y,VY
E)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( n ) = U t ( n ) U Y ; Σ t + 1 ( n ) = Σ t ( n ) ;
V t + 1 ( n ) = P n T V t ( n ) 0 0 I f V Y ;
这样就可以得到张量A*按照第n模式展开得到展开矩阵在t+1时刻的特征矩阵
2.4)按照步骤2.3)的方法计算张量第3阶到N-1阶展开矩阵的增量更新后的特征矩阵n∈[3,N-1]。
2.5)对张量A*按照第N模式展开得到展开矩阵进行动态增量更新计算,得到更新后的特征矩阵如图2以四阶张量为例,计算展开矩阵的动态增量更新后的特征矩阵具体的计算步骤如下:
a)需要首先对进行列变换,得到像矩阵那样的形式(即展开矩阵A(1)与F(1)的合并矩阵[A(1)|F(1)]的样式进行增量更新计算)。如图2中的第4模式展开矩阵为例,需要对进行矩阵转置操作。在这里,记
b)根据公式对张量F的第N模式展开矩阵F(N)进行计算的到矩阵Y;
c)对矩阵Y进行秩为RN的SVD(矩阵奇异值分解)运算:(UY,∑Y,VY)=SVD(Y,RN),得到三个特征矩阵UY,∑Y,VY
d)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
U t + 1 ( N ) = V t ( N ) 0 0 I f V Y ;
Σ t + 1 ( N ) = Σ t ( N ) ;
V t + 1 ( N ) = U t ( N ) U Y ;
这样就可以得到张量A*按照第N模式展开得到展开矩阵在t+1时刻的特征矩阵
2.6)分别提取张量A*按照每一模式动态更新后的特征矩阵:
3、当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户,具体为:
根据得到的特征矩阵以及特征核心张量gt,对张量A*进行重构,按照如下的公式:假设在构建张量的时候,用户为第1模式,物品为第2模式,上下文信息为第3模式,计算用户u在上下文环境c对物品i的评分值为Ruic=Buic,假设Ruic为用户u对物品i的喜欢程度,将对几个物品进行排序,取排名前几的物品推荐给用户。
下面通过复杂度分析比较本发明的基于动态增量更新的上下文推荐方法与传统方法的复杂度:
在本发明的动态增量更新张量分解算法(ITF算法)中,主要的资源消耗是计算矩阵SVD分解的时间,因为的大小为Rn×(Rn+I1I2...In-1In+1...I′N)。所以,对Y进行SVD计算的时间为其中,I′N为新增加张量的最后一个维度的大小(将张量要增加的维度记为张量的最后一个维度),Rn为张量分解后第n维度上特征值数量。所以,算法总体的时间复杂度为可见,算法的复杂度与新增张量的大小息息相关。在实际中,新增的用户规模往往要远小于已经存在的用户规模,所以增量计算的复杂度要小于重新计算的复杂度。
上述各实施例仅用于说明本发明,其中方法的各实施步骤等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

Claims (4)

1.一种基于动态增量更新的上下文推荐方法,其特征在于包括以下步骤:
1)根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子;
2)当张量的规模发生变化时,根据新加入的用户数据构成的新张量对步骤1)得到的四类特征因子进行动态增量更新,得到新的四类特征因子;
3)当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户。
2.如权利要求1所述的一种基于动态增量更新的上下文推荐方法,其特征在于:所述步骤1)根据电子商务网站的历史记录提取用户信息,根据用户信息构建成张量;并对构建的张量进行张量分解运算,得到四类特征因子,具体实现过程为:
1.1)在某一电子商务网站通过历史记录提取用户信息,并根据用户信息进行建模,构建张量A,采用数学表达式表示张量代表张量A为N阶张量,张量第1阶表示用户,即包含I1个用户,张量第2阶表示物品,即包含I2个物品,张量第n阶n∈[3,...,N]表示上下文信息,即n个上下文信息包含In个不同属性;其中,用户信息包括三类,分别为用户名称、物品名称和用户上下文信息,用户上下文信息是指用户的上网时间和用户IP;
1.2)对张量A进行张量分解运算,得到四类特征因子,即:用户特征矩阵物品特征矩阵上下特征矩阵以及特征核张量gt;同时,记录对张量A的展开矩阵A(n)进行矩阵奇异值分解的特征矩阵以及右奇异值矩阵t表示推荐系统当前的时刻。
3.如权利要求2所述的一种基于动态增量更新的上下文推荐方法,其特征在于:所述步骤2)采用ITF算法实时更新数据变化后的四类特征因子,具体过程为:
2.1)对用户数量或者物品数量增加后的数据,提取新用户名称、新物品名称以及上下文信息构成新的张量,记为张量F;假设张量A的大小为需要增量计算的张量为二者在第4模式合并后组成的新张量记为其中,假设I1=I2=I3=I4=2,I′4=1,那么
2.2)对张量A*按照第1模式展开得到展开矩阵进行动态增量更新计算,展开矩阵的大小为对于原始张量A的第一模式展开矩阵A(1)的矩阵SVD分解结果对展开矩阵进行动态增量更新根据如下步骤进行:
①根据公式对张量F的第一模式展开矩阵F(1)进行计算的到矩阵Y;
②对矩阵Y进行秩为R1的SVD运算:(UY,∑Y,VY)=SVD(Y,R1),得到三个特征矩阵UY,∑Y,VY
③将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
式中,If为大小为I′N×I′N的单位矩阵,这样就可以得到张量A*按照第一模式展开得到展开矩阵在t+1时刻的特征矩阵
2.3)对张量A*按照第2模式展开得到展开矩阵进行动态增量更新计算,采用n表示张量的第n模式,在此步骤中,n=2代表第2模式,引入单位矩阵Pn,使得 具体实现过程为:
A)引入单位矩阵G=[En|Qn](1≤n≤I1I2…In-1),En和Qn将G分为2I1I2…In-1个列向量,其中,
B)将Pn表示为:例如对张量A*按照第2模式展开得到展开矩阵进行列变换的矩阵:
对张量A*按照第3模式展开得到展开矩阵进行列变换的矩阵:
C)根据公式对张量F的第n模式展开矩阵F(n)进行计算的到矩阵Y;
D)对矩阵Y进行秩为Rn的SVD(矩阵奇异值分解)运算:(UY,∑Y,VY)=SVD(Y,Rn),得到三个特征矩阵UY,∑Y,VY
E)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
得到张量A*按照第n模式展开得到展开矩阵在t+1时刻的特征矩阵 
2.4)按照步骤2.3)的方法计算张量第3阶到N-1阶展开矩阵的增量更新后的特征矩阵n∈[3,N-1];
2.5)对张量A*按照第N模式展开得到展开矩阵进行动态增量更新计算,得到更新后的特征矩阵以四阶张量为例,计算展开矩阵的动态增量更新后的特征矩阵具体的计算步骤如下:
a)需要首先对进行列变换,得到像矩阵那样的形式,以第4模式展开矩阵为例,需要对进行矩阵转置操作,记
b)根据公式对张量F的第N模式展开矩阵F(N)进行计算的到矩阵Y;
c)对矩阵Y进行秩为RN的SVD运算:(UY,∑Y,VY)=SVD(Y,RN),得到三个特征矩阵UY,∑Y,VY
d)将与UY,∑Y,VY进行计算得到新的特征矩阵具体的计算公式如下:
得到张量A*按照第N模式展开得到展开矩阵在t+1时刻的特征矩阵 
2.6)分别提取张量A*按照每一模式展开得到的展开矩阵进行动态更新计算后的特征矩阵:
4.如权利要求3所述的所述的一种基于动态增量更新的上下文推荐方法,其特征在于:所述步骤3)当对用户进行物品推荐的时候,根据更新后的特征因子,计算用户与物品之间的评分值,将评分值较高的物品作为用户可能会喜欢的物品推荐给用户,具体实现过程为:
根据得到的特征矩阵以及特征核心张量gt,按照如下的公式对张量A*进行重构:假设在构建张量的时候,用户为第1模式,物品为第2模式,上下文信息为第3模式,计算用户u在上下文环境c对物品i的评分值为Ruic=Buic,假设Ruic为用户u对物品i的喜欢程度,将对几个物品进行排序,取排名前几的物品推荐给用户。
CN201510302968.4A 2015-06-04 2015-06-04 一种基于动态增量更新的上下文推荐方法 Active CN104951518B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510302968.4A CN104951518B (zh) 2015-06-04 2015-06-04 一种基于动态增量更新的上下文推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510302968.4A CN104951518B (zh) 2015-06-04 2015-06-04 一种基于动态增量更新的上下文推荐方法

Publications (2)

Publication Number Publication Date
CN104951518A true CN104951518A (zh) 2015-09-30
CN104951518B CN104951518B (zh) 2018-06-05

Family

ID=54166176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510302968.4A Active CN104951518B (zh) 2015-06-04 2015-06-04 一种基于动态增量更新的上下文推荐方法

Country Status (1)

Country Link
CN (1) CN104951518B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808680A (zh) * 2016-03-02 2016-07-27 西安电子科技大学 基于张量分解进行上下文相关的位置推荐方法
CN106649657A (zh) * 2016-12-13 2017-05-10 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN107506419A (zh) * 2017-08-16 2017-12-22 桂林电子科技大学 一种基于异质上下文感知的推荐方法
CN107818336A (zh) * 2017-10-09 2018-03-20 中国电子科技集团公司第二十八研究所 一种基于城市特定人群和关联政策的匹配推荐方法及系统
CN108563794A (zh) * 2018-05-03 2018-09-21 广东机电职业技术学院 基于高阶奇异值分解的上下文推荐方法及装置
CN108664558A (zh) * 2018-04-04 2018-10-16 山东科技大学 一种面向大规模用户的网络电视个性化推荐服务方法
CN110020130A (zh) * 2017-10-27 2019-07-16 镇江雅迅软件有限责任公司 一种基于效用矩阵的新闻推荐系统
CN110572389A (zh) * 2019-09-06 2019-12-13 湖南大学 基于增量塔克分解的在线异常检测方法、系统及存储介质
WO2020125735A1 (zh) * 2018-12-20 2020-06-25 腾讯科技(深圳)有限公司 标签推荐方法、装置、计算机设备及可读介质
CN114723591A (zh) * 2022-04-13 2022-07-08 北京邮电大学 基于增量式张量Tucker分解的教育推荐方法及系统
CN118069090A (zh) * 2024-01-08 2024-05-24 厦门理工学院 一种基于语音指令的展厅界面设计及人机交互方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016878A1 (en) * 2010-07-15 2012-01-19 Xerox Corporation Constrained nonnegative tensor factorization for clustering
US20130204883A1 (en) * 2012-02-02 2013-08-08 Microsoft Corporation Computation of top-k pairwise co-occurrence statistics
CN104331404A (zh) * 2013-07-22 2015-02-04 中国科学院深圳先进技术研究院 一种基于用户手机上网数据的用户行为预测方法和装置
CN104331411A (zh) * 2014-09-19 2015-02-04 华为技术有限公司 推荐项目的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016878A1 (en) * 2010-07-15 2012-01-19 Xerox Corporation Constrained nonnegative tensor factorization for clustering
US20130204883A1 (en) * 2012-02-02 2013-08-08 Microsoft Corporation Computation of top-k pairwise co-occurrence statistics
CN104331404A (zh) * 2013-07-22 2015-02-04 中国科学院深圳先进技术研究院 一种基于用户手机上网数据的用户行为预测方法和装置
CN104331411A (zh) * 2014-09-19 2015-02-04 华为技术有限公司 推荐项目的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邹本友等: "基于用户信任和张量分解的社会网络推荐", 《软件学报》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808680A (zh) * 2016-03-02 2016-07-27 西安电子科技大学 基于张量分解进行上下文相关的位置推荐方法
CN106649657A (zh) * 2016-12-13 2017-05-10 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN106649657B (zh) * 2016-12-13 2020-11-17 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN107506419A (zh) * 2017-08-16 2017-12-22 桂林电子科技大学 一种基于异质上下文感知的推荐方法
CN107506419B (zh) * 2017-08-16 2020-08-04 桂林电子科技大学 一种基于异质上下文感知的推荐方法
CN107818336A (zh) * 2017-10-09 2018-03-20 中国电子科技集团公司第二十八研究所 一种基于城市特定人群和关联政策的匹配推荐方法及系统
CN110020130A (zh) * 2017-10-27 2019-07-16 镇江雅迅软件有限责任公司 一种基于效用矩阵的新闻推荐系统
CN108664558B (zh) * 2018-04-04 2020-05-05 山东科技大学 一种面向大规模用户的网络电视个性化推荐服务方法
CN108664558A (zh) * 2018-04-04 2018-10-16 山东科技大学 一种面向大规模用户的网络电视个性化推荐服务方法
CN108563794B (zh) * 2018-05-03 2020-07-31 广东机电职业技术学院 基于高阶奇异值分解的上下文推荐方法及装置
CN108563794A (zh) * 2018-05-03 2018-09-21 广东机电职业技术学院 基于高阶奇异值分解的上下文推荐方法及装置
WO2020125735A1 (zh) * 2018-12-20 2020-06-25 腾讯科技(深圳)有限公司 标签推荐方法、装置、计算机设备及可读介质
US11734362B2 (en) 2018-12-20 2023-08-22 Tencent Technology (Shenzhen) Company Limited Tag recommending method and apparatus, computer device, and readable medium
CN110572389A (zh) * 2019-09-06 2019-12-13 湖南大学 基于增量塔克分解的在线异常检测方法、系统及存储介质
CN114723591A (zh) * 2022-04-13 2022-07-08 北京邮电大学 基于增量式张量Tucker分解的教育推荐方法及系统
CN114723591B (zh) * 2022-04-13 2023-10-20 北京邮电大学 基于增量式张量Tucker分解的教育推荐方法及系统
CN118069090A (zh) * 2024-01-08 2024-05-24 厦门理工学院 一种基于语音指令的展厅界面设计及人机交互方法

Also Published As

Publication number Publication date
CN104951518B (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
CN104951518B (zh) 一种基于动态增量更新的上下文推荐方法
CN105005589B (zh) 一种文本分类的方法和装置
Chen et al. Incorporate group information to enhance network embedding
CN104750798B (zh) 一种应用程序的推荐方法和装置
TWI508011B (zh) Category information providing method and device
CN103593792A (zh) 一种基于中文知识图谱的个性化推荐方法与系统
CN103325061B (zh) 一种社区发现方法和系统
CN103870507B (zh) 一种基于类目的搜索方法和装置
CN106202294B (zh) 基于关键词和主题模型融合的相关新闻计算方法及装置
CN106933821A (zh) 一种基于相似度计算的个性化职位推荐方法和系统
CN103631859A (zh) 一种面向科技项目的评审专家智能推荐方法
JP2014500988A (ja) テキストセットの照合
CN102123172B (zh) 一种基于神经网络聚类优化的Web服务发现的实现方法
CN104462383A (zh) 一种基于用户多种行为反馈的电影推荐方法
CN108573041A (zh) 基于加权信任关系的概率矩阵分解推荐方法
CN109189988A (zh) 一种视频推荐方法
CN103049470A (zh) 基于情感相关度的观点检索方法
CN105843796A (zh) 一种微博情感倾向分析方法及装置
CN113744032A (zh) 一种图书推荐的方法、相关装置、设备及存储介质
CN105654125A (zh) 一种视频相似度的计算方法
CN112767085A (zh) 商品相似性分析及商品推荐方法、装置及计算机存储介质
WO2022083596A1 (zh) 一种排序方法、装置、设备及计算机存储介质
CN110210691A (zh) 资源推荐方法、装置、存储介质及设备
Chen et al. Extracting deep semantic information for intelligent recommendation
CN104102654B (zh) 一种词汇聚类的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant