招 2000 人来审核内容,他们是今日头条的数据勤杂工还是机器学习的训练师?
编者按:本文转载自公众号 “旧世纪黑森林”(微信 ID:ichenni),转载已获得作者授权。
说明:这是一篇废稿,起先着眼于 “人工智能与人力劳动的关系”,后来越写越杂,焦点模糊。非常适合发在这个关注用户质量高、忠诚度高又少见多怪的公众号上,可能会对你理解机器学习有所帮助,万一呢。
今日头条的跨年并不是在兴奋与喜悦中度过。12 月 29 日,北京市互联网信息办公室针对今日头条 “持续传播色情低俗信息、违规提供互联网新闻信息服务” 等问题,责令其 “立即停止违法违规行为”。
这是官方在抛出 “算法有没有价值观”、“机器有没有温度” 等系列命题之后的最后一次 “强干预”。虽然,今日头条的平均用户停留时长已比肩 Facebook、微信等黑洞级应用,但其 “琳琅满目” 的信息呈现与用户的期待依然有不小的落差。如头条所倡导的 “算法没有价值观”,用脚投票的用户也没有价值观,只有好恶。
在六个 “重危” 频道被整顿 24 小时并将 “新时代” 这一 “价值观频道” 设为默认后,今日头条的开年第一件大新闻是:在天津招聘 2,000 名内容审核编辑岗位,加强内容审核。该职位要求热爱新闻,关心时事,具有良好的政治敏感度和鉴别力,要求本科及以上学历,党员优先。而此前今日头条的审核团队已逾千人规模。
其中的被动式应战意味显而易见,透露出的一个重要的信息就是:包括今日头条在内的个性化推荐引擎的算法在性能调优、千人千面这件事上貌似失效了。大家都看到了脏的东西,只是内容不一样而已。于是,我们不由得去思索一个问题:这些个性化资讯提供商真的是黑灯工厂吗?在 “下一代搜索引擎” 面前,人与机器的关系是怎样的?
我们先从即将为今日头条工作的 2,000 名 “内容审核编辑” 入手,猜猜看他们的工作是什么。落点在编辑,核心却在审核,甚至是在数据标注。毕竟一个号称没有编辑的推荐系统怎么可能需要 2,000 多名编辑?审核的含义就显而易见了,头条号的内容(数据)能不能分发、发出去的能不能展示、怎么展示,被迫务实的今日头条需要紧急解决的就是减少 “低俗色情” 内容了,机器不行人来凑。
今日头条已经越来越离不开繁重的人力劳动了,这家 “高举高打、向 BAT 全面开战、作战半径越来越长” 的小巨头正在通过更多的、更底层的人力劳动来夯实地基,完善数据标注和分类,弥补低水平人工智能的缺陷。当然,需要这么做的不仅仅是今日头条,还有整个人工智能领域。
人工智能的核心是机器学习,它涉及了算法、统计、概率等多学科,那些看似简单甚至笨拙的语音反馈、图像搜索和个性化内容推荐,都基于无数繁复单调的人力劳动。就像苹果公司带动的智能手机产业链一样,人工智能这一辉煌的朝阳产业,依然离不开三四线城市的劳动力、在校大学生以及大量社会兼职人员的工作,今日头条此次在天津释放的 2,000 个审核编辑名额正是瞄准了这一群体。
人力劳动与人工智能的关系最直观的体现正是由今日头条所掀起的新闻客户端 “个性化推荐革命” 了,在此类产品中,内容的多级分类、垃圾内容的清洗及过滤、用户行为画像都涉及复杂的机器学习,而需要人工标注数据去喂养机器的可以是分词、关键词,也可以是文章分类、文章中图文的比例。如果将一整套算法比作一个健全的有机系统,每一个维度的数据都是构建这套系统的神经元,它们或多或少会影响用户展现层,可谓是差之毫厘谬以千里。
那么,那些你喜欢的、你不喜欢的内容是如何从数百万级的内容库里被选择推荐到你的信息流里?我通过与几位个性化算法工程师、今日头条的前产品经理和从事这个 “内容审核编辑” 工作运营人员聊天,了解到了密集的人力劳动是如何喂养机器智能的。
分词标注:理解你的兴趣之前,先理解汉字的意义
众所周知,英文是以词为单位的,词和词之间靠空格隔开,而中文是以汉字为单位,把中文的汉字序列切分成有意义的词,就是中文分词。中文自然语言处理(Natural Language Processing)中,分词是必不可少的一个过程。
个性化推荐引擎,最重要的就是把有意义的信息前置,其核心是相关度排序。分词准确与否直接影响排序,影响你的信息流列表里是否都是你个人感兴趣的东西。
即便是有了成熟的分词算法,也很难解决中文分词遇到的困境。因为汉字本身的多义性和模糊性使得在机器看来词和句充满了歧义。而且一个健康的语言系统也是在不断进化中,每天都会有新的词汇产生。就歧义而言,同样的一句话,可能有两种或者更多的切分方法。比如,乒乓球拍卖完了,切分成 “乒乓球拍/卖完了” 和 “乒乓球/拍卖完了” 就是完全不同的意思。
第二个需要人力不断去跟踪的就是汉字的 “新词”,术语是 “未登录词”,即没有被收录在分词词表中但必须切分出来的词。在这部分最直观的产品体验就是输入法的云词库,每天都会有运营人员统计新词上传云端。而在个性化推荐系统里,新词的识别也要以人力为主,辅助机器去不断添加并处理。
(图 | 机器学习在技术层面的应用)
处理完有意义的词,还需要排除无意义的词,这就是所谓的停用词库(Stop Words),略相当于过滤词(Filter Words),术语为 “非检索用字”,因为要节省存储空间和提高搜索效率,以及出于法律及政治的诉求,搜索引擎需要自动忽略的一些过滤词也需要人工辅助机器标注。
停用词包括两部分,一种是使用十分广泛甚至过于频繁的词,英文里如 “I”、“is”、“the”,中文如 “我”、“的”、“了”,几乎在每个文档里都有体现,但很难保证搜索的准确性及推荐无意义的结果,也需要过滤。
然而,需要人工干预的停用词更需要在不同场景下的词库里去维护,比如在体育新闻中,“比赛” 这个词的价值就不是很大;在娱乐新闻中,“演员” 就不是一个特别有意义的词。但是这两个词如果放在科技新闻里就不一样了。
作为理解文本最核心的工作,分词标注其实是自然语言处理的一部分,而离开了大量的基础的人力工作,机器对文本的处理其实就是一句空话,除非你有一个现成的、庞大的、动态的数据库。而在许多公司,自然语言处理部分已经完全外包了,靠售卖成型的数据库已经是一门生意了。
分类标注:你需要忘记的文章分类,恰恰是机器需要记住的
分词停词的标注牵扯到算法模型里对文本的识别,文本本身也需要通过建立训练集来辅助机器学习。在一个完善的个性化推荐系统里,文章分类树的构建也相当有必要。
文章分类是最简单的个性化步骤,在大而全的门户时代,会通过页面的版块来区分你的阅读兴趣,现在的个性化产品虽然也排设了各分类频道,但其主要功用是满足一些垂直喜好。个性化水平够高的话,以兴趣推荐为主的首页流量会是频道的数倍不止。
个性化资讯产品的一个优势在于,从各渠道爬虫抓取过来的内容天然自带分类,比如抓了新浪科技频道的内容,那么这些文章自然带 “科技” 分类标签。此类文章会出现在正确的分类频道。然而,这是一种粗颗粒度的 “个性化”,完全谈不上兴趣推荐,且抓取渠道的多样并不能保证所有文章都自带标签,从门户到个性化推荐,最重要的特征就是兴趣颗粒度的细化。
以前,用户喜欢看科技类内容,现在,这个兴趣溶解为 iPhoneX、共享单车等标签。因此,一个合理的文章分类是包含至少三层的分类标注过程。即一级分类(科技、娱乐、军事等标签);二级分类(一级分类的分拆及内容源分类);三级分类(一个庞大的标签库,一篇文章里最关键的主题词等)。
以某手机浏览器在做的分类工程为例,机器学习想要实现分类准确性,需要通过百万级文章的训练数据去习得。负责人杨某告诉我,首先,需要建立一个 150 万篇的数据库,然后由机器进行原始分类,30 多个人耗时一个月进行校审,正确的分类继续标注二三级分类,错误的要进行纠正重新进行分类,而只要准确率能达到 90%,就是工程师可以接受的水平。
在最终实现的完整分类树里,一共有 27 个一级分类,300 多个二级分类,将近 10 万多个标签。以一点资讯为例,用户订阅的关键词或者分类,正是基于这种庞杂的分类标注所形成的文章与关键词之间的映射。
(图 | 文章的三级分类)
人工干预:让你困扰的推荐兴趣列表,是一堆人设计的逻辑重叠
如果在你的理解中,机器学习是根据一些粗笨的规则和你的兴趣关键词为你生成兴趣推荐列表的话,那就大错特错了。你可以打开你的推荐页面往下刷一刷,这里边至少包含了多种关联性推荐的内容。
有你关注的了账号、有被强制展示给你看的时政新闻、有今天最火的短视频、有运营编辑认为今日不可错过的 100 件大事。当然,现在可能会有 2,000 名审核编辑想让你或不想让你看到的东西。客观而言,现在呈现在你面前的信息流其实很难做到完全的个性化,这个看似简单让人 “震惊、转疯了” 的列表里重叠了太多的运营逻辑。
算法模型的核心是预判+反馈,对一个新用户而言,你喜欢看什么东西?机器需要预测,即使对今日头条而言,抓取其社交关系链给一个初始化列表,但这些是否能真正体现你的阅读趣味就是另外一说了。因此,在这个初始列表里,有一个候选池的概念,以 “全局最热”、“用户所在城市最热”、“用户最关注类别最热”、“用户最关注关键词最热” 组合构成信息列表。
看似很关心用户,但是站在 “个性化用户” 的角度而言,这种体贴又有什么用呢?人工可以干预的不像以前页面运营的单条维护更新,而是变成一个 “文章库”。因此,在一个主模型的基础上,还需要引入其它次要逻辑,以更好地 “模拟” 用户的兴趣列表。
在号称没有编辑部的个性化资讯产品部门里,依然存在大量的垂直领域的编辑,他们的主要职责就是设计人工干预准则、干预个性化排序。以凤凰新闻客户端为例,依然存在着至少 30-50 人的编辑运营团队。
目前,编辑精选+个性化推荐的组合首页列表成为主流,这一肇始于搜狐新闻客户端的内容推荐方法成为门户新闻客户端的选择。凤凰新闻客户端运营负责人告诉我,编辑每天会将热门、时效、有格调的新闻放在一个动态的精品内容库里,少则几十条、多则一百条,以平衡新闻的时效性与个性化内容的可读性。
人工干预可以保障信息流的健康度和丰富度,对于提升用户体验有非常重要的作用,一定程度也能调整模型的方向。人工干预的规则也会以 A/B 测试的方式验证规则的数据效果,但唯独不能保证的是——这是不是你想要的个性化?
垃圾处理:一个劳累且持久的系统工程
这正是即将入职今日头条的 2,000 名审核编辑需要做的事情,在未来的一段时间内,他们有可能将看遍今日头条上所有内容空洞、价值低的垃圾内容。
标题党、情色低俗、广告营销类的帖子在个性化资讯产品里并不少见,而在被官方媒体及用户诟病的背后,则是平台不遗余力地反垃圾工作。如果将大面积自媒体化后的资讯产品比作淘宝的话,那低质量内容就像是假货,双方的博弈势必是一场持久战。前今日头条算法产品经理透露,事实上,大多数资讯产品里的垃圾内容含量都在 30% 以上。
反垃圾系统里边有两种逻辑,一种是过滤;一种是通过机器学习识别和过滤垃圾内容来辅助推荐系统。前者见效快,但工作量大,且不利于推荐系统的学习成长。就像那些敏感的家长对待性教育的态度,其隐患在于这种归类与识别在机器的观念和经验里是彻底缺失的。在某手机浏览器的信息流部门里,仅审核工作人员就有 20 多个,需要 7*24 小时工作,人均日审核量就超过 1,000 篇。这个审核数据量刚好和今日头条对审核编辑的职位描述一致。
(图 | 通过屏蔽来过滤垃圾内容的人工操作后台)
过滤的做法简单粗暴,通过标题/正文的关键词或账号来屏蔽。然而,事实上,直接在标题中踩中违禁词的概率实在太小,而在正文里踩中的概率却很大。且词汇本身则在不同语境下发挥不同作用,误杀的概率也大到可怕。
通过机器学习识别和过滤垃圾内容更有利于推荐系统的良性成长,对垃圾内容进行文章特征、垃圾类型和发布源等人工标注,再结合上述三个维度的标注,将这些数据提交给机器进行学习,进而实现对垃圾内容的机器审核,我想,这应该是数千人规模的审核团队需要实现的终极目标。不过因为工期过长、监管风险和市场窗口,等你的机器学习趋近成熟的时候,早已没有了用武之地,这正是今日头条所面临的尴尬局面。
某 Android 桌面信息流算法工程师告诉我,反垃圾系统的关键在于给新文章打上是否是垃圾的标记,这符合机器学习分类问题的定义。例如,现在已经有了 10,000 篇垃圾文章,再找到同等规模的非垃圾文章,挑选机器学习模型训练一个分类器,这个问题就迎刃而解了。针对反垃圾系统,机器学习领域常使用准确率和召回率来判断系统的优劣。
准确率 = 系统预判垃圾文章中真正垃圾的文章数目 / 系统判定垃圾文章数目
召回率 = 系统预判垃圾文章中真正垃圾的文章数目 / 真正垃圾的文章总数
比如系统里总共有 1,000 篇文章,反垃圾系统判定其中 100 篇文章为垃圾,在这 100 篇被判定垃圾的文章中有 60 篇真的是垃圾文章,此外还有 40 篇垃圾文章被标记为非垃圾。这样准确率就是 60/100=60%,而召回率也是 60/100=60%。准确率能够帮助判断标记垃圾文章的性能,而召回率反映了系统能够处理的垃圾文章覆盖范围。这两个概念也被用在数据标注、分类标注中用以判断算法性能。
反垃圾系统需要在准确率和召回率之间进行平衡,如果我们把所有文章都标记为垃圾,那么召回率就是 100%,而准确率就会变成 10%,这样的话用户就看不到任何文章了,显然这是不合理的。因此,机器学习分类算法需要做的事情就是引入通过人工标注的更细致的文章特征维度,包括增加文章的特征、多模型融合、加大训练数据量等,以提升准确性。
在优化了特征与模型方面的工作,将准确率和召回率最终都提升到 85% 左右,这是一个可以接受的及格数值,不过这意味着依然有 15% 的误差内容需要人工去干预,并需要继续加强对机器的训练。
总之,搭建一套完整的标注系统,并对数据进行持续维护,这仅仅是个性化推荐需要完成的原始积累,而将这四部分协同操作并运用在算法模型中,也仅能得到一个及格的个性化信息流产品。在客户端展现的另外一维,还不能缺少对用户行为数据的理解及清晰画像,要实现这种匹配关系还有更长的路要走。
前几年,国内聚焦于今日头条模式的个性化推荐系统有大小公司超过 30 家,其展现形式包括原生 APP、信息流 SDK、手机浏览器,还有那些企图刻意拉长用户停留时长的产品。这种模式很快被复制到了土耳其、阿根廷、巴西、印尼等国家。然而,以减少数据标注维度、降低推荐系统性能和牺牲用户体验为代价的个性化资讯产品,都不可避免地走向了品牌缺失、产品低留存甚至是监管关停。
可喜的是,有不少人从专业的角度发现了商机。去年 8 月,提供数据标注众包服务的 “星尘数据” 获得天使轮投资,硅谷出身的创始团队正是瞄准了这个行业的积累不完善、水平层次不齐。此前,成立较早的 “数据堂” 已成功挂牌新三板,此外还有爱数智慧、泛涵科技、龙猫数据、丁火智能等都已获得融资并着手构建自己的数据标注平台。从产业的角度来看,缺失的一环正在补齐。
机器算法通过廉价劳动力的单个无意义成果的累积实现质的飞跃,这座智能、精巧的大厦的建设工作从以前高素质新闻从业者手中递交给了简单培训即可上岗的重复工作者。对高级人工智能及深度学习而言,让一些人在机器面前无所适从、找不到工作价值是我们迈向人工智能时代必然要经历的阵痛。
所以,当你在招聘网站上看到 “数据运营” 或者 “内容审核” 的岗位,就需要注意了,这多半是一份看不到头并很难在短时间内体现个人价值的工作,因为你的角色是机器的训练师。对庞杂的算法而言,这些工作是不可或缺的,并且是最基本、最有价值的一部分。但是放眼激烈的商业环境,能否在数据标注这件事上保持足够的耐心才能最终决定所谓的 “个性化” 产品走多远。