YouTubeのデータのみでソーシャルグラフを獲得する手法の考察(VTuberで調査)
(2020年3月9日)
こんにちは,しまさん(@shimasan0x00)です.
最近はVTuber関連の分析を色々やってます.
使用するデータとしてはTwitterがメインで,YouTubeのデータは少ししか使用していないですね.
なぜ,YouTubeのデータをあまり使わなかったかというと,単純にTwitterのデータが使いやすいからです(なお,自然言語部分は魔窟).
データとして人間関係(ソーシャルグラフ)が取れるので,上記のような分析をすることができています.
そんなこんなでTwitterのデータばかり使用している私は思いました.
「YouTubeでも人間関係(ソーシャルグラフ)取れたら面白くね??」
チャンネル登録の情報などはAPIを持つユーザのみしか得ることができないので工夫をする必要があります.
今回の手法は”動画配信をしているユーザ”に限られますが,動画の概要部分のリンク情報を使用して有向グラフを生成します.
生成した結果,キツイ制限にも関わらず面白い有向グラフ(ソーシャルグラフ)が得られ,SeedユーザとしてVTuberを選んだがゆえの特徴も出る非常に興味深い結果となりました.
検証環境
- macOS Catalina 10.15
- Python 3.6.8
処理手順
- Seedユーザの選定
- 動画リストの取得(最新10件)
- 各動画の概要欄を取得
- 概要欄からYouTubeのチャンネルリンクを取得
- ユーザからリンク先ユーザに対してエッジを張る
- 動画情報をまだ取得していないユーザを選定し,2.に戻る
この手法の制限
一番のキツイ制限はやはりYouTube Data APIのlimitです.
GCPのAPI ->「割り当て」から一日で使用可能なクォータがわかるのですが個人の私には10,000という値はあまりに少なく,”今回の制限”であっても軽く9000は超えます.
次に各ユーザの動画取得上限が10件である点です.
最後に,概要欄から抽出するYouTubeのチャンネルリンクですが,「youtube.com\/channel\/…」形式のものしか正規表現で取得しておらず,短縮URLやカスタムURL,○○視点用の動画リンクなどは今回対象としていません.
短縮URLやカスタムURLなんかは今後対応できる部分ではあると思っています.
手法の実施結果
今回はSeedユーザとしてVTuber事務所「ホロライブ」に所属する「天音かなた」さんを採用し,実施しました.
リンク情報を追跡することで,コラボ行動やグループの存在認知,該当ユーザの必要とする情報などがグラフから見られると嬉しいなという感じです.
有向グラフなので,一方的な有向エッジなどにも注目したいところです.
今回得られたグラフを以下に示します.
ノードの大きさがチャンネル登録者数,エッジの色がリンクを張っている回数です.
VTuberをSeedとしたため,歌配信のために必要とする音楽系チャンネルが出てきているのは面白いです.
また,一応「ホロライブ」を対象としたのですが,「ハニーストラップ」やその他のVTuberもグラフ上に出現しています.
動画取得上限を10件からかなり増やせば,VTuber界全体の繋がりをYouTubeデータのみから得ることができると考えられます(VTuberでなくても適用可能).
また,ホロライブ内でもリンクの張り方に特徴があり,概要欄にも自身のチャンネルリンクを付与しているユーザがいることがわかります.
ハニーストラップでは概要欄に他の所属Vを入れることを明示的に指示されているのか,ハニーストラップ内では完全グラフとなっています.
所属事務所の指示や配信者の癖などもYoutubeデータからわかるとなると面白いですね.
さいごに
今回は実験的ではありますが,YouTubeのデータからソーシャルグラフを作成し,可視化まで行いました.
VTuberをSeedとした結果,配信に関係する歌系チャンネルへのリンクが明示的に確認され,各ユーザでそれぞれ10件という非常に少ない動画データからもここまでグラフ構造を得ることができました.
もう少し規模を大きくして基本的なネットワーク分析をしたいところです.
ただ,今回の手法を代わりに大規模で実施してくれる人を強く望みますね.
個人ではできたとしても超絶時間がかかるでしょうし….
この規模であれば1日(PT基準なので毎日16:00-)に1回実行できるかなぁ…くらいなので,他のVやYouTuberをSeedとした結果も見ようかなと思います(時間があれば).