We shape our tools and afterwards our tools shape us. ------Marshall McLuhan

麦克卢汉说:“我们塑造了工具,反过来工具也在塑造我们。”

我本人不反感AI,也相信人工智能会开创一个伟大的时代,但是我们要思考一些东西,至少知道那是什么。本人旨在让你了解当前人工智能应用最普遍的智能推荐引擎(Intelligent Recommendation Engine),其背后的设计理念,以及一些更深度的思考。关于理念,它不像技术要求太多的基础,我尽量不使用专业术语,所以本文同样适合程序员以外群体。

从“分类”说起

以大家熟悉的分类信息网为例,像58同城、赶集网。网站把现实生活中的商品、服务进行分类进行展示,比如房产、二手车、家政服务等。这些内容即是现实世界对应的抽象,我们可以很容易的找到对应关系。

我们再以求职网站为例,像智联招聘、BOSS直聘。网站按照职业把 人分类,比如程序员、厨师、设计师、数学家、物理学家等。

那么现在问题出现了,众所周知,人工智能的完美入门人才是具有数学和计算机双学位的硕士以上学历人才。那么,我们如何把这样的人分类呢?我们无法单一的将其归入到程序员或者数学家,我们无法为每一个这样的复合型人(slash)进行单独分类。

分类产生矛盾。

我们区分南方人、北方人,所以有地域歧视。我们区分亚洲人、欧洲人,所以有种族歧视。“分类”只是人类简化问题逻辑的手段,薛定谔的猫和罗素的理发师已经证明了“分类”并不正确。所以在大计算时代,我们引入“贴标签”的概念。

贴标签

AI时代是计算能力爆炸增长所带来的。在强大的计算能力面前,我们真的可以针对每个人进行“分类”,它的表现形式就是---贴标签

30岁以下、程序员、屌丝、奶爸、熬夜、不爱运动、公众号叫caiyongji、格子衬衫、机械键盘、牛仔裤……这些可以是一个程序员的标签。换个角度,“类别”反转过来服务于单独的某个人,这是在计算能力短缺的时代所无法想象的。

传统的智能推荐引擎对用户进行多维度的数据采集、数据过滤、数据分析,然后建模,而人工智能时代的推荐引擎在建立模型步骤中加入Training the models(训练、测试、验证)。

最后,推荐引擎就可以根据用户标签的权重(可以理解为对标签的打分,表示侧重点),对用户进行精准推送了。

推荐引擎属性分化

俗话是这么说的“旱的旱死,涝的涝死”,“饱汉子不知饿汉子饥”,不知道这些俗语我用的恰当不恰当。我的意思是在智能引擎的推荐下,会加强属性两极分化。

我们以程序员为例,选取编程技巧、打游戏、体育运动、熬夜、看书五个维度。经过推荐引擎的“塑造”后如下。

目前,推荐引擎的算法会将权重比较大的标签进行优先推广,这就导致原本权重大的标签得到更多的曝光次数,最终使得权重大的标签权重越来越大,而权重小的标签在长时间的被忽略状态下逐渐趋近于零。

推荐引擎行为引导

波兹曼认为,媒体能够以一种隐蔽却强大的暗示力量来“定义现实世界”。其中媒体的形式极为重要,因为特定的形式会偏好某种特殊的内容,最终会塑造整个文化的特征。这就是所谓“媒体即隐喻”的主要涵义。

由于“推荐”机制的属性分化,那些高技术含量的、专业的、科学的、真正对人又帮助的信息被更少的人接触,而那些简单的、轻松的、娱乐的、裸露的、粗俗的信息被越来越多的人接触。

我们看一下具有影响力的百度、今日头条和微博在今天(2018年1月13日10:04:xx)所推荐的内容。我删除了cookie,使用匿名session,移除我的“标签”。也就是说,下图所推荐内容对大部分人适用。

只要你好奇点击,你的tittytainment(我翻译成“愚乐”,那个三俗的译法不要再传了)属性权重就会越来越大。娱乐新闻点击过百万,科普文章点击不过百,这种现象正是推荐引擎的行为引导导致的。

不客气的说,百度、今日头条、微博对国民素质的影响是有责任的。

无关推荐(Non Relational Recommendation)

对于你从来都没思考过的事物,你可能永远都接触不到,因为你不知道求索的路径,所以有的人每个月都读与自己专业无关的书,来扩展自己的知识面。我们举个例子:

你可能会在网上搜索如何与女朋友和谐相处但你未必会搜索如何让女朋友们和谐相处,有人笑谈“贫穷限制了我的想象力”,其实不然,是你接收不到无关的推荐,你才被限制在特定的知识圈子里。

所以我提出无关推荐这个概念。

对程序员进行画像:

如图,当某个标签没有到达“程序员”的路径时,他可能永远无法触及那个标签。这时,我们推荐“无关”信息给用户,强制产生路径。

你可能会质疑,这是随机强制推荐垃圾信息吗?

其实不然,通过深度学习,我们可以进行大量的数据收集、数据分析和模型训练,我们是可以找到对某个个体无关,但会让其感兴趣信息的兴趣点。这种信息就是无关推荐的

最后

