AI文字起こしから議事録を作る手順では、音声を全文テキストへ変えただけでは完成ではありません。発言者と時刻を確認し、決定事項、保留事項、担当者、期限を元音声へ戻れる形で確定して初めて、会議後の実行に使えます。本稿は、60分の社内プロジェクト会議を月40回処理する想定で、録音から承認済み議事録までを実装します。料金と工数は条件を明記した試算で、サービス導入の実績値ではありません。
AI文字起こしから作る議事録の完成条件を「決定・担当・期限」まで定義する
最初の対象は、社内の定例プロジェクト会議に絞ります。参加者は2〜6人、長さは30〜90分、日本語が中心で、資料は事前配布済みという条件です。取締役会、人事評価、懲戒、労務相談、医療情報、顧客との契約交渉は、発言の扱いと誤りの影響が異なるため同じ運用へ含めません。
会議ごとに主催者が録音可否を確認でき、完成した議事録を参加者が翌営業日までに訂正できることも前提です。
出力は、逐語録と議事録を別データにします。逐語録には発言者ラベル、開始・終了時刻、認識結果、修正履歴を残します。議事録には会議目的、決定事項、未決事項、行動項目、担当者、期限、根拠となる発言区間を持たせます。「たぶん来週」「誰か確認」といった曖昧な発言を、AIが勝手に日付や担当者へ補完してはいけません。
不足している項目は空欄のまま確認対象へ送り、会議主催者が確定します。
| 成果物 | 必須項目 | 合格条件 | 用途 |
|---|---|---|---|
| 録音原本 | meeting_id、録音時刻、チャンネル、ハッシュ | 編集前ファイルを読み取り専用で保持 | 認識結果の再確認 |
| 確認用逐語録 | speaker_id、start_ms、end_ms、text、confidence | 任意の文から該当音声を再生できる | 発言の確認と訂正 |
| 議事録 | 論点、結論、保留理由、行動、担当、期限、source_span | 決定と提案を混同せず、根拠時刻がある | 会議後の共有と実行 |
| 承認記録 | 版、確認者、差分、承認日時 | 公開された版と承認版のハッシュが一致 | 訂正経緯の追跡 |
議事録の自動化率ではなく、「元発言へ戻れる決定事項が何件確定したか」を完成の単位にします。
入力音声は形式、サンプルレート、話者の距離をそろえて録る
音声認識の前に、録音品質を固定します。Google Cloud Speech-to-Text V2「Package google.cloud.speech.v2」のRPCリファレンスは、LINEAR16、FLAC、MP3、OGG_OPUSなどの対応形式と8,000〜48,000Hzのサンプルレートを示し、可能なら16,000Hzが適切としています[1]。これは一製品の受入条件であり、全サービス共通ではありません。導入候補ごとに、コンテナ、コーデック、チャンネル、容量の組合せを検証します。
会議室では、卓上の遠距離マイク一台より、参加者へ近い会議用マイクまたは個別チャンネルを優先します。オンライン会議は、取得できるなら参加者別トラックを保存します。録音開始前の20秒で、全員が氏名、製品名、数字を含む定型文を読み、レベルとノイズを確認します。
ピークが連続して0dBFSへ張り付くクリッピング、空調音で声が埋もれる状態、片チャンネルの無音を検知したら、会議開始前に機器を直します。
| 項目 | 試行時の推奨設定 | 確認方法 | 収録を止める状態 |
|---|---|---|---|
| ファイル | WAV/LINEAR16またはFLACを原本にする | ヘッダーと実データの形式を検査 | 拡張子とコーデックが一致しない |
| サンプルレート | 16kHz以上、取得時の値を維持 | メディア情報を自動取得 | 意図しない再サンプリングを検出 |
| チャンネル | 可能なら話者別、難しければ1ch | 各チャンネルを10秒ずつ試聴 | 左右反転、欠落、二重録音がある |
| 音量 | 通常発話が十分に波形へ現れる | ピーク、RMS、無音比率を記録 | クリッピングが発話区間の1%を超える |
| 重なり発話 | 冒頭で一人ずつ発言する規則を案内 | 20秒テストを目視・試聴 | 複数人を分離できない機材配置 |
| 参加者案内 | 利用目的、保存先、訂正窓口を表示 | 会議招待と冒頭アナウンスを記録 | 録音を望まない参加者への代替がない |
NISTの原著「The Rich Transcription 2007 Meeting Recognition Evaluation」は、複数人が同時に話す遠距離マイク会議で、音声認識と話者ダイアライゼーションの誤りが試験集合によって大きく変わったと報告しています[5]。
2007年の英語評価値を現在の日本語製品へ転用はできませんが、会議室、講義、雑談を同じ精度と見なせない根拠にはなります。自社のマイクと会議形式で基準データを作る必要があります。
文字起こしと話者分離は元音声を消さずに非同期処理する
60分を超える可能性がある会議は、短時間の同期APIではなくバッチ処理へ送ります。
Google Cloudの「Quotas and limits」は、同期認識を10MBまたは1分まで、ストリーミングを1接続5分まで、V2のBatchRecognizeを1ファイル最大8時間までとし、バッチ入力はCloud Storage URIに限定しています。最終更新日は2026年7月22日です[2]。
一製品の制限を設計へ反映する場合、長時間ファイルを無造作に分割せず、発言の途中を切らない区間とmeeting_idを保ちます。
処理ジョブには、音声のハッシュ、言語、チャンネル数、モデル名、辞書版、話者数の予想範囲、開始日時を付けます。固有名詞辞書には製品名、部署名、頻出略語を登録しますが、似た読みの単語を大量に入れると別の誤認識が増えることがあります。辞書変更前後で同じ評価音声を処理し、改善した重要語と悪化した一般語を比較します。
話者名は認識モデルに推測させず、Speaker 1などの仮ラベルと冒頭の自己紹介を人が照合します。
{ "meeting_id": "PM-20260730-01", "audio": { "uri": "gs://approved-bucket/PM-20260730-01.flac", "sha256": "記録した64桁のハッシュ", "sample_rate_hz": 16000, "channels": 1, "duration_seconds": 3672 }, "recognition": { "language_code": "ja-JP", "model": "契約中サービスの固定モデルID", "vocabulary_version": "product-terms-2026-07-30", "speaker_min": 2, "speaker_max": 6, "word_time_offsets": true }, "retention": { "raw_audio_days": 30, "confirmed_transcript_days": 365 }}
単語時刻は確認画面の再生位置に使います。Google Cloudの「Get word timestamps」は、`enableWordTimeOffsets`を有効にすると、先頭候補へ単語の開始・終了を100ミリ秒単位で含める仕様を示しており、同ページは2026年7月22日に更新されています[3]。時刻が付いても発言内容が正しいとは限らないので、数値、否定、担当、期限を含む区間は原音を再生して確定します。
認識精度はCER、重要語一致率、話者割当率を別々に測る
日本語会議では分かち書き規則によって単語誤り率が変わるため、試行の主指標を文字誤り率(CER)にします。基準書き起こしと認識結果を同じ正規化規則で比較し、置換S、削除D、挿入Iを数え、基準文字数Nで割ります。句読点、全角半角、数字表記を評価に含めるかを先に決め、結果を良く見せるため途中で規則を変えません。
CERが低くても、「不要」を「必要」とする否定誤りや、100万円を10万円とする数値誤りは業務上重大です。
CER = (S + D + I) ÷ N × 100想定例:基準文字数 N = 12,000置換 S = 180、削除 D = 60、挿入 I = 36CER = (180 + 60 + 36) ÷ 12,000 × 100 = 2.30%重要語一致率 = 正しく認識した重要語 ÷ 基準の重要語想定例: 294 ÷ 300 × 100 = 98.0%
評価セットは40会議から各5分、合計200分を抽出します。小会議、6人会議、オンライン、会議室、専門用語が多い回、重なり発話がある回を層別し、二人の確認者が正解データを作ります。採用案として、全体CER5%以下、重要語一致率98%以上、発言時間ベースの話者割当率95%以上、決定事項の取りこぼし0件を置きます。これは公的基準ではなく、当該プロジェクトが定める試行閾値です。否定、金額、日付、バージョン、個人名は信頼度にかかわらず全件確認します。
| 指標 | 母数 | 試行合格案 | 限界 |
|---|---|---|---|
| CER | 基準書き起こし12,000文字以上 | 層別全体5%以下 | 重要な一文字の影響差を表さない |
| 重要語一致率 | 製品名、数字、否定、担当、期限300出現以上 | 98%以上かつ金額・否定の重大誤り0 | 辞書にない新語の性能は別途確認 |
| 話者割当率 | 発言時間または発言区間 | 95%以上 | 同時発話では正解自体が曖昧になり得る |
| 決定事項再現率 | 人が確定した決定事項 | 取りこぼし0、誤追加0 | 会議中に結論が曖昧なら主催者確認が必要 |
| 出典時刻精度 | 確認対象40箇所 | 再生開始が該当発言の2秒以内 | 単語時刻の誤差とUI遅延を分けて測る |
NISTの会議評価で示された数値は、英語、当時のシステム、特定の遠距離マイク条件に限られます[5]。その結果を「現在のAIは何%正確」と紹介しません。本稿では、同研究がSTTと話者割当を別タスクとして評価した設計だけを参考にし、自社の日本語会議から実測値を取得します。
議事録は逐語録から決定・保留・行動を構造化して作る
議事録生成へ渡すのは音声そのものではなく、時刻と話者を確認できる逐語録です。モデルには「発言にない日付、担当、理由を補わない」「提案と決定を分ける」「複数の発言を一つの決定へまとめた場合は全区間を示す」という制約を与えます。出力スキーマで項目名と型を固定し、自由文の長い要約だけを受け取りません。
JSON構文が正しくても内容の正しさは別なので、source_spansの音声照合を必須にします。
{ "decision_id": "D-03", "topic": "検証環境の公開日", "status": "provisional", "decision": "7月31日を候補日とする", "owner": null, "due_date": null, "source_spans": [ {"speaker": "Speaker 2", "start_ms": 1820400, "end_ms": 1848100}, {"speaker": "Speaker 4", "start_ms": 1852200, "end_ms": 1869100} ], "needs_confirmation": [ "候補が最終決定か", "公開担当者", "時刻" ]}
この例では「7月31日」が会話に出ても、最終決定か分からないため`provisional`にします。担当者と時刻は空欄です。人が音声を聞き、会議主催者へ尋ねてから`confirmed`へ変えます。期限のない行動項目を自動で一週間後へ設定したり、発言回数の多い人を担当者へ割り当てたりしません。議事録を読みやすく整える処理と、業務システムへ登録する処理の間に承認境界を置きます。
| 要素 | 抽出条件 | 許される整形 | 禁止する推測 |
|---|---|---|---|
| 決定事項 | 合意を示す発言と反対・保留がない | 重複発言を一文へ統合 | 提案を承認済みと書く |
| 保留事項 | 不足情報または次回確認が明示 | 不足理由を発言どおり短く整理 | 保留理由を一般論で補う |
| 担当者 | 本人または責任者が名前を明示 | 社内IDへ正規化 | 部署名だけから個人を選ぶ |
| 期限 | 具体日または基準日から計算できる表現 | 「翌営業日」を社内カレンダーで日付化 | 「早めに」を任意の日へ変える |
| 数値 | 単位と対象が同じ発言区間にある | 全角数字を半角へ統一 | 単位のない数字へ円や件を付ける |
確認画面は議事録、逐語録、音声波形を三列で同期させる
確認者が音声ファイルと文書を別々に開くと、重要箇所へ戻る時間が増えます。画面左に議事録カード、中央に話者別逐語録、下部に音声波形、右に原資料と差分履歴を配置します。議事録カードを選ぶとsource_spanの2秒前から再生し、該当語を強調します。再生速度は0.75、1.0、1.25、1.5倍を用意し、数字や固有名詞は等速へ戻せるようにします。
各カードには「確認済み」「修正」「主催者へ質問」「議事録から除外」の四状態を持たせます。修正時は、認識誤り、話者誤り、要約誤り、会議自体の曖昧さ、公開範囲の変更から理由を選び、修正前後と担当者を残します。認識信頼度が高いという理由だけで自動承認せず、重要語タグを優先します。会議自体の結論が曖昧ならAI設定を直すのではなく、主催者へ確認します。
| 警告 | 発火条件 | 画面の動作 | 確定者 |
|---|---|---|---|
| 数値差分 | 同じ論点で異なる金額・日付が出現 | 両方の発言区間を並べて再生 | 会議主催者 |
| 話者不明 | 話者ラベルの確度が案件閾値未満 | 前後15秒と参加者候補を表示 | 参加者または議事録担当 |
| 根拠なし | 議事録文にsource_spanがない | 承認ボタンを無効化 | 生成処理の担当者 |
| 期限なし | 行動項目のdue_dateが空 | 質問状態へ送り、自動日付を付けない | 行動の依頼者 |
| 機微語 | 人事、健康、契約、認証情報の辞書に一致 | 共有先を限定し情報管理者へ通知 | 情報管理責任者 |
| 重複ジョブ | 同じ音声ハッシュの処理済み結果がある | 新規処理を止め既存版を提示 | 運用担当 |
最終確定前に、画面は未確認カード数、根拠なし件数、重要語未再生件数、参加者の訂正待ち件数を表示します。四つがすべて0にならなければ「承認済みPDF・HTMLの出力」を実行できません。確認者がブラウザを閉じても状態を復元できるよう、カード単位で保存し、音声の一時URLを議事録本文へ直接埋め込みません。
録音の利用目的、委託先、保存期限を会議前に決める
音声には氏名だけでなく、声、所属、評価、健康、顧客情報、未公開計画が含まれ得ます。個人情報保護委員会「個人情報の保護に関する法律についてのガイドライン(通則編)」は、個人に関する情報に映像・音声も含み得ること、個人データ処理を委託する場合に委託先の選定、契約、取扱状況の把握が必要であることを示しており、掲載内容の条番号基準日は2026年6月14日です[6]。クラウド音声認識の利用が委託か第三者提供かは契約とデータ取扱いによって判断し、法務・個人情報管理部門へ確認します。
会議招待には、録音と文字起こしの目的、利用サービス、閲覧者、原音と議事録の保存期間、訂正窓口、録音しない参加方法を記載します。原音30日、確認済み逐語録365日、議事録はプロジェクト文書の保存規程に従う、という例を置きますが、法令・契約・監査要件があれば優先します。
退職者がいるから即削除、監査だから無期限保存といった一律運用は避け、文書区分ごとに期限と削除責任者を設定します。
| 確認事項 | 記録する内容 | 未確定時の扱い |
|---|---|---|
| 利用目的 | 議事録作成と参加者による訂正 | 録音を開始しない |
| 対象者への案内 | 招待文面、冒頭案内、拒否時の代替 | 主催者が口頭メモ方式へ切り替える |
| サービスの処理条件 | 保存地域、学習利用、再委託、削除、監査資料 | 機密会議を対象外にする |
| アクセス | 主催者、議事録担当、情報管理者の権限 | 共有リンクを発行しない |
| 保存と削除 | 原音30日、逐語録365日などの期限と削除ログ | 規程責任者が期限を決めるまで隔離 |
| 事故対応 | 誤共有、漏えい疑い、削除失敗の連絡先 | 自動処理と外部共有を停止 |
経済産業省「AI事業者ガイドライン第1.2版」(2026年3月31日)は、AI利用者を含む関係者の役割、透明性、適正利用、継続的なリスク管理を整理しています[7]。同ガイドラインは業種横断の任意指針なので、録音可否や保存年限を直接決める法的根拠としては使いません。自社規程と適用法令を具体化するための確認観点として利用します。
月2,400分の音声認識費と人の確認時間を分けて試算する
Google Cloud Speech-to-Textの料金ページでは、参照日2026年7月30日時点でV2標準認識の最初の月間500,000分が1分0.016米ドル、課金は1秒単位、複数チャンネルは各チャンネルの長さを合計して課金すると説明されています[4]。
以下は1チャンネル60分を月40回、1米ドル150円と置いた例です。ストレージ、要約モデル、ネットワーク、監視、税は公式単価へ含まれないため別計上します。
音声時間 = 60分/会議 × 40会議 = 2,400分認識API = 2,400分 × 0.016米ドル = 38.40米ドル円換算 = 38.40米ドル × 150円 = 5,760円確認時間の想定従来: 45分/会議 × 40 = 1,800分 = 30時間導入後: 15分/会議 × 40 = 600分 = 10時間差 = 20時間時間単価3,500円なら20時間 × 3,500円 = 70,000円分の差別途想定する月額保存・監視 8,000円 + 要約処理 6,000円導入後の外部費 = 5,760円 + 8,000円 + 6,000円 = 19,760円
この計算では、20時間分の差から外部費19,760円を引くと50,240円の月次差になります。ただし、システム開発、正解データ作成、参加者教育、情報管理審査は初期費です。二チャンネルを別々に認識すれば、同じ60分でも課金対象は120分になる可能性があります。空の認識結果でも正常応答なら課金されるという料金説明もあるため、無音ファイルの事前検査が必要です[4]。
| 区間 | 開始 | 終了 | 試行目標 |
|---|---|---|---|
| アップロード | 会議終了 | 原音保存とハッシュ確定 | 10分以内 |
| 音声認識 | ジョブ受付 | 逐語録受信 | 60分音声を30分以内という社内目標 |
| 議事録生成 | 逐語録受信 | 確認カード作成 | 5分以内 |
| 人の確認 | 担当者が画面を開く | 主催者へ回付 | 中央値15分、90パーセンタイル25分以内 |
| 参加者確定 | 回付 | 訂正期限または全員回答 | 翌営業日まで |
認識速度はベンダーの固定保証として書かず、自社ジョブログから中央値と90パーセンタイルを取得します。平均だけでは、月末の混雑や長時間会議が隠れます。翌営業日の共有に間に合わない会議が月40件中2件を超えたら、バッチ投入時刻、ファイルサイズ、サービス制限、確認者の待ちを切り分けます。
重なり発話、重要語誤り、機微情報を有人確認へ戻す
エラー処理は、再試行すれば直る技術エラーと、聞き直しや会議主催者の判断が必要な内容エラーに分けます。HTTPの一時障害やジョブ待ちは、同じmeeting_idと冪等キーで回数を限定して再試行します。音声が壊れている、結論が曖昧、誰が話したか判別できない場合は、モデルを繰り返し呼んでも正本は増えません。確認画面へ理由付きで戻します。
| 症状 | 確認 | 自動処置 | 人へ戻す時点 |
|---|---|---|---|
| 処理結果が空 | 無音比率、形式、チャンネル、権限 | 形式エラーなら送信前に拒否 | 声が聞こえるのに二回失敗した時 |
| 話者が頻繁に入れ替わる | 重なり発話と話者数設定 | 隣接区間を再結合して候補表示 | 決定事項の発言者を確定できない時 |
| 数字・否定を誤る | 原音、資料、重要語辞書 | 警告を付け自動確定を禁止 | 金額、期限、承認可否は全件 |
| 存在しない決定を生成 | source_spanと逐語録 | 根拠なしカードを削除候補へ | 誤追加が評価40会議で一件でも出た時 |
| 機微情報を検出 | 辞書一致と会議区分 | 共有範囲を主催者だけに制限 | 人事・健康・認証情報を含む時 |
| 誤共有・漏えい疑い | アクセスログと宛先 | リンク無効化、処理ジョブ停止 | 直ちに情報管理責任者へ引き継ぐ |
この手順へ載せない会議
法的な逐語性が要求される記録、匿名性を約束した相談、同意を得られない録音、緊急対応で機密情報が混在する会議、発言者の特定が不利益へ直結する面談は対象外です。専門の記録方法とアクセス管理を担当部署が設計します。
運用停止は、重大な決定誤り、権限外共有、削除失敗のいずれか一件で発動します。新しい会議の取り込みを止め、すでに生成した議事録の公開範囲を確認し、原因と影響期間を特定します。軽微な句読点の誤りと、金額・担当・否定の誤りを同じ件数として扱いません。重大度を付けたうえで再開条件を決めます。
30日試行は40会議の品質・時間・費用・事故で判定する
試行期間は30日、対象は40会議とし、導入前の40会議から確認時間と訂正件数を取得します。新旧で会議の長さや人数が極端に違わないよう層を合わせます。新しい運用の合格条件は、CERなどの認識性能だけでなく、決定事項の誤追加0、重要な取りこぼし0、権限外共有0、期限内公開95%以上、確認時間中央値15分以下です。未達指標を他の改善で相殺しません。
| 判定項目 | 必要データ | 合格 | 不合格時の次手 |
|---|---|---|---|
| 認識 | 200分の正解書き起こし | CER5%以下、重要語98%以上 | 録音条件・辞書・モデルを一項目ずつ再検証 |
| 議事録 | 人が確定した決定・行動一覧 | 重大な誤追加と取りこぼしが0 | 自動公開せず抽出範囲を縮小 |
| 時間 | ジョブと確認画面の時刻ログ | 翌営業日までの確定が38/40件以上 | 処理待ちと人待ちを別に改善 |
| 費用 | API請求、保存、運用工数 | 承認済み1会議当たり総費用が基準以下 | チャンネル数、保存、対象会議を見直す |
| 情報管理 | 権限・削除・共有ログ | 重大事故0、期限超過保存0 | 取り込み停止後に管理部門が再開審査 |
40会議で問題が出なかったとしても、取締役会や顧客交渉へ広げられる証明にはなりません。対象範囲、言語、マイク、人数が変われば新しい評価が必要です。モデル、辞書、録音アプリ、要約プロンプト、確認画面を更新した場合は、200分の固定セットを再実行し、前版との差を残します。結果を「精度98%」の一語へまとめず、どの母数の何が98%なのかを報告します。
次に取る行動は5分音声40区間の正解データを作ること
導入候補の比較前に、実際の会議から利用許可を得た5分区間を40本選びます。静かなオンライン会議だけでなく、会議室、6人、専門用語、数字、重なり発話を含めます。二人が独立して文字と話者を確認し、相違を解決した版を正解データにします。同じ正解データへ各候補の結果を当て、CER、重要語、話者、処理時間、料金を横並びにします。
次いで、最も条件に合う一つの会議種別だけを30日運用します。確認画面で修正理由を必ず記録し、録音由来の問題、認識由来の問題、議事録生成由来の問題、会議自体の曖昧さを分けます。合格表の全項目を満たした後に対象を増やし、機微性や参加者構成が変わる会議は新しい試行として扱います。これが、便利な文字列出力を業務で使える議事録へ変える最短の検証単位です。
参考文献・出典
- AI文字起こしに使う音声認識の公式仕様:Google Cloud「Package google.cloud.speech.v2」(V2 RPCリファレンス、版表記なし、参照日2026年7月30日)
- Google Cloud「Cloud Speech-to-Text Quotas and limits」(最終更新2026年7月22日、参照日2026年7月30日)
- Google Cloud「Get word timestamps」(最終更新2026年7月22日、参照日2026年7月30日)
- Google Cloud「Speech-to-Text pricing」(料金表、版表記なし、参照日2026年7月30日)
- Jonathan G. Fiscusほか「The Rich Transcription 2007 Meeting Recognition Evaluation」(原著会議論文、NIST掲載ページ更新2020年1月27日、参照日2026年7月30日)
- 個人情報保護委員会「個人情報の保護に関する法律についてのガイドライン(通則編)」(現行掲載内容の条番号基準日2026年6月14日、参照日2026年7月30日)
- 経済産業省「AI事業者ガイドライン 第1.2版」(2026年3月31日、掲載ページ最終更新2026年4月1日、参照日2026年7月30日)