一种基于用户自主选择的个性化推荐方法和系统的制作方法

文档序号:9750862阅读:864来源:国知局
一种基于用户自主选择的个性化推荐方法和系统的制作方法
【技术领域】
[0001]本发明属于网络应用技术领域,涉及一种基于用户自主选择的个性化推荐方法和系统。
【背景技术】
[0002]由于信息技术的不断发展以及互联网经济的日益繁荣,使得我们被迫处于一个信息爆炸的时代:人们每天都要面对大量看似无关的数据和信息,从而造成了严重的信息过载问题。如何从海量数据当中快速有效地筛选出真正有用的信息以及相关结果已经成为学术界和众多互联网公司研究的一个热点问题。
[0003]目前,为了处理信息过载问题,已经有两种不同的方案被广泛采用:
[0004]—种是使用搜索引擎,比如以谷歌、百度为代表的搜索引擎可以让用户通过搜索关键词或者词的组合来找到自己需要的信息。虽然搜索引擎技术极大地简化了信息过滤的工作,提高了工作效率,但是,该技术仅限于根据用户主动提供的关键词或者组合等信息,自动搜索所有相匹配的已知结果。如果用户没有明确的需求(即用户无法找到准备描述自己需求的关键词),搜索引擎将变得无能为力。
[0005]另一种是使用推荐系统,推荐系统也是一种帮助用户快速发现有用信息的工具,但是区别于搜索引擎,推荐系统并不要求用户提供明确的需求,而是通过分析用户的历史行为来试图找到用户极有可能感兴趣的信息,并主动推荐给用户。
[0006]长期以来,大量的文献和专利都集中于对如何提高推荐算法精度和推荐结果的多样性等性能指标的问题进行深入研究。比如2015年07月15日授权公告的,授权公布号为CN104778237A,名为“一种基于关键用户的个性化推荐方法和系统”的发明专利,提出了一种降低推荐系统计算复杂度的方法,2015年09月16日授权的专利CN 104915391A公开了一种基于信任关系的物品推荐方法。
[0007]虽然所提出的推荐方法都在一定程度上提升了推荐系统的性能,但是这些方法往往忽略了用户行为特征随时间变化、选择行为的差异性以及使用推荐系统的长期效应等这些因素。首先,已有的推荐系统往往单纯使用一种推荐算法或改进的推荐算法作为推荐引擎,为用户提供个性化推荐服务。但是推荐算法和数据源各自具有不同的特点,对不同用户的推荐效果也是不尽相同。例如基于矩阵分解技术的推荐算法专注于推荐结果的准确性,基于随机游走算法的推荐则更加专注于推荐结果的多样性。其次,由于不同的用户在选择商品行为上存在明显的差别。比如,小度用户倾向于选择大度商品,大度用户倾向于小度商品。因此即使同一用户,在不同的时间段内在选择商品的行为上也表现出不同的特征。最后,相关文献表明长期使用推荐系统虽然有助于增加受欢迎的物品销量,但是它也缩小了用户的选择空间。因此,一个好的个性化推荐应该是根据不同用户的偏好以及用户行为随时间变化等因素来实时动态选择适合当前时刻的推荐算法。

【发明内容】

[0008]有鉴于此,本发明的目的在于提供一种基于用户自主选择的个性化推荐方法和系统,使用户根据自己的偏好实时动态地选择推荐算法,并给出相对应的推荐系统实现,以此来增强用户的自主能动性,从而更好地满足用户个性化推荐服务的需求,达到提升用户推荐满意度的目的。
[0009]为达到上述目的,本发明提供如下技术方案:
[0010]—种基于用户自主选择的个性化推荐方法,在该方法中,用户可以根据自己的偏好在推荐算法列表中自主选择偏好的推荐策略,系统通过分析用户的选择行为在推荐算法库中找到合适的推荐算法来向用户进行推荐。
[0011]进一步,在该方法中,所述推荐算法库中存储有多种推荐算法,根据用户在推荐算法选择列表中的操作,动态选择相对应的推荐算法进行推荐计算。
[0012]进一步,所述推荐算法列表中所列出的推荐策略顺序原则上保持固定不变,但也可以通过分析用户的历史行为,对推荐策略进行动态排序。
[0013]进一步,本方法具体可以包括以下步骤:
[0014]I)系统通过日志文件采集用户的行为数据,包括用户对产品的购买、浏览、收藏和评论等操作彳丁为;
[0015]2)系统通过用户保留在系统内的个人信息,自动根据用户的偏好信息分配一种适合的推荐算法作为用户的初始推荐算法,用于生成相对应的推荐列表;
[0016]3)用户对当前返回的推荐列表进行评估,并做出是否更改当前推荐策略的选择;
[0017]4)如果用户满意当前推荐策略所产生的推荐结果,则系统认为该算法为适合该用户的个性化推荐算法;
[0018]5)如果用户不满意当前推荐策略所产生的推荐结果,则用户可以通过系统提供的推荐算法列表,自主来选择适合自己的个性化推荐策略;
[0019]本发明还提供了一种基于用户自主选择的个性化推荐系统,该系统包括用户行为获取模块、数据处理模块、推荐系统模块和显示模块;所述用户行为获取模块:系统通过日志文件获取用户行为数据,并按照一定格式生成一个标准数据集;所述数据处理模块:接受来自用户行为获取模块传递来的用户行为数据,并将数据根据特征信息存储于不同的媒介当中,包括内存缓存、数据库或者分布式文件系统;显示模块用于将推荐系统模块发送来的推荐结果呈现给对应的目标用户;
[0020]所述推荐系统模块包括推荐算法选择控制单元、推荐算法单元以及推荐结果处理单元;所述推荐算法单元包括有推荐算法选择列表,在该列表中存储有多个推荐策略,在进行推荐时,用户可以通过选择控制单元对拟采用的推荐策略进行选择;推荐系统模块基于用户的历史行为数据,根据用户对推荐算法列表的选择操作获得用户选择的个性化推荐策略,从而分配相对应的推荐算法来计算当前用户对各产品的推荐度,并将推荐度最大的N个产品作为当前用户的推荐结果发送给显示模块。
[0021]进一步,所述推荐算法列表中的各个推荐策略的排序可以根据用户的历史行为进行动态调整。
[0022]进一步,所述推荐系统模块具体执行流程如下:
[0023]I)从数据库或者缓存当中提取用户行为数据,通过分析不同行为,生成当前用户的特征向量;
[0024]2)通过分析用户自主选择的推荐策略,在推荐算法库中选择相对应的推荐算法进行推荐计算;
[0025]3)结合在步骤I)当中生成的用户特征向量和步骤2)中选择的推荐算法,通过计算特征一物品相关矩阵转化为初始推荐结果列表;
[0026]4)对得到的初始推荐结果列表按照用户需求对结果进行过滤,过滤掉不符合要求的物品,包括用户已经产生过行为的物品,候选物品以外的物品以及质量很差的物品;
[0027]5)为了提升用户的满意度,对经过筛选的推荐结果进行进一步的排序操作,排序的方法可以根据分析步骤2)当中用户选择的推荐策略而定,包括根据流行性排序、根据多样性排序以及根据准确性排序;
[0028]6)选择排序靠前的N个产品作为最终的推荐结果列表传递给显示模块。
[0029]本发明中,由于不同用户可以根据自己当前时刻的偏好主动选择适合自己的个性化推荐策略,所以,计算推荐度的方法和最终所呈现给不同用户的推荐结果列表也是不相同的,比如:有些用户在推荐结果中更加在意产品的流行度,有些用户则更加关心推荐结果的准确度或者推荐的多样性等等。即所谓呈现给用户的是个性化的推荐结果列表。因此,本发明在考虑到用户行为随时间变化等因素的前提下,实现了基于用户个性需求的个性化推荐,改变了以往一种推荐算法适用于所有用户的现状。特别要注意的是,在该方法中,系统所提供的推荐列表中的推荐算法个数有限,并且,用户只能在系统提供的静态推荐列表当中寻找最适合自己的个性化推荐,以此来保证用户不会陷入无限制的推荐算法选择上。但是,该方法的推荐算法列表也可以扩展为动态形式,即虽然推荐算法列表中的算法个数有限,但可以根据用户的历史选择信息,实时更新所提供的推荐算法。
[0030]本发明的有益效果在于:本发明在向目标用户推荐的时候,给用户提供多种个性化推荐算法,并且允许用户根据自己的个性化需要来自主选择适合自己的推荐算法,从而彻底改变了现有推荐系统中不同用户始终采用同一推荐算法的现状,在考虑用户主观感受的基础上,真正意义上实现了基于不同用户行为随时间变化的个性化推荐,提升了推荐系统的性能和用户满意度。
【附图说明】
[0031]为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0032]图1为推荐系统结构示意图;
[0033]图2为推荐系统模块内部的流程示意图;
[0034]图3为基于用户自主选择的个性化推荐系统流程示意图;
[0035]图4为处理用户首次推荐选择的流程示意图。
【具体实施方式】
[0036]下面将结合附图,对本发明的优选实施例进行详细的描述。
[0037]图1为本发明的推荐系统结构示意图,如图所示,本发明的基于用户自主选择的个性化推荐系统包括用户行为获取模块、数据处理模块、推荐系统模块、显示模块,其中用户行为获取模块通过Web应用/网站的日志文件系统来获取用户在Web网页的各种各样行为,包括用户的浏览记录、对商品的一系列操作行为(如搜索、收藏、评价、分享和购买,等等)。数据处理模块则根据用户行为获取模块采集到的数据规模大小和特征,对不同的行为数据进行分类存储。比如,用户对商品的评价、收藏和购买等需要实时存取的行为,存储在内存、缓存或者数据库当中,而对于用户浏览、商品搜索等不需要实时存取的大规模行为,则存储在大规模的分布式文件系统当中,如HDFS(Hadoop Distributed File System)。推荐系统模块主要分为推荐算法选择控制单元、推荐算法单元和推荐结果处理单元。其中推荐算法选择控制单元提供多种不同类型的推荐算法供当前用户使用,通过分析用户在系统提供的推荐算法选择控制列表中的行为,来选择适合当前用户的个性化推荐算法。推荐算法单元运行所选择的推荐算法,并生成相对应符合用户偏好的初始推荐结果列表。推荐结果处理单元则对推荐算法单元产生的初始推荐结果,进行进一步的深处理,并最终产生呈现给用户的推荐结果列表。显示模块则主要负责和当前用户进行交互,接受来自推荐系统模块产生的推荐结果,并以用户可读的方式呈现给当前用户。
[0038]本发明中,为了能够实现用户对推荐算法
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1