Vertex AI ワークベンチで YouTube 動画のライブチャットを分析してみる
この記事では、アドベントカレンダー YouTube 関連コンテンツ第二弾として、2021年の東京ゲームショーで配信された『モンスターハンターライズ:サンブレイク』最新情報動画の視聴者のライブチャットを分析し、視聴者がコンテンツ中で何に興味関心を持っていたのかを分析しています(著者がモンハン好きなため。主な使用武器は太刀とライトボウガン)。
今回分析に使用する Vertex AI Workbench は、ノートブックと呼ばれるブラウザ上でコードの記述・実行・可視化が行える Google Cloud のマネージド環境です。同様のサービスとして無料の Google Colaboratory を使ってる方も多いと思いますが、ワークベンチはより柔軟なマシンリソースの管理や Google Cloud の周辺サービスとの連携が簡単に行えるのが魅力です。
1. ワークベンチを起動する
GCP コンソールから「人工知能 > Vertex AI > ワークベンチ」メニューを開き、画面左上の「マネージド ノートブック」を選択してください。* 初回起動時は「Notebooks API」有効化の画面が表示されるので、「有効にする」を選択します。
ワークベンチの画面が表示されたら、「マネージドノートブック」タブの右上にある「新しいノートブック」を選択してください。
任意のノートブック名を入力したら、リージョンはデフォルトのままで「作成」ボタンを選択します。数分後、ワークブック環境が準備できたら「JUPYTERLAB を開く」というリンクが有効になりますので、選択してノートブック環境を開いてください。
初回起動時は認証用のコードを入力する画面が表示されます。「Get authentication code」リンクを選択し、ブラウザの別ウィンドウで自身のアカウントでログイン後「許可」ボタンを選択し、表示されるコードをコピーして「Paste your code here」欄にペーストしてください。
2. ワークベンチでサンプルコードを取得する
Vertex AI Workbench は GitHub との連携も簡単に行えます。画面上部の「Git > Clone a Repository」メニューを開き、サンプルコードリポジトリの URL (https://github.com/myoshimu/yt_chat_analysis) を入力して「Clone」してください。
クローンが成功すると、画面左のファイルメニューに「yt_chat_analysis」というフォルダが生成されますので、ダブルクリックして開きます。
3. ライブチャットデータを分析
ワークベンチの画面左側に表示されている「chat_analysis.ipynb」というノートブックファイルをダブルクリックして開くと、画面の右側にコードの内容が表示されます。
ノートブックは、セルとよばれる数行のコードもしくは Markdown(テキスト) から構成されています。背景が薄いグレーの部分がコード部分で、白い部分は Markdown です。コードの部分をクリックして、右三角のアイコンを選択するか Shift + Enter で該当コードの内容が実行されます。!pip install… からはじまる、最初のコードを実行してみましょう。実行中のコードは以下のようにセルの左側にある [ ] 内に * という表記が表示され、完了すると実行順序を示す数字が表示されます。今回、自然言語処理と可視化にたかぱいさんの nlplot ライブラリを使用させて頂きました。
もしnlplot のインポートで Permission エラーになった場合、以下のように user オプションを付与してみてください。
!pip install nlplot -- user
同様に、これ以降のセルを順番に実行してみてください。今回分析するデータは以下のように時系列順にコメントが格納されています。
左から日時、ユーザ名、チャットコメントテキスト、sentiment(感情のポジネガ)、magnitude(感情の強さ)、含まれる単語となっています。sentiment と magnitude の抽出は、Natural Language API を利用しています。API の使用方法は get_yt_chat.ipynb というファイルを参照ください。まず、このデータを時系列順に可視化してみましょう。
上からコメント数、sentiment(感情のネガポジ平均値)、magnitude(感情の強さ平均値)の順に表示されています。
真ん中の sentiment に注目すると、前半は新作発表への期待でポジティブよりの数値になっていることがわかります。ところが、前半ではまだそれほど大きな発表がなく 01:05 近辺で一度ニュートラルになっています。次に、01:15 近辺で再度ポジティブコメントが増えています。この時間では、モンハンライズの楽曲を和奏者が演奏する部分になっており、「琵琶法師かっこいい」といったような好評なコメントが多くみてとれます。
では、モンハンで肝心のモンスターについてはどうでしょうか。これを確認するため、固有単語だけ抽出して頻出単語を可視化してみます。
今回、単語分割単位があまり正確ではなく「ランポス」と表記されていますが、「ドスランポス」というモンスターが最頻出単語になっています。実は、ドスランポスはモンハンストーリーズに最も初期から登場する一般的なモンスターで、メインのターゲットとなる大型モンスターではありません。そこでコメントの内容を参照してみると、ドスランポスがある意味愛されキャラのように視聴者の間で話題にあがっていることがわかりました。
また、「琵琶」という単語も目立ちますが、上記のネガポジ分析でポジティブにうけとめられていた和楽器の演奏で、特に琵琶法師が話題になっていたのではと考えられます。単なる新作発表だけではなくライブ演奏をとりいれ視聴者を飽きさせない構成が視聴者にポジティブに受け止められていたことが分かります。
今回は、既に収集済みのライブチャットデータを分析してみましたが、もしご自身で別の動画の分析を行いたい場合、get_yt_chat.ipynb を実行すると別の動画のチャットデータも収集可能です。なお、ライブチャットデータは配信中のみ収集可能なのでご注意ください。