基于用户画像的个性化推荐方法和装置与流程

文档序号:13013778阅读:208来源:国知局
技术领域
本发明涉及计算机处理领域,特别是涉及一种基于用户画像的个性化推荐
方法和装置。


背景技术:

随着互联网的发展,人们的生活越来越多的与互联网紧密联系在了一起。
在这个快节奏的时代,用户希望能够通过互联网快速的找到自己需要的产品,
但是海量的产品数据每天不断地在互联网中产生,这导致互联网用户很难快速
的找到自己需要的或者感兴趣的信息。为了让用户快速的找到自己感兴趣的产
品,传统的协同过滤技术是根据用户的历史购买情况去推荐,但是对于新用户
来说往往面临冷启动问题,很难得到精确的推荐,并且对于有些产品用户的兴
趣可能是一次性的,如果只是根据历史购买情况进行推荐,推荐的准确率往往
不高。


技术实现要素:

基于此,为了解决上述推荐准确率不高的问题,提出了一种基于用户画像
的个性化推荐方法和装置。
一种基于用户画像的个性化推荐方法,所述方法包括:获取用户的标签信
息;根据所述标签信息建立用户画像;获取用户的初始状态;根据所述用户画
像和所述初始状态确定用户的一步转移矩阵;根据所述一步转移矩阵计算用户
的感兴趣列表;根据所述感兴趣列表进行推荐。
在其中一个实施例中,所述根据所述标签信息建立用户画像的步骤包括:
将用户的一个或者多个标签信息组成一个文本向量;将所述文本向量作为用户
的用户画像。
在其中一个实施例中,所述根据所述用户画像和所述初始状态确定用户的
一步转移矩阵的步骤包括:将所述用户画像和所述初始状态组合为一个输入变

量;根据所述输入变量采用随机森林的算法确定用户的一步转移矩阵。
在其中一个实施例中,所述根据所述输入变量采用随机森林的算法确定用
户的一步转移矩阵的步骤包括:根据所述输入变量采用随机森林的算法计算用
户下一步转移到各个状态的转移概率;根据计算得到的各个状态的转移概率确
定用户的一步转移矩阵。
在其中一个实施例中,所述根据所述一步转移矩阵计算用户的感兴趣列表
的步骤包括:采用马尔科夫链算法根据所述一步转移矩阵确定与所述用户匹配
的k步转移矩阵,其中,k为大于等于1的正整数;根据所述与用户匹配的k步
转移矩阵计算用户的感兴趣列表。
一种基于用户画像的个性化推荐装置,所述装置包括:信息获取模块,用
于获取用户的标签信息;建立模块,用于根据所述标签信息建立用户画像;状
态获取模块,用于获取用户的初始状态;第一确定模块,用于根据所述用户画
像和所述初始状态确定用户的一步转移矩阵;第一计算模块,用于根据所述一
步转移矩阵计算用户的感兴趣列表;推荐模块,用于根据所述感兴趣列表进行
推荐。
在其中一个实施例中,所述建立模块还用于将用户的一个或者多个标签信
息组成一个文本向量,将所述文本向量作为用户的用户画像。
在其中一个实施例中,所述第一确定模块包括:组合模块,用于将所述用
户画像和所述初始状态组合为一个输入变量;第二确定模块,用于根据所述输
入变量采用随机森林的算法确定用户的一步转移矩阵。
在其中一个实施例中,所述第二确定模块还用于根据所述输入变量采用随
机森林的算法计算用户下一步转移到各个状态的转移概率,根据计算得到的各
个状态的转移概率确定用户的一步转移矩阵。
在其中一个实施例中,所述计算模块包括:第三确定模块,用于采用马尔
科夫链算法根据所述一步转移矩阵确定与所述用户匹配的k步转移矩阵,其中,
k为大于等于1的正整数;第二计算模块,用于根据所述与用户匹配的k步转移
矩阵计算用户的感兴趣列表。
上述基于用户画像的个性化推荐方法和装置,通过获取用户的标签信息,
根据标签信息建立用户画像,获取用户的初始状态,根据用户画像和初始状态
确定用户的一步转移矩阵,继而根据一步转移矩阵计算用户的感兴趣列表,最
后根据感兴趣列表进行推荐。通过根据用户画像和用户的初始状态确定用户对
应的一步转移矩阵,继而根据该一步转移矩阵确定用户的感兴趣列表,由于每
个用户都对应一个独有的转移矩阵,得到的也是用户独有的感兴趣列表,根据
感兴趣列表进行推荐能够很好的根据每个用户的情况进行个性化的推荐,提高
了推荐的准确率,同时由于该推荐方法是基于用户画像和初始状态来进行推荐
的,对于新用户也适用,很好的解决了新用户的冷启动问题。
附图说明
图1为一个实施例中基于用户画像的个性化推荐方法的流程图;
图2为一个实施例中建立用户画像的方法流程图;
图3为一个实施例中确定一步转移矩阵的方法流程图;
图4为另一个实施例中确定一步转移矩阵的方法流程图;
图5为一个实施例中计算感兴趣列表的方法流程图;
图6为一个实施例中基于用户画像的个性化推荐装置的结构框图;
图7为一个实施例中第一确定模块的结构框图;
图8为一个实施例中计算模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实
施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅
仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提出了一种基于用户画像的个性化推荐方
法,该方法包括以下步骤:
步骤102,获取用户的标签信息。
具体的,用户的标签信息可以是用户的固有属性,也可以是用户的动态属

