ぼーっとニュースが読める「パラパラニュース動画」が作れるツール作ってみた【第2回】
こんにちは前回に引き続き赤い人です。
第1回では、僕が「フラッシュニュース」を作ったモチベーションについて記した。文章と画像を用意するだけで、フラッシュニュース動画が生成できるんだぜ!というところまで説明したと思う。
第2回では「フラッシュニュース」がどのように生成されているかを記していく。
第1回はこちら。
▼ちなみにフラッシュニュースはこちら↓
動画生成の流れについて
第1回でも紹介したように、このフラッシュニュース動画は文章と画像のみで作られているのだが、生成には大きく分けて2つの手法を使っている。
それがこの2つ。
・形態素解析
・動画編集
形態素解析について
形態素解析とは、文章を名詞や動詞といった品詞の情報をもとに、形態素(表現要素の最小単位)にして解析することである。
例えばこんな文章。
今日の天気は晴れだと思ったら雨だった。
これを形態素解析するとこうなる。
僕らが日本語を扱うときは、
「今日」は普通名詞で「だ」は助動詞の終止形で……
といったことは意識しないが、すべての文章は上の表のように分類することが可能だ。
文章をプログラムによって操作するには、各単語を判別するためにカテゴライズする必要がある。したがって、形態素解析は文章をプログラマブルに扱うためには避けては通れない技術であり、自然言語処理という分野でもよく使われている。
形態素解析にはMeCabという日本語形態素解析エンジンを使用した。
日本語の形態素解析をするための形態素解析エンジンは多数あり、今回使用したMeCabだけでなく、Sudachi、janomeなど複数ある(ちなみに、各エンジンに特徴があり、目的に応じてその都度エンジンを選択する必要がある)。
今回のフラッシュニュースは、文章を形態素ごとに分割し、動画の一コマ一コマに割り当てて作られている。
↑↑こんな感じ。
今回は一つの形態素で1コマにしているので、1コマが非常に短い単語で構成されているが、1コマに収める形態素を増やしたければ、そのようにプログラムを変更すればよい。
上の画像で言えば、「ただ」だけで1コマは忍びないと思うのであれば、「ただ、北関東」で1コマになるようにプログラムを書き換える。
動画編集について
さて、もう一つが動画編集である。
今回はffmpegというソフトウェアを使い、編集工程をプログラミングすることで、動画生成を自動化している。
動画とは、画像を連続して表示することによって動いているように見せているもの。今回は上記のように、形態素ごとの画像を大量に生成し、連結することによって動画にしている。
手の混んだ動画を作るには、動画一つ一つに対して細かい編集をする必要がある。したがって、自動化することは難しい。しかし、ある程度の仕様が定まっているケースであれば、動画編集を完全に自動化することは可能だ。
今回は背景に画像を表示させつつ、テキストを形態素ごとに一定時間表示していくというフォーマットにしたため、完全自動化することができた。
ffmpegは映像音声テキスト様々な合成ができる非常に便利なアプリケーションだ。
上のツイートに添付されている動画もffmpegでテキストと動画、音声を合成して自動生成している。
ある程度動画の仕様が決まっていて、定期的に制作する必要がある動画であれば、自動化した方が業務効率が良いだろう。
さてさて次は?
今回は処理の大まかな流れについて紹介した。次回はシステム構成について書いていこうと思う。
このアプリケーションをどんなサービスを使ってデプロイしたのか、どういうところで詰まったのかなどを書いていこうと考えている。
第三回もよろしくお願いいたします。
(ICTRAD・赤澤豪将)