菜单

内容过滤与安全

相关源文件

目的与范围

本文档概述了 Twitter 的内容过滤和安全系统,该系统负责执行平台政策并保护用户免受有害内容侵害。该系统评估推文、用户、Spaces 和其他内容,以确定其在平台不同界面的可见性。

有关该系统如何与整体推荐系统集成的信息,请参阅系统架构

系统概览

Twitter 的内容过滤和安全系统主要通过可见性库(Visibility Library)实现,该库包含一个基于规则的引擎,用于根据各种政策和安全规则评估内容。该系统根据查看上下文应用不同的过滤标准,从而在整个平台实现上下文相关的政策执行。

来源:visibilitylib/src/main/resources/config/com/twitter/visibility/decider.yml visibilitylib/src/main/scala/com/twitter/visibility/configapi/configs/DeciderKey.scala

安全等级

安全级别定义了上下文相关的政策执行配置。每个 Twitter 界面(如主页时间线、搜索结果、对话等)都有自己的安全级别,用于规定在该上下文中应应用哪些规则以及如何过滤内容。

主要安全级别

安全级别描述主要用途
主页时间线应用于主时间线中的推文过滤用户主页时间线中的推文
对话应用于对话中的推文过滤回复和对话串
搜索应用于搜索结果过滤搜索结果中的内容
私信应用于私信过滤私人通信中的内容
个人资料时间线应用于个人资料页面上的推文过滤用户个人资料上的内容
通知应用于通知内容过滤用户通知中的内容
Spaces应用于 Twitter Spaces过滤音频对话和参与者

安全级别允许灵活的政策执行,可以根据不同的用户体验和产品界面进行调整。

来源:visibilitylib/src/main/scala/com/twitter/visibility/configapi/configs/DeciderKey.scala68-537

规则引擎

可见性库的规则引擎根据适用的安全级别评估内容。规则可以检查内容的各个方面,例如文本、媒体、作者、查看者、关系和元数据。

规则类型

规则类型描述示例规则
删除规则完全移除内容NSFW 内容、垃圾信息、违规内容
插页式规则添加警告覆盖层敏感媒体、血腥内容
限制互动规则限制互动对话控制、滥用预防
降权规则降低可见性低质量内容、垃圾回复
避免规则阻止内容出现在特定上下文中品牌安全、广告规避

来源:visibilitylib/src/main/resources/config/com/twitter/visibility/decider.yml566-852

规则类别

可见性库实现了广泛的规则类别,以处理不同类型的问题内容。

垃圾信息和滥用规则

针对垃圾信息、操纵和滥用内容的规则

  • 垃圾信息检测规则 (EnableSmyteSpamTweetRule)
  • 加密货币垃圾信息规则 (EnableHighCryptospamScoreConvoDownrankAbusiveQualityRule)
  • 复制粘贴检测 (EnableCopypastaSpamDownrankConvosAbusiveQualityRule)
  • 滥用行为规则 (EnableAbusiveBehaviorDropRule, EnableAbusiveBehaviorInterstitialRule)

敏感媒体规则

处理敏感媒体内容的规则

  • 针对不同上下文的旧版和新版敏感媒体规则 (EnableNewSensitiveMediaSettingsInterstitialRulesHomeTimeline)
  • NSFW 内容规则 (EnableAvoidNsfwRules, EnableNsfwAgeBasedMediaDropRules)
  • 血腥和暴力内容检测 (EnableGoreAndViolenceTopicHighRecallTweetLabelRule)

对话控制规则

管理对话质量和控制的规则

  • 对话控制规则 (EnableTweetConversationControlRules)
  • 限制回复控制 (EnableLimitRepliesFollowersConversationRule)
  • 有害回复过滤 (VisibilityLibraryEnableToxicReplyFilterConversation)

社区和独家内容规则

处理社区和独家内容的规则

  • 社区推文规则 (EnableCommunityTweetsControlRules)
  • 独家内容规则 (EnableDropExclusiveTweetContentRule)
  • 信任朋友内容规则 (EnableDropAllTrustedFriendsTweetsRule)

来源:visibilitylib/src/main/resources/config/com/twitter/visibility/decider.yml566-852

