ゼッタノート

ゼッタが勉強したことをまとめたノート代わりのブログ。たまに日記になるかも。

youtubeLiveのアーカイブを、コメントの盛り上がりから自動要約する手法の提案

みなさんこんにちは。最近私はVtuberというジャンルにはまっておりまして、登下校や家でグラブルをしているときは常に誰かの配信やアーカイブを見ております。ちなみに私の一推しは宝鐘マリンという方です。みんな見てね。

さて、最近はVtuberの数もかなり増えて、その全体を把握するのはほぼ困難となっています。にじさんじやホロライブなど事務所に絞っても、所属ライバーが多かったり、1回あたりの放送が長かったりと、全てを追うのは困難を極めています。
このような状況下で、ライバーさんの中にはまとめ動画を作ってくれている方もいます。しかし、毎日配信するだけでも大変なのに、その上でまとめ動画も作るなんて、ライバーさんの負担はかなりのものであることは想像に難くありません。そこで、まとめ動画を自動で作成してくれるシステムがあれば、ライバーさんはもちろん、忙しくてなかなか配信を終えない視聴者の皆にとっても嬉しいのではないかと思い、今回のプログラムを作ってみました。

作成環境

windows10
Anaconda
Python3.7.5
動画の編集にはmoviepyを使用しております
コメントの収集は前回のブログで述べたこちらの手法で行っています。

watagassy.hatenablog.com

先行記事

今回関連技術について調べている途中で、先行記事を2件見つけたので、敬意の意味も込めて掲載しておきます。

qiita.com

qiita.com 手法や考え方は後者の方に類似しています。

手法

動画を要約するうえで、いわゆる「見どころ」のみを凝縮したものを作成したいと考えました。その見どころについて、私は

見どころ≔コメントが多かった部分

としました。まずは、10秒単位でどのようにコメントが増減しているかを見るために、グラフにプロットしてみたところ、以下のようになりました。

f:id:Zetta777:20191110174745p:plain
10秒単位で見たコメント量
横軸は秒、縦軸がコメント量を表しています。今回は3時間の動画で実験を行っているため潰れて見づらいですが、600秒を過ぎたところなど、かなり特徴的にコメントが増えている部分が見受けられます。本手法ではこのような部分を抽出していきます。

また、時系列を維持するため、コメント量が多い順にシーンを抽出した後、それらのシーンを対象に時間順にソートしています。これでシーンが先に進んだり戻ったりとうことを防いでいます。

さらに、人間が該当シーンを見てコメントをするまでにはラグが存在することを考慮して、抜き出すシーンの10秒前から抽出を開始しています。

結果・及び考察

今回は本間ひまわりさん(以下ひまちゃん)のGTA5実況を用いて実験を行いました。この動画を選んだ理由は、実際にライバー本人がまとめ動画を作成していたため、人手で作成したまとめ動画と、自動作成したまとめ動画で比較実験ができると考えたためです。しかし、本人が作成したまとめ動画が「極悪事故まとめ」と銘打ってるだけあって、事故部分にのみ焦点を当てているため、あまり比較はできませんでした...だって、俺が知っている範囲でまとめ動画作っている人全然いなかったんだもんオヨヨ

以下が、自動作成した要約動画になります。


自動要約結果(ブログ用)

見てみると、ひまちゃんのつよつよエイムや事故部分など、一般的に見どころと思われる部分が抜き出されていますが、先行記事で述べられていたように、ライバーが質問したときなど、見どころと外れている部分も抽出されているほか、シーンの重複も見られます。
その他、配信が始まったばかりでコメントが多くなるオープニングトーク中や、視聴者の皆がコメントで指示している1:20部分なども抽出されています。

ちなみにひまちゃんが作成したまとめ動画と比較すると、まとめ動画中に含まれていた18シーン中6シーンが自動作成動画に含まれていました。再現率30%...

結論

以上から、先行記事のように、コメントの量だけでなく、その中身も吟味する必要があることが分かりました。今回の動画であれば「草」や「w」のような単語のみに着目すればよいとは思いますが、ものによっては機能しない場合もあります。例えばライバーさんの変な発言に対して「え・・・」とか「うわきっつ」のような反応をしている部分がそれにあたるでしょう。しかし、とりあえずは笑いのコメントに対してのみ着目すればよいというのは、間違いないかもしれません。

また、本来の目的である、「ライバーさんのまとめ動画作成の負担を減らす」という部分については、皆が「草」とコメントした部分だけでなく、手広くシーンをカバーするほうが良いと思われるため、コメント量に着目するほうが良いのかなと考えています。生成した動画をそのまま使うのではなく、元々3時間あった動画を30分に縮めてそこからシーンの選別をするようにすれば、それだけでもライバーさんの負担を大きく軽減することができるでしょう。
さらに、動画生成時に、元動画の何秒部分を抽出しましたという情報も書き出すようにすれば、前後のシーンを補完するために元動画を編集する際、該当シーンを探す手間が省けるため、役に立つでしょう。

P.S.

本当はQiitaに記事を上げようと思っていたのですが、自分とほぼ同じ考え方、同じ記事の構成で書いていらっしゃる方がいたのでこちらに書きました。アプリケーション化までするかは未定です。何かしら要望があったらやります。