跳转到主要内容

概览

所有会返回 Post 对象的 v2 端点,其返回的 Post 对象均已添加注释。Post 注释提供了一种理解该 Post 本身上下文信息的方式。尽管我们会对 100% 的 Post 进行审查,但受 Post 文本内容所限,只有部分会被标注注释。
  1. 实体注释(NER): 实体包括人物、地点、产品和组织,并在 entity 负载部分提供。它们会根据 Post 文本中明确提及的内容(命名实体识别)以编程方式分配。
  2. 上下文注释: 基于对某个 Post 文本的分析生成,上下文注释包含域与实体的配对,有助于发现此前可能难以呈现的话题下的 Post。我们目前使用 80+ 个域对 Post 进行分类。可用的上下文注释实体的 CSV 文件可在我们的 GitHub 仓库中获取。

Post 标注类型

实体

实体标注是在 entities 字段中以编程方式定义的实体,并会在有效负载中呈现为注释。每个标注都带有置信度分数,并指示在 Post 文本中识别到实体的位置(使用 startend 字段)。 实体标注类型包括:
  • Person(人物) - 示例:Barack Obama、Daniel、George W. Bush
  • Place(地点) - 示例:Detroit、Cali、San Francisco
  • Product(产品) - 示例:Mountain Dew、Mozilla Firefox
  • Organization(组织) - 示例:Chicago White Sox、IBM
  • Other(其他) - 示例:Diabetes、Super Bowl 50

上下文

最后更新:2022 年 6 月 上下文注释通过负载中的 context_annotations 字段提供。它们基于对 Post 文本中关键词、话题标签、账号等的语义分析推断而来,并生成领域和/或实体标签。目前我们使用 80 多个领域,如下表所示。
域类别域代码
3: 电视节目46: 品牌类别
4: 电视剧集47: 品牌
6: 体育赛事48: 产品
10: 人物54: 音乐家
11: 体育55: 音乐流派
12: 运动队56: 演员
13: 地点58: 娱乐人物
22: 电视类型60: 运动员
23: 电视台65: 兴趣与爱好垂直领域
26: 体育联盟66: 兴趣与爱好类别
27: 美式橄榄球比赛67: 兴趣与爱好
28: NFL 橄榄球比赛68: 冰球比赛
29: 事件71: 电子游戏
31: 社区78: 游戏发行商
35: 政治人物79: 游戏硬件
38: 选举活动83: 板球比赛
39: 篮球比赛84: 书籍
40: 体育系列85: 书籍类型
43: 足球比赛86: 电影
44: 棒球比赛87: 电影类型
45: 品牌垂直领域88: 政治机构
46: 品牌类别89: 音乐专辑
47: 品牌90: 电台
48: 产品91: 播客
54: 音乐家92: 体育人物
55: 音乐流派93: 教练
56: 演员94: 记者
58: 娱乐人物95: 电视频道 [实体服务]
60: 运动员109: 经常性趋势
65: 兴趣与爱好垂直领域110: 爆红账号
66: 兴趣与爱好类别114: 音乐会
67: 兴趣与爱好115: 游戏大会
68: 冰球比赛116: 游戏锦标赛
71: 电子游戏117: 电影节
78: 游戏发行商118: 颁奖典礼
79: 游戏硬件119: 节日
83: 板球比赛120: 数字创作者
84: 书籍122: 虚构角色
85: 书籍类型130: 多媒体特许经营
86: 电影131: 统一 Twitter 分类法
87: 电影类型136: 游戏界人物
88: 政治机构137: 电子竞技战队
89: 音乐专辑138: 电子竞技选手
90: 电台139: 粉丝社区
91: 播客149: 电子竞技联盟
92: 体育人物152: 美食
93: 教练155: 天气
94: 记者156: 城市
95: 电视频道 [实体服务]157: 学院与大学
109: 经常性趋势158: 兴趣点
110: 爆红账号159: 州
114: 音乐会160: 国家
115: 游戏大会162: 运动与健身
116: 游戏锦标赛163: 旅行
117: 电影节164: 学科领域
118: 颁奖典礼165: 科技
119: 节日166: 股票
120: 数字创作者167: 动物
122: 虚构角色171: 本地新闻
130: 多媒体特许经营172: 全球电视节目
131: 统一 Twitter 分类法173: Google 产品分类法
136: 游戏界人物174: 数字资产与加密货币
137: 电子竞技战队175: 紧急事件
138: 电子竞技选手
注意: 域 131(Unified Twitter Taxonomy)指的是 X 的面向用户的兴趣分类体系。该分类体系为平台上的功能提供支持,例如 Topics

请求注解

示例请求

curl --location --request GET 'https://api.x.com/2/tweets/1212092628029698048?tweet.fields=context_annotations,entities' --header 'Authorization: Bearer $BEARER_TOKEN'

示例回复

