推荐系统

推荐系统| ① Movies概述

喜你入骨 提交于 2019-12-05 21:59:51
数据生命周期 项目系统架构 用户可视化: 主要负责实现和用户的交互以及业务数据的展示,主体采用AngularJS2进行实现,部署在Apache服务上。 综合业务服务: 主要实现JavaEE层面整体的业务逻辑,通过Spring进行构建,对接业务需求。部署在Tomcat上。 【数据存储部分】   业务数据库: 项目采用广泛应用的文档数据库MongDB作为主数据库,主要负责平台业务逻辑数据的存储。   搜索服务器: 项目爱用ElasticSearch作为模糊检索服务器,通过利用ES强大的匹配查询能力实现基于内容的推荐服务。   缓存数据库: 项目采用Redis作为缓存数据库,主要用来支撑实时推荐系统部分对于数据的高速获取需求。 【离线推荐部分】   离线统计服务: 批处理统计性业务采用Spark Core + Spark SQL进行实现,实现对指标类数据的统计任务。   离线推荐服务: 离线推荐业务采用Spark Core + Spark MLlib进行实现,采用ALS算法进行实现。   工作调度服务: 对于离线推荐部分需要以一定的时间频率对算法进行调度,采用Azkaban进行任务的调度。 【实时推荐部分】   日志采集服务: 通过利用Flume-ng对业务平台中用户对于电影的一次评分行为进行采集,实时发送到Kafka集群。   消息缓冲服务: 项目采用Kafka作为流式数据的缓存组件

crab-python的推荐系统

浪尽此生 提交于 2019-12-05 15:40:27
项目: 是一个发展中的推荐系统 http://www.oschina.net/p/crab 安装: ( 优先用easy_install ) * numpy Q:遇到缺少vcvarsall.bat的问题 A: 当已经安装了vs20xx时,可设置环境变量 SET VS90COMNTOOLS=%VS100COMNTOOLS% Q:遇到各种编译错误 A:直接上win的安装版,注意和python版本对应 http://sourceforge.net/projects/numpy/files/NumPy/ * Scipy 直接上win的安装版,注意和python版本对应 http://sourceforge.net/projects/scipy/files/Scipy * scikits.learn 依赖numpy * matplotlib 为了构建文档和一些示例代码 依赖较多,可跳过 * crab easy_install安装效果不好 ,import scikits.crab提示找不到 改在 https://github.com/muricoca/crab 下载源码包,用python setup.py install 安装 (在linux下也是同样情况) ---------------------------------- * 测试 保存为文件,直接python执行即可 #!/usr/bin

知识图谱如何运用于RecomSys

不想你离开。 提交于 2019-12-05 12:07:13
将知识图谱作为辅助信息引入到推荐系统中可以有效地解决传统推荐系统存在的稀疏性和冷启动问题,近几年有很多研究人员在做相关的工作。目前, 将知识图谱特征学习应用到推荐系统中主要通过三种方式——依次学习、联合学习、以及交替学习 。 依次学习 ( one-by-one learning )。首先使用知识图谱特征学习得到实体向量和关系向量,然后将这些低维向量引入推荐系统,学习得到用户向量和物品向量; 联合学习 ( joint learning )。将知识图谱特征学习和推荐算法的目标函数结合,使用端到端( end-to-end )的方法进行联合学习; 交替学习 ( alternate learning )。将知识图谱特征学习和推荐算法视为两个分离但又相关的任务,使用多任务学习( multi-task learning )的框架进行交替学习。 依次学习 Deep Knowledge-Aware Network (DKN) 我们以新闻推荐[1]为例来介绍依次学习。如下图所示,新闻标题和正文中通常存在大量的实体,实体间的语义关系可以有效地扩展用户兴趣。然而这种语义关系难以被传统方法(话题模型、词向量)发掘。 为了将知识图谱引入特征学习,遵循依次学习的框架,我们 首先需要 提取知识图谱特征 。该步骤的方法如下: 实体连接 ( entity linking )。即从文本中发现相关词汇

LeetCode 5273. 搜索推荐系统 Search Suggestions System

