メインコンテンツへスキップ

概要

すべての v2 エンドポイントで返される Post オブジェクトに注釈が追加されました。Post 注釈は、Post 自体に関するコンテキスト情報を理解する手段を提供します。すべての Post がレビュー対象ですが、Post テキストの内容により、注釈が付与されるのは一部に限られます。
  1. エンティティ注釈(NER): 人物、場所、製品、組織などのエンティティが含まれ、entity ペイロードセクションで提供されます。Post テキスト内で明示的に言及された内容(固有表現認識)に基づき、プログラムによって付与されます。
  2. コンテキスト注釈: Post のテキスト分析に基づいて導出されるもので、コンテキスト注釈には、従来は見つけにくかったトピックに関する Post を発見しやすくするためのドメインとエンティティの組み合わせが含まれます。現在、Post を分類するために 80 以上のドメインを使用しています。利用可能なコンテキスト注釈エンティティの CSV ファイルは、GitHub リポジトリで提供しています。

Post のアノテーションの種類

エンティティ

エンティティ注釈は、entities フィールド内でプログラム的に定義されたエンティティで、ペイロード内では注釈として反映されます。各注釈には信頼度スコアがあり、Post テキスト内のどこにエンティティが検出されたか(startend フィールドを使用)を示します。 エンティティ注釈のタイプには以下が含まれます:
  • 人物 - 例: Barack Obama、Daniel、George W. Bush
  • 場所 - 例: Detroit、Cali、San Francisco
  • 製品 - 例: Mountain Dew、Mozilla Firefox
  • 組織 - 例: Chicago White Sox、IBM
  • その他 - 例: 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: テレビチャンネル [Entity Service]
60: アスリート109: 定期的なトレンド
65: 関心・趣味のバーティカル110: バイラルアカウント
66: 関心・趣味のカテゴリ114: コンサート
67: 関心・趣味115: ビデオゲームカンファレンス
68: ホッケーの試合116: ビデオゲームトーナメント
71: ビデオゲーム117: 映画祭
78: ビデオゲームパブリッシャー118: 授賞式
79: ビデオゲームハードウェア119: 祝日・記念日
83: クリケットの試合120: デジタルクリエイター
84: 書籍122: 架空のキャラクター
85: 書籍ジャンル130: マルチメディアフランチャイズ
86: 映画131: Unified Twitter Taxonomy
87: 映画ジャンル136: ビデオゲーム分野の著名人
88: 政治機関137: eスポーツチーム
89: 音楽アルバム138: eスポーツ選手
90: ラジオ局139: ファンコミュニティ
91: ポッドキャスト149: eスポーツリーグ
92: スポーツ著名人152: 食品
93: コーチ155: 天気
94: ジャーナリスト156: 都市
95: テレビチャンネル [Entity Service]157: 短期大学・大学
109: 定期的なトレンド158: 名所・スポット
110: バイラルアカウント159: 州
114: コンサート160: 国
115: ビデオゲームカンファレンス162: エクササイズ&フィットネス
116: ビデオゲームトーナメント163: 旅行
117: 映画祭164: 学問分野
118: 授賞式165: テクノロジー
119: 祝日・記念日166: 株式
120: デジタルクリエイター167: 動物
122: 架空のキャラクター171: ローカルニュース
130: マルチメディアフランチャイズ172: 世界的なテレビ番組
131: Unified Twitter Taxonomy173: Google Product Taxonomy
136: ビデオゲーム分野の著名人174: デジタル資産&暗号資産
137: eスポーツチーム175: 緊急事態イベント
138: eスポーツ選手
注: ドメイン131(Unified Twitter Taxonomy)は、Xのユーザー向け関心分類体系を指します。この分類体系は、トピック などプラットフォーム上の機能を支える基盤となっています。

アノテーションの要求

リクエストの例

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の最良の将来バージョンは皆様と共に構築することで実現すると信じています。Xプラットフォーム上で開発する全ての皆様と共に、また素晴らしい一年を迎えられることを願っています。新年も皆様と共に取り組み続けることを楽しみにしています。https://t.co/yvxdK6aOo2"
    }
}

サンプルアプリ

