見出し画像

音声認識モデル(Whisper)から感じる音声検索の可能性

みなさん、こんにちは。はせちです。
OpenAIより2022年9月に公開された「Whisper」が面白そうだったので触ってみました。

Whisperとは

Whisperは、OpenAIが開発している汎用の音声認識モデルです。
音声や動画ファイルから音声認識をしてテキストデータに変換します。
テレビや映画で字幕が出てくるようにテキスト化してくれるものです。

多様な音声の大規模なデータセットでトレーニングされていて、多言語の音声認識、音声翻訳、言語識別を実行できるマルチタスク モデルということで、日本語も扱う事が出来ます。日本語の誤り率(WER/Word Error Rate)は 6.4% とのことですので期待が膨らみます。
詳しくは https://github.com/openai/whisper  をご覧ください。

WER breakdown by languages of Fleurs dataset, using the large model.
画像引用:https://github.com/openai/whisper

準備するもの

Google Colabの準備

Google Colabを使って簡単に試すことができます。
環境を新規に作成した後で、GPU環境に変更します。

  1. ブラウザで Google Colab を開き「ノートブックを新規作成」をクリック

2.右上にある「接続」をクリックして、ランタイムに接続する

3.接続が完了したら「RAM / ディスク」の部分をクリック

4.一番下の「ランタイムのタイプを変更」をクリック

5.ハードウェアアクセラレータを「GPU」に変更し「保存」する

パッケージのインストール

!pip install git+https://github.com/openai/whisper.git
!sudo apt update
!sudo apt install ffmpeg

ファイルを準備する

今回、音声認識をしてテキストデータへの変換を試すファイルは2つ。
アップロードして Google Colabに配置しました。

  1. 金太郎の朗読音声 (青空朗読さんの朗読音声)
    No2_kinntarou.mp3

  2. 自社イベントでの発表動画
    No3_WARP_Tech_Summit.mp4

動かしてみよう

!whisper "data/No2_kinntarou.mp3" --model large --language Japanese -o result

暫くするとテキスト化されます。全部ひらがなになりました・・・。
他のサイトでは単語が漢字になっていたので、ちょっと期待外れですが、文章はとても優秀にテキスト化されています。
無料で、ここまでテキスト化できるなんて、本当に技術の凄さを感じます。

