当前位置: 首页 > 编程日记 > 正文

AI时代:推荐引擎正在塑造人类

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进行授权转载。

相关文章:

mogileFS 分布式存储-安装手记

环境是centos 呃,装个玩意儿走了好多弯路,以为依赖太多的包河模块,搞了很久. 后来发现其实安装可以简化的,yum没有mogilefs,可以通过epel来安装. 第一种安装方法,用epel # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm # yum…

英特尔成立物联网视频事业部,这届IESS还揭露了哪些信息?

随着5G技术的深入发展与落地,物联网已然成为当下炙手可热的技术话题。当万物相互连接,一个潜力丝毫不亚于互联网的市场就此诞生。驱动互联网的可能是网络,可能是算力,也可能是无数个开发者的开源和共享。那么驱动物联网的力量究竟…

JS数字转换成货币格式

2019独角兽企业重金招聘Python工程师标准>>> // Extend the default Number object with a formatMoney() method:// usage: someVar.formatMoney(decimalPlaces, symbol, thousandsSeparator, decimalSeparator)// defaults: (2, "$", ",", &q…

CentOS 部署 flask项目

原文地址 最近在学习 python,使用 flask 实现了个个人博客程序,完了想部署到服务器上。因为是新手,一路磕磕绊绊最终把它基本搞定。网上资料对新手感觉都不太友好,都是零零碎碎的,所以我整理了一下,一方面作…

Linux系统JDK安装和配置

以下步骤均为root登录状态下进行执行。 一、卸载JDK Linux会自带JDK,如果不使用自带版本的话需要卸载。 1、卸载系统自带的jdk版本 查看自带的jdk #rpm -qa | grep gcj 看到如下信息: libgcj-4.1.2-44.el5 java-1.4.2-gcj-compat-1.4.2.0-40jpp.1…

4000字,详解 Python 操作 MySQL 数据库!

作者 | 黄伟呢出品 | 数据分析与统计学之美本文的重点,就是教会大家,如何用Python来操作MySQL数据库。1. 通用步骤其实,这里有一个通用步骤,都是写死了的,大家照做就行。# 1. 导入相关库 import pymysql# 2. 链接MySQL…

php跨域共享session

、 $gb_DBHOSTname "127.0.0.1"; //主机的名称或是IP地址 02 $gb_DBname "dbname"; //数据库名称 03 $gb_DBuser "username"; //数据库用户名称 04 $gb_DBpass "pwd"; //数据库密码 05 $gb_COOKIE_DOMAIN .a.com; 06 $SESS_DBH …

centos6 防火墙iptables操作整理

使用语句 前言: iptables的启动文件位置再: /etc/init.d/iptables , srevice iptables调用的就是这里的执行文件 查看防火墙状态 service iptables status开启防火墙 service iptables start 关闭防火墙 service iptables stop永久关闭防火墙(开机不启动) chkconfig i…

分布式计算开源框架Hadoop入门实践

在SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章《Tiger Concurrent Practice --日志分析并行分解设计与实现》中有所提到。但是由于统计的内容暂时还是十分简单,所以就采用M…

网络配置文件、命令详解

