ナード戦隊データマン

機械学習と自然言語処理についてのブログ

youtube-dlを使ってYoutube動画の字幕からパラレルコーパスを生成

youtube-dl1は、youtube動画をダウンロードするためのCLIツールです。

インストール

Unix系ユーザーは以下のコマンドでインストールが可能です。

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

pipも使えます。

sudo -H pip install --upgrade youtube-dl

字幕だけをダウンロードする

youtube-dlはたくさんのオプションがありますが、字幕をダウンロードするオプション2もあります。

youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=1mLQFm3wEfw

--skip-downloadオプションにより、動画本体のダウンロードをスキップできます。これにより、字幕だけがダウンロードされます。

生成されたファイルの例

前述のコマンドを実行すると、以下のファイルが生成されます。

動画タイトル-動画ID.言語.vtt 

生成されたファイルの中身は以下のようになっています:

WEBVTT
Kind: captions
Language: pl
 
00:00:00.000 --> 00:00:07.000
Tłumaczenie: Barbara Guzik
Korekta: Marta Konieczna
 
00:00:13.407 --> 00:00:14.988
Jeśli istnieje miasto,
 
00:00:15.012 --> 00:00:17.635
w którym trudno znaleźć lokum
do kupienia lub wynajęcia,
 
00:00:17.675 --> 00:00:18.829
to musi być Sydney.
 
00:00:19.043 --> 00:00:21.410
Jeśli ostatnio próbowaliście
znaleźć tu dom,
 
00:00:21.434 --> 00:00:23.274
to wiecie, o czym mówię.
 
00:00:23.298 --> 00:00:25.342
Zawsze kiedy wchodzicie
do domu na sprzedaż,
 
00:00:25.362 --> 00:00:27.527
jesteście informowani o różnych ofertach

チャンネルの動画を全体的に取得する

動画一個一個を取得するのは面倒ですが、チャンネルからすべての動画の字幕を取得する方法があります。

youtube-dl  -ciw --all-subs --skip-download <url-of-channel>

例えば、TEDのようなチャンネルを入力すれば、多くの言語のパラレルコーパスが作成できます。動画そのものをダウンロードすることもできますが、このブログは主に自然言語処理について書いているので割愛します。

参考