CN111144978A - 一种融合推荐的方法、系统和设备 - Google Patents
一种融合推荐的方法、系统和设备 Download PDFInfo
- Publication number
- CN111144978A CN111144978A CN201911261839.XA CN201911261839A CN111144978A CN 111144978 A CN111144978 A CN 111144978A CN 201911261839 A CN201911261839 A CN 201911261839A CN 111144978 A CN111144978 A CN 111144978A
- Authority
- CN
- China
- Prior art keywords
- products
- user
- product
- matrix
- similarity
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000004927 fusion Effects 0.000 title description 6
- 239000011159 matrix material Substances 0.000 claims abstract description 116
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 16
- 230000003542 behavioural effect Effects 0.000 claims abstract description 14
- 238000005065 mining Methods 0.000 claims abstract description 11
- 230000006399 behavior Effects 0.000 claims description 82
- 230000009471 action Effects 0.000 claims description 17
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 235000008694 Humulus lupulus Nutrition 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
- G06Q30/0625—Directed, with specific intent or strategy
- G06Q30/0629—Directed, with specific intent or strategy for generating comparisons
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种融合推荐的方法,包括获取多个用户对多个产品的行为数据;基于行为数据,确定多个产品中每两个产品之间的相似度;基于高于阈值的相似度来生成多个产品的相似产品候选集;基于行为数据,计算对于相似产品候选集中的产品的至少部分用户打分以获得稀疏的高维用户‑产品打分矩阵;通过对稀疏的高维用户‑产品打分矩阵进行矩阵分解来挖掘多个用户的隐含特征并获得分解出的低维用户‑隐含特征矩阵和低维隐含特征‑产品打分矩阵;以及将低维用户‑隐含特征矩阵和低维隐含特征‑产品打分矩阵相乘以获得高维逼近矩阵,高维逼近矩阵通过补全稀疏的高维用户‑产品打分矩阵来预测多个用户对多个产品的打分。本公开还涉及相应的系统和设备。
Description
技术领域
本公开涉及大数据计算,尤其涉及推荐系统。
背景技术
推荐系统在各种系统中广泛使用。在大数据时代,协同过滤(CF)是推荐领域广泛运用的算法。协同过滤算法通过对用户的历史行为数据进行挖掘来发现用户的偏好,再基于不同的偏好为用户推荐品味相似的商品。
协同过滤推荐算法通常可分为两类,分别是基于用户的协同过滤算法(userCF)和基于物品的协同过滤算法(itemCF)。
基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的偏好(例如,如商品购买、收藏、内容评论或分享等),并根据不同用户对相同/相似商品或内容的态度和偏好程度计算用户之间的关系,以在有相同偏好的用户间进行商品推荐。
基于物品的协同过滤算法与基于用户的协同过滤算法类似,区别在于将商品和用户互换。即,基于用户对不同物品的态度和偏好来获得物品间的关系,然后基于物品间的关系对用户进行相似物品的推荐。
ALS是交替最小二乘(alternating least squares)的简称。在推荐领域,ALS通常指使用交替最小二乘来求解的协同推荐算法。该算法通过观察到的所有用户给产品的打分,来推断每个用户的喜好并向用户推荐适合的产品。从协同过滤的分类来说,ALS算法属于user-item CF,即一种混合CF,因其同时考虑了User和Item两个方面
本领域中需要效率更高、结果更准确的推荐系统。
发明内容
本公开的一方面涉及一种融合推荐的方法,包括获取多个用户对多个产品的行为数据;基于所述行为数据,确定所述多个产品中每两个产品之间的相似度;基于高于阈值的相似度来生成所述多个产品的相似产品候选集;基于所述行为数据,计算对于所述相似产品候选集中的产品的至少部分用户打分以获得稀疏的高维用户-产品打分矩阵;通过对所述稀疏的高维用户-产品打分矩阵进行矩阵分解来挖掘所述多个用户的隐含特征并获得分解出的低维用户-隐含特征矩阵和低维隐含特征-产品打分矩阵;以及将所述低维用户-隐含特征矩阵和所述低维隐含特征-产品打分矩阵相乘以获得高维逼近矩阵,所述高维逼近矩阵通过补全所述稀疏的高维用户-产品打分矩阵来预测所述多个用户对所述多个产品的打分。
根据一示例性实施例,该方法还包括挖掘所述多个用户对所述多个产品的历史行为数据,以获得所述多个用户对每个产品发生行为的频次,其中所述多个产品中每两个产品之间的相似度基于用户对该两个产品发生行为的频次来计算。
根据进一步的示例性实施例,所述挖掘还包括获得一个或多个用户行为序列,并且其中所述多个产品中每两个产品之间的相似度还基于所述一个或多个用户行为序列来确定。
根据进一步的示例性实施例,所述多个产品中每两个产品之间的相似度还基于所述一个或多个用户行为序列来计算进一步包括:基于所述一个或多个用户行为序列确定衰减因子,所述衰减因子包含要计算相似度的该两个产品在所述一个或多个用户行为序列中的时序信息,其中所述衰减因子被设置成当该两个产品在用户行为序列中是正时序时提高该两个产品的相似度,而当该两个产品在用户行为序列中是逆时序时降低该两个产品的相似度;以及基于所述衰减因子来计算该两个产品之间的相似度。
根据一示例性实施例,基于高于阈值的相似度来生成所述多个产品的相似产品候选集:将低于阈值的相似度置为零。
根据进一步的示例性实施例,进一步包括:基于所述行为数据,计算对于所述相似产品候选集中的产品的至少部分用户打分包括对所述相似产品候选集中的每个产品,累计用户对该产品的一个或多个类型的行为的打分。
根据进一步的示例性实施例,用户对产品的一个或多个类型的行为的打分进一步基于以下至少一者:每个类型的行为的权重以及产生该行为的时间与当前进行推荐的时间之间的时间差。
根据一示例性实施例,该方法还包括将所述高维逼近矩阵作为推荐产品集提供给推荐引擎;以及当用户对产品产生行为时,触发推荐引擎以所述推荐产品集中该用户对所述多个产品的打分的排序来为该用户推荐产品。
本公开的其他方面还涉及相应的系统和设备。
附图说明
图1示出了根据本公开一方面的基于ALS+CF融合的推荐系统的架构图。
图2示出了根据一示例的用户行为序列的示图。
图3示出了根据本公开一示例的相似度列表的示图。
图4示出了经过滤的相似度列表的示图。
图5示出了根据本公开一示例的用户-产品打分矩阵的示图。
图7给出了使用ALS算法进行矩阵分解的一个直观解释。
图8示出了根据本公开一方面的基于ALS+CF融合来提供推荐产品集的方法的流程图。
具体实施方式
为了更好地理解本发明的技术方案,下面结合附图对本申请的实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例的罗列。基于本公开中描述的实施例,本领域普通技术人员在没有付出创造习惯劳动的情况下所获得的所有其他变化例都属于本申请的保护范围。
图1示出了根据本公开一方面的推荐系统100的架构图。该推荐系统100例如可基于ALS+CF融合。如所可见,根据一示例性而非限定性实施例,系统100自底向上可以分为大致四层。最底下可以是用户数据清洗层102,其挖掘用户(user)对产品(item)的历史行为数据序列,并在对其进行清洗后将其提供给候选集召回层104。如所可知,本文中所称的“产品”并不被限定于实体产品或者商品,而是可以涵盖能够体现用户共同喜好的任何实体或虚拟的物品或服务。
候选集召回层104可以基于例如但不限于itemCF算法。根据一示例性实施例,候选集召回层104可以基于历史行为数据,来计算产品间的相似度,并通过相似度排序来生成相似产品候选集以提供给矩阵分解召回层106。
根据一示例性实施例,矩阵分解召回层106可以基于相似产品候选集,进行用户-产品的打分。然后,矩阵分解召回层106可以基于例如ALS算法等进行矩阵分解,以计算出推荐产品集以提供给推荐引擎108。
推荐引擎108可以接收用户行为,基于推荐产品集来进行在线服务。例如,推荐引擎108可以向该用户提供其可能感兴趣的推荐产品的经排行列表。
与常规仅基于itemCF算法计算产品a与其他产品b、c、……、d之间的相似度,再基于计算喜欢(例如,点击、浏览、加购物车、购买、咨询、比价、点赞等)产品a的用户对其他产品b、c、……、d的兴趣并相应地向该用户推荐其较为可能感兴趣的其他产品的方案相比,图1的实施例的系统100通过将itemCF算法与ALS算法相结合而在提高召回率的同时还大大提升了效率。另一方面,由于通过itemCF算法提供相似产品候选集,显著减少了ALS矩阵分解的计算量。
根据一示例性而非限定性实施例,用户数据清洗层102可以挖掘用户对产品的历史行为数据序列。用户对产品的行为可以包括但不限于点击、浏览、加购物车、购买、咨询、比价、点赞等等中的一者或多者。对于产品i可以设Ni以累计一个或多个用户对该产品发生行为的频次。
图2示出了根据一示例的用户行为序列200的示图。如所可见,用户1的行为序列可包括例如点击产品1,浏览产品1,加购产品1,点击产品2,浏览产品2,购买产品1,……。用户2的行为序列可包括例如点击产品2,加购产品2,点击产品1,加购产品1,浏览产品2,购买产品1,……。用户3、用户4等等各自具有自己的行为序列。
根据一示例性实施例,若产品i累计被所有用户共购买n0次,点击n1次,浏览n2次,加购物车n3次……,则产品i的行为发生频次Ni=n0+n1+n2+n3+…。根据一替换实施例,也可以仅考虑产品i的购买行为发生频次,从而Ni=n0。
用户数据清洗层102可以将一个或多个产品的行为发生频次连同一个或多个用户的行为序列提供给候选集召回层104。根据一示例性实施例,用户的行为序列可以取某个时间窗口上的行为序列。该时间窗口可以是例如1小时、3小时、12小时、24小时、3天、7天等等。本公开在此方面不受限定。
根据一示例性而非限定性实施例,候选集召回层104在获得一个或多个产品(例如,共n个)的行为发生频次之后,可以计算产品两两之间的相似度。例如,相似度可以根据以下式(1)来计算:
其中,i和j代表两个不同的产品,SIM(i,j)代表两者的相似度,Ni和Nj分别表示第i个产品和第j个产品的行为发生频次,Ni∩Nj表示对第i个产品发生行为的用户中有多少个用户也对第j个产品发生行为。
根据至少一个替换实施例,相似度还可以根据以下式(2)来计算:
式(2)中与以上式(1)类似的变量和符号仍表示类似含义。另外,s表示时序上j离i的位置跳数,若i早于j,则根据一示例s=1,反之若i晚于j,则根据一示例s=-1。,α表示一可调节的衰减因子。根据一示例性实施例,在|i–j|<=T时,α>1;而在|i–j|>T时,α=0。即,在j与i之间的跳数绝对值小于或等于阈值T时,i与j之间的正时序(即,i早于j)导致i与j之间的相似度提高,i与j之间的逆时序(即,i晚于j)导致i与j之间的相似度降低。而当j与i之间的跳数绝对值大于阈值T时,则i与j之间的相似度为0。如所可知,s的值并不被限定于1和-1,而是可以使用其他数值,只要其能够体现正时序时的相似度提高和逆时序时的相似度降低即可。本领域普通技术人员可以根据场景和需要来调节s的值。
根据一示例性实施例,考虑两个用户a和b。要基于用户a对产品的行为来为用户b推荐产品。此时,可以考虑用户a的行为序列的时序信息。例如,对于用户a而言,其购物顺序是产品i→j→k,则当用户b已经购买过产品j时,再为其推荐产品i是不合适的。
衰减因子α的引入使得当i早于j(正时序,即表明其他用户在购买了产品i之后很可能还会接着购买j)数跳以内时,产品j与产品i的相似度被提高。反之,当i晚于j(逆时序,表明其他用户在购买了产品i之后不太可能还会接着购买j)数跳以内时,产品j与产品i的相似度被降低。
衰减因子α是可调节的。α越大,表明衰减程度越高;反之,α越小,则表明衰减程度越低。当α=1时,表明不衰减,即式(2)与式(1)相同。
根据进一步的实施例,考虑多个用户a、b、c……以及d。要基于用户a、b、c……对产品的行为来为用户d推荐产品。此时,根据至少一些实施例,可以仅考虑用户a、b、c……中任一者的行为序列的时序信息。
替换地,根据其他实施例,可以仅考虑用户的购买行为序列以简化计算。从而在确定任何两个产品i和j的相似性时,可以考虑用户a、b、c……中每一者关于产品i和j的购买行为序列。
当考虑多个用户的多种行为的序列时,本公开的方案可以采用例如简单求和、加权求和或其他将多个用户关于产品i和j的购买行为序列纳入考虑的办法等。
在确定产品之间的相似度之后,候选集召回层104可以生成产品相似度列表。图3示出了根据本公开一示例的相似度列表300的示图,其可以为矩阵的形式。现有技术中,产品相似度一般为对称的矩阵,即SIM(i,j)=SIM(j,i)。与之形成对比的是,根据本公开的方案确定的SIM(i,j)很有可能因为时序原因而与SIM(j,i)不相等。
候选集召回层104可以对相似度列表进行过滤,以确定例如相似度高于阈值的那些产品,以作为相似产品候选集以提供给矩阵分解召回层106。
根据一示例,例如可以取相似度阈值为0.7。图4示出了经过滤的相似度列表400的示图。如所可见,图4的相似度列表400与图3的相似度列表300相比,保留了相似度大于或等于相似度阈值的项,而相似度小于阈值的项被滤除(例如,置为0),从而矩阵变得更加稀疏。
矩阵分解召回层106从例如候选集召回层104获得经过滤相似度列表(例如,如图4中所示,或是包含该数据信息的其他格式),并将其作为相似产品候选集。矩阵分解召回层106基于相似产品候选集来进行用户-产品打分。通过候选集召回层104的处理,有效地减少了后续计算量,从而使得模型更为高效。另一方面,通过候选集召回层104的处理,为矩阵分解召回提供了更好的候选集,使得矩阵分解召回能够获得更好的召回率和后续的推荐效果。
根据一示例性实施例,用户-产品打分可以基于以下式(3):
其中,score(u,i)为用户u对产品i的打分。act表示用户u对产品i的行为,包括但不限于例如点击、浏览、加购物车、购买、咨询、比价、点赞等等中的一者或多者。Wact表示行为的权重,例如,购买的权重可以是最高的,而加购物车的权重高于浏览和点击,等等。T表示当前进行推荐的时间,而tact表示用户产生历史行为的时间。如所可见,score(u,i)为用户u对产品i作出的各种行为的打分的总和,其中对产品i的各种行为的打分因行为的权重Wact以及产生行为的时间tact与当前进行推荐的时间之间的差量而变。时间差越大,则该行为对打分的贡献越低。
尽管以上给出了计算用户-产品打分的一种示例性具体优选计算方式,但如本领域技术人员可理解,本公开并不被限定于此,而是可以涵盖反映动作权重和/或时间差的各种打分方式和函数。例如,根据一替换实施例,还可以对打分进行归一化处理。
图5示出了根据本公开一示例的用户-产品打分矩阵R 500的示图。如图所示,矩阵R的各行表示不同的用户,各列表示不同的产品。第u行第i列的元素Rui表示用户u对产品i的打分。打分可以如以上式(3)所描述地或其他类似地反映动作权重和/或时间差的各种打分方式和函数来作出。
回到图1,矩阵分解召回层106可对用户-产品打分矩阵进行矩阵分解。用户-产品打分矩阵R可被分解成R=P×Q,其中P是用户的隐含特征,而Q则是产品在隐含特征上的映射矩阵,其代表产品的特征。
然而,用户-产品打分矩阵R通常是近似低秩的,即其中有许多元素是缺失的。因此,在推荐系统中,为了预测用户对所有物品的打分(即,矩阵补全),可以采用ALS算法。ALS旨在找到两个低维矩阵X和Y,以来逼近用户-产品打分矩阵R,其中X可称为用户偏好特征矩阵,而Y可称为产品特征矩阵。
RMSE(均方根误差)可被用来评估预测的效果,如式(4)中所示:
其中N为所有求和的项数。本公开也可以采用其他损失函数来作为评估指标。
ALS矩阵分解算法的具体计算为本领域普通技术人员所熟知,故而在此不再赘述,以免湮没本公开的重点。
图6示出了根据本公开一方面的使用ALS算法进行矩阵分解来获得以逼近R的示意图600。如图所示,用户-产品打分矩阵R中有许多缺失的元素,故而需要预测这些缺失的元素(矩阵补全)。通过ALS算法,得到了用户偏好特征矩阵X和可称为产品特征矩阵Y,并得到其乘积作为对用户-产品打分矩阵R的补全/预测。
图7给出了使用ALS算法进行矩阵分解的一个直观解释。如所可见,计算出多个用户对多个电影的打分。在该打分矩阵中,行代表不同用户,而列代表不同的电影。
通过ALS算法,可基于该打分矩阵计算出两个小矩阵:第一个小矩阵X的行代表不同用户,而列代表用户的隐含特征。在图7的示例中,将这些隐含特征解说为用户的性别、年龄、性格、教育程度、收入、爱好等特征。然而,应当理解,这仅是为了使得本领域普通技术人员能够对打分矩阵分解有直观的认识,而并不构成任何限定。实际上,隐含特征不一定是直观的和/或可解释的,而可能是更抽象的、不易解释的特征。
然而,由于这样得到的是近似矩阵因此必然存在误差。通过使用损失函数(例如,基于以上结合式(4)描述的RMSE(均方根误差)),便可以通过循环优化的方式来更新这两个小矩阵X和Y并重新计算损失函数。当损失函数的值收敛(或者其他终止条件,例如到达循环次数阈值)时,便可以得到与最优解对应的小矩阵X和Y以及相应的最优近似矩阵
矩阵分解召回层106可以将逼近矩阵作为推荐产品集以提供给推荐引擎108。当有用户对某个产品作出行为(例如,点击、浏览、加购物车、购买、咨询、比价、点赞)时,推荐引擎108可以接收该用户行为,基于推荐产品集来进行在线服务。例如,推荐引擎108可以查询逼近矩阵中关于该用户的行,并对该行中关于该用户对各个产品的打分(即,相应列的元素)进行排序。基于该排序,推荐引擎108可以为该用户推荐其很可能会喜欢或感兴趣的产品。
图8示出了根据本公开一方面的基于ALS+CF融合来提供推荐产品集的方法800的流程图。
方法800可包括在框802,挖掘一个或多个用户对一个或多个产品的历史行为数据,以获得用户对每个产品发生行为的频次以及一个或多个用户行为序列。
在框804,方法800可包括基于用户对每个产品发生行为的频次计算产品之间的相似度,以生成相似度列表。根据优选实施例,产品之间的相似度还可以基于该一个或多个用户行为序列来计算,以反映用户行为序列的时序信息。
在框806,方法800可包括对该相似度列表进行过滤以获得相似产品候选集。对相似度列表进行过滤可以基于相似度阈值。
在框808,方法800可包括基于相似产品候选集来进行用户-产品打分以获得用户-产品打分矩阵。用户-产品打分反映每个用户对每个产品的所有行为。根据优选实施例,用户-产品打分反映不同行为的不同权重。根据优选实施例,用户-产品打分反映产生行为与当前进行推荐的时间差。
在框810,方法800可包括对用户-产品打分矩阵进行矩阵分解以获得逼近矩阵作为推荐产品集。推荐产品集可被直接使用或输出/提供给其他模块。例如,推荐产品集可被提供给推荐引擎。从而当有用户对某个产品产生行为时,推荐引擎被触发以查询推荐产品集并为该用户作出产品推荐。例如,基于用户的行为,推荐引擎可以查询用户-产品打分矩阵以确定预测的该用户对各个产品的打分。推荐引擎还可对这些打分进行排序,并基于排序来为该用户推荐产品。例如,所推荐的可以是打分较高(例如,高于阈值)的那些产品等。
根据一些实施例,系统可以跟踪推荐的转化率和/或用户反馈,并用其来优化推荐引擎。
在其他方面,本公开的方法可由各种装置来实现。此类装置的各个模块可被实现为硬件,诸如逻辑块、电路模块、通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、门或晶体管逻辑、硬件组件等或其任何组合。在进一步的方面,此类装置的各个模块也可被实现为软件、或者硬件与软件的组合(诸如,固件)。本公开在此方面并不受限定。
本公开的技术通过在推荐系统中考虑用户行为的时序,显著提高了推荐的准确率和召回率,推荐的产品能够更好地符合用户需要/喜好,从而带来更好的用户体验。另一方面,通过将CF与ALS融合,减少了矩阵分解的计算量,从而能够更高效地训练模型。
本领域普通技术人员应理解,本发明的有益效果并非由任何单个实施例来全部实现。各种组合、修改和替换均为本领域普通技术人员在本发明的基础上所易于明了。
此外,除非特别指出,否则术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B”或类似短语旨在表示任何自然的可兼排列。即,短语“X采用A或B”藉由以下实例中的任何实例得到满足:X采用A;X采用B;X采用A和B两者。术语“连接”与“耦合”可表示相同含义,即两组件之间直接的或经由一个或多个居间组件的间接耦合。另外,本申请和所附权利要求书中所用的冠词“一”和“某”一般应当被理解为表示“一个或多个”,除非另外特别声明或从上下文中可以清楚地看出是指单数形式。
各个方面或特征以可包括数个设备、组件、模块及类似物等的系统的形式来呈现。应理解的时,各种系统可以包括附加的设备、组件、模块及类似物等,和/或可以并不包括所讨论的实施例中的设备、组件、模块及类似物的全体。
结合本文中所公开的实施例描述的各种说明性逻辑、逻辑块、模块和电路可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、门或晶体管逻辑、硬件组件。但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。以上结合方法描述的实施例可以通过处理器和与之耦合的存储器来实现,其中处理器可被配置成执行前述任何方法的任何步骤或其组合。
结合本文中的实施例描述的方法或算法的步骤和/或动作可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。例如,以上结合各个方法描述的实施例可以通过存储有计算机程序代码的计算机可读介质来实现,其中该计算机程序代码在由处理器/计算机执行时执行前述任何方法的任何步骤或其任何组合。
本公开中通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上等效的方案均被本公开所覆盖。此外,本文中任何内容无论是否在权利要求书中被述及,均并非旨在贡献给公众。
Claims (20)
1.一种融合推荐的方法,包括:
获取多个用户对多个产品的行为数据;
基于所述行为数据,确定所述多个产品中每两个产品之间的相似度;
基于高于阈值的相似度来生成所述多个产品的相似产品候选集;
基于所述行为数据,计算对于所述相似产品候选集中的产品的至少部分用户打分以获得稀疏的高维用户-产品打分矩阵;
通过对所述稀疏的高维用户-产品打分矩阵进行矩阵分解来挖掘所述多个用户的隐含特征并获得分解出的低维用户-隐含特征矩阵和低维隐含特征-产品打分矩阵;以及
将所述低维用户-隐含特征矩阵和所述低维隐含特征-产品打分矩阵相乘以获得高维逼近矩阵,所述高维逼近矩阵通过补全所述稀疏的高维用户-产品打分矩阵来预测所述多个用户对所述多个产品的打分。
2.如权利要求1所述的方法,其特征在于,还包括挖掘所述多个用户对所述多个产品的历史行为数据,以获得所述多个用户对每个产品发生行为的频次,其中
所述多个产品中每两个产品之间的相似度基于用户对该两个产品发生行为的频次来计算。
3.如权利要求2所述的方法,其特征在于,所述挖掘还包括获得一个或多个用户行为序列,并且其中所述多个产品中每两个产品之间的相似度还基于所述一个或多个用户行为序列来确定。
4.如权利要求3所述的方法,其特征在于,所述多个产品中每两个产品之间的相似度还基于所述一个或多个用户行为序列来计算进一步包括:
基于所述一个或多个用户行为序列确定衰减因子,所述衰减因子包含要计算相似度的该两个产品在所述一个或多个用户行为序列中的时序信息,其中所述衰减因子被设置成当该两个产品在用户行为序列中是正时序时提高该两个产品的相似度,而当该两个产品在用户行为序列中是逆时序时降低该两个产品的相似度;以及
基于所述衰减因子来计算该两个产品之间的相似度。
5.如权利要求1所述的方法,其特征在于,基于高于阈值的相似度来生成所述多个产品的相似产品候选集包括:
将低于阈值的相似度置为零。
6.如权利要求1所述的方法,其特征在于,进一步包括:基于所述行为数据,计算对于所述相似产品候选集中的产品的至少部分用户打分包括对所述相似产品候选集中的每个产品,累计用户对该产品的一个或多个类型的行为的打分。
7.如权利要求6所述的方法,其特征在于,用户对产品的一个或多个类型的行为的打分进一步基于以下至少一者:每个类型的行为的权重以及产生该行为的时间与当前进行推荐的时间之间的时间差。
8.如权利要求1所述的方法,其特征在于,还包括:
将所述高维逼近矩阵作为推荐产品集提供给推荐引擎;以及
当用户对产品产生行为时,触发推荐引擎以所述推荐产品集中该用户对所述多个产品的打分的排序来为该用户推荐产品。
9.一种融合推荐的系统,包括:
候选集召回层,用于基于多个用户对多个产品的行为数据,确定所述多个产品中每两个产品之间的相似度,并基于高于阈值的相似度来生成所述多个产品的相似产品候选集;
矩阵分解召回层,用于基于所述行为数据,计算对于所述相似产品候选集中的产品的至少部分用户打分以获得稀疏的高维用户-产品打分矩阵,通过对所述稀疏的高维用户-产品打分矩阵进行矩阵分解来挖掘所述多个用户的隐含特征并获得分解出的低维用户-隐含特征矩阵和低维隐含特征-产品打分矩阵,以及将所述低维用户-隐含特征矩阵和所述低维隐含特征-产品打分矩阵相乘以获得高维逼近矩阵,所述高维逼近矩阵通过补全所述稀疏的高维用户-产品打分矩阵来预测所述多个用户对所述多个产品的打分。
10.如权利要求9所述的系统,其特征在于,还包括用户数据清洗层,用于挖掘所述多个用户对所述多个产品的历史行为数据,以获得所述多个用户对每个产品发生行为的频次,其中
所述多个产品中每两个产品之间的相似度基于用户对该两个产品发生行为的频次来计算。
11.如权利要求10所述的系统,其特征在于,所述用户数据清洗层还用于获得一个或多个用户行为序列作为所述行为数据,并且其中所述候选集召回层确定所述多个产品中每两个产品之间的相似度进一步基于所述一个或多个用户行为序列。
12.如权利要求11所述的系统,其特征在于,所述候选集召回层进一步用于:
基于所述一个或多个用户行为序列确定衰减因子,所述衰减因子包含要计算相似度的该两个产品在所述一个或多个用户行为序列中的时序信息,其中所述衰减因子被设置成当该两个产品在用户行为序列中是正时序时提高该两个产品的相似度,而当该两个产品在用户行为序列中是逆时序时降低该两个产品的相似度;以及
基于所述衰减因子来计算该两个产品之间的相似度。
13.如权利要求9所述的系统,其特征在于,所述候选集召回层进一步用于:
将低于阈值的相似度置为零。
14.如权利要求9所述的系统,其特征在于,矩阵分解召回层进一步用于基于相似产品候选集来进行用户-产品打分包括对所述相似产品候选集中的每个产品,累计用户对该产品的一个或多个类型的行为的打分。
15.如权利要求14所述的系统,其特征在于,用户对产品的一个或多个类型的行为的打分进一步基于以下至少一者:每个类型的行为的权重以及产生该行为的时间与当前进行推荐的时间之间的时间差。
16.如权利要求9所述的系统,其特征在于,还包括:
推荐引擎,其中所述高维逼近矩阵作为推荐产品集被提供给所述推荐引擎;并且
所述推荐引擎用于当用户对产品产生行为时被触发以所述推荐产品集中该用户对所述多个产品的打分的排序来为该用户推荐产品。
17.一种融合推荐的设备,包括:
存储器;以及
耦合到所述存储器的处理器,其被配置成:
获取多个用户对多个产品的行为数据;
基于所述行为数据,确定所述多个产品中每两个产品之间的相似度;
基于高于阈值的相似度来生成所述多个产品的相似产品候选集;
基于所述行为数据,计算对于对于所述相似产品候选集中的产品的至少部分用户打分以获得稀疏的高维用户-产品打分矩阵;
通过对所述稀疏的高维用户-产品打分矩阵进行矩阵分解来挖掘所述多个用户的隐含特征并获得分解出的低维用户-隐含特征矩阵和低维隐含特征-产品打分矩阵;以及
将所述低维用户-隐含特征矩阵和所述低维隐含特征-产品打分矩阵相乘以获得高维逼近矩阵,所述高维逼近矩阵通过补全所述稀疏的高维用户-产品打分矩阵来预测所述多个用户对所述多个产品的打分。
18.如权利要求17所述的设备,其特征在于,所述处理器还被配置成挖掘所述多个用户对所述多个产品的历史行为数据,以获得所述多个用户对每个产品发生行为的频次,其中
所述多个产品中每两个产品之间的相似度基于用户对该两个产品发生行为的频次来计算。
19.如权利要求18所述的设备,其特征在于,所述处理器还被配置成获得一个或多个用户行为序列,并且其中所述多个产品中每两个产品之间的相似度还基于所述一个或多个用户行为序列来确定,包括:
基于所述一个或多个用户行为序列确定衰减因子,所述衰减因子包含要计算相似度的该两个产品在所述一个或多个用户行为序列中的时序信息,其中所述衰减因子被设置成当该两个产品在用户行为序列中是正时序时提高该两个产品的相似度,而当该两个产品在用户行为序列中是逆时序时降低该两个产品的相似度;以及
基于所述衰减因子来计算该两个产品之间的相似度。
20.如权利要求17所述的设备,其特征在于,所述处理器还被配置成对所述相似产品候选集中的每个产品,累计用户对该产品的一个或多个类型的行为的打分,其中用户对产品的一个或多个类型的行为的打分进一步基于以下至少一者:每个类型的行为的权重以及产生该行为的时间与当前进行推荐的时间之间的时间差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261839.XA CN111144978A (zh) | 2019-12-10 | 2019-12-10 | 一种融合推荐的方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261839.XA CN111144978A (zh) | 2019-12-10 | 2019-12-10 | 一种融合推荐的方法、系统和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111144978A true CN111144978A (zh) | 2020-05-12 |
Family
ID=70517942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261839.XA Pending CN111144978A (zh) | 2019-12-10 | 2019-12-10 | 一种融合推荐的方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144978A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114881689A (zh) * | 2022-04-26 | 2022-08-09 | 驰众信息技术(上海)有限公司 | 基于矩阵分解的楼宇推荐方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN108647996A (zh) * | 2018-04-11 | 2018-10-12 | 中山大学 | 一种基于Spark的个性化推荐方法及系统 |
CN109389447A (zh) * | 2017-08-04 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 项目推荐方法、项目推荐系统以及计算机可读介质 |
CN109740064A (zh) * | 2019-01-18 | 2019-05-10 | 北京化工大学 | 一种融合矩阵分解和挖掘用户项目信息的cf推荐方法 |
US20190236680A1 (en) * | 2018-01-29 | 2019-08-01 | Selligent, Inc. | Systems and Methods for Providing Personalized Online Content |
-
2019
- 2019-12-10 CN CN201911261839.XA patent/CN111144978A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN109389447A (zh) * | 2017-08-04 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 项目推荐方法、项目推荐系统以及计算机可读介质 |
US20190236680A1 (en) * | 2018-01-29 | 2019-08-01 | Selligent, Inc. | Systems and Methods for Providing Personalized Online Content |
CN108647996A (zh) * | 2018-04-11 | 2018-10-12 | 中山大学 | 一种基于Spark的个性化推荐方法及系统 |
CN109740064A (zh) * | 2019-01-18 | 2019-05-10 | 北京化工大学 | 一种融合矩阵分解和挖掘用户项目信息的cf推荐方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114881689A (zh) * | 2022-04-26 | 2022-08-09 | 驰众信息技术(上海)有限公司 | 基于矩阵分解的楼宇推荐方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gu et al. | Hierarchical user profiling for e-commerce recommender systems | |
CN108629665B (zh) | 一种个性化商品推荐方法和系统 | |
Bag et al. | An integrated recommender system for improved accuracy and aggregate diversity | |
CN113256367B (zh) | 用户行为历史数据的商品推荐方法、系统、设备及介质 | |
Bauer et al. | Recommender systems based on quantitative implicit customer feedback | |
CN111815415A (zh) | 一种商品推荐方法、系统及设备 | |
Zhang et al. | Prediction uncertainty in collaborative filtering: Enhancing personalized online product ranking | |
CN113763095B (zh) | 信息推荐方法、装置和模型训练方法、装置 | |
CN109389442A (zh) | 商品推荐方法及装置、存储介质及电子终端 | |
EP2860672A2 (en) | Scalable cross domain recommendation system | |
Yeo et al. | Conversion prediction from clickstream: Modeling market prediction and customer predictability | |
CN104317835A (zh) | 视频终端的新用户推荐方法 | |
US11321724B1 (en) | Product evaluation system and method of use | |
CN112541806B (zh) | 一种基于异质信息网络的推荐方法及装置 | |
Singh et al. | An improved similarity calculation method for collaborative filtering-based recommendation, considering neighbor’s liking and disliking of categorical attributes of items | |
US20150120432A1 (en) | Graph-based ranking of items | |
Aljunid et al. | IntegrateCF: Integrating explicit and implicit feedback based on deep learning collaborative filtering algorithm | |
Fakhfakh et al. | Deep learning-based recommendation: Current issues and challenges | |
Liang et al. | Collaborative filtering based on information-theoretic co-clustering | |
Zheng et al. | Graph-convolved factorization machines for personalized recommendation | |
Zheng et al. | Incorporating price into recommendation with graph convolutional networks | |
Srilakshmi et al. | Two-stage system using item features for next-item recommendation | |
Guo et al. | Price-aware enhanced dynamic recommendation based on deep learning | |
Zhang et al. | A unified approach to designing sequence-based personalized food recommendation systems: tackling dynamic user behaviors | |
CN113850654A (zh) | 物品推荐模型的训练方法、物品筛选方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |
|
RJ01 | Rejection of invention patent application after publication |