性,还可以是两者的结合,可以根据不同的业务场景获取不同的标签信息。其
中,固有属性包括用户的年龄、性别、职业等属性,动态属性包括用户购买的
历史行为,浏览观看的记录等属性。
步骤104,根据标签信息建立用户画像。
具体的,用户画像是一种勾画目标用户、联系用户诉求与设计方向的有效
工具。在实际操作的过程中往往会以最为浅显和贴近生活的话语将用户的属性、
行为与期待联系起来。在本实施例中,用户画像是由获取的多个标签信息组成
的,将获取的多个标签信息组成为一个文本向量,将组成的文本向量作为该用
户的用户画像。
步骤106,获取用户的初始状态。
具体的,用户的初始状态可以是点击某个事件,也可以是用户是否浏览过
某事件,还可以是其他用户的行为状态。比如可以将初始状态设为是否点击过
某事件,如果点击了则为1,如果没有点击则为0。当然也可以同时将用户对多
个事件的点击情况或者浏览情况作为初始状态。
步骤108,根据用户画像和初始状态确定用户的一步转移矩阵。
在本实施例中,将建立的用户画像和获取的初始状态组合为一个输入向量,
然后根据这个输入向量确定用户的一步转移矩阵。具体的,将用户画像和初始
状态组合为一个输入向量,并以已有下一步点击行为的用户作为样本,采用随
机森林的方式预测用户转移到下一个可能状态的概率。比如,假设目前有100
个事件(A1到A100),我们需要根据用户画像和用户的初始状态预测用户的
下一步各个状态的转移概率。如,考察是否点击了A1事件作为用户的初始状态,
用户点击了则为1,若用户没有点击则为0。那么用户画像和初始状态组成的输
入变量如表1所示:
表1
标签1
标签2
标签3
标签4
……
标签n
初始状态A1
用户1

25岁
白领
未婚
……

1
用户2

40岁
蓝领
已婚
……

0
将已有下一步点击行为的用户作为样本进行建模,预测用户进行下一步点击各

个状态的可能性,输出变量如表2所示:
表2
A2
A3
A4
……
An
用户1点击概率
0.1
0.2
0.2
……
0.1
用户2点击概率
0.2
0.15
0.25
……
0.15
对于每个用户来说,都满足P(A2)+P(A3)+…+P(An)=1。接下来,依次考虑点击
了A2事件之后可能的点击概率,生成如上表所示的概率表,依次类推,直到建
立100个事件(A1-A100)的随机森林模型,最终根据建立的随机森林模型得到
一个各状态的一步转移矩阵。在一个具体的实施例中,把用户画像和初始状态
作为一个输入向量,其中,初始状态可以是点击或曝光的次数,根据随机森林
模型进行预测实际上可以是一个ranking(等级)的预测,对于每一个状态可能构
成的部分分为两个部分,一个是是否点击,二是点击次数,而且把时间维度考
虑进去,即必须是在做了a点击之后的再点击的b才是状态变化,才能作为转
移矩阵。
步骤110,根据一步转移矩阵计算用户的感兴趣列表。
具体的,根据一步转移矩阵得到用户的感兴趣列表,这里的感兴趣列表可
以是该用户对各类物品感兴趣的概率,也可以是经过感兴趣的概率筛选得到的
用户感兴趣的物品,也可以是能够体现用户兴趣倾向的其他表现形式。
步骤112,根据感兴趣列表进行推荐。
在本实施例中,得到用户的感兴趣列表后,根据该用户的感兴趣列表进行
推荐。具体的,用户的感兴趣列表记载了用户对各类物品感兴趣的概率,比如,
养老保险40%,车险90%,意外险80%。那么根据该感兴趣列表,优先向用户
推荐最感兴趣的车险、意外险。
在本实施例中,上述基于用户画像的个性化推荐方法,通过获取用户的标
签信息,根据标签信息建立用户画像,获取用户的初始状态,根据用户画像和
初始状态确定用户的一步转移矩阵,继而根据一步转移矩阵计算用户的感兴趣