[00:00.000 --> 00:06.000] くすやままさをさく
[00:06.000 --> 00:09.000] きんたろう
[00:09.000 --> 00:11.560] いち
[00:11.560 --> 00:25.120] むかし、きんたろうというつよいこどもがありました。 さがみのくに、あしがらやまのやまおくにうまれて、おかあさんのやまうばといっしょにくらしていました。
[00:25.120 --> 00:38.000] きんたろうは、うまれたときからそれはそれはちからがつよくって、 もうななつやつのころには、いしうすやもみぬかのたわらぐらい、へいきでもちあげました。
[00:38.000 --> 00:51.200] たいていのおとなをあいてにすもうとってもまけませんでした。 きんじょにもうあいてがなくなるとつまらなくなってきんたろうは、いちにちもりのなかをかけまわりました。
[00:51.200 --> 01:04.360] そして、おかあさんにもらったおおきなまさかりをかついであるいて、 やたらにおおきなすぎのきやまつのきをきりたおしては、きこりのまねをしておもしろがっていました。
[01:05.520 --> 01:16.840] あるひ、もりのおくのずっとおくにはいって、 いつものようにおおきなきをきっていますと、のっそりおおきなくまがでてきました。
[01:16.840 --> 01:24.520] くまはめをひからせながら、 だれだ、おれのもりをあらすのはといってとびかかってきました。
[01:24.520 --> 01:36.800] するときんたろうは、 なんだくまのくせに、きんたろうをしらないかといいながら、 まさかりをほおりだしていきなりくまにくみつきました。
[01:36.800 --> 01:49.080] そして、あしがらをかけて、どしんとじびたになげつけました。 くまはへいこうして、りょうてをついてあやまって、きんたろうのけらいになりました。
[01:49.080 --> 02:07.600] もりのなかでたいしょうぶんのくまが、 へいこうしてきんたろうのけらいになったのをみて、 そのあとから、うさぎだの、さるだの、しかだのがぞろぞろついてきて、 きんたろうさん、どうぞわたくしもごけらいにしてくださいといいました。
[02:07.600 --> 02:15.280] きんたろうは、よしよしとうなずいて、 みんなけらいにしてやりました。
[02:15.280 --> 02:25.240] それからは、きんたろうは、 まいやさおかあさんにたくさんおむすびをこしらえていただいて、 もりのなかへでかけていきました。
[02:25.240 --> 02:39.600] きんたろうがくちぶえをふいて、 さあ、みんなこい、みんなこいとよびますと、 くまをかしらに、しかやさるやうさぎがのそのそでてきました。
[02:39.600 --> 02:47.200] きんたろうはこのけらいたちをおともにつれて、 いちにちやまのなかをあるきまわりました。
[02:47.480 --> 02:58.400] あるひ、ほうぼをあるいて、 やがてやわらかなくさのはえているところへきますと、 みんなはあしをだして、そこへごろごろねころびました。
[02:58.400 --> 03:03.480] ひが、いいこころもちそうにあたっていました。
[03:03.480 --> 03:18.600] きんたろうが、さあ、みんなすもうとれ、 ごほうびにはこのおむすびをやるぞといいますと、 くまがむくむくしたてでちをほって、どひょうをこしらえました。
[03:18.600 --> 03:24.520] はじめにさるとうさぎがとりくんで、 しかがぎょうじになりました。
[03:24.520 --> 03:39.200] うさぎがさるのしっぽをつかまえて、 どひょうのそとへもちだそうとしますと、 さるがくやしがってむちゃくちゃにうさぎのながいみみをつかんでひっぱりましたから、 うさぎはいたがっててをはなしました。
[03:39.200 --> 03:46.240] それでしょうぶがつかなくなって、 どちらもごほうびがもらえませんでした。
[03:46.240 --> 03:56.480] こんどはうさぎがぎょうじになって、 しかとくまがとりくみましたが、 しかはすぐつのごとくまにひっくりかえされてしまいました。
[03:56.480 --> 04:03.440] きんたろうは、 おもしろい、おもしろいといっててをたたきました。
[04:03.440 --> 04:15.440] とうとういちばんおしまいに、 きんたろうがどひょうのまんなかにつったって、 さあ、みんなかかってこいといいながらおうでをひろげました。
[04:15.440 --> 04:26.800] そこでうさぎとさるとしかと、 いちばんおしまいにくまがかかっていきましたが、 かたっぱしからころころころがされてしまいました。
[04:26.800 --> 04:41.320] なんだ、よわむしだな。 みんないっぺんにかかってこい!ときんたろうがいいますと、 くやしがってうさぎがあしをもつやら、 さるがくびにてをかけるやら、おおさわぎになりました。
[04:41.320 --> 04:54.480] そしてしかがこしをしてくまがむねにくみついて、 みんなそうがかりでうんうんいってきんたろうをたおそうとしましたが、 どうしてもたおすことができませんでした。
[04:54.480 --> 05:00.440] きんたろうはおしまいにじれったくなって、 からだをひとふりうんとふりますと、
[05:00.440 --> 05:09.080] うさぎもさるもしかもくまもみんないっぺんに、 ごろごろごろごろ、どひょうのそとにころぎだしてしまいました。
[05:09.080 --> 05:20.000] ああ、いたい!ああ、いたい!とみんなくちぐちにいって、 こしをさすったり、かとをもんだりしていました。
[05:20.160 --> 05:28.200] きんたろうは、 さあ、おれにまけてかわいそうだから、みんなにわけてやろうといって、
[05:28.200 --> 05:39.880] うさぎとさるとしかとくまをまわりにぐるりにならばせて、 ちぶんがまんなかにすわって、おもすびをわけてみんなでたべました。
[05:40.160 --> 05:45.800] しばらくするときんたろうは、 ああ、うまかった。

モデルの違いは速度と認識精度の違い

Whisperには5 つのモデル サイズがあります。
速度と精度はトレードオフです。
表の下に行くほど精度は上がりますが処理速度とメモリが必要になります。