操作类型

当规则被触发时,可见性库可以对内容采取几种类型的操作

删除

内容将从视图中完全移除。这是最严厉的措施,用于明确违反政策的内容。

示例规则

  • EnableSpammyUserModelHighPrecisionDropTweetRule
  • EnableHighSpammyTweetContentScoreSearchLatestTweetLabelDropRule
  • EnableNsfwTextHighPrecisionDropRule

警告页

内容会显示一个警告覆盖层,用户必须点击才能查看。用于一些用户可能希望避免的敏感内容。

示例规则

  • EnableReportedTweetInterstitialRule
  • EnableNewSensitiveMediaSettingsInterstitialRulesHomeTimeline
  • EnableAbusiveBehaviorInterstitialRule

限制互动

内容会显示,但用户与其互动的方式受到限制(例如,无法回复、转发或点赞)。

示例规则

  • EnableWritePathLimitedActionsEnforcementSafetyLevel
  • EnableAbusiveBehaviorLimitedEngagementsRule
  • EnableBackendLimitedActions

降权

内容会显示,但可见性降低,通常在信息流或对话中显示得更靠下。

示例规则

  • EnablePSpammyTweetDownrankConvosLowQuality
  • EnableBlinkBadDownrankingRule
  • EnableDownrankSpamReplySectioningRule

墓碑页

内容被替换为一个占位符指示器,该指示器会解释内容被移除的原因。

示例规则

  • EnableTombstoningSafetyLevel
  • EnableTombstoneExclusiveQtProfileTimelineParam
  • EnablePdnaQuotedTweetTombstoneRule

来源:visibilitylib/src/main/resources/config/com/twitter/visibility/decider.yml566-852

与其他系统集成

可见性库与多个 Twitter 系统集成,以在整个平台提供内容过滤和安全功能。

主页时间线集成

可见性库将安全规则应用于主页时间线中的推文,与排名系统协同工作,确保用户看到符合安全标准的内容。

  • 主要安全级别:TimelineHomeSafetyLevel, TimelineHomeLatestSafetyLevel, TimelineHomeRecommendationsSafetyLevel
  • 集成点:Home-Mixer, TimelineRanker

搜索集成

搜索结果通过特定的安全级别进行过滤,这些安全级别可能根据搜索上下文和安全搜索设置而有所不同。

  • 主要安全级别:SearchTopSafetyLevel, SearchLatestSafetyLevel, SafeSearchMinimalSafetyLevel, SafeSearchStrictSafetyLevel
  • 集成点:Search Mixer, SearchPeople

对话集成

对话串具有专门的过滤功能,以维护质量和执行对话控制。

  • 主要安全级别:ConversationFocalTweetSafetyLevel, ConversationReplySafetyLevel, TimelineConversationsDownrankingSafetyLevel
  • 集成点:时间线对话、回复过滤

通知集成

通知使用安全过滤,以确保用户不会收到有害内容的通知。

  • 主要安全级别:NotificationsReadSafetyLevel, NotificationsPlatformSafetyLevel, NotificationsWriteSafetyLevel
  • 集成点:通知服务、通知写入器

来源:visibilitylib/src/main/scala/com/twitter/visibility/configapi/configs/DeciderKey.scala68-537

配置系统

可见性库使用基于决策器(decider)的配置系统来控制哪些安全级别和规则处于活动状态。这使得快速迭代以及轻松启用或禁用特定规则成为可能。

决策器配置

所有规则和安全级别都可以通过决策器标志进行控制,这允许进行以下操作:

  • 基于百分比的发布
  • 规则更改的 A/B 测试
  • 快速禁用问题规则
  • 上下文特定的规则启用

来源:visibilitylib/src/main/resources/config/com/twitter/visibility/decider.yml1-909

结论

Twitter 的内容过滤和安全系统提供了一种灵活的、基于规则的方法,可在平台内的不同上下文中执行政策。通过将政策执行划分为规则、安全级别和操作,系统可以根据查看上下文应用不同的过滤标准,同时保持一致的规则评估框架。

可见性库是该系统的核心组件,它根据政策规则评估内容并采取适当的措施,以维护平台安全和用户体验。