基于多Markov链模型的多兴趣资源推荐方法

文档序号:10687158阅读:218来源:国知局
基于多Markov链模型的多兴趣资源推荐方法
【专利摘要】本发明涉及一种基于多Markov链模型的多兴趣资源推荐方法,按照如下步骤实现:在多Markov链模型的学习阶段,通过训练数据,获取用户特征关键字序列,并根据该用户特征关键字序列生成类Markov链;对类Markov链进行聚类与合并,完成多Markov链模型的学习;在多Markov链模型的预测阶段,通过测试数据,判定用户类别,获取该用户类别对应的用以描述用户兴趣特征的类Markov链,并预测用户下一时刻的兴趣关键字;在预测过程中,确定用户多兴趣特征向量,并为该用户多兴趣特征向量中每个多兴趣特征关键字分配权值,进而建立多兴趣用户需求矩阵;根据所述多兴趣用户需求矩阵中兴趣特征关键字及相应的权值,通过匹配资源对用户进行推荐。
【专利说明】
基于多Markov链模型的多兴趣资源推荐方法
技术领域
[0001] 本发明涉及社交网络信息分析技术领域,特别是一种基于多Markov链模型的多兴 趣资源推荐方法。
【背景技术】
[0002] 随着社交网络的极速发展,全球社交网络用户数量增长到新的峰值。网络社交生 活产生了巨大的社交信息数据,这些数据中蕴含着大量的用户信息。通过这些信息可以挖 掘出用户的偏好和兴趣所在,以此对其进行资源推荐,一方面方便了用户生活,另一方面也 可以提尚服务提供商的营销效率。
[0003]多Markov模型基于各个用户的兴趣特征,将用户分类,然后为每个类建立Markov 链来描述该类用户的兴趣特征,并作出兴趣预测。相比其他预测模型,多Markov模型能够较 为准确地描述用户的兴趣特征,并对用户做出有效的兴趣预测。
[0004] 资源推荐是基于对用户的兴趣预测结果,分析其与资源特征的匹配程度,然后向 用户推荐资源的方法。

【发明内容】

