NTT DATA TECH
🤖

Snowflake Cortex AISQLを使って、会議音声から議事録サマリを作ってみた!

に公開

はじめに

現在注目を集めているSnowflake Cortex AISQL。
その中で音声データを扱えるAI_TRANSCRIBE 関数 が、今後さらなるユースケースに活用できると感じたため、今回試してみたいと思います!

この記事は、NTTデータ Snowflakeアドベントカレンダー23日目です。

Cortex AISQL 概要

Cortex AISQLは、SQLクエリから直接AI機能を呼び出せる仕組みです。
従来慣れ親しんできたSQL構文を活かしながら、AIを活用した分析が可能になります。

Cortex AISQLでは、複数のAI関数が提供されています。
今回は、その中からAI_TRANSCRIBE 関数AI_SUMMARIZE_AGG 関数を使って、音声データから議事録サマリを作ってみました!

音声データを扱えるようになることで、今回の議事録作成だけではなく、カスタマーサービスの品質向上や音声データ分析を活用した商品開発、音声による書類の自動作成など様々なユースケースに広がっていきそうです!

テストデータ

今回のユースケースを試すにあたり、仮想の新サービスリリース進捗会議の音声を音声生成ツールで作成しました。
※Zennに音声ファイルを載せられないため、生成ツールに渡したスクリプトを添付します。
参加者3名(佐藤:PM、鈴木:開発担当者、田中:マーケティング担当者)

会議音声スクリプト
佐藤:じゃあ時間になりましたので、今日の新サービスのリリース計画会議を始めたいと思います。今日のアジェンダは、リリーススケジュールの確認とリスクの洗い出し、最後に準備状況の共有ですね。まず鈴木さん、開発の状況いかがですか。

鈴木:はい、開発は今のところ順調でして、主要機能は一通り実装できてます。残っているのが、外部API連携の最終テストと負荷試験ですね。レポートは今週金曜日には出せる予定です。

佐藤:なるほど、ありがとうございます。その負荷試験なんですけど、なんか懸念点ってありますか?

鈴木:そうですね、ピーク時のアクセス数が想定より20パーセントくらい増えそうでして、その場合はスケール設定を調整する必要が出るかもしれないです。

佐藤:なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?

鈴木:はい、調整は必要ですが、問題ないと思います。

佐藤:他に気になっているところはありますか?

鈴木:ユーザー管理画面のUIについて、いくつか改善要望が出てまして、優先度はそんなに高くないんですが、初期リリースに入れるかは検討したほうがよいですね。

佐藤:了解です。

佐藤:そしたら、マーケ担当の田中さんも共有お願いします。

田中:はい、マーケ側から共有します。事前アンケートの結果なんですが、サービスの必要性に関してはかなり期待している声が多かったです。特に、管理工数を減らせるなら助かるみたいなコメントが目立ってました。

佐藤:共有ありがとうございます。それはいいですね。プロモーションの準備はどうですか?

田中:プロダクト紹介動画は完成していて、Webページもほぼ整ってます。メールキャンペーンは、リリース日が確定すればそれに合わせて最終確認をするだけです。

佐藤:そしたら、総合的の判断として、予定していた5月15日にリリースで進めて大丈夫ですかね?

鈴木:はい、開発側は問題ないです。

田中:マーケ側も問題ないです。

佐藤:了解しました。15日確定でリリースしましょう。最後にネクストアクションを整理しますね。一つ目が負荷試験のレポートを金曜日までに出すこと、2つ目がUI改善対策についてちゃんと優先度を確認すること、3つ目がマーケ側でメールキャンペーンの最終確認をするですね。大丈夫でしょうか?

鈴木:開発は大丈夫です。

田中:マーケ側も大丈夫です。

佐藤:ありがとうございます。そしたら、今日の会議は以上になります。ありがとうございました。

以下は、上記スクリプトを私が要約した文章です。このような内容がCortex AISQLで要約した文章に入っていることを期待してやってみます!

■開発側の報告
・開発の進捗は順調で主要機能は実装済み。残りは外部AI連携の最終テストと負荷試験。
・レポートは今週金曜日に出せる。
・負荷試験の懸念点は、ピーク時のアクセス数が想定より20%増え、スケール設定を調整する点。
・ユーザ管理画面のUI改善要望を初期リリースに入れるか要検討。
■マーケ側の報告
・事前アンケートより、サービスの必要性があることが分かった。
・プロモーションの準備は整っている。メールキャンペーンはリリース日の確定に合わせて、最終確認する。
■全体の決定・宿題事項
・リリース日は5月15日で決定。
・ネクストアクションは、1. 負荷試験レポートを金曜日に出す、2. UI改善の優先度を確認する、3. メールキャンペーンの最終確認をする。

