気が重いインタビューの文字起こしを音声認識AI「Whisper」で完全克服するまで

手間のかかるインタビューの文字起こし作業。それがOpenAIによる音子認識AIの「Whisper」を使うことで、高い精度でテキスト化してくれる。さらにMac向けアプリケーション「Whisper Transcription」を使うことで、変換後のテキストをインライン編集しながら、該当部分の音声を確認できます。インタビュー記事の制作プロセスを大きく改善するWhisper。ぜひ、その可能性をこの記事で探ってみてください。

インタビューは楽しいが、文字起こしはとにかく大変

Webページや雑誌でのインタビュー記事作成において、取材した音声からのテキスト起こしは欠かせない作業ですが、手作業で行うと時間と手間がかかるし、集中力も存分に必要となるため、たった30分の音声を起こすのに2時間以上かかって、耳も指もココロもヘトヘトってことによくなります。

一方、専門業者に文字起こし作業を頼むとどれくらいの費用がかかるか。一般的な相場としては、1時間の音声起こしの場合、約1万円から3万円程度と言われています。自分の場合は2時間半ほどのインタビューを行い、最終的に2万字くらいのロングインタビューとして纏めることが多いですが、テキスト起こしだけで7万円くらいかかるってことですか。主目的はインタビュー記事の編集作業であり、文字起こしはその準備作業ということを考えると、ギャランティの半分以上をテキスト起こしに持っていかれるのは、自分の費用感にはマッチしないです、残念ながら。

Whisper ─ OpenAIによる音声認識モデル

そこで、文字起こし作業をAIに任せることができれば、記事制作の効率化やコスト削減に繋がる可能性があるのでは?…と、以前からリサーチを続けていました。なかなか日本語による実用的な精度の技術に巡り会えなかったのですが、「ChatGPT」 で一世風靡しているOpenAIが2023年3月1日に、音声認識サービスの「Whisper」のAPIを公開しました。ChatGPTが(内容の正確性は別として)ここまで高度なテキスト生成を行うのであれば、Whisperにも期待できる。そんなわけで早速試してみたので、実際の記事制作ワークフローに取り入れる際の評価結果を報告します。

Whisperは音声認識とテキスト生成の機能を持ち合わせており、高い精度で音声をテキストに変換可能だと喧伝されています。そこで実際にWhisperを試すために、まずはテスト的にGoogle Colaboratory上でWhisperの実行環境を構築してみました。

Google Colaboratoryというのは、Googleが提供している、ブラウザから直接Pythonを記述、実行できるサービス。 Whisper APIはPythonから実行するのが便利なので、まずはこれでやってみましょう。

Google Colaboratoryにアクセスし、新しいノートブックを作成します。ランタイムタイプは「Python 3」に設定し、ハードウェアアクセラレータとして「GPU」を使います。さらに必要なライブラリとして、OpenAIのPythonパッケージ「tiktoken」と「transformers」をインストール。あとはPythonでWhisperを実行するための簡単なスクリプトを作成します。

wp-image-851

Whisperには学習済みモデルが5つ用意されていて、サイズ違いのtiny, base, small, medium, largeがあります。サイズが大きければ大きいほど、処理時間がかかるものの文字起こしの精度は向上します。ものは試しでsmallから検証したところ、特に日本語による音声では役立たず。現実的な認識精度となるとlargeしかないことが判明しました。逆に言えば、largeモデルであれば今まで満足いく精度にはなかったテキスト起こしが現実のものになるかも?という感触はしっかり得られたのです。

いや、当然ながら完璧ではないんですよ。手直しがいらないほどの精度で認識させるためには、環境やマイクの設定などを調整して、クリアでノイズの少ない音声を録音する必要があるし、喋り手はゆっくりと正確な発話を心がける必要がある。Whisperは文脈に基づいて意味を理解するという高度な音声認識を行うものの、逆に言えば会話の中で文脈を明確にすることが求められるわけで、これらの条件を全てクリアするためには、ラジオの録音ブースに入ってNHKのアナウンサーが読み上げるような原稿と発話が求められる…そんなのインタビューじゃ無理筋なわけです。

そこで、Whisperに求めるのはそこそこの認識精度に留めておいて、文字起こしされたテキストをいかに楽に直していけるかに軸足を移そうと思いました。まぁ、100%正確に起こしてくれたとしても、話し言葉である以上は、読み物としての文体に整える作業は残りますから。


文字起こしから編集作業までを一貫して行えるワークフローを実現

「いかに楽に直すか」を考えてみると、Whisperによって文字起こしされたテキストをその場で修正できるのが良いですし、元の音声をすぐに聞いて確認できるのが良いわけです。そうしたニーズを考えると、WhisperをPythonで動かしてテキストデータが表示されるだけでは、実用的な作業向上には繋がりません。そこで、使いやすいMac用アプリケーションを探し、Mac App Storeで見つけたのが「Whisper Transcription」というアプリケーション。音声変換〜テキスト化、インラインでのテキスト修正、テキストに対応した音声箇所を再生できるなど、こちらが漠然と考えていたニーズが具現化されているので、早速ダウンロードしてみました。

wp-image-853

謳い文句としては「実時間の15倍の速さで音声をテキスト化する」とありましたが、largeモデル(有料)を使うと流石に時間がかかります。それでも30分の音声ファイルをWhisper Transcriptionで変換してみたところ、わずか10分ほどでテキスト化が完了しました。これは人間では到底実現できないスピードです。さすがはAppleシリコン対応。

一方、開発されたばかりのアプリケーションなので、使いにくい点もあります。もっとも困ったのは、音声を変換し修正した内容を保存しておき、作業を再開することができないのです。テキストをいろんな形式に書き出すことはできるのですが、作業途中のファイルを再度開いたら元の状態に復元されるようなファイル保存にはまだ対応しておらず(将来のロードマップには「計画中」となっていますが)。

そんなわけで、作業中にアプリケーションが予期せぬハングアップに襲われるのも嫌ですし、2時間半の音声ファイルを30分ごとに分割し、一回の作業で30分(編集まで含めると1時間ほど)はやり遂げるように頑張り、最終的にはしっかりとした2万6千字の原稿に仕上げることができました。30分の音声を10分でテキスト化し、1時間かけて編集する…。まぁ、作業効率としては悪くない感じですね。

今後の探求ポイントはWhisperの精度向上

最後に、Whisperの認識精度について。Whisperは固有名詞の認識には苦手な面がありますが、Whisperのプロンプトで固有名詞を教えてあげることで、精度を向上させられるようです。「Whisper Transcription」がそういう機能を実装するかは定かではありませんが、Pythonで作り込むことで精度向上が可能なのであれば、そちらを選択し直すというのも手です。まだまだ確立したワークフローではないですが、今後の改善に期待が持てる技術だと強く感じています。