[論文レビュー] twAwler: A lightweight twitter crawler
twAwler は、レート制限やポリシーを尊重しながら、複数の Twitter API エンドポイントを活用して、完全なユーザータイムラインとインタラクショングラフ(リツイート、メンション、返信、引用、フォロー)を抽出することで、ギリシャ語話者のユーザーを対象に、軽量でユーザー中心の Twitter クラッカーです。1台のマシンで完全かつポリシー準拠のデータ収集が可能であり、関係性が豊富な 7.5 億件のツイートからなるデータセットを生成しました。
This paper presents twAwler, a lightweight twitter crawler that targets language-specific communities of users. twAwler takes advantage of multiple endpoints of the twitter API to explore user relations and quickly recognize users belonging to the targetted set. It performs a complete crawl for all users, discovering many standard user relations, including the retweet graph, mention graph, reply graph, quote graph, follow graph, etc. twAwler respects all twitter policies and rate limits, while able to monitor large communities of active users. twAwler was used between August 2016 and March 2018 to generate an extensive dataset of close to all Greek-speaking twitter accounts (about 330 thousand) and their tweets and relations. In total, the crawler has gathered 750 million tweets of which 424 million are in Greek; 750 million follow relations; information about 300 thousand lists, their members (119 million member relations) and subscribers (27 thousand subscription relations); 705 thousand trending topics; information on 52 million users in total of which 292 thousand have been since suspended, 141 thousand have deleted their account, and 3.5 million are protected and cannot be crawled. twAwler mines the collected tweets for the retweet, quote, reply, and mention graphs, which, in addition to the follow relation crawled, offer vast opportunities for analysis and further research.
研究の動機と目的
- レート制限や Twitter の利用規約を尊重しながら、大規模で活発な Twitter コミュニティを効率的にクロールする課題に対処すること。
- サンプリングに依存しない完全なデータ収集を、言語別ユーザーコミュニティに適用し、複数アカウントや高価なインfraに依存しないようにすること。
- 1台のマシンで動作可能な軽量なオープンソースツールを提供し、ユーザーコンtentと関係性の継続的かつ再起動に強いクローリングを可能にすること。
- タイムスタンプを含む複数のインタラクショングラフ(フォロー、リツイート、メンション、返信、引用)をマイニングすることで、動的分析を可能にする高度なソーシャルネットワーク分析を促進すること。
- Twitter のデータ再利用ポリシーに準拠するように、ユーザー ID とメタデータのみを抽出することで、準匿名化されたデータ共有を可能にすること。
提案手法
- 1 ユーザーあたり最大 3,200 件のツイートを取得するため、Twitter の /statuses/user_timeline エンドポイントを使用。ツイート量の期待値が高く、前回クロールからの経過時間が長いユーザーを優先することで、リクエストのオーバーヘッドを最小限に抑え、ツイートの損失を防ぐ。
- 二重優先クローリング戦略を採用:前回クロールからの予想ツイート数と前回訪問からの経過時間の両方を基準に、新鮮さと効率性のバランスを取る。
- リツイート、返信、引用ツイートを発見・クロールするため、/statuses/lookup エンドポイントを活用。これにより、完全なスレッド再構築とインタラクショングラフのマイニングが可能になる。
- ギリシャ語のストップワードを用いた /statuses/filter ストリーミング API をシードとして使用し、既にクロール済みのユーザーからのリツイートを介して、新たなユーザーを段階的に拡大する。
- クロール間でのユーザー状態をステートフルに追跡。ギリシャ語話者、非ギリシャ語話者、停止済み、削除済み、保護済み、非稼働(死)アカウントの各セットを管理し、データの一貫性を確保。
- タイムスタンプを含む、フォロー、リツイート、メンション、返信、引用、お気に入り、リスト関係など、すべてのクロール済みデータを処理・保存。これにより、動的ネットワーク分析が可能になる。
実験結果
リサーチクエスチョン
- RQ11 資源を最小限に抑え、レート制限や Twitter の利用規約に違反せずに、言語別ユーザーコミュニティの公開可能な全コンテンツを効率的に発見・監視できる軽量な単一マシン Twitter クラッカーは、どのように実現できるか?
- RQ2twAwler のようなユーザー中心のクラッカーは、リクエストのオーバーヘッドとツイート損失を最小限に抑えつつ、リツイート、メンション、返信、引用の完全なインタラクショングラフをどの程度再構築できるか?
- RQ31 資格情報、1 台のマシンで運用するクラッカーとして、大規模で活発なユーザーコミュニティの完全かつ長期にわたるクロールを維持する性能とスケーラビリティはどの程度か?
- RQ4twAwler は、クロール済みデータから複数の関係構造をタイムスタンプ付きで抽出することで、どの程度高度なソーシャルネットワーク分析を支援できるか?
- RQ5twAwler は、ユーザー ID とメタデータのみを公開することで、準匿名化されたデータ共有と過去の研究の再現を可能にし、分析的価値を保持できるか?
主な発見
- twAwler は、1 人のユーザーの資格情報とデスクトップ PC のみを用いて、20 ヶ月にわたり 7.5 億件のツイート(うちギリシャ語は 4.24 億件)と 7.5 億件のフォローリレーションを収集した。
- システムは 30 万件の Twitter リストを発見し、1.19 億件のメンバー関係と 2.7 万件の購読関係を抽出。これにより、コミュニティベースのユーザーグループ化の分析が可能になった。
- 5200 万件のユニークユーザーを同定。そのうち 29.2 万件が停止済み、14.1 万件が削除済み、350 万件が保護済み(クロール不可)のアカウントであった。
- 高活動ユーザーと長期間未アクセスのユーザーに優先順位を付けることで、ベースライン戦略と比較して、1 件あたりのリクエスト負荷を 50% 減少。クロール効率が顕著に向上した。
- タイムスタンプ付きでリツイート、メンション、返信、引用グラフを完全に再構築可能。これにより、動的ネットワーク分析や拡散パターンの研究が可能になった。
- twAwler が生成したデータセットは、ギリシャ語のセンチメントリソースを用いたセンチメント分析を含む高度な分析を可能にし、ギリシャ語 Twitter イベントに関する過去の研究の再現が、完全な関係的文脈を保ったまま可能になった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。