音声データのテキスト化

まず音声データをステージにアップロードします。

その後、AI_TRANSCRIBE 関数を使って音声データをテキスト化します。

SELECT AI_TRANSCRIBE(
	TO_FILE('@AUDIO.AUDIO_SCHEMA.AUDIO_FILES', '進捗会議.mp3')
);

結果は以下となりました。
少し表記ゆれはあるものの、ほぼ正しくテキスト化できています!

会議音声スクリプト
佐藤:じゃあ時間になりましたので、今日の新サービスのリリース計画会議を始めたいと思います。今日のアジェンダは、リリーススケジュールの確認とリスクの洗い出し、最後に準備状況の共有ですね。まず鈴木さん、開発の状況いかがですか。

鈴木:はい、開発は今のところ順調でして、主要機能は一通り実装できてます。残っているのが、外部API連携の最終テストと負荷試験ですね。レポートは今週金曜日には出せる予定です。

佐藤:なるほど、ありがとうございます。その負荷試験なんですけど、なんか懸念点ってありますか?

鈴木:そうですね、ピーク時のアクセス数が想定より20パーセントくらい増えそうでして、その場合はスケール設定を調整する必要が出るかもしれないです。

佐藤:なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?

鈴木:はい、調整は必要ですが、問題ないと思います。

佐藤:他に気になっているところはありますか?

鈴木:ユーザー管理画面のUIについて、いくつか改善要望が出てまして、優先度はそんなに高くないんですが、初期リリースに入れるかは検討したほうがよいですね。

佐藤:了解です。

佐藤:そしたら、マーケ担当の田中さんも共有お願いします。

田中:はい、マーケ側から共有します。事前アンケートの結果なんですが、サービスの必要性に関してはかなり期待している声が多かったです。特に、管理工数を減らせるなら助かるみたいなコメントが目立ってました。

佐藤:共有ありがとうございます。それはいいですね。プロモーションの準備はどうですか?

田中:プロダクト紹介動画は完成していて、Webページもほぼ整ってます。メールキャンペーンは、リリース日が確定すればそれに合わせて最終確認をするだけです。

佐藤:そしたら、総合的の判断として、予定していた5月15日にリリースで進めて大丈夫ですかね?

鈴木:はい、開発側は問題ないです。

田中:マーケ側も問題ないです。

佐藤:了解しました。15日確定でリリースしましょう。最後にネクストアクションを整理しますね。一つ目が負荷試験のレポートを金曜日までに出すこと、2つ目がUI改善対策についてちゃんと優先度を確認すること、3つ目がマーケ側でメールキャンペーンの最終確認をするですね。大丈夫でしょうか?

鈴木:開発は大丈夫です。

田中:マーケ側も大丈夫です。

佐藤:ありがとうございます。そしたら、今日の会議は以上になります。ありがとうございました。

テキストを要約

今度はテキスト化されたものを要約して、議事録のサマリを作ってみようと思います!

AI_SUMMARIZE_AGG 関数を使い、先ほどのテキスト全量を要約してみます。