你每天接收到的“推荐”背后是各个团队经过心理学研究、行为学研究、大量计算设计的,人们正在失去深度思考、自主判断的能力。对于进步青年、斜杠青年请保持思考。谨以此文献给希望进步的你,希望你有所收获和思考。


本文欢迎注明出处的转载,但微信转载请联系公众号: caiyongji进行授权转载。

AI时代:推荐引擎正在塑造人类的更多相关文章

  1. AI时代大点兵-国内外知名AI公司2018年最新盘点

    AI时代大点兵-国内外知名AI公司2018年最新盘点 导言 据腾讯研究院统计,截至2017年6月,全球人工智能初创企业共计2617家.美国占据1078家居首,中国以592家企业排名第二,其后分别是英国 ...

  2. 从源代码剖析Mahout推荐引擎

    转载自:http://blog.fens.me/mahout-recommend-engine/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pi ...

  3. 转】从源代码剖析Mahout推荐引擎

    原博文出自于: http://blog.fens.me/mahout-recommend-engine/ 感谢! 从源代码剖析Mahout推荐引擎 Hadoop家族系列文章,主要介绍Hadoop家族产 ...

  4. 脚本AI与脚本引擎

    Scripted AI and Scripting Engines 脚本AI与脚本引擎 This chapter discusses some of the techniques you can us ...

  5. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

  6. 机器学习实战(Machine Learning in Action)学习笔记————10.奇异值分解(SVD)原理、基于协同过滤的推荐引擎、数据降维

    关键字:SVD.奇异值分解.降维.基于协同过滤的推荐引擎作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harr ...

  7. 转】用Mahout构建职位推荐引擎

    原博文出自于: http://blog.fens.me/hadoop-mahout-recommend-job/ 感谢! 用Mahout构建职位推荐引擎 Hadoop家族系列文章,主要介绍Hadoop ...

  8. 3星|《腾讯产业森林:AI时代的创业密码》:后半部分是较详细的创业指南,前面泛泛介绍腾讯、AI

    腾讯产业森林:AI时代的创业密码 前半部分泛泛介绍腾讯对创业者的支持,腾讯支持的创业项目的案例.AI的一些基本介绍,后半部分是比较详细的写给创业者的各阶段行动与选择的指南. 总体评价3星,有一些参考价 ...

  9. 机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源

      机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源 相关主题   在信息时代,公司和个人的成功越来越依赖于迅速 ...

随机推荐

  1. vim 命令整理(自己经常使用)

    vimm(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器. vimm分为两种状态,即命令状态和编辑状态.在命令状态下.所键入的字符系统均作命令来处理.如:q代表退出,而编辑状态则是用 ...

  2. [数字图像处理]常见噪声的分类与Matlab实现

    1.研究噪声特性的必要性 本文的内容主要介绍了常见噪声的分类与其特性. 将噪声建模,然后用模型去实现各式各样的噪声. 实际生活中的各种照片的老化,都能够归结为下面老化模型. 这个模型非常easy,也能 ...

  3. SSM框架开发web项目系列(四) MyBatis之快速掌握动态SQL

    前言 通过前面的MyBatis部分学习,已经可以使用MyBatis独立构建一个数据库程序,基本的增删查改/关联查询等等都可以实现了.简单的单表操作和关联查询在实际开的业务流程中一定会有,但是可能只会占 ...

  4. 关于java以及JavaScript或者更多的语言中Data类的问题

    关于java和JavaScript以及各类编程语言里Data类的月份问题,日子是从1开始数,但是星期和月份对应的周一和1月都不是1,这是为什么呢? 很多新手对此可能会不理解,老手觉得这没啥,但是我觉得 ...

  5. jsp页面制作弹出框

    各种弹出页面的设计 [1.普通的弹出窗口] 其实代码非常简单: <SCRIPT LANGUAGE=javascript> <!-- window.open ('page.html') ...

  6. linux vi/vim编辑文件显示行号

    方法一(最尴尬的方法): 1.显示当前行行号,在VI的命令模式下输入 :nu 2.显示所有行号,在VI的命令模式下输入 :set nu #这是:set number 的简写 方法二(最好的方法): 使 ...

  7. 2. whoami,常用包,调优selinux,七种启动模式,系统开机服务

    1   whoami  查看当前登录用户      useradd zhang   增加用户      passwd  zhang       su - zhang     切换用户        e ...

  8. Git Pro读书笔记

    本文为Git Pro读书笔记,所有内容均来自Git Pro 1 Git基础 1.1 记录每次更新到仓库 在Git里,文件有4种状态,modified, staged, commited, 还有一种状态 ...

  9. KVO键值观察的具体实现

    1.KVO简介 KVO是Objective-C对观察者设计模式的一种实现,它提供一种机制,指定一个被观察对象(如A类),当对象中的某个属性发生变化的时候,对象就会接收到通知,并作出相应的处理.在MVC ...

  10. java多线程(四)-自定义线程池

    当我们使用 线程池的时候,可以使用 newCachedThreadPool()或者 newFixedThreadPool(int)等方法,其实我们深入到这些方法里面,就可以看到它们的是实现方式是这样的 ...