技术文章:TUJC的博客

优采云 发布时间: 2022-11-12 22:21

  技术文章:TUJC的博客

  一、项目要求 1、背景要求

  用户文章上传的行业解决方案推荐,类似于百度文库,有一定的免费和付费的文章。

  2.数据说明

  该产品已经运行了一年多,现在有必要阅读它来改进它并加入推荐系统。

  业务同事直接将mysql业务库中的文章表、评价表、文章标签维度表导出到本地,形成articles.csv、ratings.csv、tags.csv文件,

  我们将读取数据并加载到 mongodb 和 elasticsearch。

  三、项目框架

  mongodb-linux-x86_64-rhel62-3.4.3

redis-4.0.2

2.1.1

0.10.2.1

2.9.0

2.0.0

6.4.3

6.4.3

  2.相关代码 1.将本地文件写入Mongo和ES 1)加载对应路径中的数据得到RDD

  2) 转换 RDD --> DataFrame

  反射机制,定义一个示例类,后面直接映射到DataFrame的schema信息;

  3) 将 DataFrame 保存到 Mongo

  4)将DataFrame保存到ES

  Scheme数据集,保存到ES方便查找

  2.推荐0)数据源使用基于统计的评分数据

  

  1) 历史流行统计

  读取评分数据集,统计所有评分中评分最高的文章,从大到小排序,将结果写入MongoDB对应的数据集。

  2) 最近流行的文章:

  读取评分数据集,通过UDF函数将评分数据时间修改为月,然后统计每个月的评分文章个数。结果将写入 MongoDB 中的相应数据集。

  3) 平均分统计:

  读取打分数据集,通过执行SQL语句实现文章的平均分统计

  4)每个类别的高质量文章统计:

  只计算整个文章的平均分后,对文章集合与文章类型做笛卡尔积,然后过滤掉与文章不匹配的条目> 类型,

  加入,添加一列“意思。

  fillter:判断当前文章是否收录这个类型,如果没有,过滤。

  第一个map:将数据转换成,key为文章的类型,value为文章当前类型下的文章列表(文章ID , 文章平均分钟)

  第二张map:groupbykey后,将数据转换为存储格式,key为文章类型,value为文章当前类型下文章的列表(文章ID,文章平均分),根据榜单特点,倒序排列,取前10名。

  3. 基于内容推荐的内容推荐概述

  Content-based Recommendations (CB):计算物品之间的相似度,根据物品的内在特征推荐相似的物品。

  项目内在特征提取方法;

  相似度计算方法:欧式距离、余弦相似度

  本项目使用:

  文本特征提取主要是:count,tfidf(词频,一个词在一个文本中出现很多,而在其他文本中很少出现,说明它有很好的分类能力,比如每一个文章都会出现label”行业”,这个标签特征的分类能力不强,但是如果一个标签是“中继”,这个标签在其他文章中出现的频率很低,所以它是一个很好的标签。

  tfidf,越常见,值越小

  实施过程:

  TF-IDF:提取 文章 的特征

  余弦相似度,计算文章的相似度,

  3)计算余弦相似度得到推荐列表

  0) 数据源是一个 文章 数据集

  1)TF-IDF特征计算

  

  内容特征:文章类型,一个文章genres列收录多种类型,以空格分隔,

  需要对文章的不同类别进行特征提取,转换成特征向量,然后计算每对特征向量的相似度值(余弦角),降序排序,选出最靠前的10 作为候选名单。

  (1) 分词:

  (2)获取TF词频(Term Frequency)

  (50,[11,13,19,43,49],[1.0,1.0,1.0,1.0,1.0])

  50:要设置的特征数量

  11:冒险标签的索引号,

  1:表示对应索引位置的词频为1

  是一个稀疏矩阵

  (3)得到的IDF为逆文档频率(Inverse Document Frequency)。

  2)余弦相似度计算

  (1) 特征值稀疏矩阵,转换为数组,Double类型

  (2) Pairwise 文章 特征值相似度计算,笛卡尔积,

  4. 基于协同过滤的推荐

  目前推荐系统主要分为三类:

  (1)内容推荐CB,主要是根据物品本身的内容特征,寻找物品或内容的相关性,通过物品的相似度进行推荐。如果你喜欢*敏*感*词*,我推荐*敏*感*词*相关的书籍。

  (2)协同过滤推荐CF,既考虑物品相似度,也考虑用户相似度,计算用户相似度;根据用户对物品或信息的偏好,查找物品或内容本身的相关性,或查找用户相关性;喜欢*敏*感*词*的人也喜欢冒险书,所以可以把冒险书推荐给喜欢*敏*感*词*的人。

  (3) 混合推荐:该技术采用一些策略(如加权、切换、特征放大等)来整合多种推荐技术,如基于内容的推荐系统、基于人口统计的推荐系统、基于效用的推荐系统,以及基于知识的推荐系统)。推荐系统。

  协同推荐概述:

  1)基于用户的协同过滤:根据所有用户对物品或信息的偏好,寻找与当前用户有相似品味和偏好的“邻居”用户群。在一般应用中,使用计算“K-nei*敏*感*词*ors”的算法。然后,根据K个邻居的历史偏好信息,对当前用户进行推荐。

  假设用户1喜欢物品A和C,用户2喜欢物品B,用户3喜欢物品A、C和D;

  可以发现用户1和用户3的口味和喜好比较相似,

  推荐文章:网站日志是什么?查看网站日志有什么作用?

  1.什么是网站日志

  网站日志也叫服务器日志,用于记录WEB服务器的操作信息和访问请求的记录,包括客户端IP地址、请求日期/时间、请求的网页、HTTP 代码和提供的字节数。、用户代理、参考地址等原创信息都是以.log为后缀的日志文件。

  2.网站日志有什么用

  1. 网站日志和网站分析具有共同的价值和意义。通过分析网站日志,我们可以知道网站访问者来自哪里?网站访客在寻找什么?哪个页面最受欢迎?网站访客离开哪里?网站管理员、运营商、推广者可以根据这些数据信息实时掌握网站交通信息,了解用户的具体行为,分析用户的目的。为了优化网站,提升网站用户体验,增加网站流量,让更多的访客落户成为会员或客户,以更少的投入获得最大的收益。

  2、网站日志详细记录了网站的操作信息,所以如果网站有轻微异常,可以通过网站分析网站的操作过程log 发生的错误详情,如错误页面、错误代码等,可用于检查不足,弥补操作中遇到的网站错误,排除和解决操作中遇到的其他问题. 例如:找到404页面,尝试恢复对网站的访问;查找其他有问题的页面,包括死链接,返回码异常,需要处理才能恢复页面的正常访问,但是无法恢复正常访问死链接,创建txt文档,并提交至百度站长平台。

  3、网站日志还记录了搜索引擎蜘蛛网站的爬取细节,并以此分析搜索引擎蜘蛛的意图,从而使网站的优化工作更多直观且有迹可循,做出有利于搜索引擎优化的调整。例如,如果发现百度蜘蛛每天在固定的时间访问网站,那么可以选择在这个固定的时间内更新网站的内容。

  

  3.网站日志的分析工具

  这里有一个非常好用的网站日志分析工具,就是Maple SEO Network的网站日志在线分析工具/journal。您可以选择导入日志进行分析。具体操作步骤如下:

  ①打开枫叶官网

  ②点击域名导航栏下的网站日志分析工具

  ③上传从服务器下载的网站日志

  

  ④点击执行分析

  ⑤ 查看日志分析结果

  要想做好网站的优化,需要多分析网站的情况。如果能分析3-5遍,基本就有判断力了,可以更好的知道网站>有哪些方面需要调整,比如robots文件的制作,404页面的导出处理,死链接的导出处理等

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线