引用 https://github.com/openai/whisper/blob/main/README.md  

実際にモデル違いがどのようになるのか見てみます。
社内イベントの2分30秒の動画データを使用します。
モデルタイプは「Large」「Base」「Tiny」で試してみます。
Largeは認識に時間が掛かるものの、認識精度が上がります。

!whisper "/content/data/No3_WARP_Tech_Summit.mp4" --model モデルタイプ --language Japanese -o result

Large

120秒でテキスト出力することができました。
漢字で単語が出力されました。
誤認識はありますが、かなり精度よく認識できていると思います。

100%|█████████████████████████████████████| 2.87G/2.87G [00:51<00:00, 59.6MiB/s]
[00:07.800 --> 00:15.040] はい、皆さんこんにちは ウィンガークファーストの長谷川と申します
[00:15.040 --> 00:20.320] よろしくお願いします 本日は SPAの今後の
[00:20.320 --> 00:26.320] 機能拡張の方向性についてお話をさせていただこうと思います
[00:26.320 --> 00:31.880] 早速ですけども皆さんの業務の DX進んでますでしょうか
[00:31.880 --> 00:41.240] 伝聴法の改正やインボイス制度といった法令に伴う流れもあってですね デジタル化は待ったなしの状態かと思います
[00:41.240 --> 00:48.880] おかげたまでですね SPAの方も昨年はですね 導入検討をしたいというお声を大変多くいただきまして
[00:48.880 --> 00:53.080] デジタル化の急上昇を感じております
[00:53.080 --> 01:01.880] また企業間やグループ企業でもですね 電子文書の活用というのが進んでいるのははたはた感じられます
[01:02.120 --> 01:07.160] そんな企業のデータ化を進めるソリューションが SPAとなります
[01:07.160 --> 01:16.320] AIオーシャル機能による文書のデータ化から 文書データ化しましてさらにですね文書管理保管までを
[01:16.320 --> 01:21.680] 文書の保管ということで一期通管で行える製品 これが SPAとなります
[01:21.680 --> 01:29.000] 今日はこの SPAについてですね 今年予定しております製品の進化とその狙いについてですね
[01:29.000 --> 01:38.160] インボイス制度、文書のデータ化 文書の保管、ロードマップと4つのパートに分けてお話をしてまいろうと思います

Base

23秒で終わりました。
会議メモなどをゼロから作成する際の修正前データとして利用するような目的であれば、まあまあ使えるかもしれません。

100%|███████████████████████████████████████| 139M/139M [00:02<00:00, 52.7MiB/s]
[00:08.000 --> 00:10.000] はい、皆さん、こんにちは
[00:10.000 --> 00:15.000] ウィンガークファストの汗がともします
[00:15.000 --> 00:17.000] よろしくお願いします
[00:17.000 --> 00:20.000] 本日はSPAの今後の
[00:20.000 --> 00:25.000] 機能拡張の方向線について 話をさせていただこうと思います
[00:25.000 --> 00:29.000] 早速ですけども、皆さんの業務の
[00:29.000 --> 00:31.000] DX進んでますでしょうか
[00:32.000 --> 00:37.000] 電調法の改正やインゴイス制度といった 法例に伴う流れもあってですね
[00:37.000 --> 00:40.000] デジタルカはまたなしの状態かと思います
[00:41.000 --> 00:44.000] お伺い様でですね、SPAの方も 昨年はですね
[00:44.000 --> 00:48.000] 導入検討をしたいというお声を 大変多くいただきまして
[00:48.000 --> 00:50.000] 休憩をあの
[00:50.000 --> 00:53.000] デジタルカの休憩を感じ取ります
[00:53.000 --> 00:56.000] また企業管理やグループ企業でもですね
[00:56.000 --> 01:00.000] 電子文書の活用っていうのが 積んでるのは働かんじられます
[01:02.000 --> 01:06.000] そんな企業のデータ化を進める ソリューションがSPAとなります
[01:07.000 --> 01:10.000] AIを押しやる機能による文書のデータ化から
[01:11.000 --> 01:13.000] 文書をデータ化しまして
[01:13.000 --> 01:16.000] さらにですね、文書管理、保管までを
[01:16.000 --> 01:18.000] 文書の保管ということで
[01:18.000 --> 01:21.000] 一気通感で行える製品 これがSPAとなります
[01:21.000 --> 01:23.000] 今日はこのSPAについてですね
[01:24.000 --> 01:26.000] 今年予定しております
[01:26.000 --> 01:29.000] 製品の進化とその狙いについてですね
[01:29.000 --> 01:32.000] インボイス制度文書のデータ化
[01:32.000 --> 01:37.000] 文書の保管ロードマップと 四つのパートに分けてお話をしてまいろうと思います

