菜单

用户信号服务

相关源文件

概述

用户信号服务 (USS) 是一个集中式平台,用于收集、处理和提供对 Twitter 上用户行为和动作的全面数据访问。它作为 Twitter 推荐系统(包括“为你推荐”时间线和推送通知)中用户参与信号的主要来源。

有关这些信号如何在推文排名中使用的信息,请参阅排名系统

目的与作用

用户信号服务标准化并统一了来自 Twitter 不同来源的用户参与数据,为访问显式和隐式用户信号创建了一个单一且一致的接口。这种标准化对于构建依赖于理解用户行为的有效推荐算法至关重要。

来源:user-signal-service/README.md1-5 README.md11-13

信号类型

USS 提供对两类主要用户信号的访问:

信号类型描述示例
显式信号表明明确意图的直接用户行为点赞/收藏、转推、回复、引用推文、关注
隐式信号表明兴趣的被动用户行为推文点击、资料访问、视频观看、停留时间

这些信号为内容推荐系统提供了关键信息,使其能够理解用户偏好、发现新兴兴趣并提供更相关的内容。

来源:user-signal-service/README.md3-4

系统架构

用户信号服务作为一个基于Strato的服务运行,与Twitter更广泛的数据基础设施集成,以收集、规范化和提供用户信号。

来源:user-signal-service/server/BUILD1-22 user-signal-service/README.md3-5

关键组件

  1. 信号收集:从各种底层数据集和在线服务中收集原始信号数据
  2. 信号处理:将不同格式的信号规范化和标准化为一致的格式
  3. 信号存储:存储已处理的信号以实现高效检索
  4. 查询API:提供用于访问用户信号的标准化接口,通过Strato端点公开

来源:user-signal-service/README.md5 user-signal-service/server/BUILD4

与Twitter推荐生态系统的集成

用户信号服务是Twitter推荐架构的基础组成部分,为多个系统提供关键的用户行为数据。

来源:README.md11-13 README.md30-49

具体集成

  1. 候选内容检索:

    • 为CR-Mixer提供信号,用于识别相关的网络外内容
    • 向搜索索引提供用户参与数据,用于检索网络内推文
    • 将互动数据输入到用户-推文-实体图 (UTEG)
  2. 嵌入与表示:

    • 为SimClusters社区检测提供行为数据
    • 为TwHIN知识图嵌入提供用户行为
  3. 排序:

    • 为轻量级和重量级排名器提供特征
    • 支持排名模型的特征填充
  4. 推送通知:

    • 为推送通知定向提供参与信号
    • 为推送排名模型提供用户行为数据

来源:README.md41-50 pushservice/README.md23-26

技术实现

用户信号服务是一个基于JVM的服务,运行在Java 11上,并使用Twitter的Strato框架进行联邦数据访问。

主要组件

  • 主服务器类com.twitter.usersignalservice.UserSignalServiceStratoFedServerMain
  • 框架:基于Strato构建,以实现一致的数据访问模式
  • 日志记录:使用Logback和Loglens进行日志记录和监控

来源:user-signal-service/server/BUILD3-14

信号处理流程

  1. 收集:信号从各种来源(包括事件日志和在线服务)收集
  2. 标准化:将不同的信号格式转换为标准化表示
  3. 存储:处理后的信号被存储以实现高效检索
  4. 提供服务:信号通过查询API端点提供

来源:user-signal-service/README.md3-5

用例

“为你推荐”时间线生成

USS 提供用户参与信号,帮助确定哪些推文出现在用户的“为你推荐”时间线中

  1. 候选选择:用户参与模式有助于识别潜在相关推文
  2. 特征生成:用户信号被转换为排名模型的特征
  3. 个性化:历史参与模式为内容个性化提供信息

推送通知推荐

推送服务使用USS数据来:

  1. 目标选择:确定哪些用户有资格接收推荐推送
  2. 候选内容填充:使用用户参与数据丰富推送候选内容
  3. 排名:为轻量级和重量级排名模型生成特征
  4. 过滤:根据参与模式应用用户特定过滤器

来源:pushservice/README.md22-28

查询用户信号

USS 提供标准化端点,用于基于不同实体类型检索信号

  1. 以用户为中心的信号:特定用户的参与模式
  2. 以推文为中心的信号:特定推文的互动数据
  3. 用户-用户信号:用户对之间的互动
  4. 用户-推文信号:用户与特定推文的互动

这些信号在整个推荐流程中用于生成候选内容、创建特征和个性化内容。

来源:user-signal-service/README.md5