删除回忆录丶 提交于 2019-12-05 11:32:00
地址 https://leetcode-cn.com/problems/search-suggestions-system/ 题目描述 给你一个产品数组 products 和一个字符串 searchWord ,products 数组中每个产品都是一个字符串。 请你设计一个推荐系统,在依次输入单词 searchWord 的每一个字母后,推荐 products 数组中前缀与 searchWord 相同的最多三个产品。如果前缀相同的可推荐产品超过三个,请按字典序返回最小的三个。 请你以二维列表的形式,返回在输入 searchWord 每个字母后相应的推荐产品的列表。 样例 示例 1: 输入:products = ["mobile","mouse","moneypot","monitor","mousepad"], searchWord = "mouse" 输出:[ ["mobile","moneypot","monitor"], ["mobile","moneypot","monitor"], ["mouse","mousepad"], ["mouse","mousepad"], ["mouse","mousepad"] ] 解释:按字典序排序后的产品列表是 ["mobile","moneypot","monitor","mouse","mousepad"] 输入 m 和 mo

[Swift]LeetCode1268. 搜索推荐系统 | Search Suggestions System

风流意气都作罢 提交于 2019-12-05 11:14:56
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:为敢(WeiGanTechnologies) ➤个人域名: https://www.zengqiang.org ➤GitHub地址: https://github.com/strengthen/LeetCode ➤原文地址: ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given an array of strings products and a string searchWord. We want to design a system that suggests at most three product names from products after each character of searchWord is typed. Suggested products should have common prefix with the searchWord. If there are more than three products with a common prefix return the three

推荐算法之用矩阵分解做协调过滤——LFM模型

故事扮演 提交于 2019-12-05 10:59:53
隐语义模型(Latent factor model,以下简称 LFM ),是推荐系统领域上广泛使用的算法。它 将矩阵分解应用于推荐算法推到了新的高度 ,在推荐算法历史上留下了光辉灿烂的一笔。本文将对 LFM 原理进行详细阐述,给出其基本算法原理。此外,还将介绍使得隐语义模型声名大噪的算法 FunkSVD 和在其基础上改进较为成功的 BiasSVD 。最后,对 LFM 进行一个较为全面的总结。 1. 矩阵分解应用于推荐算法要解决的问题 在推荐系统中,我们经常可能面临的场景是:现有大量用户和物品,以及少部分用户对少部分物品的评分,我们需要使用现有的用户对少部分物品的评分去推测用户对物品集中其他物品的可能的评分,从而将预测中评分高的物品推荐给用户。例如下面的用户物品评分表: 用户\物品 物品 1 物品 2 物品 3 物品 4 物品 5 用户 1 3 2 用户 2 1 2 6 用户 3 3 4 6 用户 4 1 2 5 用户 5 4 2 3 对于每个用户,我们希望较准确的预测出其对未评分物品的评分。将m个用户和n个物品的评分看做一个矩阵 M ,从而将矩阵分解应用到该场景,即可解决这一问题。而本文,将关注于矩阵分解用于到推荐的方法之一,即 LFM 算法的解决方案。 2. LFM LFM 算法的核心思想是通过隐含特征(Latent factor)联系用户和物品

听云推荐系统贰