select AI_SUMMARIZE_AGG( 'チャージ官になりましたので今日の新サービスのリリース計画会議を始めたいと思います 今日のアジェンダはリリーススケジュールの確認とリスクの洗い出し最後に準備状況の共有ですね まず鈴木さん開発の状況いかがですか はい、開発は今のところ順調でして、主要機能は一通り実装できてます。残っているのが、外部API連携の最終テストと付加試験ですね。レポートは今週金曜日には出せる予定です。なるほど。ありがとうございます。その付加試験なんですけど、なんか懸念点ってありますか?そうですね。ピーク時のアクセス数が想定より20%くらい増えそうでして、その場合はスケール設定を調整する必要が出るかもしれないです。 なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?はい。調整は必要ですが、問題ないと思います。他に気になっているところはありますか?ユーザー管理画面のUIについて、いくつか改善要望が出てまして、優先度はそんなに高くないんですが、初期リリースに入れるかは検討した方が良いですね。了解です。そしたら、マーケ担当の田中さんも共有お願いします。 はい、マーケ側から共有します。事前アンケートの結果なんですが、サービスの必要性に関してはかなり期待している声が多かったです。特に管理工数を減らせるなら助かるみたいなコメントが目立ってました。共有ありがとうございます。それはいいですね。プロモーションの準備はどうですか? プロダクト紹介動画は完成していて、ウェブページもほぼ整ってます。メールキャンペーンはリリース日が確定すればそれに合わせて最終確認をするだけです。そしたら、総合的な判断として、予定していた5月15日にリリースで進めて大丈夫ですかね?はい、開発側は問題ないです。バーケ側も問題ないです。 了解しました。15日確定でリリースしましょう。最後にネクストアクションを整理しますね。1つ目が付加試験のレポートを金曜日までに出すこと。2つ目がUI界全対策について担当優先度を確認すること。3つ目がマーケ側でレールキャンペーンの最終確認をするですね。大丈夫でしょうか?開発は大丈夫です。マーケ側も大丈夫です。 ありがとうございますそしたら今日の会議は以上になりますありがとうございました' );

結果は以下となりました。

見やすく箇条書きに起こしてみます。
人手で要約した文章と完全に一致はしないものの、必要な内容は取得できている印象です!!

AI_SUMMARIZE_AGG 関数を使った要約

・新サービスのリリース計画会議の結果、開発は順調で主要機能は実装済み。
・付加試験のレポートは金曜日までに出る予定。
・リリース予定日は5月15日で問題なし。
・付加試験のリスクとUI改善要望について検討する必要がある。
・マーケ側はプロモーションの準備が整い、リリース日が確定すればメールキャンペーンの最終確認をする。
・ネクストアクションとして付加試験のレポート、UI改善対策、メールキャンペーンの最終確認が残る。

人手の要約

■開発側の報告
・開発の進捗は順調で主要機能は実装済み。残りは外部AI連携の最終テストと負荷試験。
・レポートは今週金曜日に出せる。
・負荷試験の懸念点は、ピーク時のアクセス数が想定より20%増え、スケール設定を調整する点。
・ユーザ管理画面のUI改善要望を初期リリースに入れるか要検討。
■マーケ側の報告
・事前アンケートより、サービスの必要性があることが分かった。
・プロモーションの準備は整っている。メールキャンペーンはリリース日の確定に合わせて、最終確認する。
■全体の決定・宿題事項
・リリース日は5月15日で決定。
・ネクストアクションは、1. 負荷試験レポートを金曜日に出す、2. UI改善の優先度を確認する、3. メールキャンペーンの最終確認をする。

話者識別オプションを試してみる

AI_TRANSCRIBE 関数では、オプションを使って話者を識別することもできます。

本題からは少しずれますが、こちらも試してみたいと思います。

SELECT AI_TRANSCRIBE(
	TO_FILE('@AUDIO.AUDIO_SCHEMA.AUDIO_FILES', '進捗会議.mp3'),
	OBJECT_CONSTRUCT(
		'timestamp_granularity', 'speaker'
	)
);

出力結果です!
「なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?はい。調整は必要ですが、問題ないと思います。・・・・」などの箇所で、複数人の会話が1人と認識されている点はありますが、識別できている箇所もあるのと、話者が3人である点は理解できていそうです!

