基于主题模型的个性化服务推荐系统和方法_2

文档序号:8258669阅读:来源:国知局
r>[0036] 获取服务信息,对服务信息通过建立好的所述主题模型进行分析,建立服务信息 主题分布;
[0037] 计算所述服务信息主题分布和所述用户兴趣标签云图的相似度并为用户提供不 同方式的推荐服务;
[0038] 推荐服务结果展示,提供交互反馈并根据用户反馈结果对用户的兴趣进行重新建 模,更新用户兴趣标签云图。
[0039] 本发明所述推荐服务包括基于内容的推荐方式和协同过滤推荐方式。
[0040] 本发明所述主题模型使用维基百科对所述社交网络数据和所述服务信息进行语 义扩充,在维基百科数据上进行主题分析。
【附图说明】
[0041] 以下参照附图对本发明实施例作进一步说明,其中:
[0042] 图1是本发明提供的系统组成示意图。
[0043] 图2是本发明提供的社交数据获取模块组成示意图。
[0044] 图3是本发明提供的用户兴趣建模模块组成示意图。
[0045] 图4是本发明提供的服务推荐模块组成示意图。
[0046] 图5是本发明基于主题模型计算文档之间关联度的流程图。
[0047] 图6是本发明情景感知用户兴趣建模模型图
[0048] 图7是本发明提供的系统实施例的流程图。 具体实施例
[0049] 下面结合附图和具体实施例对本发明作进一步的详细说明,此处所描述的具体实 施例仅用以解释本发明,并不用于限定本发明。
[0050]参阅图1,图1是本发明提供的基于主题模型的个性化服务推荐系统组成示意图, 包括:社交数据获取模块1、主题模型构建和分析模块2、用户兴趣建模模块3、服务推荐模 块4、用户交互模块5和系统管理控制模块6。
[0051] 参阅图2,社交数据获取模块1,包括用户个人社交网络信息子模块101、用户好友 社交网络信息子模块102、本地最新网络信息子模块103。优先的,我们选用新浪微博、腾讯 微博、微信这些社交网络平台,获取用户个人数据,包括性别、年龄、兴趣爱好、所在地、所发 布微博微信内容、所转发信息、关注好友列表。
[0052] 用户好友社交网络信息子模块102,提取用户好友社交网络信息是基于如下考虑: 其一,有些用户在社交网络中的活动并不明显,所发布的社交网络内容往往不多,导致个人 数据很少不易于分析,比如微博,用户"看微博"的多于"发微博"的;其二,在社交网络中, 用户最感兴趣的往往是自己最关注好友的信息。通过社交网络获取用户好友的数据,包括 好友的性别、年龄、兴趣爱好、所在地、所发布微博微信内容、所转发信息、关注好友列表。
[0053] 本地最新网络信息子模块103,用户的短期兴趣往往受到本地流行的新闻趋势和 网络信息的影响,所以也要获取本地最新的社交网络信息和新闻信息。
[0054] 主题模型构建和分析模块2用来构建主题模型。主题模型是一种统计模型,主要 被用来识别大规模文档及语库中潜在的主题信息,常用于机器学习和自然语言处理中,在 一些相关的文档中发现抽象的主题,而不像传统的向量空间模型或语言模型那样,只是单 纯地考虑文档在词空间上的相似度。主题模型基于如下思想:每一篇文档都是由若干主题 混合生成,并且表示为主题所构成的一个概率多项分布,其中每个主题又都是一个基于文 本单词项的概率多项分布。
[0055] 由于有些微博、微信很短,因此如果直接在微博数据上使用等主题模型进行分析, 势必会由于数据过于稀疏影响模型的精度。可以使用外部知识,比如维基百科,对微博数据 进行语义扩充,在维基百科数据上进行主题分析,然后把得到的主题模型,再用于分析用户 的社交网络数据。同时,这样做也可以用一个统一的主题模型进行用户兴趣分析和服务信 息分析,用户兴趣主题分布与服务信息主题分布来自同一个主题模型,可以很方便地进行 相似度的计算。
[0056]主题模型LDA(LatentDirichletAllocation)米用Dirichlet分布作为概率主题 模型中多项式的先验分布,主题模型的生成过程描述如下:
[0057]a)产生该篇文档词的个数N,N?Poisson(e);
[0058]b)通过狄利克雷先验(DirichletPrior)产生该文档的主题分布0d;
[0059]c)对于组成该文档的N个词中的每个词',选择一个主题zn?Multinomial( 0 d), 从主题zn中选择一个词w?Multinomial(0zn)n。
[0060] 参阅图3,用户兴趣建模模块3包括噪声过滤子模块301、用户兴趣构建子模块 302、兴趣标签云图构建子模块303。
[0061] 噪声过滤子模块301,用于对所述社交网络数据进行过滤,去除那些与用户兴趣不 相关的社交网络数据。以微博为例,微博信息包含很多的无用信息(如图片、表情符等),并 且夹杂着大量的网络用语、缩略简称等,因此需要对微博信息进行如下预处理:分词,去除 其中的语气词和停用词;接着对微博进行语义丰富;如果微博过短,就丢弃该微博信息。
[0062] 此外,很多用户经常发布一些与用户兴趣不相关的微博数据,如聊天、评论等,这 些噪音数据影响了分析结果的准确度。因此,在使用微博数据分析用户兴趣之前,先对微 博数据进行过滤,去除那些与用户兴趣不相关的微博。本实施例中使用经典的文本分类方 法一朴素贝叶斯分类器对相关微博进行分类,判断每条微博是否是与用户的兴趣有关,从 而除去噪声微博。
[0063] 用户兴趣构建子模块302,用来对过滤后的所述社交网络数据使用构建好的所述 主体模型,得到用户兴趣主题概率分布。用户的兴趣可以分为长期兴趣(即真实兴趣)和 短期兴趣(即被新闻流行趋势影响的大众兴趣)。用户的长期兴趣由用户的个体特征决定, 是长期保持不变的。用户的短期兴趣经常被当地的新闻趋势所影响,并且是随着时间变化。 [0064] 将过滤后社交网络数据内容看作一个文档,在其上使用建立好的主题模型,得到 用户兴趣主题概率分布,以及每个主题在词空间上的概率分布。假设用户的兴趣可以分为K个分类或者主题,那么一个用户u的兴趣IintOT6St(u)可以表示为:
[0065] Iinterest(u) = {Pu(k) |k G K}
[0066] 其中P(k)表示用户对主题k感兴趣的程度。如果用户发布的属于主题k的内容 越多,P(k)的值越大。引入其好友(Friends)的兴趣来扩展用户的潜在兴趣Fint_st(u),表 示为:
[0067] Finterest(u) = {Pf(k) |k G K}
[0068]上述两方面的线性组合可以表示用户的长期(Long-Term)兴趣LTintOTest (u),表示 为:
[0069] LTinterest(u) = a *Iinterest(u) + 3 *Finterest(u)
[0070]其中的a,0为组合参数,满足a+0 = 1。直观上讲,a应当是略大于0的,具 体的数值确定可以通过实验来推算。
[0071] 此外,还有用户的短期兴趣,用户的短期兴趣往往是被当地的新闻和社交信息趋 势影响,本实施例中我们提取本地最新的社交信息内容,作为一个文档,在其上使用主题模 型,这样可以得到用户短期兴趣STinte6St(l),表示为:
[0072]STinterest(l) = {Px(k)|kGK}
[0073] 最后,用户的长期兴趣和
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1