自古美人都是妖i 提交于 2019-12-05 10:42:20
本文延续上一篇博文,继续介绍推荐离线层的一些策略设计 背景   本文主要介绍关于推荐推荐策略的设计 , 以及简单介绍推荐中常用的ABtest分流验证策略(好坏)的方法      本项目的实现代码在: Recommend Offline 离线层策略设计   上一篇文章中简要提到了,我们的设计从大到小,按照如下几个等级称呼 1 产品线 --> 策略 --> 模型(算法)   解释如下:一个产品线下可以配置多个策略,一个策略可以是单个模型(算法)计算得到的结果,也可以是混合得到    ABtest在其中的位置:对某个产品线中的多个策略,进行流量划分   反馈:根据日志采集的结果指标,可视化之后对比各个策略的表现,调整ABtest中的流量划分,使得推荐效果最大化,单个策略则需要调整各个模型的占比 大体逻辑如下图 设计实现   那有了以上说的内容,我们将其逐步实现,以下我们均使用音乐推荐相关的维度来进行说明 model(算法) 1234567891011121314151617181920 all_model=[{ "id":18, "name":"cf_new", #算法名,用作解释 "version":"1.0.0", #版本号,暂未使用 "source":"1", #单一算法的策略值,不能与混合策略重复 "struct":"zset", #redis中存储数据类型,一般zset

个性化推荐研究(五)之冷启动问题

隐身守侯 提交于 2019-12-05 10:09:21
<h3>什么是冷启动问题?</h3> <p>     个性化推荐是需要依赖用户的历史行为才能预测用户的兴趣,因此大量的用户行为数据是用户的重要组成部分和先决条件。那么对于在开始阶段就像要一个个性化推荐系统的网站或应用来说,如何在没有用户历史数据的情况下设计个性化推荐并且让用户对推荐结果满意从而使用推荐系统,就是冷启动问题。 </p> <h3>用户冷启动</h3> <p>     如何给新用户做个性化推荐? <br/>     1、做非个性化推荐,如热门排行榜、人工推荐等<br/>     2、利用用户的个人信息做粗粒度的个性化推荐<br/>     算法核心:计算每种特征(如年龄、性别、职业等)的用户喜欢的商品。即,对于每种特征f,计算具有这种特征的用户对各个商品的喜好程度p(f,i)。<br/>     p(f,i)=|N(i)与U(f)的交集|,其中N(i)是喜欢物品i的用户集合,U(f)时具有特征f的用户集合。<br/>     以上公式可能会出现有一个物品只被一个用户喜欢过,而这个用户刚好就有特征f的情况,那么p(f,i)=1。这种情况没有统计意义,因此我们可以为分母加上一个比较大的数,可以避免这样的商品产生比较大的权重。<br/>     p(f,i)=|N(i)与U(f)的交集|/(|N(i)|+a)<br/>     通过以上公式,可以计算出每种特征的商品集合。<br

推荐系统(一)初识推荐

本秂侑毒 提交于 2019-12-04 21:01:21
推荐系统之初识 一、 什么是推荐系统 推荐系统诞生的背景是信息过载。面对互联网海量的信息,比如:新闻、电影、图书、音乐,我们常常不知道怎么找到符合自己口味的信息。也许你可以通过 分类目录 一级一级地定位,或者你知道这部电影相关的信息通过输入到 搜索引擎 来查找,还有一种办法就是网站知道你的口味,给你 推荐 相关的电影。前两种方式都需要用户自己主动地去查找,而最后一种方式确是网站根据用户行为进行私人订制的推荐。 简单来说,推荐系统通过挖掘用户的行为,找到用户的个性化兴趣,从而将商品准确地推荐给需要它的用户。 来源: https://www.cnblogs.com/leyang2019/p/11883654.html

如何从 0 到 1 构建个性化推荐?

痴心易碎 提交于 2019-12-04 14:34:51
文章作者:曾钦榜 58同城 高级技术经理 编辑整理:周晓侠 内容来源:58技术沙龙 出品社区:DataFun 注:欢迎转载,转载请在留言区内留言。 导读:随着科学技术的飞速发展,互联网被广泛应用于各个领域,而以互联网为基础的招聘模式也越来越受到企业的青睐。互联网招聘具有不受地域限制、覆盖面广、招聘成本低、针对性强、方便快捷、时效性强等优点,现已得到广泛应用,其中,58招聘是互联网招聘行业中规模最大的平台。今天主要跟大家分享下58招聘如何通过个性化推荐技术服务大规模求职者和招聘企业。分享题目是从零到一构建58招聘个性化推荐,主要通过以下三方面进行介绍: 招聘业务介绍 个性化推荐实践 心得分享与规划 ——招聘业务介绍—— 58招聘业务简介 2018年我国全国总人口13.9亿多,其中就业人口7.7亿,招聘基数庞大。三大产业就业人口占比分别26.11%,27.57%,46.32%,其中第三大产业占比最大,部分发达国家第三大产业占比已达到70%~80%,随着经济的发展,我国未来就业市场和就业分布将发生大的变化。2019年8月城镇调查显示我国失业率为5.2%,其中25~59岁失业率4.5%,同时每年有800多万的应届生加入就职市场。58招聘作为我国互联网招聘行业之首,每天服务于千万级求职者和大中小企业,平台每天生成千万级连接,促成大量求职者求职成功。 58招聘平台主要服务于求职者和招聘方