列表,最后根据感兴趣列表进行推荐。通过根据用户画像和用户的初始状态确
定用户对应的一步转移矩阵,继而根据该一步转移矩阵确定用户的感兴趣列表,
由于每个用户都对应一个独有的转移矩阵,得到的也是用户独有的感兴趣列表,
根据感兴趣列表进行推荐能够很好的根据每个用户的情况进行个性化的推荐,
提高了推荐的准确率。同时由于该推荐方法是基于用户画像和初始状态来进行
推荐的,对于新用户也适用,很好的解决了新用户的冷启动问题。
如图2所示,在一个实施例中,根据标签信息建立用户画像的步骤包括:
步骤104a,将用户的一个或者多个标签信息组成一个文本向量。
具体的,将获取的用户的多个标签信息组成一个长的文本向量,如表3所
示:
表3
标签1
标签2
标签3
……
标签n
用户1

28岁
6000元
未婚
用户2

36岁
8000元
已婚
……·
如表3所示,用户的标签信息可以包括用户的性别、年龄、收入、职业等等。
根据不同的业务场景,可以获取不同的标签信息。
步骤104b,将文本向量作为用户的用户画像。
具体的,将用户标签组成的用户的文本向量作为用户的用户画像,用户画
像作为实际用户的虚拟代表,其往往是根据产品和市场来构建出来的,反应了
真实用户的特征和需求。
如图3所示,在一个实施例中,根据用户画像和初始状态确定用户的一步
转移矩阵的步骤包括:
步骤108a,将用户画像和初始状态组合为一个输入变量。
在本实施例中,根据用户画像和初始状态确定用户的一步转移矩阵具体是
通过将用户画像和初始状态一起组合为一个长的文本向量,将该文本向量作为
一个输入变量代入随机森林模型,进而预测用户转移到各个状态的概率。
步骤108b,根据输入变量采用随机森林的算法确定用户的一步转移矩阵。
在本实施例中,根据用户画像和初始状态组成的输入变量,采用随机森林
的算法,预测用户下一步转移到各个状态的转移概率,根据得到的转移概率得
到用户的一步转移矩阵。采用随机森林的算法预测用户的一步转移矩阵是通过
以已有下一步点击行为的用户作为样本来预测的,也就是说,该方法是通过结
合整体人群的概率、个人属性和历史状态来进行推荐的,提高了推荐的准确率。
如图4所示,在一个实施例中,根据输入变量采用随机森林的算法确定用
户的一步转移矩阵的步骤包括:
步骤402,根据输入变量采用随机森林的算法计算用户下一步转移到各个状
态的转移概率。
在本实施例中,以具有相同或相似的用户画像和初始状态并已有下一步点
击行为的用户作为样本,根据用户画像和初始状态组成的输入变量采用随机森
林模型预测用户下一步转移到各个状态的转移概率。
步骤404,根据计算得到的各个状态的转移概率确定用户的一步转移矩阵。
具体的,根据随机森林模型得到用户的各个状态的转移概率后,根据转移
概率确定用户对应的一步转移矩阵。继而根据一步转移矩阵得到用户的感兴趣
列表,最后根据得到的感兴趣列表进行推荐,在本实施例中,是通过结合整体
人群的概率、个人属性和历史状态来进行推荐的,对于没有历史状态的用户来
说,也可以结合整体人群的概率和个人属性来进行推荐,也就是说该方法不但
适用于老用户还适用于新用户,在提高了推荐准确率的同时也解决了冷启动问
题。
如图5所示,在一个实施例中,所述根据所述一步转移矩阵计算用户的感
兴趣列表的步骤包括:
步骤110a,采用马尔科夫链算法根据一步转移矩阵确定与用户匹配的k步
转移矩阵,其中,k为大于等于1的正整数。
具体的,得到用户的一步转移矩阵后,采用马尔科夫链算法确定与用户匹
配的最终转移矩阵,在计算过程中,会将得到的预测结果和已有样本的真实点
击结果进行对比,确定最终的与用户匹配的k步转移矩阵,其中,k为大于等于