一、网络服务、配置文件二、ifconfig常用命令三、route常用命令四、ip命常用命令五、其他一、网络服务、配置文件修改网络服务配置文件不会立即生效,重启网络服务或主机后生效且永久有效1、配置文件1.1、网络配置文件:/etc/sysconfig/network[rootTESTHO…

面了一个大佬,一看就背了很多面试题

2021都说工作不好找,其实也是对开发人员的要求变高了。正好前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些图文解析及笔记。今天在这免费分享给大家,希望大…

swift的特点

swift与OC的区别: swift是一门强语言,而OC是一门弱语言。强语言比弱语言更加严谨 每写一行代码系统都会自动检测是否有错误,这样就减少了运行后出错的可能。swift支持开源,所以可以引用到其他语言开发的项目中,OC是闭源…

Apache模块开发helloworld无错版

环境:CentOS 5.4 第一步:安装Apache的apxs 首先来介绍下apache的一个工具apxs。apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadM…

Golang+Python 实现安全动态开机密码+服务器存储

作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 引言: 如果谈到近几年来新起的语言,必然离不开Python语言和Go语言,正如python在人工智能领域的发展火热,Go语言在服务器并发处理也有着非常优势。 Go语言…

《中国顶尖技术团队访谈录·第二季》发布

卷首语(InfoQ中国总编辑 崔康)\\在提笔写这篇卷首语的时候,我们刚刚为InfoQ中国过完八岁生日。回溯到2007年的3月28日,InfoQ中文站正式上线运营,从此中国的IT技术人有了一个崭新的学习和成长的平台,InfoQ中…

record-09 ATM 过程思想 综合练习

#__author: hasee #date: 2018/1/16 # user_info.txt包含内容: # zhangsan1 123456 3500 # zhangsan2 123456 4000 # zhangsan3 123456 4500 # zhangsan4 123456 5000 # zhangsan5 123456 5500 # zhangsan6 123456 6000 # zhangsan7 123456 6500 # zhangsan8 12345…

在ApacheHTTPD服务器中使用DSO完全分析

Apache HTTP 服务器是一个模块化(或说积木式)的程序,管理员可以选择一些模块来增加服务器的某些功能。这些模块,可以在创建服务器程序时静态地编译到httpd服务器的二进制代码中,也可以编译成一些独立于服务器程序的Dyn…

apache 2.4.12 + tomcat 7.0.61 + jk connectors 1.2.40实现tomcat负载均衡集群

实验环境: CentOS 5.11 final hostname:T1.getg.com IP地址:192.168.50.138软件准备: CentOS Linux 5.*系统光盘中的“Development tools”工具包组 jdk-8u45-linux-x64.tar.gz pcre-8.36.tar.gz apr-util-1…

有哪些新手程序员不知道的小技巧?

提到新手程序员,大家想到的第一个词可能就是:刷题。尤其是通过LeetCode刷题,想必新手程序员们都经历过这一步,甚至不少人认为只要在LeetCode上刷的题目够多,就一定能够进阶为大神。但是,不难发现&#xff0…

cocostudio UI编辑器中UITextField输入框控件光标

http://www.cocoachina.com/bbs/read.php?tid194533

在apache中使用 memcache 来作 session 存储

session.save_handler memcache session.save_path "tcp://127.0.0.1:11211" 使用多个 memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数"persistent"、"weigh…

Android WebView访问SSL证书网页(onReceivedSslError)

Android WebView访问https SSL证书网页,如淘宝,需要在onReceivedSslError添加SSL支持 webview.setWebViewClient(new WebViewClient() {Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {// 不要使用su…

改名 Meta,打元宇宙牌,老龄化的 Facebook 能否再换新颜

编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 美东时间10月28日周四,在名为 Facebook Connect 的年度大会上,Facebook 宣布,Facebook 将公司名称更改为“Meta”,这个新名字反映了该公司在社交媒体之外…

Android NDK开发之旅31 FFmpeg音频解码

###前言 #####基于Android NDK开发之旅30--FFmpeg视频播放这篇文章,我们已经学会视频解码基本过程。这篇文章就对音频解码进行分析。 #####音频解码和视频解码的套路基本是一样的, 否则怎么会做到音视频同步播放呢? ###1.FFmpeg音视解码过程分…

整理了 65 个 Matplotlib 案例,这能不收藏?

作者|周萝卜来源|萝卜大杂烩Matplotlib 作为 Python 家族当中最为著名的画图工具,基本的操作还是要掌握的,今天就来分享一波文章很长,高低要忍一下,如果忍不了,那就收藏吧,总会用到的。启用和检查交互模式在…

负载均衡工具haproxy安装,配置,使用

一,什么是haproxy HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运…

【文章】本站收集与转载文章目录

1.关于推荐系统中的特征工程 2.Java程序员最喜欢的11款免费IDE编辑器 3.人工智能和机器学习领域的一些有趣的开源项目 4.微软发布Project Oxford,供Azure户免费集多项功能 5.微软推Azure机器学习工具:Algorithm Cheat Sheet

L09-10老男孩Linux运维实战培训-Nginx服务生产实战应用指南05(架构解决方案)

nginx的多实例设置首先说一下nginx后面加的参数的说明 -s 后面加reload 就是重新加载的意思和apache的graceful同样的效果 -v 小写的v显示版本号后退出 -V大写的V显示nginx的版本号和配置环境 -t 就是test的意思,检查配置文件是否正确 -c 后面配置文件的地址&#x…

linux中的apachectl是什么命令

apachectl是Apache HTTP服务器的前端程序。其设计意图是帮助管理员控制Apache httpd后台守护进程的功能。apachectl脚本有两种操作模式。首先,作为简单的httpd的前端程序,设置所有必要的环境变量,然后启动httpd ,并传递所有的命令…

数据库性能优化1——正确建立索引以及最左前缀原则

1. 索引建立的原则用于索引的最好的备选数据列是那些出现在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。仅仅出现在SELECT关键字后面的输出数据列列表中的数据列不是很好的备选列SELECTcol_a <- 不是备选列FROMtbl1 LEFT JOIN tbl2ON tbl1.col_b tbl2.col_c <-…