概念

paddlepaddle的个性化推荐教程

个性化推荐

本教程源代码目录在book/recommender_system, 初次使用请参考PaddlePaddle安装教程,更多内容请参考本教程的视频课堂

背景介绍

在网络技术不断发展和电子商务规模不断扩大的背景下,商品数量和种类快速增长,用户需要花费大量时间才能找到自己想买的商品,这就是信息超载问题。为了解决这个难题,推荐系统(Recommender System)应运而生。…

如何为技术博客设计一个推荐系统(中):基于 Google 搜索的半自动推荐

与统计学相比,基于内容来向用户推荐相似的内容,往往更容易获得。对于推荐来说,则有两种方式:

  • 手动推荐
  • 自动推荐

手动推荐。在技术领域,作者通常比大多数读者更专业,他们往往知道什么是读者需要的。如,你看了一个 React 相关的文章,你可能会需要 Redux 相关的内容。

自动推荐。需要一些前提条件:融合现有系统的数据信息,获取一些用户的信息。随后,再计算出相关的内容,最后返回给读者。

而在这篇文章里,我们将介绍 :

  1. 标签生成的方式
  2. 基于手动标签推荐
  3. 半自动的标签推荐
  4. 全自动的基于内容推荐

标签生成

文章与我们平时使用的物品,有很大的不同之处。如手机,拥有固定的规格参数,价格、屏幕尺寸、运行内存(RAM)、机身内存、CPU、后置摄像头像素、前置摄像头像素等等,我们可以轻易地通过这些特征,了解用户大概需要什么东西。如果用户浏览的是 2880 的 某 pro 7 手机,那么某米 6 的手机可能更适合该用户。

而文章是一种非结构化的数据,除了作者、写作日期这一类的信息,我们很难直接描述其特性,也就难以判定文章之间是否是相似的。因此,我们就需要从文章中抽取出关键词,或称为标签,从而判断出用户喜欢的是某一种类别。

对于使用标签来向用户推荐产品的应用来说,标签生成方式有四种方式:

  • 手动标签
  • 机器生成推荐
  • 用户手动标记(UGC)
  • 混合学习式

手动标签

即,用作者、发布者手动添加相关标签,这种方式往往是最靠谱的。毕竟作者会比较专业,如文章《

深度学习和神经网络简介

有一次,我和Vito(我的合伙人)聊起了当下热门的几种技术趋势。当谈及它们在未来可能的发展前景的时候,Vito说了下面的一段话:

人工智能是个信息革命到蒸汽机规模之间的机会,相比之下虚拟现实应该是移动互联网级别的,而用户个性化服务应该是伴生规模的。

如果人工智能技术带来的变革确实能够比拟工业革命的话,那么它势必会成就一代人,同时也淘汰掉一代人。而且,仔细想想,其实人工智能离我们并不遥远,甚至可以说已经开始深入到我们的日常生活中了。从iPhone里的Siri,到各大网站的内容推荐系统,再到图像识别和人脸识别技术的广泛应用,这些场景的背后都有这项技术在发挥作用。…

我是如何为技术博客设计一个推荐系统(上):基于统计与评分

过去的两周里,我一直忙于为 『玩点什么』 设计一个推荐系统(即,recommend system)。在这个过程中,参考了之前的 几本书籍,查找了一系列的资料。想着这些资料上,大部分都是大同小民的,实现了几个简单的推荐功能,改进了标签推荐算法,便想着写篇文章记录一下。

玩点什么』,是一个基于 Django、Python 的 CMS 系统(Mezzanine)。是的,和我的博客使用的是同一个 CMS 系统。由于使用的是 Python 语言,因此对于机器学习具有天生的优势。…

网页部署https后,如何提升SSL评分到A+

  

牛犊网部署https不知不觉也将近四个月了,期间也一直没有再去进行管理和优化,也没有大家担心的那样访问会因为多次握手有所延迟,一直加载挺快。我想主要还是因为我们这一代人终于搭上了“网络运营商降价提速”的国家政策快车,站长们也基本不用再担心担心客户端的网速问题,而去不断优化JS\CSS\HTML代码了。当然,打铁还需自身硬,自己的服务器配置、带宽还是要跟上时代的步伐的。

牛犊网从2014年搬迁至阿里云之后,由于接入的是BGP网络,访问一直飞快。本来近期有把服务器搬迁至百度云的打算,怎奈一直抢不到6个月免费试用的活动资格,又见阿里云在搞全民计算活动,就趁此将牛犊网的服务器进行了一次升级。

我是一个爱折腾的人,花了一天时间将网站打包下载,上传到新服务器,部署完IIS和SQL后就可以直接访问了,因为文件数据分离,搬迁部署也非常容易。到最后环节就是部署域名证书了。结果闲着无事,就去SSL验证网站(https://www.ssllabs.com/ssltest/)去验证了下安全评级,幸运的是,因为我是win2016服务器,自带IIS10,自动开启http/2.0,检测结果是A。但是看到人家的检测结果是A+,心里就痒痒呀,忍不住就去寻找攻略。

从SSL-LABS上的检测结果来看,网站的HSTS和HPKP的头部没有部署,从百度安全指数网(https://bsi.baidu.com/topic/https.html)查询部署漏洞,也可以得到结果。通过两个头部部署要求分析,HSTS的部署方式较为简单,HPKP的较为复杂,而且容易出错,因此,我选择先从HSTS头部部署开始。

这里我只讲IIS10(IIS7 和 IIS8 同样适用)的部署方案:

这里插一句,如果你的评分低于A,而且还是win+IIS服务环境,可以下载IIS Crypto(地址:https://www.nartac.com/Products/IISCrypto/Download)进行最优安全优化,这样就可以到达A级评分了,然后再来部署HSTS。

最后开始部署HSTS,其实非常的简单,在部署了域名证书的前提下,只要在IIS10设置的HTTP响应标头组件中添加HSTS的访问识别时长就可以了。

内容填写如下:

 

  名称:Strict-Transport-Security

值:max-age=31536000; includeSubDomains; preload

 

这个值是秒,换算过来正好一年。它的意思是接下来的一年时间,强制浏览器浏览页面通过https来访问,这样就可以避免运营商通过http跳转和DNS劫持投放广告了,是不是更安全了呢?

最后,再一次去ssllabs安全评分,就可以拿下A+了,此时成就感爆棚(看图1)~

攻略至此结束,只想说微软的服务器系统设置真的是越来越方便的,部署网络基础环境也是,基本也是无脑留的下一步,下次我找时间讲讲IIS 10如何部署网络基础环境。感谢欣赏和倾听我的唠叨!

作者:琚叶青,牛犊网站长

网站开启HSTS严格HTTPS功能并加入HSTS Preload List

从今天开始,土木坛子开启HSTS(HTTP Strict Transport Security)严格强制HTTPS SSL功能。

我一直支持HTTPS,在启用全站HTTPS后,用301的方式将所有HTTP访问请求自动转成HTTPS加密。但这种服务器端301的方式,并不能阻止浏览器到服务器之间HTTP链接被截持,因为此时的通信,并不是HTTPS。

启用HSTS协议后,在初次访问HTTPS后,用户在浏览器中再输入HTTP链接,浏览器本身会将HTTP链接自动转成HTTPS,会更加全面保护访问者的隐私,例如,没有人能在网络上截取你访问过土木坛子上关于艳照门的博文。…

HTTPS工作原理和TCP握手机制

1、HTTPS的工作原理

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:…

理解字节序

1.

计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)。

举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11

  • 大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
  • 小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。
Page 1 of 512345