一种基于领域专家的推荐系统的制作方法

文档序号:6336925阅读:413来源:国知局
专利名称:一种基于领域专家的推荐系统的制作方法
技术领域
本发明涉及网络服务领域,更具体地说,涉及一种基于领域专家的推荐系统。
背景技术
现在很多推荐系统都采用了协同过滤算法,或者内容过滤算法。协同过滤算法是通过挖掘用户和项目间的隐含关系,向用户推荐其可能感兴趣的项目。内容过滤算法是给定条件,基于项目自身相关属性,把符合条件的项目过滤出来。这两种算法都有自己各自的优缺点协同过滤算法会有数据稀疏、冷启动、扩展性差、新商品无法被推荐、新用户无法得到推荐商品的问题;基于内容的过滤由于没有挖掘使用项目与项目之间、项目和用户之间的各种关系,所以无法挖掘用户潜在兴趣点,整体的推荐效果不如协同过滤。有些推荐系统通过综合使用内容和协同过滤来克服当个算法的缺点,提高推荐系统的精准度。使用协同过滤算法基本思想是找出相似的用户或相似的项目,通过相似用户之间产生推荐或者把相似项目推荐给用户。由于原始数据中会包含大量噪点数据,对推荐系统产生不可预知的影响。为了解决噪点数据问题,需要现对原始数据进行预处理。

发明内容
本发明要解决的技术问题在于,针对现有推荐系统的上述推荐精确度不高的缺陷,提供一种基于领域专家的推荐系统。本发明解决其技术问题所采用的技术方案是构造一种基于领域专家的推荐系统,在原始数据中挖掘出专家用户,然后查找与当前用户相似度最高的专家用户,从而为当前用户提供该专家用户的相关项目作为推进项目结果集。本发明提供了一种基于领域专家的推荐系统,包括分布式数据库模块,用于保存项目数据、用户数据和用户行为历史数据;数据挖掘模块,用于根据所述项目数据、用户数据和用户行为历史数据挖掘用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据;挖掘结果数据库模块,用于保存所述用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据;基于领域评分推荐模块,用于获取用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据,计算获取临近专家列表,产生临近专家推荐结果集;对外接口服务层模块,采用网络服务方式为外接访问提供接口,接收用户输入的数据以及将临近专家推荐结果集返回给用户;数据写入模块,用于将用户输入的项目数据、用户数据和用户行为历史数据写入分布式数据库模块。在本发明所述的基于领域专家的推荐系统中,所述推荐系统还包括上下文无关评分推荐模块;所述数据挖掘模块还根据所述项目数据、用户数据和用户行为历史数据挖掘相似项目结果集和关联项目结果集;所述上下文无关评分推荐模块用于基于相似项目结果集、关联项目结果集,采用基于内容过滤的方法为用户当前行为提供相关和相似产品的推荐结果集;所述对外接口服务层模块还根据不同时间场合的需要,选择调用接口,从而将临近专家推荐结果集或者相关和相似产品的推荐结果集返回给用户。在本发明所述的基于领域专家的推荐系统中,所述数据挖掘模块通过用户行为历史数据中用户直接标注的感兴趣领域确定用户感兴趣的领域,根据用户行为历史数据中用户的位置、性别、身份、职业和受教育情况,用户搜索时关键字,以及用户点击、查看和购买项目记录进行综合统计分析及语义分析处理得用户潜在兴趣的领域。在本发明所述的基于领域专家的推荐系统中,所述数据挖掘模块根据所述用户行为历史数据计算所有用户在各领域内的参与度、影响力和评分偏差,筛选出高于预设的参与度、影响力和评分偏差的用户为专家用户,保存为该领域的专家用户数据。在本发明所述的基于领域专家的推荐系统中,所述数据挖掘模块还综合用户设置或导入的专家用户资料,保存为专家用户数据。在本发明所述的基于领域专家的推荐系统中,所述基于领域评分推荐模块,在用户感兴趣和潜在兴趣的领域内,利用用户对项目好坏评分数据采用皮尔逊相关性来计算用户与专家用户的评分相似度,获取临近专家列表。在本发明所述的基于领域专家的推荐系统中,所述数据挖掘模块采用余弦相似性、修正的余弦相似性和皮尔逊相关性计算项目相似度,产生相似项目结果集。在本发明所述的基于领域专家的推荐系统中,所述数据挖掘模块采用增量式挖掘方法,计算所有关联项目对出现的次数,找出出现次数最多的预设数量对,作为关联项目结果集。在本发明所述的基于领域专家的推荐系统中,所述分布式数据库模块按照相关领域自然分类,以项目类别树的方式将各个项目数据作为节点存储。在本发明所述的基于领域专家的推荐系统中,所述上下文无关评分推荐模块还基于用户对项目好坏评分,对为用户当前行为提供的相关和相似产品的推荐结果集进行项目的排序。实施本发明的基于领域专家的推荐系统,具有以下有益效果本发明通过在分布式数据库中挖掘出专家用户,然后查找与当前用户相似度较高的专家用户,从而为当前用户提供该专家用户的相关项目作为推进项目结果集,本发明采用领域专家的推荐方式,具有权威性,有效地提供了推荐的精确度。且本发明可以组合常规推荐方式成为混合推荐系统,从而根据不同的场合为用户提供更加准确的推荐结果。


下面将结合附图及实施例对本发明作进一步说明,附图中图1为根据本发明的第一实施例中基于领域专家的推荐系统的模块示意图;图2为根据本发明的第二实施例中基于领域专家的推荐系统的模块示意图;图3为根据本发明的基于领域专家的推荐系统生成的项目类别树示意图;图如为传统的基于用户的推荐系统挖掘关系示意图4b为根据本发明的基于领域专家的推荐系统的挖掘关系示意图;图5为根据本发明的对外接口服务层模块的工作过程示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。在实际生活中,相对普通人来说,专家总是某一个领域内部比较重要的人士。所以与某专家领域相关的,专家说的话一般份量是比较重的,更容易让人信服。在电子商务领域,如果专家说某项产品非常好,那么该产品是好产品的可能性也就很大,用户购买的欲望也会随之增加。而且人们总是充满好奇心的,人们也想指导自己所处领域的专家们做了些事情,他们经常购买了哪些商品,例如读什么书、看什么电影等。所以在推荐系统中,如果能够找出其中的专家用户,这样对于系统推荐将会产生莫大的帮助。因此,可以根据专家用户的项目数据向用户推荐商品。本发明用于电子商务领域的商务推荐,组合采用多种推荐技术,发挥各种推荐技术的长处,进行推荐结果的比较优化,不断改善推荐服务过程,提高了系统的适用性。该系统采取分布式的、松耦合的、模块化的系统结构,提供一个对外的web服务接口,可以独立出来运行,同时为多个电子商务网站提供推荐服务。请参阅图1,为根据本发明的第一实施例中基于领域专家的推荐系统的模块示意图。如图1所示,本发明第一实施例提供的推荐系统100,至少包括分布式数据库模块102、 数据挖掘模块104、挖掘结果数据库模块106、基于领域评分推荐模块108、对外接口服务层模块110和数据写入模块112。分布式数据库模块102,用于保存项目数据、用户数据和用户行为历史数据。保存项目数据、用户数据、用户行为历史数据。因此,分布式数据库模块102设有分类项目数据库102-1、用户数据库102-2和用户行为历史数据库102-3。数据挖掘模块104用于根据所述项目数据、用户数据和用户行为历史数据挖掘用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据。数据挖掘模块104 通过用户行为历史数据中用户直接标注的感兴趣领域确定用户感兴趣的领域,根据用户行为历史数据中用户的位置、性别、身份、职业和受教育情况,用户搜索时关键字,以及用户点击、查看和购买项目记录进行综合统计分析及语义分析处理得用户潜在兴趣的领域。数据挖掘模块104根据所述用户行为历史数据计算所有用户在各领域内的参与度、影响力和评分偏差,筛选出高于预设的参与度、影响力和评分偏差的用户为专家用户,保存为该领域的专家用户数据。挖掘结果数据库模块106用于保存所述用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据。基于领域评分推荐模块108用于获取用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据,计算获取临近专家列表,产生临近专家推荐结果集。对外接口服务层模块110采用网络服务方式为外接访问提供接口,接收用户输入的数据以及将临近专家推荐结果集返回给用户。数据写入模块112用于将用户输入的项目数据、用户数据和用户行为历史数据写入分布式数据库模块。请参阅图2,为根据本发明的第二实施例中基于领域专家的推荐系统的模块示意图。如图2所示,本发明第二实施例提供的推荐系统200与第一实施例中推荐系统100的功能和结构类似,区别仅在于增设了上下文无关评分推荐模块214。数据挖掘模块204还根据所述项目数据、用户数据和用户行为历史数据挖掘相似项目结果集和关联项目结果集。上下文无关评分推荐模块214用于基于相似项目结果集、关联项目结果集,采用基于内容过滤的方法为用户当前行为提供相关和相似产品的推荐结果集。对外接口服务层模块210还根据不同时间场合的需要,选择调用接口,从而将临近专家推荐结果集或者相关和相似产品的推荐结果集返回给用户。下面参照第二实施例对本发明的各个模块的功能进行具体说明。1、分布式数据库模块分布式数据库模块202用于保存项目数据、用户数据、用户行为历史数据。相应地,分布式数据库模块202中设有分类项目数据库202-1、用户数据库202-2和用户行为历史数据库202-3。其中,分类项目数据库202-1保存的项目数据包括关于该项目自身的相关属性(假设项目为书本,那么项目数据就可以包含ISBN、作者、出版社、出版年份、类别、摘要等)。项目是按照相关领域自然分类存储的,这样便会生成一颗项目类别树CT(Catal0g Tree)。请参照图3,为根据本发明的基于领域专家的推荐系统生成的项目类别树示意图。 网站商品为项目,项目可以按照相关领域自然分类,例如图3中,分为电影和图书,而图书进一步分成计算机科学、生物、哲学和化学等。计算机科学又分为数据挖掘、人工智能、语义网、多媒体等。各类别之间并不是完全排斥,即一种商品可以同时属于多个类别(例如,一本书可以是数据挖掘类别的,同时还可以是人工智能类别的)。用户数据保存用户的个人相关隐私信息,例如姓名、性另I」、职业、兴趣、爱好等。用户行为历史数据包括用户在浏览器上浏览相关服务网站的所有行为数据,例如点击查看过的项目、搜索过的关键字、购买过的商品、想购买的商品、商品评分、反馈意见寸。2、数据挖掘模块数据挖掘模块204是本系统的核心模块,挖掘项目和项目、用户和用户、项目和用户之间的关系,根据相应规则挖掘出一般用户领域特征、领域专家用户和TOP-N关联项目, 利用用户历史行为数据挖掘用户的兴趣、爱好。数据挖掘模块主要包括以下几个方面1)计算项目相似度项目相似计算主要有余弦相似性、修正的余弦相似性和皮尔逊相关性,产生相似项目结果集。2)挖掘TOP-N关联项目采取一种增量式挖掘方法,计算所有项目对(A,B)出现的次数Count (A, B),找出 Count (A, B)出现次数最多的前N对,作为关联项目结果集。3)用户背景、行为历史数据的挖掘用户背景和行为历史数据的挖掘主要是为了挖掘所在领域以及潜在的感兴趣的领域。数据挖掘模块可以通过用户行为历史数据中用户直接标注的感兴趣领域确定用户感兴趣的领域,还可以根据用户行为历史数据中用户的位置、性别、身份、职业和受教育情况, 用户搜索时关键字,以及用户点击、查看和购买项目记录进行综合统计分析及语义分析处理得用户潜在兴趣的领域。4)挖掘专家用户如图如和图4b所示,传统的基于用户的推荐(图4a)是直接挖掘用户和所有项目的关系,而基于领域专家用户的推荐系统(图4b)则优化了传统用户和项目间的关系,挖掘了专家、领域和项目之间的相互关系。专家用户与领域相关,不同的领域需要采取不同的策略。为了挖掘专家用户,我们可以利用用户背景、用户评论、用户参与活跃程度等信息。一个用户可以是多个领域的专家。项目数据按照自然类别存储,那么可以把每一个子类别当作一个领域,施加不同的策略模式,在各个子领域采取挖掘各自专家用户。由于有些子领域的划分可能比较细,这样需要合并子领域的专家。下面对基于领域分类的专家用户的挖掘方法进行描述挖掘专家至少有两种方法一种是通过人工的直接指定、导入一定量的专家数据 (这些数据可以是现存的,已经被某些网站、服务所使用的),还有可能就是系统通过人工筛选,直接指定某用户为专家用户;另一种就是通过数据挖掘的方法。由于专家的挖掘方法一般是与领域相关的,不同的领域应该会有自己所适应的挖掘算法。一般说来,所有领域的专家应有以下几个共同的特点1.、专家的参与度比较高, 关键的一点是专家对项目的评分会比一般用户多得多;2、专家的影响力比一般用户要大得多,即专家会受到更多的关注;3、专家对于项目的评分比一般用户的评分可信度更高,即专家的评分更能反映项目实际好坏程度。在此,本系统以网上卖书为例,描述一种基于领域分类的专家用户的挖掘方法。如图3所示,对于一般的网络商品,可以自然归类成一课继承的类别树CT。在一颗类别树中, 会存在多个叶子节点CL。如果把一个叶子节点领域,那么我们只需计算出各叶子节点内的专家用户。我们假设领域D(i)是对应类别树的一个节点i。U表示所有用户的集合,M表
示用户个数。I⑴表示领域D(i)内所有项目的集合,I (i,j)表示领域D(i)内的第j个项目。1.计算所有用户在D(i)内的参与度P,本模型用P(i,j)表示领域i内用户j的
参与度。P(i,j)=用户在领域D(i)内的评论总数;2.计算所有用户在D(i)内的影响力E,E(i,j)表示领域i内用户j的影响力。E(i,j)=赞成用户评论的回复数-反对用户评论的回复数*0. 9;3.计算所有用户评分与平均评分的偏差R,R(i,j)表示领域i内用户j评分同平均评分的偏差。计算出所有用户在领域D (i)的参与度、影响力和评分偏差之后,便可设置专家用户最低参与度、最低影响力的、和最大评分偏差的阀值,筛选出高于预设的参与度、影响力和评分偏差的用户为专家用户,保存为该领域的专家用户数据。3、挖掘结果数据库模块
挖掘结果数据库模块206用于保存挖掘结果。挖掘结果是指关联的项目、相似的项目、用户对项目好坏评分、专家用户数据、用户感兴趣和潜在兴趣的领域。这些数据保存在关系型的数据库中,以方便读取。在此,用户对项目好坏评分、专家用户数据、用户感兴趣和潜在兴趣的领域可以保存在兴趣专家数据库206-1中,而关联的项目和相似的项目可以保存在相似关联数据库206-2中。具体的挖掘过程参考数据挖掘模块。4、基于领域评分推荐模块基于领域评分推荐模块208结合用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据,其中包括用户背景知识、用户历史行为知识和领域知识进行推荐。
如用户给项目的评分、项目被查看次数和被购买次数、用户领域内近似专家感兴趣的项目。本系统采用皮尔逊相关性来计算某个用户U与专家用户EU的相似性,定义用户i、 j的相似度为
权利要求
1.一种基于领域专家的推荐系统,其特征在于,包括分布式数据库模块,用于保存项目数据、用户数据和用户行为历史数据; 数据挖掘模块,用于根据所述项目数据、用户数据和用户行为历史数据挖掘用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据;挖掘结果数据库模块,用于保存所述用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据;基于领域评分推荐模块,用于获取用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据,计算获取临近专家列表,产生临近专家推荐结果集;对外接口服务层模块,采用网络服务方式为外接访问提供接口,接收用户输入的数据以及将临近专家推荐结果集返回给用户;数据写入模块,用于将用户输入的项目数据、用户数据和用户行为历史数据写入分布式数据库模块。
2.根据权利要求1所述的基于领域专家的推荐系统,其特征在于,所述推荐系统还包括上下文无关评分推荐模块;所述数据挖掘模块还根据所述项目数据、用户数据和用户行为历史数据挖掘相似项目结果集和关联项目结果集;所述上下文无关评分推荐模块用于基于相似项目结果集、关联项目结果集,采用基于内容过滤的方法为用户当前行为提供相关和相似产品的推荐结果集;所述对外接口服务层模块还根据不同时间场合的需要,选择调用接口,从而将临近专家推荐结果集或者相关和相似产品的推荐结果集返回给用户。
3.根据权利要求1或2所述的基于领域专家的推荐系统,其特征在于,所述数据挖掘模块通过用户行为历史数据中用户直接标注的感兴趣领域确定用户感兴趣的领域,根据用户行为历史数据中用户的位置、性别、身份、职业和受教育情况,用户搜索时关键字,以及用户点击、查看和购买项目记录进行综合统计分析及语义分析处理得用户潜在兴趣的领域。
4.根据权利要求1或2所述的基于领域专家的推荐系统,其特征在于,所述数据挖掘模块根据所述用户行为历史数据计算所有用户在各领域内的参与度、影响力和评分偏差,筛选出高于预设的参与度、影响力和评分偏差的用户为专家用户,保存为该领域的专家用户数据。
5.根据权利要求4所述的基于领域专家的推荐系统,其特征在于,所述数据挖掘模块还综合用户设置或导入的专家用户资料,保存为专家用户数据。
6.根据权利要求1或2所述的基于领域专家的推荐系统,其特征在于,所述基于领域评分推荐模块,在用户感兴趣和潜在兴趣的领域内,利用用户对项目好坏评分数据采用皮尔逊相关性来计算用户与专家用户的评分相似度,获取临近专家列表。
7.根据权利要求2所述的基于领域专家的推荐系统,其特征在于,所述数据挖掘模块采用余弦相似性、修正的余弦相似性和皮尔逊相关性计算项目相似度,产生相似项目结果集。
8.根据权利要求2所述的基于领域专家的推荐系统,其特征在于,所述数据挖掘模块采用增量式挖掘方法,计算所有关联项目对出现的次数,找出出现次数最多的预设数量对, 作为关联项目结果集。
9.根据权利要求2所述的基于领域专家的推荐系统,其特征在于,所述分布式数据库模块按照相关领域自然分类,以项目类别树的方式将各个项目数据作为节点存储。
10.根据权利要求2所述的基于领域专家的推荐系统,其特征在于,所述上下文无关评分推荐模块还基于用户对项目好坏评分,对为用户当前行为提供的相关和相似产品的推荐结果集进行项目的排序。
全文摘要
本发明涉及一种基于领域专家的推荐系统,包括分布式数据库模块、数据挖掘模块、挖掘结果数据库模块、基于领域评分推荐模块、对外接口服务层模块和数据写入模块;该推荐系统根据项目数据、用户数据和用户行为历史数据挖掘用户对项目好坏评分、用户感兴趣和潜在兴趣的领域以及专家用户数据,并计算获取当前用户的临近专家列表,产生临近专家推荐结果集返回给用户。本发明采用领域专家的推荐方式,具有权威性,有效地提供了推荐的精确度,且可以与常规推荐方式组成混合推荐系统使用,从而根据不同的场合为用户提供更加准确的推荐结果。
文档编号G06F17/30GK102479202SQ20101056166
公开日2012年5月30日 申请日期2010年11月26日 优先权日2010年11月26日
发明者张进军, 钟小武 申请人:卓望数码技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1