{
"audio_duration": 167.86594,
"segments": [
{
"end": 18.225,
"speaker_label": "SPEAKER_00",
"start": 0.031,
"text": "チャージ官になりましたので今日の新サービスのリリース計画会議を始めたいと思います 今日のアジェンダはリリーススケジュールの確認とリスクの洗い出し最後に準備状況の共有ですね まず鈴木さん開発の状況いかがですか"
},
{
"end": 48.465,
"speaker_label": "SPEAKER_01",
"start": 19.066,
"text": "はい、開発は今のところ順調でして、主要機能は一通り実装できてます。残っているのが、外部API連携の最終テストと付加試験ですね。レポートは今週金曜日には出せる予定です。なるほど。ありがとうございます。その付加試験なんですけど、なんか懸念点ってありますか?そうですね。ピーク時のアクセス数が想定より20%くらい増えそうでして、その場合はスケール設定を調整する必要が出るかもしれないです。"
},
{
"end": 79.279,
"speaker_label": "SPEAKER_01",
"start": 49.475,
"text": "なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?はい。調整は必要ですが、問題ないと思います。他に気になっているところはありますか?ユーザー管理画面のUIについて、いくつか改善要望が出てまして、優先度はそんなに高くないんですが、初期リリースに入れるかは検討した方が良いですね。了解です。そしたら、マーケ担当の田中さんも共有お願いします。"
},
{
"end": 102.482,
"speaker_label": "SPEAKER_02",
"start": 80.221,
"text": "はい、マーケ側から共有します。事前アンケートの結果なんですが、サービスの必要性に関してはかなり期待している声が多かったです。特に管理工数を減らせるなら助かるみたいなコメントが目立ってました。共有ありがとうございます。それはいいですね。プロモーションの準備はどうですか?"
},
{
"end": 129.853,
"speaker_label": "SPEAKER_02",
"start": 103.323,
"text": "プロダクト紹介動画は完成していて、ウェブページもほぼ整ってます。メールキャンペーンはリリース日が確定すればそれに合わせて最終確認をするだけです。そしたら、総合的な判断として、予定していた5月15日にリリースで進めて大丈夫ですかね?はい、開発側は問題ないです。バーケ側も問題ないです。"
},
{
"end": 158.305,
"speaker_label": "SPEAKER_00",
"start": 130.829,
"text": "了解しました。15日確定でリリースしましょう。最後にネクストアクションを整理しますね。1つ目が付加試験のレポートを金曜日までに出すこと。2つ目がUI界全対策について担当優先度を確認すること。3つ目がマーケ側でレールキャンペーンの最終確認をするですね。大丈夫でしょうか?開発は大丈夫です。マーケ側も大丈夫です。"
},
{
"end": 165.797,
"speaker_label": "SPEAKER_00",
"start": 159.23,
"text": "ありがとうございますそしたら今日の会議は以上になりますありがとうございました"
}
],
"text": "チャージ官になりましたので今日の新サービスのリリース計画会議を始めたいと思います 今日のアジェンダはリリーススケジュールの確認とリスクの洗い出し最後に準備状況の共有ですね まず鈴木さん開発の状況いかがですか はい、開発は今のところ順調でして、主要機能は一通り実装できてます。残っているのが、外部API連携の最終テストと付加試験ですね。レポートは今週金曜日には出せる予定です。なるほど。ありがとうございます。その付加試験なんですけど、なんか懸念点ってありますか?そうですね。ピーク時のアクセス数が想定より20%くらい増えそうでして、その場合はスケール設定を調整する必要が出るかもしれないです。 なるほど。その辺のリスクを踏まえてもリリース予定日は問題なさそうですか?はい。調整は必要ですが、問題ないと思います。他に気になっているところはありますか?ユーザー管理画面のUIについて、いくつか改善要望が出てまして、優先度はそんなに高くないんですが、初期リリースに入れるかは検討した方が良いですね。了解です。そしたら、マーケ担当の田中さんも共有お願いします。 はい、マーケ側から共有します。事前アンケートの結果なんですが、サービスの必要性に関してはかなり期待している声が多かったです。特に管理工数を減らせるなら助かるみたいなコメントが目立ってました。共有ありがとうございます。それはいいですね。プロモーションの準備はどうですか? プロダクト紹介動画は完成していて、ウェブページもほぼ整ってます。メールキャンペーンはリリース日が確定すればそれに合わせて最終確認をするだけです。そしたら、総合的な判断として、予定していた5月15日にリリースで進めて大丈夫ですかね?はい、開発側は問題ないです。バーケ側も問題ないです。 了解しました。15日確定でリリースしましょう。最後にネクストアクションを整理しますね。1つ目が付加試験のレポートを金曜日までに出すこと。2つ目がUI界全対策について担当優先度を確認すること。3つ目がマーケ側でレールキャンペーンの最終確認をするですね。大丈夫でしょうか?開発は大丈夫です。マーケ側も大丈夫です。 ありがとうございますそしたら今日の会議は以上になりますありがとうございました"
}

話者識別の精度があがれば、話者ごとの要約や感情スコア分析など分析の幅が広がりそうですね!

おわりに

今回は、AI_TRANSCRIBE 関数AI_SUMMARIZE_AGG 関数を使ってみました。
生成AIによる結果なので精度を確認する必要はありますが、様々な場面で活用していける楽しみな機能だと感じました。
皆さんもぜひお試しください!

NTT DATA TECH
NTT DATA TECH
設定によりコメント欄が無効化されています