Glitch の Post Entity Extractorをぜひご覧ください。Post のコンテキスト注釈を手軽に見つけられ、この機能の仕組みを確認できます。

よくあるご質問

コンテキスト注釈

以下の質問は、Tweet 注釈のうちコンテキスト注釈要素に関するものです。詳細は概要ページをご覧ください。
X では Tweet をセマンティックに分類します。これは、特定のトピックに関連するキーワード、ハッシュタグ、@ハンドルのリストを選定することを意味します。Tweet に指定したテキストが含まれていれば、適切にラベル付けされます。これは、モデルを特定のテキスト(この場合は Tweet)を分類するように学習させ、出力/分類とあわせて確率スコアを生成する機械学習アプローチとは異なります。
Xのアノテーションは、ドメインの専門家が、数年にわたり洗練してきたリサーチおよびQAプロセスを用いて作成・管理しています。このプロセスは、精度と再現率の高水準を維持できる範囲でdataトラッキングを拡張するためのカスタムツールによって支えられています。さらに、当社のdataは内部チームが定期的に監査しており、直近の数四半期にわたり約80%の精度スコアを維持しています。
チームメンバーは、精度と再現率を高水準に保つため、日々エンティティの品質確認(QA)を実施しています。さらに、四半期ごとに内部チームが監査を行い、全ドメイン横断で10,000件のTweetを手作業でレビューして精度スコアを算出します。
スポーツやテレビなどの一部のドメインでは、グラフを構築するために自動インジェストに依存しています。ニュース領域では、Twitter Moments チームが公開したストーリーに関するデータを追跡しています。それ以外では、プラットフォーム上で会話量の多いトピックを特定するために、チームはさまざまなリサーチ手法を用いています。
エンティティが公開された時点からデータ追跡が始まります。したがって、特定のエンティティの追跡開始前に公開されたTweetに注釈を付与することはありません。たとえば、新興のブランド/企業がタクソノミーに追加された場合、その注釈が追加される前に当該ブランドについて投稿されたTweetに対して、遡って注釈を付与することはありません。
はい。対応言語はドメインや市場によって異なる場合があります。英語と日本語は、主要な大規模エンティティの大半で対象に含まれます。以下は、現在対象となっている言語と主な市場の一覧です:
  1. 英語(米国、英国)
  2. 日本語(日本)
  3. ポルトガル語(ブラジル)
  4. スペイン語(アルゼンチン、メキシコ、スペイン)
  5. ヒンディー語(インド)
  6. アラビア語(サウジアラビア)
  7. トルコ語(トルコ)
  8. インドネシア語(インドネシア)
  9. ロシア語(ロシア)
  10. フランス語(フランス)
近日対応予定(H2 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 に注釈を付けるために次のセマンティクスで構成されます:
  • アカウント — 特定のハンドルからのツイート、またはそのハンドルへの言及を含むツイートに注釈を付けられます
  • ハッシュタグ
  • キーワード/フレーズ
PowerTrack などのフィルタリング済みストリーミング API に精通しているお客様にとって、アノテーションで用いられるセマンティクスは、Tweet のストリームをフィルタリングするために定義されるブールルールと原理的に類似しています。Tweet が基礎となるセマンティック条件に一致した場合、該当するタグが付与されます。
目標はできる限り多くの Tweet に注釈を付与することですが、いくつかの理由で注釈が付与されない Tweet もあります:
  • 一部の Tweet は意味的な情報量が十分でなく、現在の注釈ルールではラベリングやタグ付けができません
  • 一部の Tweet はトピック性がありません
  • 非常に短命なトピックを扱っており、当社のグラフに含まれていない場合があります
  • 当社がその言語/市場をカバーしていません
  • 言語/市場はカバーしているものの、既に追跡しているトピックに関連するトピックや特定の用語/アカウント/ハッシュタグが不足しています
エンティティは複数のドメインに属する場合があります。ドメインのidは変わりますが、エンティティのidは変わりません。Donald Gloverは人物(ドメイン 10)、俳優(ドメイン 56)、音楽家(ドメイン 54)ですが、彼のエンティティのidは 875072662527029248 のままです。
追跡はリリースの1か月前から開始します。Marvel作品のような人気の大作については、公開の予告が始まり次第、追跡を開始できます。
いいえ、違います。