? 分类器服务:分类器服务是一类接口,它们与抽象分类器接口之间建立网络联接。它们之间通过不同的机器学习算法,使用标准的面向对象的方法来实现的。实现的算法包括随机森林、SVM、逻辑回归、Boosting等。分类器服务始终在线,并且被设计为从不重新启动。 ? 特征提取语言(FXL):FXL(Feature Extraction Language)是用于表达特征和规则的动态执行语言。FXL检查特征表达式,然后在线加载到分类器服务和特征追踪器中,无需重新启动服务。 ? 动态模型加载:模型建立在特征之上,而这些特征都是基本的FXL表达式或其派生的表达式。同样地,模型在线加载到分类器服务,分类器服务或特征追踪器无需重新启动,并且许多分类器实现支持在线训练。 ? 策略引擎:策略引擎将分类和特征结合起来表达业务逻辑和业务策略,并评估分类器的性能。策略是布尔值,开奖,由FXL表达式触发响应,在机器学习得到的分类和特征数据提供者之上执行。响应是系统操作,包括多种类型,例如阻止操作、要求身份验证质询和禁用帐号等。 ? 特征回路(Floops):分类在特征提取期间生成各种信息和关联,Floops接收这些数据,将其聚合,并将其作为特征提供给分类器。Floops还包含用户反馈、来自爬虫程序的数据以及来自数据仓库的查询数据。 Sigma 系统:编写策略手段升级 Facebook的反垃圾技术也在不断的对抗中迭代。Facebook用于垃圾信息过滤和清理的规则引擎演进为Sigma系统,部署于2000多台服务器之上。该系统将规则和机器算法相结合,判断所有用户的评论、链接、朋友请求等行为是否正常,日均处理信息数量达百亿级。 机器学习的一端,样本主要来自于用户行为,Sigma根据历史数据训练模型,预测某个行为/信息是否有问题,将有问题的行为/信息拦截或者删除。以朋友请求为例,Sigma有多重判断依据:第一,如果某个帐号之前发送的朋友请求都被拒绝,那么接下来他被拒绝的概率就非常高;第二,如果发出请求的帐号和请求的对象没有任何共同好友,那么请求不合理的概率也很高。策略也包含了处理方式,例如,对于非正常请求概率比较高的,让发送请求方进行手机短信验证,或者其他方式认证。 Facebook反垃圾规则引擎流程图 Sigma系统中,用于编写策略的语言,已经从之前的FXL切换为Haskell。Facebook认为,随着策略的扩展和策略复杂度的增加,FXL已经不能很好地表达这些策略了 - FXL缺乏合适的抽象,比如用户定义的数据类型和模块,并且基于解释器(Interpreter)的实现,性能慢于公司的需求,因而Facebook需要性能和表达能力更为成熟的编程语言。而Haskell是纯函数式强类型语言,能够确保策略不会发生意外的相互影响,同时Haskell具有自动批处理和并发数据获取、分钟级推送代码变更到生产环境(快速应用新策略)、性能和支持交互式开发(策略开发者能够马上看到结果)等优势。 规则引擎升级的设计需求 使用Haskell以后,Sigma系统每秒能够处理超过一百万个请求。这对Facebook及时部署新的反垃圾策略应对新出现的恶意行为很重要。 人的力量 Facebook此前也投入了专门负责内容过滤的团队,让他们不间断地监测新上传的内容,及时删除其中的一些垃圾信息,这些人主要来自外包公司。外界并不知道该团队目前的规模,然而Facebook重视用户举报是确凿的。通过举报、删除等反馈通道的建立,来缩短垃圾信息影响用户的时间。同时,这些行为也会为机器学习提供新的样本。 针对虚假新闻, Facebook已经推出工具,让每位用户都能便捷地给可疑内容打上“争议”标签,然后由真实性核查组织如Politifact、Snopes.com独立审查这些消息,根据结果决定保留还是去除“争议”标签。然而这个流程稍显冗长,给虚假新闻留下了一定的传播时间。除此之外,Facebook还在虚假新闻的治理方面投入专人,公司已经发出招聘公告,寻求一位拥有20年以上经验的新闻合作负责人,专门负责提升网站上的新闻质量。 Facebook采用了新闻流排序算法,通过机器学习(根据点赞、评论、分享等行为)预测用户对内容感兴趣的程度,决定其排序的权重,这在某种意义上说也是反垃圾,然而目前还没有Facebook用排序算法影响虚假新闻的消息,这与Facebook对虚假新闻的态度有关:让用户和第三方机构来甄别,不会官方标明某条消息的真伪。 小结 (责任编辑:本港台直播) |