{
    "data": {
        "context_annotations": [
            {
                "domain": {
                    "id": "119",
                    "name": "节日",
                    "description": "如圣诞节或万圣节等节日"
                },
                "entity": {
                    "id": "1186637514896920576",
                    "name": "新年前夜"
                }
            },
            {
                "domain": {
                    "id": "119",
                    "name": "节日",
                    "description": "如圣诞节或万圣节等节日"
                },
                "entity": {
                    "id": "1206982436287963136",
                    "name": "新年快乐:如今全世界都已迈入 2020 年!",
                    "description": "当全球各地的人们迈入新年时,欣赏烟花等庆祝活动。\n照片来源:@GettyImages"
                }
            },
            {
                "domain": {
                    "id": "45",
                    "name": "品牌行业纵向",
                    "description": "用于描述品牌所属行业的顶级实体"
                }
            },
            {
                "domain": {
                    "id": "46",
                    "name": "品牌类别",
                    "description": "品牌行业纵向下细化品牌范围的类别"
                },
                "entity": {
                    "id": "781974596752842752",
                    "name": "服务"
                }
            },
            {
                "domain": {
                    "id": "47",
                    "name": "品牌",
                    "description": "品牌与公司"
                },
                "entity": {
                    "id": "10045225402",
                    "name": "Twitter"
                }
            }
        ],
        "entities": {
            "annotations": [
                {
                    "start": 144,
                    "end": 150,
                    "probability": 0.626,
                    "type": "产品",
                    "normalized_text": "Twitter"
                }
            ],
            "urls": [
                {
                    "start": 222,
                    "end": 245,
                    "url": "https://t.co/yvxdK6aOo2",
                    "expanded_url": "https://x.com/LovesNandos/status/1211797914437259264/photo/1",
                    "display_url": "pic.x.com/yvxdK6aOo2"
                }
            ]
        },
        "id": "1212092628029698048",
        "text": "我们相信,未来最出色的 API 将源自与“你”共同打造。敬所有在 Twitter 平台上构建的伙伴,愿新的一年再创佳绩。我们迫不及待想在新年继续与您合作。 https://t.co/yvxdK6aOo2"
    }
}

示例应用

查看 Glitch 上的 Post Entity Extractor,轻松发现 Post 中的上下文标注,并了解此功能的工作原理。

常见问题

上下文标注

以下问题专门针对 Tweet 标注中的上下文标注元素。更多详情请参阅概览页面。
X 会对 Tweet 进行语义分类,这意味着我们会整理与特定主题相关的关键词、话题标签(hashtag)以及 @handle 列表。若某条 Tweet 包含我们指定的文本,它将被相应标注。这不同于机器学习的方法:后者会专门训练一个模型来对文本(在此为 Tweet)进行分类,并为输出/分类结果提供相应的概率分数。
Twitter 的注释由领域专家基于多年打磨的研究与质量保障(QA)流程精心整理。我们使用定制化工具,在尽可能保持高精度和高召回的前提下,将 data 跟踪扩展到可行的最大规模。此外,我们的 data 由内部团队定期审计,过去多个季度的精度评分约为 80%。
我们的团队成员每天对我们的实体进行质量评测,确保高精度和高召回率。此外,我们的工作每季度还会由内部团队审计,该团队会覆盖我们所有领域,人工审查 10,000 条 Tweet,以计算精度得分。
对于某些领域(如体育和电视),我们依靠自动化摄取来构建我们的图谱。在新闻领域,我们跟踪由 Twitter Moments 团队发布的报道相关的 data。除此之外,团队还采用多种研究方法来识别需要跟踪、并能在平台上引发大量讨论的主题。
数据跟踪自某个实体发布之时开始;因此,我们不会为在该实体开始被跟踪之前发布的 Tweets 添加标注。举例来说,如果有一家新兴品牌或公司被加入到分类体系中,我们不会对添加该标注之前发布的与该品牌相关的 Tweets 进行追溯标注。
是的。语言覆盖范围会因领域和市场而异。英语和日语在多数大型实体中均有覆盖。以下为目前覆盖的语言及其主要市场:
  1. 英语(美国、英国)
  2. 日语(日本)
  3. 葡萄牙语(巴西)
  4. 西班牙语(阿根廷、墨西哥、西班牙)
  5. 印地语(印度)
  6. 阿拉伯语(沙特阿拉伯)
  7. 土耳其语(土耳其)
  8. 印度尼西亚语(印度尼西亚)
  9. 俄语(俄罗斯)
  10. 法语(法国)
即将推出(约 2021 年下半年):
  1. 德语(德国)
  2. 泰米尔语(印度)
下面是按已标注 Tweet 覆盖率排序的前 15 个国家:
排名国家代码国家已标注 Tweet 的占比
1IN印度41%
2VN越南36%
3GB英国36%
4EC厄瓜多尔35%
5PE秘鲁33%
6US美国32%
7CA加拿大32%
8AU澳大利亚31%
9JP日本31%
10PH菲律宾30%
11SG新加坡30%
12MY马来西亚30%
13MX墨西哥30%
14GB英国29%
15NG尼日利亚29%
Tweet 注解由以下语义组成,用于为一条 Tweet 添加注解:
  • 账号——我们可以为来自特定 handle 的 Tweet,或提及该 handle 的 Tweet 添加注解
  • Hashtag(话题标签)
  • 关键词/短语
对于熟悉诸如 PowerTrack 等过滤流式 API 的客户而言,注解所使用的语义在原理上与用于过滤 Tweet 流的布尔规则类似。如果一条 Tweet 符合相应的语义条件,它将被相应地标记。
我们的目标是为尽可能多的 Tweet 添加注解;但仍有若干原因会导致部分 Tweet 未被注解:
  • 某些 Tweet 语义信息不足,无法依据当前注解规则进行标注
  • 某些 Tweet 不具备明确的主题相关性
  • 该 Tweet 所涉话题高度短暂,且未纳入我们的图谱
  • 我们尚未覆盖该语言/市场
  • 虽已覆盖该语言/市场,但我们缺少与现有跟踪主题相关的某个话题或特定术语/账号/话题标签
一个实体可以归属多个域。域的 id 可能变化,但实体的 id 保持不变。Donald Glover 既是人(域 10)、也是演员(域 56)和音乐人(域 54),但他的实体 id 仍为 875072662527029248。
跟踪会在上映前一个月开始。对于热门大片(例如一部漫威电影),一旦开始发布上映预告,我们就可以开始跟踪。
不,不会。