一种基于OCEAN模型的个性化推荐的方法与流程

文档序号:14129665阅读:3355来源:国知局

本发明属于人格预测及个性化推荐技术领域,更为具体地讲,涉及一种基于ocean模型的个性化推荐的方法。



背景技术:

在心理学中,ocean模型是用来描述人类性格的五个广泛的维度,这个理论基于大五人格因素模型。ocean模型的五类因素包括:严谨性、外向性、开放性、宜人性与神经质人格特质。o代表opennesstoexperience(开放性),c代表conscientiousness(严谨性),e代表extraversion(外向性),a代表agreeableness(宜人性),n代表neuroticism(神经质)。这五种因素提供了丰富的概念架构。并且前人的研究发现,大五人格理论模型与人们在社交网站的行为存在强的关联。

目前的个性化推荐算法大致可以分为四类:

(1)基于人口统计学的推荐机制,是一种最易于实现的推荐方法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。

(2)基于内容的推荐,是在推荐引擎出现之初应用最为广泛的推荐机制,它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。这种推荐系统多用于一些资讯类的应用上,针对文章本身抽取一些标签作为该文章的关键词,继而可以通过这些标签来评价两篇文章的相似度。

(3)基于关联规则的推荐,其更常见于电子商务系统中,并且也被证明行之有效。其实际的意义为购买了一些物品的用户更倾向于购买另一些物品。基于关联规则的推荐系统的首要目标是挖掘出关联规则,也就是那些同时被很多用户购买的物品集合,这些集合内的物品可以相互进行推荐。

(4)协同过滤,它是一种在推荐系统中广泛采用的推荐方法。这种算法基于一个“物以类聚,人以群分”的假设,喜欢相同物品的用户更有可能具有相同的兴趣。基于协同过滤的推荐系统一般应用于有用户评分的系统之中,通过分数去刻画用户对于物品的喜好。协同过滤被视为利用集体智慧的典范,不需要对项目进行特殊处理,而是通过用户建立物品与物品之间的联系。目前,协同过滤推荐系统被分化为两种类型:基于用户(user-based)的推荐和基于物品(item-based)的推荐。

然而,当前的个性化推荐方法基本都是基于以上的四类,没有很好的结合用户的性格特征进行营销。用户的行为不是随机的,而是蕴含着很多特定的模式。用户的网络社交行为反映了用户性格,同时用户的性格也影响着用户行为,因此在在线精准营销、在线商品推荐、社交推荐和辅助产品设计时可以将用户的性格考虑进去,得到更好的结果。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于ocean模型的个性化推荐的方法,基于用户性格的进行个性化推荐。

为实现上述发明目的,本发明一种基于ocean模型的个性化推荐的方法,其特征在于,包括以下步骤:

(1)、建立社交网站用户的ocean模型

(1.1)、选取若干微博账户,对这些用户进行五种人格测试,得到五种人格维度的得分,再将这五种人格维度的得分作为被试用户的ocean模型;

(1.2)、通过模拟浏览器的方式获取页面内容,抓取被试用户的微博数据,分别将每位用户的微博数据汇总成一篇文本文档;

(1.3)、对文本文档进行预处理:文本文档进行过滤、分词处理,以及去停止词后存放在指定的数据库中;

(1.4)、将数据库中所有被试用户的文本文档导入到lda主题模型中,lda主题模型输出每位被试用户的文本文档主题概率分布;

(1.5)、以被试用户的文档主题概率分布作为样本输入,以被试用户的ocean模型作为样本输出,利用bp神经网络进行训练,建立用户文档主题分布与用户ocean模型之间的映射模型,并该映射模型作为预测社交网站用户的ocean模型;

(2)、基于社交网站用户的ocean模型对用户进行个性化推荐

(2.1)、用户聚类

基于社交网站用户的ocean模型,利用k均值聚类算法将用户分成k种不同性格的用户群;

(2.2)、根据目标用户所属类别对其进行个性化推荐

在目标用户出现时,首先确定目标用户所在的聚类类别,然后将目标用户所在类别中的每个用户发的所有微博分别作为一个候选集item,再利用词频-逆文档分别对每个候选集item中进行文本特征随机抽取,构建出一个n维向量,作为每个候选集item的属性资料,其中,每抽取一条微博作为一维向量;

根据目标用户的微博数据汇总成一篇文本文档,同样利用词频-逆文档频率,对目标用户的文本文档进行文本特征随机抽取,构建出一个m维向量,作为目标用户的喜好资料;

根据余弦相似性公式,计算用户的喜好资料与每一个候选集item的属性资料的相似度,将相似度最高的候选集item作为推荐集,推荐给目标用户。

本发明的发明目的是这样实现的:

本发明一种基于ocean模型的个性化推荐的方法,通过建立微博用户的ocean模型,实现基于用户ocean模型的个性化推荐方法。在建立用户的ocean模型的时候,将用户的微博文本导入到lda模型中,以无指导的方法从文本中发现隐含的寓意,提高预测的精准度。同时,将个性化推荐建立在用户聚类的基础上,缩小用户的搜索范围,减少实时推荐的计算量。结合用户的ocean模型于个性化推荐,深入到用户的性格特征进行研究,在个性化推荐的过程中更加符合用户的心理,具有更高的准确度。

同时,本发明一种基于ocean模型的个性化推荐的方法还具有以下有益效果:

(1)、建立微博用户的ocean模型,在传统的个性化推荐之前考虑了用户性格的这个指标,综合了用户的性格和用户的喜好,这样的推荐方法不仅准确度更高,并且更加贴合用户的心理。

(2)、在对用户进行聚类的时候,聚类算法的初始聚类中心的选取不是随机的,人工选取微博主页访问量较高的用户作为聚类中心,可以更好的减少孤立点。

附图说明

图1是本发明一种基于ocean模型的个性化推荐的方法流程图;

图2是lda主题模型图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明一种基于ocean模型的个性化推荐的方法流程图。

在本实施例中,如图1所示,本发明一种基于ocean模型的个性化推荐的方法,包括以下步骤:

s1选取若干微博账户,对这些用户进行五种人格测试,得到五种人格维度的得分,再将这五种人格维度的得分作为被试用户的ocean模型;

在本实施例中,采用1991年,美国加州大学伯克利分校心理学家oliverpjohn在ocean模型理论基础上编制的大五人格量表(bigfiveinventory,bfi)是当今获得了普遍认可的人格测试量表,此量表的信度和效度都在多项心理学实验中得到了广泛的验证,本申请采用了此量表,以获得训练所需要的用户ocean模型。

s2、通过模拟浏览器的方式获取页面内容,抓取被试用户的微博数据,用户的微博数据分为两个部分:文本文档和用户基本信息。文本文档指用户发的所有微博文本的汇总,用户基本信息包含用户注册时间、用户关注数量、用户微博条数、是否有个性签名等,然后分别将每位用户的微博数据汇总成一篇文本文档;

s3、对文本文档进行预处理:文本文档进行过滤、分词处理,以及去停止词后存放在指定的数据库中;

s4、将数据库中所有被试用户的文本文档导入到lda主题模型中,lda主题模型输出每位被试用户的文本文档主题概率分布;

在本实施例中,lda主题模型如图2所示,lda主题模型中参数定义如表1所示;

符号解释:

表1

lda主题模型的输入:所有用户文本文档的集合,主题数k,超参数α和β依照通常的经验值:设置k=10,β=0.01,γ=20

lda主题模型的输出:每个用户文本文档的主题概率分布。

s5、以被试用户的文档主题概率分布作为样本输入,以被试用户的ocean模型作为样本输出,利用bp神经网络进行训练,建立用户文档主题分布与用户ocean模型之间的映射模型,并该映射模型作为预测社交网站用户的ocean模型;

s6、基于社交网站用户的聚类

基于社交网站用户的ocean模型,利用k均值聚类算法将用户分成k种不同性格的用户群;

在本实施例中,k-means聚类算法效率高,在对大规模数据进行聚类时被广泛应用,并且在低位数据集上有不错的效果。本发明选用k-means聚类算法。

设k是k-means算法的输入参数,代表该算法在数据集上分割并计算后输出的数量,数据集由n个数据点组成,表示所有用户的数量,输入参数为聚类的数目k和用户的ocean模型数据。具体算法如下:

1)将用户ocean模型的五个维度的数据几位集合i={i1,i2,...,i5};

2)检索所有的m个用户,记为集合u={u1,u2,...,um};

3)从m个用户中,人工选取其中访问量较高其标签不同的用户作为初始的聚类中心,记为{w1,w2,...,wk};

4)循环输入向量,计算每个簇中对象的平均值,更新聚类中心,直到不再发生变化。

s7、根据目标用户所属类别对其进行个性化推荐

在目标用户出现时,首先确定目标用户所在的聚类类别,然后将目标用户所在类别中的每个用户发的所有微博分别作为一个候选集item,再利用词频-逆文档分别对每个候选集item中进行文本特征随机抽取,构建出一个n维向量,作为每个候选集item的属性资料,其中,每抽取一条微博作为一维向量;

例如:记收集到的所有微博候选集的集合为d={d1,d2,...,dn},所有微博中出现的词的集合为t={t1,t2,...,tn}。也就是说,我们有n篇要处理的候选集item,而这些item里包含了n个不同的词。我们最终要使用一个向量来表示一篇item,比如第j篇item被表示为dj={w1j,w2j,...,wnj},其中w1j表示第1个词t1在文章j中的权重,值越大表示越重要;所以,为了表示第j篇item,需要计算dj各分量的值。利用信息检索中常用的词频-逆文档频率(termfrequency–inversedocumentfrequency,简称tf-idf)。第j篇微博中与词典里第k个词对应的tf-idf为:

其中tf(tk,dj)是第k个词在候选集itemj中出现的次数,而nk是所有微博中包括第k个词的微博数量。

最终第k个词在微博j中的权重由下面的公式获得:

根据目标用户的微博数据汇总成一篇文本文档,同样利用词频-逆文档频率,对目标用户的文本文档进行文本特征随机抽取,构建出一个m维向量,作为目标用户的喜好资料;

根据余弦相似性公式,计算用户的喜好资料与每一个候选集item的属性资料的相似度,将相似度最高的候选集item作为推荐集,推荐给目标用户。

其中,余弦相似性公式为:

设一个用户u和候选项目i在n维项目空间上的评分分别表示为向量ua、ia,则相似性cos(u,i)为:

ua表示目标用户u对第a项的喜好值,即喜好资料中第a项对应的值。ia表示候选候选集item中第a项对应的值。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1