[0005] 本发明的目的在于提供一种基于多Markov链模型的多兴趣资源推荐方法,以克服 现有技术中存在的缺陷。
[0006] 为实现上述目的,本发明的技术方案是:一种基于多Markov链模型的多兴趣资源 推荐方法,按照如下步骤实现:
[0007] 步骤S1:在多Markov链模型的学习阶段,通过训练数据,获取用户特征关键字序 列,并根据该用户特征关键字序列生成类Markov链;
[0008] 步骤S2:对类Markov链进行聚类与合并,完成多Markov链模型的学习;
[0009] 步骤S3:在多Markov链模型的预测阶段,通过测试数据,判定用户类别;并通过所 述多Markov链模型,获取该用户类别对应的用以描述用户兴趣特征的类Markov链,进而预 测用户下一时刻的兴趣关键字;
[0010] 步骤S4:在预测过程中,确定用户多兴趣特征向量,并为该用户多兴趣特征向量中 每个多兴趣特征关键字分配权值,进而建立多兴趣用户需求矩阵;
[0011] 步骤S5:根据所述多兴趣用户需求矩阵中兴趣特征关键字及相应的权值,通过匹 配资源对用户进行推荐。
[0012] 在本发明一实施例中,在所述步骤S1中,还包括如下步骤:
[0013] 步骤S11:从用户的微博数据中获取用户在一预设时间段内发表或转发的微博信 息,按照帕累托原理获取nu个训练数据以及!11 2个测试数据;
[0014] 步骤S12:获取x个热门微博类别,以及该预设时间段内每个热门微博类别中的热 门微博;
[0015] 步骤S13:对所获取的热门微博进行预处理,包括中文分词、词频统计以及去重,得 出Z个热门关键词作为基础特征关键字;
[0016] 步骤S14:对所述m个训练数据以及所述肥个测试数据进行预处理,包括中文分词 以及停用词处理;
[0017] 步骤S15:按照该预设时间段的时间顺序,记录用户发表或转发的微博信息中t个 热门关键字出现的序列,作为用户特征关键字序列,进而生成类Markov链。
[0018] 在本发明一实施例中,所述多Markov链模型为一个四元组:0(,1(少(〇,0,其中, X为一离散随机变量,值域为{X1,x2,...,xn},每个元素对应一个特征关键字,且为多Markov 链模型的一个状态;K表示多Markov链模型包含的用户类别数目;C={ ci,c2,...,cK}表示用 户的类别,其分布函数P(C)表示不同类别用户的概率分布;MC={m C1,mc2, . . .,mcK}为类 Markov链集合,每一个元素 mck是描述类别为ck的用户兴趣特征的Markov链,也即类Markov 链,并通过转移矩阵以及初始状态分布进行表征。
[0019]在本发明一实施例中,所述类Markov链的转移矩阵为:
[0021]初始状态分布为:
[0022 ].馬=(A/丨)=(/Ua:2 .,".*,),'
[0023]并通过Byaes估计计算所述转移矩阵Ak和所述初始状态概率Ak中的每一项:
[0026]其中,Sklj表示用户特征关键字序列中,状态对(Xl,&)出现的次数;a klj为超级参 数,且
[0028] 常数0常取值为n。
[0029] 在本发明一实施例中,在所述步骤S3中,采用基于最小错误率的贝叶断,即如果满 足:
[0030] ,则用户的类别为ck;
[0031 ] 通过如下方式预测用户下一时刻的兴趣关键字:
[0032] F(t) = w, ,//(r-l)x.4; +u; 2H(t-2)xA;+---+\v! hH(T-h)xA^
[0033] 其中,Ak为类Markov链mck的转移矩阵,%是权值,满足等式W1+W2+…+wh=l,向量H (t)表示用户在t时刻的状态,即如果此时用户处于状态 Xl,则该向量H(t)的第i维为1,其他 各维为 0;向量 V(t) = [P(Xt = xl),P(Xt = x2), ? ? ?,P(Xt = xn)],每个 P(Xt = xi)表示 t 时刻, 系统处于状态Xi的概率。
[0034] 在本发明一实施例中,在所述步骤S4中,将P = P((X1,X2,"_,X1) |C = ck)P(Ck)按降 序排序,取前s个P值对应的类Markov链对用户进行预测,得到用户下一时刻可能感兴趣的 关键字序列,且将关键字按照相应的P值大小顺序排序,形成用户多兴趣特征向量。
[0035]在本发明一实施例中,在所述步骤S4中,按照如下方式为多兴趣特征关键字分配 权值胃V,并结合用户多兴趣特征向量,形成2*s的二维用户需求矩阵,且当有m3个用户时,形 成m 3*2*s的三维多兴趣用户需求矩阵:
[0037]其中,wft3满足wpi+wp2+...+wps = l。
[0038]相较于现有技术,本发明具有以下有益效果:本发明所提出的一种基于多Markov 链模型的多兴趣资源推荐方法,通过提取特征关键字序列,将多马尔科夫链理论运用于微 博用户的兴趣预测,即通过用户历史发表微博中的关键字序列预测用户下一时刻可能的兴 趣关键字,并以此对用户进行资源推荐,相比其他技术,具有相对较高的精确度。
【附图说明】
[0039]图1为本发明中基于多Markov链模型的多兴趣资源推荐方法的流程图。
[0040]图2为本发明一实施例中基础特征关键字序列。
[0041 ]图3为本发明一实施例中一个用户的关键字序列。
【具体实施方式】
[0042] 下面结合附图,对本发明的技术方案进行具体说明。
[0043] 本发明提出一种基于多Markov链模型的多兴趣资源推荐方法,具体按照如下方式 实现。
[0044] ①提取特征序列
[0045] 获取微博若干个用户在一段时间内发表或转发的微博信息,按照帕累托原理分为 nu个训练数据和m2个测试数据,获取x个热门微博类别,以及在相应时间段内每个热门微博 类别中的热门微博。对热门微博进行预处理,包括分词、词频统计和去重,得出z个热门关键 词作为微博的基础特征关键字。在本实施例中,用户的微博数据可以通过微博爬虫或者购 买已有的网络数据获得。
[0046] 进一步的,在本实施例中,取20个热门微博类别,分别为:娱乐,财经,体育,文化, 时尚,星座,爆料,笑话,情感,科技,健康,动漫,影视,旅行,美食,萌宠,美图,音乐,韩流,冏 人糗事。经处理获得如图2所示的基础特征关键字序列。
[0047] 进一步的,在本实施例中,以微博用户为单位,对训练数据,测试数据进行预处理, 包括中文分词、停用词处理。再按照时间顺序记录每个用户历史发表微博中,t个热门关键 字出现的序列,将此过程抽象为一个特殊的随机过程一一齐次离散MARKOV链,用转移矩阵 描述用户的兴趣特征,并基于此对用户兴趣进行预测。
[0048] 进一步的,在本实施例中,由于不同用户的训练数据以及测试数据中对应t个热门 关键字的内容不一定相同,得到的用户关键字序列长短不一,如图3为本实施例中其中一个 用户的关键字序列。
[0049] 进一步的,在本实施例中,中文分词的方法为:采用中文分词系统,结合自定义用 户词典对微博星系进行分词;停用词处理的方法为:采用HashMap快速索引查表法对无用信 息进行过滤,从而降低微博信息的噪音。去重:考虑到不同类别可能包含相同的关键字,重 复数据删除功能是必要的,以减少冗余的手动操作的过程。nu、m 2、X、Z以及t均为正整数。
[0050] ②建立多Markov链模型
[0051] 用户发表的微博中,各类关键字出现的顺序过程是一个受到文化背景,兴趣爱好 等多种因素影响的复杂过程,这些因素的差异使得用户发表的微博也呈现不同的个性化特 征,但某些用户也可能会有相似的特点。通过对用户分类,使得同一类别的用户间具有相似 的个性特征,然后使用同一条Markov链来描述,这样得到的多Markov链模型能够更精确的 描述用户的个性特征,并能做出更准确的预测。
[0052] 进一步的,在本实施例中,多Markov链模型可以表示为一个四元组:<X,K,P(C),MC >。其中,X是一个离散随机变量,值域为{X1,X2,. . .,Xn},每个Xi对应一个关键字,称为模型 的一个状态,{X1, X2, ...,xn}为用户特征关键字序列;K表示模型包含的用户类别数目;C = {C1,C2, . . .,CK}表示用户的类别,其分布函数P(C)表示不同类别用户的概率分布;MC = {mci,mc2, . . .,mcK}为类Markov链集合,每一个元素mck是描述类别为ck的用户兴趣特征的 Markov链,称为类Markov链,转移矩阵和初始状态分布分别表示为
[0055]进一步的,在本实施例中,采用Byaes估计来计算转移矩阵Ak和初始状态概率Ak中 的每一项:

[0058]其中,Sklj表示用户特征关键字序列中,状态对(Xl,&)出现的次数;a klj为超级参 数,在贝叶斯估计中代表学习的背景知识,采用Bayes假设:假设在每一类用户兴趣特征关 键字序列中,所有状态对(Xl,&)的出现次数都相同,则:
[0060]其中,常数0常取值为问题空间域的大小n。
[0061]进一步的,在本实施例中,多Markov链模型的学习过程需要完成两个任务:一是对 用户特征序列进行聚类;二是为每个类别生成类Markov链。这里采用这样的思想:先将每个 用户看做一个独立的类别,生成类Markov链。然后对这些Markov链进行聚类与合并,当聚类 结果达到标准后完成多Markov链模型的学习,也即通过计算聚类结果所确定的Bayes网络 的后验概率,并通过比较,后验概率最大的聚类结果最优。
[0062]进一步的,在本实施例中,多Markov链模型的预测过程分为两个步骤:
[0063]首先判定用户类别。判定规则使用基于最小错误率的贝叶斯判定规则,即如果
[0065]那么用户的类别就为Ck。
[0066]然后使用该模型进行预测。确定了用户的类别C1Jg,就可以用其类Markov链mck来 描述用户的兴趣特征,采用如下公式进行预测:
[0068] 其中,Ak为类Markov链mck的转移矩阵,w?2.是权值,满足等式wi+W2+"_+wh= 1。
[0069] 进一步的,在本实施例中,H(t)表示t时刻该用户的特征关键字,也即向量H(t)表 示在时间点t时的状态,即若此时用户处于状态 Xl,则该向量的第i维是1,其他维都是0。向 量v(t): V(t) = [P(Xt = xi),P(Xt = X2),. . .,P(Xt = xn)]表示在时刻t时,系统中每一种状态 出现的概率。在V( t)中概率值最大的那一维对应的状态,也即在该时刻用户最可能的状态。
[0070] ③构造多兴趣特征向量
[0071] 目前关于用户分类和兴趣推荐的研究中,都是将用户分到一个类别当中,再向用 户推荐相应的资源。但现实生活中,用户往往不单有一个兴趣,而是会有多个兴趣标签。因 此需要考虑用户的多个兴趣类别的特征,对用户进行多次分类,将多个分类结果作为用户 的需求特征,以此为基础来向用户推荐资源将会更加合理。所以本发明构造多兴趣特征向 量来对用户具有多个兴趣类别的属性进行描述。
[0072]进一步的,在本实施例中,构造多兴趣特征向量的过程可描述为:修改多Markov链 模型的预测过程,实现对用户的多兴趣预测。具体实现:多Markov链模型建立好后,在预测 过程的判定用户类别步骤中,将? = ?((11,12,一,111)|〇=0〇?(〇1〇按降序排序,取前8个?值 对应的类Markov链对用户进行预测,得到用户下一时刻可能感兴趣的关键字序列,关键字 按照相应的P值大小顺序排序,形成用户多兴趣特征向量,S为大于1的正整数。
[0073]在得到的兴趣类别中,用户可能会有所侧重,因此需要为多兴趣特征分配权值 胃\,建立用户需求特征。其中,
[0075] 14熟3满足¥口1+¥口2+'"+¥口3 = 1。结合用户多兴趣特征向量,形成2*8的二维用户需求 矩阵,有m3个用户,即形成了 m3*2*s的三维多兴趣用户需求矩阵。
[0076]④资源推荐
[0077] 根据多兴趣用户需求矩阵中,兴趣特征关键字及相应的权值,匹配资源对用户进 行推荐,也即根据预测结果,即用户下一时刻可能感兴趣的关键字,根据该关键字搜索资源 数据库中的相关资源,将其推荐给用户。多兴趣资源推荐系统框架如图1所示:使用用户数 据建立多Markov链模型,对用户兴趣进行多次预测,根据得到的结果,建立用户的需求特 征,然后整合资源,实现资源推荐。
[0078] 进一步的,在本实施例中,输入一个用户历史发表的所有微博内容,先提取该用户 的关键字序列,对其进行分类,然后使用该用户所属类别的类Markov链对其进行预测,得到 该用户下一时刻的兴趣关键字,使用该关键字搜索资源数据库,最后将得到的相关资源推 荐给该用户。
[0079]以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作 用未超出本发明技术方案的范围时,均属于本发明的保护范围。
【主权项】
1. 一种基于多Markov链模型的多兴趣资源推荐方法,其特征在于,按照如下步骤实现: 步骤S1:在多Markov链模型的学习阶段,通过训练数据,获取用户特征关键字序列,并 根据该用户特征关键字序列生成类Markov链; 步骤S2:对类Markov链进行聚类与合并,完成多Markov链模型的学习; 步骤S3:在多Markov链模型的预测阶段,通过测试数据,判定用户类别;并通过所述多 Markov链模型,获取该用户类别对应的用以描述用户兴趣特征的类Markov链,进而预测用 户下一时刻的兴趣关键字; 步骤S4:在预测过程中,确定用户多兴趣特征向量,并为该用户多兴趣特征向量中每个 多兴趣特征关键字分配权值,进而建立多兴趣用户需求矩阵; 步骤S5:根据所述多兴趣用户需求矩阵中兴趣特征关键字及相应的权值,通过匹配资 源对用户进行推荐。2. 根据权利要求1所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,在 所述步骤S1中,还包括如下步骤: 步骤S11:从用户的微博数据中获取用户在一预设时间段内发表或转发的微博信息,按 照帕累托原理获取m个训练数据以及!112个测试数据; 步骤S12:获取x个热门微博类别,以及该预设时间段内每个热门微博类别中的热门微 博; 步骤S13:对所获取的热门微博进行预处理,包括中文分词、词频统计以及去重,得出z 个热门关键词作为基础特征关键字; 步骤S14:对所述m个训练数据以及所述肥个测试数据进行预处理,包括中文分词以及 停用词处理; 步骤S15:按照该预设时间段的时间顺序,记录用户发表或转发的微博信息中t个热门 关键字出现的序列,作为用户特征关键字序列,进而生成类Markov链。3. 根据权利要求2所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,所 述多Markov链模型为一个四元组:〈X,K,P(C),MC>,其中,X为一离散随机变量,值域为{ X1, x2, ...,Xn},每个元素对应一个特征关键字,且为多Markov链模型的一个状态;K表示多 Markov链模型包含的用户类别数目;C={ci,c2, . . .,cK}表示用户的类别,其分布函数P(C) 表示不同类别用户的概率分布;MC={mci,mc2,. . .,mcK}为类Markov链集合,每一个元素 mck 是描述类别为ck的用户兴趣特征的Markov链,也即类Markov链,并通过转移矩阵以及初始 状态分布进行表征。4. 根据权利要求3所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,所 述类Markov链的转移矩阵为:初始状态分布为: 并通过Byaes估计计算所述转移矩阵Ak和所述初始状态概率Ak中的每一项:其中,Sklj表示用户特征关键字序列中,状态对(Xl,幻)出现的次数;aklj为超级参数,且常数0取值为n。5. 根据权利要求3所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,在 所述步骤S3中,采用基于最小错误率的贝叶断,即如果满足:通过如卜万式饿测用尸卜一时刻的兴趣夫键芋: V{i) = wtJi{t-^xJk + wt^H:{t-2)x4 +??+w, hH{t-K)x4 其中,Ak为类Markov链mck的转移矩阵,w!2.是权值,满足等式wi+W2+"_ +wh = 1,向量H(t)表 示用户在t时刻的状态,即如果此时用户处于状态Xl,则该向量H(t)的第i维为1,其他各维 为0;向量乂(〇 = [?(父七=叉1),?(父七=叉2),...,卩(父七=叉11)],每个?(父七=叉;〇表示1:时刻,系统 处于状态Xi的概率。6. 根据权利要求5所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,在 所述步骤S4中,将P = P((X1,X2,…,X1) |〇 = 01〇?(〇1〇按降序排序,取前8个?值对应的类 Markov链对用户进行预测,得到用户下一时刻可能感兴趣的关键字序列,且将关键字按照 相应的P值大小顺序排序,形成用户多兴趣特征向量。7. 根据权利要求6所述的基于多Markov链模型的多兴趣资源推荐方法,其特征在于,在 所述步骤S4中,按照如下方式为多兴趣特征关键字分配权值并结合用户多兴趣特征向 量,形成2*s的二维用户需求矩阵,且当有m 3个用户时,形成m3*2*s的三维多兴趣用户需求矩 阵:其中,满足WP1+WP2+…+Wps=l。
【文档编号】G06F17/30GK106055661SQ201610388073
【公开日】2016年10月26日
【申请日】2016年6月2日
【发明人】郑相涵, 赖太平, 于元隆
【申请人】福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1