Tiny

16秒で終わりました。
データ化される時間は早いですが、認識できていないところが多いですね。

100%|█████████████████████████████████████| 72.1M/72.1M [00:01<00:00, 52.6MiB/s]
[00:08.000 --> 00:11.000] はい、皆さん、こんにちは
[00:11.000 --> 00:12.000] ウィンガークファースト
[00:12.000 --> 00:15.000] アセガーと申します
[00:15.000 --> 00:17.000] よろしくお願いします
[00:17.000 --> 00:21.000] 本日はSPAの今後の
[00:21.000 --> 00:26.000] 機能拡張の方向線について話をさせていただこうと思います
[00:26.000 --> 00:29.000] さっそくですけど、皆さんの業務の
[00:29.000 --> 00:32.000] DX進んでますでしょうか
[00:32.000 --> 00:35.000] 店長方の改正やインゴイス制度といった
[00:35.000 --> 00:37.000] ほうれにともながれもあってですね
[00:37.000 --> 00:41.000] デジタル化はまったなしの長大化と思います
[00:41.000 --> 00:42.000] ここが多分ですね
[00:42.000 --> 00:44.000] SPAの方も昨年はですね
[00:44.000 --> 00:46.000] 導入検討したいというお越えを
[00:46.000 --> 00:48.000] 大変大きくいただきまして
[00:48.000 --> 00:53.000] 吸収法のデジタル化の吸参を感じております
[00:53.000 --> 00:56.000] また企業管理がグループ企業でもですね
[00:56.000 --> 00:59.000] 電子文章の活用っていうのが住んでるのは
[00:59.000 --> 01:02.000] 働かんじられます
[01:02.000 --> 01:04.000] そんな企業のデータ化を進める
[01:04.000 --> 01:07.000] ソリューションがSPAとなります
[01:07.000 --> 01:10.000] AIを教える機能による文章のデータ化から
[01:10.000 --> 01:13.000] 文章をデータ化しまして
[01:13.000 --> 01:16.000] さらに文章管理を
[01:16.000 --> 01:18.000] 文章の保管という事で
[01:18.000 --> 01:20.000] 一気通管で行える製品
[01:20.000 --> 01:22.000] これがSPAとなります
[01:22.000 --> 01:24.000] 今日はこのSPAについてですね
[01:24.000 --> 01:26.000] 今年余ってしております
[01:26.000 --> 01:29.000] 製品の進化とその狙いについてですね
[01:29.000 --> 01:32.000] 人防室制度文章のデータ化
[01:32.000 --> 01:34.000] 文章の保管ロードマップと
[01:34.000 --> 01:38.000] 4つのパートに負けてお話をしてまいろと思います

まとめ

とても簡単に日本語音声を認識し日本語でテキスト出力できました。
精度もとても良く驚きました。

今回は、Goole Colabを使ってみましたが、自分の環境に導入して試すこともハードルは高くないようですので、いつか試してみたいと思います。

invoiceAgentは保管した文書を高速に検索することができる製品です。
目指すところは、画像、音声、動画など、なんでも検索してファイルを見つけることができるアーカイブ製品です。製品機能として音声検索を提供できる日も急速に近づいていると感じました。

このような新しい技術で機能が強化されるようになれば、ご利用頂いているユーザーさんにとっては大きなメリットになると思っています。
是非invoiceAgentに取り入れることで価値を生み出しそうな新しい技術がありましたら、私達開発陣にフィードバック頂ければと思っています。


この記事が気に入ったらサポートをしてみませんか?