AI

生成AIと音声認識を組み合わせて会議アシスタントツールを作ったら生産性が大幅に向上した話

IDチームの前田です。今日は生成AI(ChatGPT)と音声認識モデル(Whisper)を利用した会議アシスタントツールに関する投稿になります。

(追記) 作ったツールはGitHub上で公開しており、Dockerを利用してすぐに試せるようになってます。 https://github.com/cloudnative-co/mtg-ai-assistant

2023年8月30日現在Azure OpenAIにてWhisperが利用出来ていないため、OpenAI Whisper APIを利用した試験段階のものになります。近日中にAzure OpenAIにてWhisperが利用出来るとアナウンスされていますので、利用出来るようになったらツールをAzure上で動かし、全社展開していく予定です。

三行まとめ

  • 当初、生成AIを利用し全自動で議事録を生成してくれるツールを目指して開発したが2023年8月現在だと実現が厳しかった
  • 全自動での議事録生成ツールを諦めて、会議アシスタントツールにアプローチを変えたら大変便利なものが出来上がった
  • 生成AIを利用する場合、半自動化くらいを狙うと実用的で便利な物が作れて業務に活用が出来る

用語の説明

前提情報

  • クラウドネイティブでは会議動画(Zoom動画)は全て録画しており、自動でBoxへ保存されるツールを自作し利用している
  • 議事録は専門の方達(アシスタント職の方達)が書いていてお客様や関係者と共有するためしっかり書かれている。
  • 録画データ+議事録を確認すれば会議の内容が把握出来るようになっている

発生していた問題

  • 会議の動画、議事録が揃っていても内容把握や確認にはそれなりの時間を要する
  • 「これ何の話だっけ?」と詳細を把握したい状況が発生したときに動画の該当部分を探すのが大変
    • TVやYouTubeと違いテロップ無しの60分動画から該当箇所の2〜3分を探すのが大変

問題解決へのアプローチ

いろいろと試した結果(後述)、下記のアプローチを取ることにしました。

  • OpenAI Whisper APIを利用し動画からウェブビデオテキストトラック形式 (WebVTT)の文字起こしを生成
  • 文字起こしをベクトル化し、ChatGPT経由で質問や操作が出来るようにした
    • AIが会議に参加していたかのように会議の内容に回答してくれる
    • 思った通りに回答が来なくてもクエリを調整してリトライしやすいように

ツールをシステムズと実際の画面とともに説明

システム図

ウェブビデオテキストトラック形式 (WebVTT)の文字起こしを生成

会議動画か会議音声をアップロード。今回はクラウドネイティブのイベント動画を利用して説明します。

1〜2分くらいで文字起こしが生成されて、「いつ」「何の会話」がされているかを確認出来る。

会議の内容をAIに質問する

生成された文字起こしをベクトルDBに格納し、クエリを投げて前後の文脈から誤字脱字を修正し要点をまとめてもらったり、動画の内容に対して質問をして回答を得る形を採用。

用途に応じてGPT-3.5とGPT-4の使い分けが出来ます。GPT-3.5だと処理は高速ですが、精度はそれなり。

思った通りに出力が出なかったりしても、モデルやクエリを変更してリトライがしやすい。

ツールにより便利になったこと

  • 会議動画とともに文字起こしが確認出来るので探したい箇所をすぐに見つけられる
  • クエリで質問を変えられるので、トピックだけ抽出したり、議事録の下書きの下書きくらいは生成が可能
  • 補助ツールとして活用することで情報のキャッチアップや資料作成の時間が大幅に短縮

2023年8月時点で全自動議事録生成ツールが難しかった理由

  • 文字起こしの精度が低い
  • コンテキストの理解が出来ていない
  • 出力結果の制御が難しい

文字起こしの精度

  • Zoomの文字起こしの精度が低い
    • 日本語を話しているのに英語と判定される人も
  • 回線品質、音声品質にも大きく左右される
  • OpenAI Whisper APIでの文字起こしは一番精度が高いがそれでもまだ厳しい
    • Promptで用語や社名を渡すことで改善出来るが、どんな内容の動画かを事前に知っておかないと難しい

コンテキストの理解

  • 人名、企業名、サービス名、略語などの理解が厳しい
  • 会議中の本題だけでなく、雑談が議事録に入ってきてしまう

出力結果の制御が難しい

  • 細かく出力形式を指定しても制御が難しい
    • Prompt Engineering Guideの通りに指示をしても毎回同じにはならない
    • コピー&ペーストでそのまま利用出来る品質ではない

ソースコード

作成したものはGitHub上に公開してます。

まとめ

  • 生成AIでいきなり全部自動化は難しい
  • 半自動化くらいを狙うと実用的で便利な物が出来上がる
  • 生成AIを活用して業務に役立てていきましょう

参考

今回アプリを作るにあたり参考にさせていただき、生成AIを利用した構成や現時点での課題について大変勉強になりました。必読です!!

glidenote

memolist.vim作者. GMOペパボ、Kaizen PlatformといったWEB系スタートアップでシニアエンジニア、SRE Group Manager、Engineering Group Managerを歴任。AWS Certified Security – Specialty.
Speed Cube初心者 1/5/12=19.21/29.70/30.27。ばね指治療中