1的正整数。具体的通过对一步转移矩阵进行迭代次数的选择,有可能有些模型
的最终状态是最符合用户实际点击偏好的,有可能有些模型经过10次甚至50
次迭代后的状态是符合用户真实点击偏好的,其中,二步转移矩阵是一步转移
矩阵的平方,三步转移矩阵是一步转移矩阵的三次方,四步转移矩阵是一步转
移矩阵的四次方,依次类推。
步骤110b,根据与用户匹配的k步转移矩阵计算用户的感兴趣列表。
具体的,确定与用户最终匹配的k步转移矩阵后,根据该确定的最终的转
移矩阵计算用户的感兴趣列表,进而根据得到的感兴趣列表进行推荐。在本实
施例中,通过找到与真实结果匹配的k步转移矩阵,进而根据最终的k步转移
矩阵计算感兴趣列表,最后根据得到的感兴趣列表进行推荐,进一步提高了推
荐的准确率。
如图6所示,在一个实施例中,提出了一种基于用户画像的个性化推荐装
置,该装置包括:
信息获取模块602,用于获取用户的标签信息。
具体的,用户的标签信息可以是用户的固有属性,也可以是用户的动态属
性,还可以是两者的结合,可以根据不同的业务场景获取不同的标签信息。其
中,固有属性包括用户的年龄、性别、职业等属性,动态属性包括用户购买的
历史行为,浏览观看的记录等属性。
建立模块604,用于根据标签信息建立用户画像。
具体的,用户画像是一种勾画目标用户、联系用户诉求与设计方向的有效
工具。在实际操作的过程中往往会以最为浅显和贴近生活的话语将用户的属性、
行为与期待联系起来。在本实施例中,用户画像是由获取的多个标签信息组成
的,将获取的多个标签信息组成为一个文本向量,将组成的文本向量作为该用
户的用户画像。
状态获取模块606,用于获取用户的初始状态。
具体的,用户的初始状态可以是点击某个事件,也可以是用户是否浏览过
某事件,还可以是其他用户的行为状态。比如可以将初始状态设为是否点击过

某事件,如果点击了则为1,如果没有点击则为0。当然也可以同时将用户对多
个事件的点击情况或者浏览情况作为初始状态。
第一确定模块608,用于根据用户画像和初始状态确定用户的一步转移矩阵。
在本实施例中,将建立的用户画像和获取的初始状态组合为一个输入向量,
然后根据这个输入向量确定用户的一步转移矩阵。具体的,将用户画像和初始
状态组合为一个输入向量,并以已有下一步点击行为的用户作为样本,采用随
机森林的方式预测用户转移到下一个可能状态的概率。比如,假设目前有100
个事件(A1到A100),我们需要根据用户画像和用户的初始状态预测用户的
下一步各个状态的转移概率。如,考察是否点击了A1事件作为用户的初始状态,
用户点击了则为1,若用户没有点击则为0。那么用户画像和初始状态组成的输
入变量如表1所示,将已有下一步点击行为的用户作为样本进行建模,预测用
户进行下一步点击各个状态的可能性,输出变量如表2所示。对于每个用户来
说,都满足P(A2)+P(A3)+…+P(An)=1。接下来,依次考虑点击了A2事件之后
可能的点击概率,生成如上表所示的概率表,依次类推,直到建立100个事件
(A1-A100)的随机森林模型,最终根据建立的随机森林模型得到一个各状态的
一步转移矩阵。在一个具体的实施例中,把用户画像和初始状态作为一个输入
向量,其中,初始状态可以是点击或曝光的次数,根据随机森林模型进行预测
实际上可以是一个ranking(等级)的预测,对于每一个状态可能构成的部分分为
两个部分,一个是是否点击,二是点击次数,而且把时间维度考虑进去,即必
须是在做了a点击之后的再点击的b才是状态变化,才能作为转移矩阵。
第一计算模块610,用于根据一步转移矩阵计算用户的感兴趣列表。
具体的,根据一步转移矩阵得到用户的感兴趣列表,这里的感兴趣列表可
以是该用户对各类物品感兴趣的概率,也可以是经过感兴趣的概率筛选得到的
用户感兴趣的物品,也可以是能够体现用户兴趣倾向的其他表现形式。
推荐模块612,用于根据感兴趣列表进行推荐。
在本实施例中,得到用户的感兴趣列表后,根据该用户的感兴趣列表进行
推荐。具体的,用户的感兴趣列表记载了用户对各类物品感兴趣的概率,比如,
养老保险40%,车险90%,意外险80%。那么根据该感兴趣列表,优先向用户

推荐最感兴趣的车险、意外险。
在本实施例中,上述基于用户画像的个性化推荐装置,通过获取用户的标
签信息,根据标签信息建立用户画像,获取用户的初始状态,根据用户画像和
初始状态确定用户的一步转移矩阵,继而根据一步转移矩阵计算用户的感兴趣
列表,最后根据感兴趣列表进行推荐。通过根据用户画像和用户的初始状态确
定用户对应的一步转移矩阵,继而根据该一步转移矩阵确定用户的感兴趣列表,
由于每个用户都对应一个独有的转移矩阵,得到的也是用户独有的感兴趣列表,
根据感兴趣列表进行推荐能够很好的根据每个用户的情况进行个性化的推荐,
提高了推荐的准确率。同时由于该推荐方法是基于用户画像和初始状态来进行
推荐的,对于新用户也适用,很好的解决了新用户的冷启动问题。
在一个实施例中,建立模块604还用于将用户的一个或者多个标签信息组
成一个文本向量,将文本向量作为用户的用户画像。
具体的,将获取的用户的多个标签信息组成一个长的文本向量,如表3所
示,用户的标签信息可以包括用户的性别、年龄、收入、职业等等。根据不同
的业务场景,可以获取不同的标签信息。将用户标签组成的用户的文本向量作
为用户的用户画像,用户画像作为实际用户的虚拟代表,其往往是根据产品和
市场来构建出来的,反应了真实用户的特征和需求。
如图7所示,在一个实施例中,第一确定模块608包括:
组合模块608a,用于将用户画像和所述初始状态组合为一个输入变量。
在本实施例中,根据用户画像和初始状态确定用户的一步转移矩阵具体是
通过将用户画像和初始状态一起组合为一个长的文本向量,将该文本向量作为
一个输入变量代入随机森林模型,进而预测用户转移到各个状态的概率。
第二确定模块608b,用于根据输入变量采用随机森林的算法确定用户的一
步转移矩阵。
在本实施例中,根据用户画像和初始状态组成的输入变量,采用随机森林
的算法,预测用户下一步转移到各个状态的转移概率,根据得到的转移概率得
到用户的一步转移矩阵。采用随机森林的算法预测用户的一步转移矩阵是通过
以已有下一步点击行为的用户作为样本来预测的,也就是说,该方法是通过结

合整体人群的概率、个人属性和历史状态来进行推荐的,提高了推荐的准确率。
在一个实施例中,第二确定模块608b还用于根据输入变量采用随机森林的
算法计算用户下一步转移到各个状态的转移概率,根据计算得到的各个状态的
转移概率确定用户的一步转移矩阵。
在本实施例中,以具有相同或相似的用户画像和初始状态并已有下一步点
击行为的用户作为样本,根据用户画像和初始状态组成的输入变量采用随机森
林模型预测用户下一步转移到各个状态的转移概率。根据随机森林模型得到用
户的各个状态的转移概率后,根据转移概率确定用户对应的一步转移矩阵。继
而根据一步转移矩阵得到用户的感兴趣列表,最后根据得到的感兴趣列表进行
推荐,在本实施例中,是通过结合整体人群的概率、个人属性和历史状态来进
行推荐的,对于没有历史状态的用户来说,也可以结合整体人群的概率和个人
属性来进行推荐,也就是说该方法不但适用于老用户还适用于新用户,在提高
了推荐准确率的同时也解决了冷启动问题。
如图8所示,在一个实施例中,计算模块610包括:
第三确定模块610a,用于采用马尔科夫链算法根据一步转移矩阵确定与用
户匹配的k步转移矩阵,其中,k为大于等于1的正整数。
具体的,得到用户的一步转移矩阵后,采用马尔科夫链算法确定与用户匹
配的最终转移矩阵,在计算过程中,会将得到的预测结果和已有样本的真实点
击结果进行对比,确定最终的与用户匹配的k步转移矩阵,其中,k为大于等于
1的正整数。具体的通过对一步转移矩阵进行迭代次数的选择,有可能有些模型
的最终状态是最符合用户实际点击偏好的,有可能有些模型经过10次甚至50
次迭代后的状态是符合用户真实点击偏好的,其中,二步转移矩阵是一步转移
矩阵的平方,三步转移矩阵是一步转移矩阵的三次方,四步转移矩阵是一步转
移矩阵的四次方,依次类推。
第二计算模块610b,用于根据与用户匹配的k步转移矩阵计算用户的感兴
趣列表。
具体的,确定与用户最终匹配的k步转移矩阵后,根据该确定的最终的转
移矩阵计算用户的感兴趣列表,进而根据得到的感兴趣列表进行推荐。在本实

施例中,通过找到与真实结果匹配的k步转移矩阵,进而根据最终的k步转移
矩阵计算感兴趣列表,最后根据得到的感兴趣列表进行推荐,进一步提高了推
荐的准确率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,
但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和
改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附
权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1