CN108520450B - 基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 - Google Patents
基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 Download PDFInfo
- Publication number
- CN108520450B CN108520450B CN201810233045.1A CN201810233045A CN108520450B CN 108520450 B CN108520450 B CN 108520450B CN 201810233045 A CN201810233045 A CN 201810233045A CN 108520450 B CN108520450 B CN 108520450B
- Authority
- CN
- China
- Prior art keywords
- user
- article
- feature
- data
- local
- 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.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims abstract description 68
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000000354 decomposition reaction Methods 0.000 claims description 25
- 238000009499 grossing Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000035945 sensitivity Effects 0.000 claims description 8
- 230000000737 periodic effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000017105 transposition Effects 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统,属于推荐技术领域。本发明从用户信息中被忽略的隐式反馈信息入手,通过局部低秩矩阵近似原理,使用隐式反馈信息优化特征提取模型,提取用户与物品的单维多维偏好向量;并且基于用户和物品的偏好信息,给与一个更加准确的用户评分推荐方式。本发明的推荐系统,包括数据引擎模块、多维特征提取模块、评分预测模块、协同推荐模块和信息更新模块;通过各个模块的协同工作,提取出用户在不同环境下的多维隐性因子,提高整个系统推荐结果的准确性和个性化,具有很高的通用性,适用于现有的大多数推荐场景。
Description
技术领域
本发明属于推荐技术领域,更为具体的讲,涉及一种基于隐式反馈信息的局部低秩矩阵近似的推荐技术。
背景技术
互联网技术的发展,带来了诸多便利,却也给我们出了许多难题。其中最著名的就是“信息过载”问题。由于互联网的便利性,我们所有的信息都在互联网上进行交互,所有的数据都存储在云端数据库,导致网络数据几何倍数增加,这导致了人们很难在互联网上找到自己需要的信息。
搜索引擎是一项重要的发明,它能让人们从海量的数据中根据关键字检索匹配信息,一定程度上缓和了数据量过大对用户造成的压力。然而它忽略了不同用户对信息的需求并不完全相同,迫使用户还需要从搜索结果中找寻感兴趣的内容。推荐系统在这种场合应运而生,它能根据用户的选择,自主选择提供用户可能感兴趣的内容,更为智能,也是未来的发展方向。这其中最为重要的内容,就是推荐算法的应用。基于推荐算法的推荐系统不仅能根据用户特点预测用户喜好,还能根据用户需求的变化,智能的筛选进行推荐的物品,信息,删去用户不需要,不关心的内容,不但能完美迎合用户需求,带来舒适的用户体验,也节省了用户大量的时间,极大的增加了用户的黏着性。所以人们越来越需求功能完善,更人性化的推荐系统,这也促进了推荐算法的进一步发展。以此为契机,各种不同原理的推荐算法层出不穷,带来了更好的推荐结果,更先进的技术理论,更好的应用前景。到目前为止,已经有许许多多基于不同推荐算法的推荐系统,真正的便利着用户的生活,比如京东的物品推荐,Amazon的图书推荐等等。这些功能完善的推荐系统基于的正是各种主流的推荐算法。
虽然,当前已有的主流的推荐算法已经相当成熟,但是都忽略了用户的变化性。用户并不是一个偏好不会变化的数据点,而是一个有着自主意识,难以捉摸的对象。每个用户的兴趣爱好,关注点都是会随着时间的推移,环境的改变等等因素进行变化的。这些变化是隐藏在用户的正常数据中,难以发现的。如果仅仅基于用户的历史数据进行分析而忽略了这些隐性因子,很可能导致推荐结果变化速度慢于用户的爱好变化速度,导致推荐结果滞后;更有甚者,可能会将这些用户的新的偏好,作为环境噪音,处理掉、忽略掉了。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统,通过分析用户在不同环境下表现不同所导致的的隐藏特征,提高整个推荐系统结果的准确性和个性化,能适应现有的大多推荐场景,有很强的适应性和进步空间。
本发明的基于隐式反馈信息的局部低秩矩阵近似的推荐方法,包括下列步骤:
提取待推荐用户的用户—物品数据,所述用户—物品数据为待推荐用户的对物品的历史操作信息;
基于当前用户—物品数据构建用户—物品关系数据表,其中用户—物品关系数据表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户和物品关系的紧密程度,例如表内每项数据值的大小,代表了对应用户对物品评分值;
基于当前用户—物品关系数据表构建用户—物品关系矩阵,对用户—物品关系矩阵进行奇异值分解(SVD),得到全局用户-特征矩阵和全局物品-特征矩阵;其中全局用户-特征矩阵的每一列表示不同的用户,表中存放的分解结果(表项内容)即为用户对此特征的敏感度;全局物品-特征矩阵中的每一行表示在当前维度下的特征数,其中特征数为经验预设值,每一列表示不同的物品,表中存放的分解结果即为物品对此特征的切合度;
随机选取多个锚点,基于全局用户-特征矩阵和全局物品-特征矩阵得到对应每个锚点的锚点用户、锚点物品;
对每个锚点用户,基于锚点用户与非锚点用户间的相似度,在全局用户-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部用户-特征矩阵,其中局部用户-特征矩阵的每一列表示不同的用户,表项内容表示用户对此特征的敏感度;
对每个锚点物品,基于锚点物品与非锚点物品间的相似度,在全局物品-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部物品-特征矩阵,其中局部物品-特征矩阵中的每一行表示在当前维度下的特征数,每一列表示不同的物品,表项内容表示物品对此特征的切合度;
基于关于相似度的核平滑函数设置各局部用户-特征矩阵的用户向量权重,设置各局部物品-特征矩阵的物品向量权重,每个用户对应一个用户向量权重,每个物品对应一个物品向量权重;
通过上述处理后可得到多维用户特征数据表和多维物品特征数据表,维数对应预设的锚点数。
构建用户—物品预测表,其中表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户对物品的预测值:若用户购买当前物品,则用户对物品的预测值为用户和物品关系的紧密程度的真实数据(例如用户对购买物品的实际评分值);若用户未购买当前物品,则用户对物品的预测值为用户和物品的切合度,其中切合度为:根据同一锚点下的用户向量权重和物品向量权重的乘积得到用户-物品偏好权重矩阵,更具同一锚点下的局部用户-特征矩阵与局部物品-特征矩阵的乘积,得到局部用户-物品特征矩阵;基于用户-物品偏好权重,对所有锚点下的局部用户-物品特征矩阵进行加权累加,得到用户和物品的切合度。
优选的,计算切合度的计算方式还可以是,用表示用户u对物品i的切合度,则其中(Kf)ui表示锚点f下的用户u对物品i的偏好权重,表示锚点f下的用户u对物品i的局部用户-特征,表示锚点f下的的用户u对物品i的局部物品-特征,μ表示用户—物品关系数据表的所有表项的均值,u表示用户—物品关系数据表中的对应用户u的表项的均值,i表示用户—物品关系数据表中的对应物品i的表项的均值。
根据用户—物品预测表和用户对物品的购买记录,筛选出前Krec个最大预测值的未购买物品构成用户推荐表并向用户推荐,其中Krec为预设的物品推荐数量。
优选的,所述用户推荐表中,按用户对物品的预测值降序排序。
进一步的,为了实现对用户推荐表的自适应更新,基于预设的监测时段,在生成用户推荐表的监测时段内,当用户购买的物品在推荐表中靠后的位置(推荐表中按用户对物品的预测值降序排序),即存在购买的物品在推荐表中的位置在后Thr1%(Thr1为预设阈值)中,时,则将当前用户的在状态标记为更新状态,若监测时段内,状态为更新状态的用户达到预设的数量上限则基于当前的用户—物品数据重新生成新的用户推荐表。
本发明的推荐方法究从用户信息中被忽略的隐式反馈信息入手,通过局部低秩矩阵近似原理,使用隐式反馈信息优化特征提取模型,提取用户与物品的单维多维偏好向量;并且基于用户和物品的偏好信息,给与一个更加准确的用户评分推荐方式。
本发明的基于隐式反馈信息的局部低秩矩阵近似的推荐系统,包括:
数据引擎模块,提取待推荐用户的用户—物品数据(用户对物品的历史操作信息,如浏览、评价、购买等),构建用户—物品关系数据表并存储到推荐系统的存储单元中;其中用户—物品关系数据表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表内每项数据值的大小,代表了对应用户和物品关系的紧密程度;
多维特征提取模块,通过数据引擎模块提取当前用户—物品关系数据表,构建用户—物品关系矩阵,并通过多维奇异值分解算法对用户—物品关系矩阵进行矩阵分解操作,构建不同维度下的用户特征数据表和物品特征数据表并通过数据引擎模块存入推荐系统的存储单元中或传递给评分预测模块;
其中,构建不同维度下的用户特征数据表和物品特征数据表的具体过程为:
基于预置的特征数,对用户—物品关系矩阵进行奇异值分解,得到全局用户-特征矩阵和全局物品-特征矩阵;
其中,全局用户-特征矩阵的每一列表示不同的用户,每一行表示不同的特征,表项内容为各用户对应不同特征的分解结果,即用户对特征的敏感度;
全局物品-特征矩阵中的每一行表示不同的特征,每一列表示不同的物品,表项内容为不同物品对应不同特征的分解结果,即物品对特征的切合度;
随机选取多个锚点,基于全局用户-特征矩阵和全局物品-特征矩阵得到对应每个锚点的锚点用户、锚点物品;
对每个锚点用户,基于锚点用户与非锚点用户间的相似度,在全局用户-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部用户-特征矩阵,其中局部用户-特征矩阵的每一列表示不同的用户,表项内容表示用户对此特征的敏感度;
对每个锚点物品,基于锚点物品与非锚点物品间的相似度,在全局物品-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部物品-特征矩阵,其中局部物品-特征矩阵中的每一行表示在当前维度下的特征数,每一列表示不同的物品,表项内容表示物品对此特征的切合度;
基于关于相似度的核平滑函数设置各局部用户-特征矩阵的用户向量权重,设置各局部物品-特征矩阵的物品向量权重,每个用户对应一个用户向量权重,每个物品对应一个物品向量权重;
基于所有锚点下的局部用户-特征矩阵、局部物品-特征矩阵得多维用户特征数据表和多维物品特征数据表,其中维数等同于锚点数;
同时,多维特征提取模块还将用户向量权重、物品向量权重通过数据引擎模块存入推荐系统的存储单元中或传递给评分预测模块;
评分预测模块,通过数据引擎模块或多维特征获取模块获取多维用户特征数据表、多维物品特征数据表以及用户向量权重、物品向量权重,构建用户—物品预测表并通过数据引擎模块存入推荐系统的存储单元中或直接传递给协同推荐模块;
其中用户—物品预测表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户对物品的预测值:若用户购买当前物品,则用户对物品的预测值为用户和物品关系的紧密程度的真实数据;若用户未购买当前物品,则用户对物品的预测值为用户和物品的切合度,其中切合度为:根据同一锚点下的用户向量权重和物品向量权重的乘积得到用户-物品偏好权重矩阵,更具同一锚点下的局部用户-特征矩阵与局部物品-特征矩阵的乘积,得到局部用户-物品特征矩阵;基于用户-物品偏好权重,对所有锚点下的局部用户-物品特征矩阵进行加权累加,得到用户和物品的切合度;
协同推荐模块,通过数据引擎模块或评分预测模块获取当前用户—物品预测表,以及通过数据引擎模块提取用户购买记录表,筛选出前Krec个最大预测值的未购买物品构成用户推荐表并通过数据引擎模块存入推荐系统的存储单元中,其中Krec为预设的物品推荐数量。优选的,对用户进行类型区分,将满足预设条件(基于需求设置,具体方式不限)的用户设置为核心用户,仅向核心用户推荐生成的对应推荐列表。
信息更新模块,用户采集更新的用户—物品数据,并通过数据引擎模块存入推荐系统的存储单元中。
进一步的,周期更新推荐表的自适应启动方式为:数据引擎模块基于监测周期内统计新产生的用户-物品数据,统计当前推荐表中的用户为待更新状态的数量,若大于或等于预设阈值,则基于当前的所有用户-物品数据重新启动多维特征提取模块、评分预测模块和协同推荐模块,生成新的推荐表,其中待更新状态表示监测周期内核心用户购买的物品出现在其推荐表的后Thr1%中,其中Thr1为预设阈值。
本发明的推荐系统,通过各个模块的协同工作,提取出用户在不同环境下的多维隐性因子,提高整个系统推荐结果的准确性和个性化,具有很高的通用性,适用于现有的大多数推荐场景。
综上所述,本发明的推荐方法及系统具有以下有益效果:
(1)本发明针对数据稀疏性问题,通过用户新数据引入以及预测结果填充,使得数据量大幅增加,通过结合预测数据与真实数据,能更准确的找到用户的兴趣爱好,提供针对用户变化的最新推荐物品,进而使得推荐服务能够动态反映用户需求的变化情况;
(2)本发明能通过用户数据的反馈调整多维隐性因子的权重,通过改变不同维数的权重,缩小历史数据对预测结果的影响,从而发现用户偏好的变化,使得推荐内容更具时效性,更有吸引力;
(3)本发明对用户的负担小,由于本系统收集和采用了用户的隐式反馈数据,不需要增加用户对系统的显式操作,可以从有限的反馈信息中挖掘出关系数据信息,提高系统效率,减轻用户负担;
(4)本发明所采用的预测模型具有较好的通用性,能应用于网络电视节目,电子商务,网上购物,网络直播等多种环境的推荐。
附图说明
图1是本发明基于隐式反馈信息的局部低秩矩阵近似的推荐系统原理图;
图2是本发明基于隐式反馈信息的局部低秩矩阵近似的推荐系统流程图;
图3是多维SVD分解提取用户物品特征矩阵的原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
实施例
参见图1,本发明的基于隐式反馈信息的局部低秩矩阵近似的推荐系统,包括:包括数据引擎模块、多维特征提取模块、评分预测模块、协同推荐模块、信息更新模块,本实施例中,优选为推荐系统设置本地数据库,作为本发明推荐系统的数据存储单元,其存储有用户对物品的历史操作信息(如浏览、评价、购买等等)的用户—物品数据,以及用于存储各模块得到的中间数据或结果数据。
参见图2,其各模块的工作流程具体为:
数据引擎模块,负责连接数据库并存储需要存储的数据。包括从数据库中提取所有用户—物品数据,构建用户—物品关系数据表,并将该表存储到数据库;接受来自多维特征提取模块的多维用户特征矩阵、多维物品特征矩阵,并存储到数据库中;接受来自评分预测模块的用户—物品预测表并存储在数据库中;接受协同推荐模块生成的推荐表并将其存储在数据库中;
其中,用户—物品关系数据表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表内每项数据值的大小,代表了对应用户和物品关系的紧密程度;
用户—物品预测表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表内每项数据值的大小,根据用户是否购买,有不同含义:如果用户购买过该物品,则代表了对应用户和物品紧密程度的真实数据,否则为对应用户和物品紧密程度的预测值;
推荐表中的每一行代表一位用户,根据每个用户不同,按照切合度从高到低排列推荐给该用户的所有物品。
多维特征提取模块,通过数据引擎模块从数据库中提取用户—物品关系数据表,构建用户—物品关系矩阵,采用多维奇异值分解(SVD)算法对用户—物品关系矩阵进行矩阵分解操作,得到等同于维数张数的用户特征数据表、等同于维数张数的物品特征数据表,将这两张表通过数据引擎模块存入数据库。从而将高维原始数据压缩到低维数据上进行计算,减少系统开销,同时又能在不同维度上体现用户不同的特征状况,达到提高协同推荐模块计算出的切合度的准确性。
其中用户特征数据表的每一行代表每位用户,每一列代表不同的用户特征维度;物品特征数据表的每一行代表一件物品,每一列代表不同的物品特征维度;
在本实施例中,多维SVD分解的原理如图3所示,对于任何用户—物品关系矩阵Rm×n可以分解为多个矩阵,其分解表达式如下:
其中,m表示用户数,n表示物品数,f表示维度标识符,F表示维度数(取决于预设的锚点数),u表示用户标识符,i表示商品标识符,表示在维度f下的用户偏好的影响程度,d表示特征标识符,D表示预设的特征数,yi表示每一个评价过当前物品的用户的正反馈隐式信息,Ri表示用户评价过的物品的集合。表示在维度f下的局部用户-特征矩阵,下标为矩阵的行和列标识,分别对应用户和特征标识;表示在维度f下的局部物品-特征矩阵,下标为矩阵的行和列标识,分别对应特征和物品标识。
其中,多维SVD分解的具体实现过程为:
(1)提取用户和物品的特征向量。
对用户—物品关系矩阵进行SVD分解,将其定义为全局SVD分解。分解完成后,得到用户和物品的特征向量,分别定义为全局用户-特征矩阵和全局物品-特征矩阵统称为全局特征向量。其中SVD分解是矩阵分解中相当基础的一种分解方法,本实施例中,全局SVD分解可通过负梯度搜索局部最优的方式将用户—物品关系矩阵降低到预设的维数,从而得到满足需要的全局特征向量。负梯度搜索局部最优中用到的参数有:特征数量,用来规定最终特征向量的维度;迭代次数,最大迭代数量;学习速率,用来确定每轮迭代的步长;正则项系数,防止过拟合引入参数的系数。
(2)构建局部低秩矩阵。
在全局用户-特征矩阵和全局物品-特征矩阵中,分别随机选取F个锚点,并获取各锚点的近似全局特征向量,基于用户、物品的各锚点的近似全局特征向量构建F个局部用户-特征矩阵和局部物品-特征矩阵从而完成多维用户特征数据表、多维物品特征数据表的构建。
用f表示所选取的锚点,则选取的每一个点对应的用户为锚点用户,对应的每一个物品为锚点物品。为了通过锚点向四周选取近似向量组成局部低秩矩阵,需要计算用户相似度和物品相似度。本实施例中,优选反余弦相似度作为衡量标准,其公式如下:
其中a、b表示用户或物品的全局特征向量,例如a为锚点用户的全局特征向量,则b为全局用户-特征矩阵中需要判断的用户特征向量。通过相似度来选取锚点四周近似的全局特征向量来组成对应的局部低秩矩阵,其中锚点与非锚点用户/物品间的相似度sim的大小表示用户间的相似程度,sim的值越大,表示用户或物品间的行为相差较大,反之则表示所选用户或物品的行为表现接近。通过设定相似度阈值来选取锚点四周近似的全局特征向量,从而构建对应当前锚点的局部低秩矩阵,得到局部用户-特征矩阵、局部物品-特征矩阵,其中局部用户-特征矩阵的大小与全局用户-特征矩阵相同,例如除了筛选出来的用户锚点的近似点,矩阵其他位置直接赋值0;局部物品-特征矩阵的大小与全局物品-特征矩阵相同,例如除了筛选出来的物品锚点的近似点,矩阵其他位置直接赋值0。在筛选锚点的近似点时,当Sim小于或等于相似度阈值时,则认为对应的非锚点为当前锚点的近似点,其中优选的相似度阈值设置为0.8。
(3)设置局部低秩矩阵的权重。
基于相似度构建核平滑函数,通过核平滑函数的计算结果设置局部低秩矩阵的权重。可选的核平滑函数有三角核平滑,均匀核平滑,EPANECHNIKOV核平滑,高斯核平滑等。本实施例中,优选的核平滑函数为EPANECHNIKOV核平滑,用E_kernel表示基于用户/物品相似度的EPANECHNIKOV核平滑函数,则其表达式为:其中Width表示预设的平滑参数,取值大于0,也称作带宽,本实施例中,Width的优选值设置为0.8。
基于核平滑函数的计算结果得到各局部低秩矩阵的向量权重,对于局部用户-特征矩阵,将对应每个用户的向量权重记为对于局部物品-特征矩阵,将对应每个物品的向量权重记为其中,分别表示对应锚点f的锚点用户和锚点物品,u、i表示非锚点用户的用户、物品。K(·)表示核平滑函数,其中下标为锚点区分符,即K(·)=E_kernel。
本发明中,通过权重的筛选作用能将与锚点特征差异过大的信息弱化甚至消除,从而降维得到用户和物品的局部特征向量,再将其带入带权隐式反馈SVD分解当中。
本实施例中,基于用户—物品关系数据表的表项为用户对物品的评分,对带权隐式反馈SVD分解的具体过程进行描述:
步骤(1):定义分解模型的损失函数为:
其中,Rui表示用户对物品的真实评分;f表示锚点(纬度)维度标识;F表示分割的维度数(即锚点数);U(f)表示提取的f维下的局部用户-特征矩阵,V(f)表示提取的f维下的局部物品-特征矩阵,Ωf表示第f维局部低秩矩阵中的所有用户物品对信息,K为核平滑函数,(af,bf)为第f个维度,分别表示f维度下锚点用户af、锚点物品bf的一维核平滑近似,即 表示f维下的锚点用户, 表示f维下的锚点物品;bu表示用户u的平均评分,ci表示物品i的平均得分,Ri表示用户评分过物品i的集合,表示特征标识符,μ表示所有评分的平均分,λ表示防止过拟合的正则化因子,符号(·)T表示矩阵转置。
步骤(2):设置学习速率α,用梯度下降法训练分解模型,降低损失函数。利用梯度计算公式计算,使损失函数下降速度最快。
步骤(3):重复迭代直至满足迭代收敛条件,将得到的不同维度下的局部用户-特征矩阵,局部物品-特征矩阵,以及对应的向量权重传递给数据引擎模块(存储到数据库中)或直接传递给评分预测模块。其中迭代收敛条件为:损失函数降至最小值或迭代次数达到上限,损失函数降至最小值的常用判断依据为最近两次迭代的所对应的损失函数的变化不大。
其中梯度下降方法具体为:
对用户维度f的迭代更新为:
对物品维度f的迭代更新为:
对正反馈隐式信息的迭代更新为:
每轮迭代需要对F维用户和物品,隐式反馈信息都进行更新,其初始化方式为随机初始化。
其中β是一个F维的矩阵,存储不同维度用户物品匹配训练的匹配度,是一个轴对称矩阵,βfw即表示f维用户与w维物品切合度的权重。
评分预测模块,当所有维度计算完成之后,根据所有维度的局部用户-特征矩阵、局部物品-特征矩阵,以及对应的向量权重,进行用户对未购买物品的切合度评测(即生成用户对未购买物品的预测值),并将结果存贮在用户—物品预测表中,同时将用户—物品预测表传递给数据引擎模块(存储到数据库中)和协同推荐模块。
其中,用户对未购买物品的切合度的具体处理方式为:按照预测公式计算用户u与物品i的切合度: 其中(Kf)ui表示锚点的偏好权重,即即二维核平滑的结果,表示维度f下的局部用户-特征矩阵的元素,表示维度f下的局部用户-特征矩阵的元素,F表示维度数,即锚点数,D表示特征数量,μ表示所有评分的平均分,bu表示用户u的平均评分,ci表示物品i的平均得分,μ、bu和ci也可称为切合度的修正值,在具体实现时,也可直接基于计算
在评分预测模块建立的用户—物品预测表中,每一行代表每位用户,每一列代表一个物品,表中有真实购买记录的,评分为真实数据,与用户—物品数据表中相同;没有购买记录的,就利用切合度计算公式预测用户对物品的切合度即评分预测值,并将结果记录在表中。最后通过数据引擎模块将用户—物品预测表记录在数据库中。
协同推荐模块,根据当前的用户—物品预测表信息,为每个用户生成不同的个性化的推荐表。其中,推荐表的每一行代表每位用户,按照切合度降序存储适合用户的物品信息,即将切合度前Krec(预设推荐数)个最大的切合度物品构成用户的推荐表,并将推荐表通过数据引擎模块保存在数据库中,当需要向相互发送推荐消息时,将各用户的推荐表发送给对应的用户。同时向信息更新模块发送周期更新启动消息,当然,也可以设置为:当数据引擎模块收到推荐表信息后,向信息更新模块发送周期更新启动消息,从而启动信息更新模块。
信息更新模块,收集数据库中用户的购买评价记录,填充用户—物品关系数据表,也可以将新的用户-物品数据实时发送给数据引擎模块,完成对数据库中的用户-物品数据的实时更新。如果新信息数量过大,则重新计算模型,对用户推荐方向进行改变。
其中,判断是否重新计算模型的具体操作为:
(1)设置时间间隔T,在上次推荐结束后(例如收到周期更新启动消息后),经过T后,将T时间内新产生的用户-物品数据更新到用户—物品关系数据表,然后进行模型误差计算。
(2)模型误差计算方法为:对任意用户i,如果用户购买的物品在推荐表的后Thr1%(经验预设值,优选值为50%)物品中,则将该用户标记为待更新状态。统计所有用户的状态,当待更新用户的数量占总用户的Thr2%(经验预设值,优选值为10%)以上时,则重新训练模型,即启动数据引擎模块提取当前数据库的所有用户—物品数据,构建用户—物品关系数据表,经多维特征提取模块、评分预测模块和协同推荐模块处理后,生成新的推荐表。
上述过程优选由信息更新模块完成,例如,协同推荐模块发送给息更新模块的周期更新启动消息可以直接是生成的推荐表,收到后,统计预设统计周期T内的待更新状态状态,当待更新用户的数量占总用户的Thr2以上时,则向数据引擎模块发送重新训练模型的通知消息。
综上,本发明的推荐方式具有以下优点:
(a)降维可以去除数据的部分噪,得到的相似度更准确;
(b)特征数量一般远小于用户个数和物品个数,具有更高的效率;
(c)通过不同维度挖掘用户的新特征,准确发现用户的新爱好方向,并通过权重控制推荐方向,更具实时性,针对性;
(d)结合隐式反馈信息可以更准确的衡量用户偏好,得到更准确的结果。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (9)
1.基于隐式反馈信息的局部低秩矩阵近似的推荐方法,其特征在于,包括下列步骤:
提取待推荐用户的用户—物品数据,所述用户—物品数据为待推荐用户的对物品的历史操作信息;
基于当前用户—物品数据构建用户—物品关系数据表,其中用户—物品关系数据表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户和物品关系的紧密程度;
基于当前用户—物品关系数据表构建用户—物品关系矩阵,基于预置的特征数,对用户—物品关系矩阵进行奇异值分解,得到全局用户-特征矩阵和全局物品-特征矩阵;
其中,全局用户-特征矩阵的每一列表示不同的用户,每一行表示不同的特征,表项内容为各用户对应不同特征的分解结果,即用户对特征的敏感度;
全局物品-特征矩阵中的每一行表示不同的特征,每一列表示不同的物品,表项内容为不同物品对应不同特征的分解结果,即物品对特征的切合度;
随机选取多个锚点,基于全局用户-特征矩阵和全局物品-特征矩阵得到对应每个锚点的锚点用户、锚点物品;
对每个锚点用户,基于锚点用户与非锚点用户间的相似度,在全局用户-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部用户-特征矩阵,其中局部用户-特征矩阵的每一列表示不同的用户,表项内容表示用户对此特征的敏感度;
对每个锚点物品,基于锚点物品与非锚点物品间的相似度,在全局物品-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部物品-特征矩阵,其中局部物品-特征矩阵中的每一行表示在当前维度下的特征数,每一列表示不同的物品,表项内容表示物品对此特征的切合度;
基于关于相似度的核平滑函数设置各局部用户-特征矩阵的用户向量权重,设置各局部物品-特征矩阵的物品向量权重,每个用户对应一个用户向量权重,每个物品对应一个物品向量权重;
通过上述处理后可得到多维用户特征数据表和多维物品特征数据表,维数对应预设的锚点数;
构建用户—物品预测表,其中表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户对物品的预测值:若用户购买当前物品,则用户对物品的预测值为用户和物品关系的紧密程度的真实数据;若用户未购买当前物品,则用户对物品的预测值为用户和物品的切合度,其中切合度为:根据同一锚点下的用户向量权重和物品向量权重的乘积得到用户-物品偏好权重矩阵,根据同一锚点下的局部用户-特征矩阵与局部物品-特征矩阵的乘积,得到局部用户-物品特征矩阵;基于用户-物品偏好权重,对所有锚点下的局部用户-物品特征矩阵进行加权累加,得到用户和物品的切合度;
根据用户—物品预测表和用户对物品的购买记录,筛选出前Krec个最大预测值的未购买物品构成用户推荐表并向用户推荐,其中Krec为预设的物品推荐数量。
2.如权利要求1所述的方法,其特征在于,将计算用户和物品的切合度的计算方式替换为替换方式A或B;
其中,替换方式A为:
用表示用户u对物品i的切合度,则其中(Kf)ui表示锚点f下的用户u对物品i的偏好权重,表示锚点f下的用户u对物品i的局部用户-特征,表示锚点f下的的用户u对物品i的局部物品-特征,μ表示用户—物品关系数据表的所有表项的均值,bu表示用户—物品关系数据表中的对应用户u的表项的均值,ci表示用户—物品关系数据表中的对应物品i的表项的均值,F表示锚点数;
替换方式B为:
3.如权利要求1或2所述的方法,其特征在于,所述用户推荐表中,按用户对物品的预测值降序排序。
4.如权利要求1所述的方法,其特征在于,基于预设的监测时段,在生成用户推荐表的监测时段内,当用户购买的物品在推荐表中靠后的位置时,则将当前用户的在状态标记为更新状态,若监测时段内,状态为更新状态的用户达到预设的数量上限则基于当前的用户—物品数据重新生成新的用户推荐表。
5.如权利要求1所述的方法,其特征在于,锚点与非锚点间的相似度计算方式为:反余弦相似度。
6.基于隐式反馈信息的局部低秩矩阵近似的推荐系统,包括:
数据引擎模块,提取待推荐用户的用户—物品数据,构建用户—物品关系数据表并存储到推荐系统的存储单元中;
其中,用户—物品关系数据表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户和物品关系的紧密程度;
多维特征提取模块,通过数据引擎模块提取当前用户—物品关系数据表,构建用户—物品关系矩阵,并通过多维奇异值分解算法对用户—物品关系矩阵进行矩阵分解操作,构建不同维度下的用户特征数据表和物品特征数据表并通过数据引擎模块存入推荐系统的存储单元中或传递给评分预测模块;
其中,构建不同维度下的用户特征数据表和物品特征数据表的具体过程为:
基于预置的特征数,对用户—物品关系矩阵进行奇异值分解,得到全局用户-特征矩阵和全局物品-特征矩阵;
其中,全局用户-特征矩阵的每一列表示不同的用户,每一行表示不同的特征,表项内容为各用户对应不同特征的分解结果,即用户对特征的敏感度;
全局物品-特征矩阵中的每一行表示不同的特征,每一列表示不同的物品,表项内容为不同物品对应不同特征的分解结果,即物品对特征的切合度;
随机选取多个锚点,基于全局用户-特征矩阵和全局物品-特征矩阵得到对应每个锚点的锚点用户、锚点物品;
对每个锚点用户,基于锚点用户与非锚点用户间的相似度,在全局用户-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部用户-特征矩阵,其中局部用户-特征矩阵的每一列表示不同的用户,表项内容表示用户对此特征的敏感度;
对每个锚点物品,基于锚点物品与非锚点物品间的相似度,在全局物品-特征矩阵中获取满足相似度阈值的近似特征向量,构建当前锚点的局部物品-特征矩阵,其中局部物品-特征矩阵中的每一行表示在当前维度下的特征数,每一列表示不同的物品,表项内容表示物品对此特征的切合度;
基于关于相似度的核平滑函数设置各局部用户-特征矩阵的用户向量权重,设置各局部物品-特征矩阵的物品向量权重,每个用户对应一个用户向量权重,每个物品对应一个物品向量权重;
基于所有锚点下的局部用户-特征矩阵、局部物品-特征矩阵得多维用户特征数据表和多维物品特征数据表,其中维数等同于锚点数;
同时,多维特征提取模块还将用户向量权重、物品向量权重通过数据引擎模块存入推荐系统的存储单元中或传递给评分预测模块;
评分预测模块,通过数据引擎模块或多维特征获取模块获取多维用户特征数据表、多维物品特征数据表以及用户向量权重、物品向量权重,构建用户—物品预测表并通过数据引擎模块存入推荐系统的存储单元中或直接传递给协同推荐模块;
其中用户—物品预测表中的每一行代表一位用户的数据信息,每一列代表一件物品的数据信息,表项内容表示用户对物品的预测值:若用户购买当前物品,则用户对物品的预测值为用户和物品关系的紧密程度的真实数据;若用户未购买当前物品,则用户对物品的预测值为用户和物品的切合度,其中切合度为:根据同一锚点下的用户向量权重和物品向量权重的乘积得到用户-物品偏好权重矩阵,更具同一锚点下的局部用户-特征矩阵与局部物品-特征矩阵的乘积,得到局部用户-物品特征矩阵;基于用户-物品偏好权重,对所有锚点下的局部用户-物品特征矩阵进行加权累加,得到用户和物品的切合度;
协同推荐模块,通过数据引擎模块或评分预测模块获取当前用户—物品预测表,以及通过数据引擎模块提取用户购买记录表,筛选出前Krec个最大预测值的未购买物品构成用户推荐表并向用户推荐,同时通过数据引擎模块存入推荐系统的存储单元中,其中Krec为预设的物品推荐数量;
信息更新模块,用户采集更新的用户—物品数据,并通过数据引擎模块存入推荐系统的存储单元中。
7.如权利要求6所述的系统,将评分预测模块中计算用户和物品的切合度的计算方式替换为替换方式A或B;
其中,替换方式A为:
用表示用户u对物品i的切合度,则其中(Kf)ui表示锚点f下的用户u对物品i的偏好权重,表示锚点f下的用户u对物品i的局部用户-特征,表示锚点f下的的用户u对物品i的局部物品-特征,μ表示用户—物品关系数据表的所有表项的均值,bu表示用户—物品关系数据表中的对应用户u的表项的均值,ci表示用户—物品关系数据表中的对应物品i的表项的均值,F表示锚点数;
替换方式B为:
8.如权利要求6或7所述的系统,其特征在于,系统周期更新推荐表的自适应启动方式为:数据引擎模块基于监测周期内统计新产生的用户-物品数据,统计当前推荐表中的用户为待更新状态的数量,若大于或等于预设阈值,则基于当前的所有用户-物品数据重新启动多维特征提取模块、评分预测模块和协同推荐模块,生成新的推荐表,其中待更新状态表示监测周期内核心用户购买的物品出现在其推荐表的后Thr1%中,其中Thr1为预设阈值。
9.如权利要求6所述的系统,对用户进行类型区分,将满足预设条件的用户设置为核心用户,仅向核心用户推荐生成的对应推荐列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810233045.1A CN108520450B (zh) | 2018-03-21 | 2018-03-21 | 基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810233045.1A CN108520450B (zh) | 2018-03-21 | 2018-03-21 | 基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108520450A CN108520450A (zh) | 2018-09-11 |
CN108520450B true CN108520450B (zh) | 2021-09-24 |
Family
ID=63433829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810233045.1A Active CN108520450B (zh) | 2018-03-21 | 2018-03-21 | 基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108520450B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801270B (zh) * | 2018-12-29 | 2021-07-16 | 北京市商汤科技开发有限公司 | 锚点确定方法及装置、电子设备和存储介质 |
CN109785062B (zh) * | 2019-01-10 | 2021-09-24 | 电子科技大学 | 一种基于协同过滤模型的混合神经网络推荐系统 |
CN110020910B (zh) * | 2019-01-23 | 2022-05-24 | 创新先进技术有限公司 | 对象推荐方法和装置 |
CN110427568A (zh) * | 2019-07-25 | 2019-11-08 | 成都品果科技有限公司 | 一种基于信息的协同注意力推介系统、方法和装置 |
CN114631277A (zh) * | 2019-10-31 | 2022-06-14 | 诺基亚技术有限公司 | 用于提供反馈的装置和方法 |
CN112866806B (zh) * | 2019-11-28 | 2022-09-09 | 武汉瓯越网视有限公司 | 一种识别目标团体的方法及系统 |
CN111612572A (zh) * | 2020-04-28 | 2020-09-01 | 北京交通大学 | 一种基于推荐系统的自适应局部低秩矩阵近似建模方法 |
CN111931043B (zh) * | 2020-07-23 | 2023-09-29 | 重庆邮电大学 | 一种科技资源的推荐方法及系统 |
CN113204713B (zh) * | 2021-07-05 | 2021-10-08 | 南京信息工程大学 | 一种大规模商品销售中核心用户和核心物品的挖掘方法 |
CN114139055A (zh) * | 2021-11-30 | 2022-03-04 | 中国建设银行股份有限公司 | 一种特征信息的确定方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956089A (zh) * | 2016-05-03 | 2016-09-21 | 桂林电子科技大学 | 一种针对具备项目的分类信息的推荐方法 |
CN106022869A (zh) * | 2016-05-12 | 2016-10-12 | 北京邮电大学 | 一种消费对象的推荐方法及装置 |
CN107730306A (zh) * | 2017-09-26 | 2018-02-23 | 云南大学 | 基于多维偏好模型的电影评分预测与偏好估计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030020A1 (en) * | 2010-08-02 | 2012-02-02 | International Business Machines Corporation | Collaborative filtering on spare datasets with matrix factorizations |
US10304008B2 (en) * | 2015-03-20 | 2019-05-28 | Nec Corporation | Fast distributed nonnegative matrix factorization and completion for big data analytics |
US20170278114A1 (en) * | 2016-03-24 | 2017-09-28 | Xerox Corporation | Adaptive collaborative filtering with extended kalman filters and multi-armed bandits |
-
2018
- 2018-03-21 CN CN201810233045.1A patent/CN108520450B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956089A (zh) * | 2016-05-03 | 2016-09-21 | 桂林电子科技大学 | 一种针对具备项目的分类信息的推荐方法 |
CN106022869A (zh) * | 2016-05-12 | 2016-10-12 | 北京邮电大学 | 一种消费对象的推荐方法及装置 |
CN107730306A (zh) * | 2017-09-26 | 2018-02-23 | 云南大学 | 基于多维偏好模型的电影评分预测与偏好估计方法 |
Non-Patent Citations (5)
Title |
---|
"Low-rank Matrix Completion using Alternating";Prateek Jain、Praneeth Netrapalli、Sujay Sanghavi;《Symposium on the theory of computing》;20131231;第665-674页 * |
"Social Recommendation With Local Low Rank Matrix";Huan Zhao、Quanming Yao、Dik Lun Lee;《computer science》;20170819;第1-9页 * |
"基于Spark的矩阵分解与最近邻融合的推荐算法";王振军、黄瑞章;《计算机系统应用》;20170415;第26卷(第4期);第124-129页 * |
"基于评分矩阵局部低秩假设的成列协同排名算法";刘海洋、王志海、黄丹、孙艳歌;《软件学报》;20151115(第11期);第2981-2993页 * |
"融合用户社会地位和矩阵分解的推荐算法";余永红、高阳、王皓、孙栓柱;《计算机研究与发展》;20180115(第01期);第113-124页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108520450A (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520450B (zh) | 基于隐式反馈信息的局部低秩矩阵近似的推荐方法及系统 | |
CN110162693B (zh) | 一种信息推荐的方法以及服务器 | |
CN105426528B (zh) | 一种商品数据的检索排序方法及系统 | |
CN104679771B (zh) | 一种个性化数据搜索方法和装置 | |
TWI591556B (zh) | Search engine results sorting method and system | |
CN111709812A (zh) | 基于用户动态分类的电商平台商品推荐方法及系统 | |
CN110020128B (zh) | 一种搜索结果排序方法及装置 | |
CN107944035B (zh) | 一种融合视觉特征和用户评分的图像推荐方法 | |
CN106471491A (zh) | 一种时变的协同过滤推荐方法 | |
CN107562818A (zh) | 信息推荐系统及方法 | |
CN110175895B (zh) | 一种物品推荐方法及装置 | |
CN111797321A (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN101482884A (zh) | 一种基于用户偏好评分分布的协作推荐系统 | |
CN111949887B (zh) | 物品推荐方法、装置及计算机可读存储介质 | |
CN109460519B (zh) | 浏览对象推荐方法及装置、存储介质、服务器 | |
CN108665323A (zh) | 一种用于理财产品推荐系统的集成方法 | |
CN103106208A (zh) | 一种移动互联网中的流媒体内容推荐方法和系统 | |
CN107274242A (zh) | 一种基于关联分析算法的商品推荐方法 | |
CN103886486A (zh) | 一种基于支持向量机svm的电子商务推荐方法 | |
CN111428007B (zh) | 基于跨平台的同步推送反馈方法 | |
CN108389113B (zh) | 一种协同过滤推荐方法和系统 | |
CN114169927A (zh) | 基于多臂老虎机算法的产品个性化组合推荐方法 | |
CN115982463A (zh) | 资源推荐方法、装置、设备及存储介质 | |
CN109508407A (zh) | 融合时间与兴趣相似度的电视产品推荐方法 | |
CN107622071B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |