- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于BloomFilter去重方法研究
基于BloomFilter去重方法研究
摘要:在个性化新闻推荐系统中,文章去重是一个重要的模块,避免了同一篇文章被重复推荐的现象。在海量用户场景下,采用传统的基于队列的去重方法将会消耗大量的内存。BloomFilter是一种空间效率很高的随机数据结构,适用于允许有一定误判率的场景。本文基于BloomFilter,设计双BloomFilter位数组结构和BloomFilter位数组链结构。实验证明,基于BloomFilter位数组链的去重方法,不仅大大降低了程序对服务器内存要求,而且具有较好的灵活性和扩展性。
关键词:信息超载;个性化推荐系统;BloomFilter
中图分类号:TP3文献标识码:A
1引言
随着互联网技术的迅速发展,新闻数据呈爆炸式的增长,用户很难从海量的新闻中找到自己真正感兴趣的内容,信息超载问题严重[1]。个性化推荐系统是目前解决信息超载问题最有效的工具,它能主动地从用户注册信息、用户浏览日志、历史评分记录等方面进行分析,挖掘出用户的兴趣偏好和项目特征,并根据用户需求和项目信息的变化及时调整推荐的内容和服务方式,实现“以用户为中心”的个性化服务[2]。一个完整的推荐系统包括收集用户信息、建立用户兴趣模型和推荐算法三部分,推荐算法是最为核心的部分。协同过滤、基于内容推荐、基于图结构推荐和混合推荐是目前较为常见的推荐方法[3,4]。在传统的新闻系统中,用户仅仅通过聚合页面浏览新闻,同一条新闻可能不断地出现在用户的推荐列表中,降低了用户的体验度。为了避免同一篇文章被重复推荐的现象,在个性化新闻推荐系统中添加了去重模块,如果该新闻用户近期已经阅读过,则从推荐列表中删除。文章去重是一个重要的模块,保证了用户每次阅读的新闻都是最新的。
在个性化新闻推荐系统中,传统的去重方法为每个用户维护一个长度为N的队列,队列中始终保持着最近向用户推荐过的N篇文章的ID。推荐时,将队列中存储的文章ID解析出来,存放到map或者hash表中,用做去重。但是当用户量较大的时候,该方法会消耗大量的内存。BloomFilter[5]是一种空间效率很高的随机数据结构,它采用位数组表示一个集合,并能快速地判断一个元素是否属于这个集合。由于哈希查找的常数时间和少量的存储空间开销,使得它具有非常好的应用价值[6],而且还可以根据具体的应用场景进行扩展[7]。BloomFilter存在一定的误判率(falsepositiverate)[8],不适用于严格要求100%正确的场合。在BloomFilter中,哈希函数个数k、位数组大小m、元素个数n都会影响到BloomFilter的误判率。文献[9]给出了BoomFilter取得最小误判率的情况下,k与m/n之间的关系。
采用单BloomFilter位数组的去重方法,虽然可以节省大量的内存,但是当用户阅读数量超过BloomFilter的最大缓存数量时,BloomFilter位数组将会失效,发生误判。为了解决这个问题,本文设计了双BloomFilter位数组的去重方法,当用户阅读数量超过给定阈值的时候,创建从位数组,在推荐过程中,不断地进行主/从位数组的切换和清空。双位数组的方法避免了单BloomFilter的失效问题,但是该方法扩展性较差。因此,本文又设计了BloomFilter位数组链的去重方法,不仅节省了更多的内存,而且具有较好的灵活性和扩展性。
2个性化推荐系统
个性化新闻推荐系统有三个重要的模块:用户兴趣建模模块、新闻建模模块、推荐算法模块。推荐系统把用户兴趣模型中的兴趣信息和新闻模型中的特征信息匹配,同时使用相应的推荐算法进行计算和筛选,找到用户可能感兴趣的新闻,然后推荐给用户[10]。在传统的新闻系统中,所有用户看到的新闻都相同。而在个性化新闻系统中,由于用户兴趣千差万别,不同的用户将看到不同的新闻。传统新闻系统通常是提供一个聚合了所有新闻链接的导航页面供用户浏览新闻,个性化新闻系统则有一个刷新按钮,用户可以通过刷新操作不断获取新的新闻。
推荐算法模块有4个重要的模块:触发模块、去重模块、排序模块和筛选模块,通用的推荐流程如图1所示。触发模块根据用户兴趣从文章池中检索出文章,同时去重模块会判断检索出的文章是否和用户历史阅读文章重复,保证检索出的文章不重复,构成文章候选集。排序模块计算候选集中每篇文章的分值并排序。筛选模块根据一定的策略筛选出最终的文章列表并推荐给用户,同时,推荐列表将更新到用户历史阅读列表用于下一次推荐去重。
去重模块至关重要,它能够保证用户每次阅读到的都是新文章。为提高计算效率,每个用户阅读过的历史文章列表需要全部存储到内存。对于一个拥有千万甚至亿级用户的推荐系统,这将消耗大量的内存。为节约系统内存,推荐系统将
您可能关注的文档
最近下载
- 中西医协同诊治胃息肉的优势及实践题库答案-2025年华医网继续教育.docx VIP
- 第七次全国人口普查(长表)问卷模板.doc VIP
- 2025陕西省从优秀村(社区)干部中考试录用乡镇(街道)机关公务员200人考试备考题库及答案解析.docx VIP
- 铁路系统劳动安全教育培训考试题库资料(含答案).pdf VIP
- 2025陕西省从优秀村(社区)干部中考试录用乡镇(街道)机关公务员200人考试备考试题及答案解析.docx VIP
- 0.中国中铁建筑施工典型异常工况安全处置工作指引宣贯材料.pptx VIP
- 2025陕西省从优秀村(社区)干部中考试录用乡镇(街道)机关公务员200人笔试备考试题及答案解析.docx VIP
- 某能源化工人力资源项目标书.pdf VIP
- 2025年江苏省事业单位管理类《综合知识和能力素质》真题卷(含历年真题精选).docx VIP
- 初中道德与法治教学中榜样教育的现状及对策研究.docx
原创力文档


文档评论(0)