業務システム
2024.07.11
AI音声認識による予約自動化|Amazon Connect×Lex×OpenAI連携IVRシステム開発事例
概要
弊社は、病院検索・予約システムを運営する企業様より依頼を受け、ボタン操作を必要とせず音声のみで新規予約・予約変更が可能なIVR(Interactive Voice Response)システムを開発しました。本システムではAmazon Connectを中核に、Amazon Lex、Kinesis Video Streams、OpenAIのWhisper API、GPT-3.5 Turbo、AWS Lambda、予約システムAPIサーバーを連携させることで、高精度な音声認識と柔軟な予約管理機能を実現しています。
システムの特徴
本IVRシステムは、以下のAWSサービスと技術を駆使しています。
Amazon Connect:
電話の受電・ルーティングを担当するクラウドベースのコンタクトセンターサービス。Amazon Lex:
自然言語理解(NLU)を用いて音声指示を解析し、対話管理を行う。Kinesis Video Streams:
リアルタイムに音声ストリーミングデータを処理し、録音データを効率的に管理。Whisper API(OpenAI):
高精度で音声データをテキスト化する。GPT-3.5 Turbo(OpenAI):
自然言語処理により、文字起こしデータからユーザーの意図を高精度で解析し、最適な応答を生成。AWS Lambda:
各サービス間の連携を処理し、リアルタイムでの応答性を維持する。Lambda関数のデプロイにはPythonベースのフレームワークであるChaliceを利用。予約システムAPIサーバー:
予約情報の登録・変更をリアルタイムで処理。
システム構成図

開発の流れ

1. Amazon Connectの設定
受電とルーティング: Amazon Connectを利用して電話を受け付け、ユーザーのリクエストを適切な処理フローにルーティング。
IVRフローの設計: Amazon Connectのコンタクトフローを設定し、ユーザーが音声ガイドに従って操作できるようにします。
まず、Amazon Connectを設定し、電話の受電を開始します。電話がAmazon Connectに着信すると、設定されたコンタクトフローに従い、ユーザーの問い合わせ内容を識別します。コンタクトフローでは基本的な通話処理の流れを作成し、初期の音声案内によるユーザー誘導を行います。さらに、外部サービスと連携するためのAWS Lambda関数を統合し、後続処理へとデータを引き渡します。
2. Amazon Lexの統合
音声指示の解析: Amazon Lexを使用して、ユーザーの音声指示を解析し、適切なアクションを判断。
ダイアログ管理: ユーザーとの対話を管理し、スムーズなユーザーエクスペリエンスを提供。
Amazon Lexを用いて、ユーザーが発話した自然言語を解析します。Lexは発話の内容を「Intent(意図)」として分類し、発話内の重要なキーワードを抽出します。Lexではダイアログフローを構築し、予約日時、診療科目、医師名など、予約に必要な情報をユーザーとのインタラクションを通じて収集します。この処理により、ユーザーが自然な言葉で話しかけてもスムーズに情報が整理され、正確な情報収集が可能となります。
3. Kinesis Video StreamとWhisper APIの連携
音声データのストリーミング: Kinesis Video Streamを使用して、リアルタイムに音声データを収集し、Amazon S3に保存。
文字起こし: Whisper APIを使用して、保存された音声データをテキストに変換。
Kinesis Video Streamsを用いて、Amazon Connectから送られてくる音声データをリアルタイムでストリーミング処理し、音声データをAmazon S3に格納します。S3への格納は、音声データを後続処理で使用するための準備段階です。格納された音声ファイルはAWS Lambdaを経由してWhisper APIへ送られ、文字起こし処理が実行されます。Whisper APIはAIモデルを用いた音声認識を高精度に行い、ノイズや話し言葉特有の揺らぎに対しても強い耐性を持っています。
4. GPT-3.5 Turboによるデータ解析
データパース: Whisper APIで文字起こしされたデータをGPT-3.5 Turboで解析し、ユーザーの意図を理解。
レスポンス生成: 解析結果に基づき、適切なレスポンスを生成し、ユーザーに返答。
Whisper APIによって生成されたテキストは、GPT-3.5 Turboに渡されます。GPT-3.5 Turboは強力な自然言語処理能力を備えており、受け取ったテキストを解析してユーザーの具体的な意図(予約・変更・キャンセル等)を特定し、必要な情報を抽出・補完します。また、ユーザーが明確に伝えられなかった情報については、再度Lex経由で質問を行い、不足情報を補完することが可能です。
5. 予約システムAPIサーバーとの連携
リクエスト送信: GPT-3.5 Turboで解析されたデータを基に、予約システムAPIサーバーにリクエストを送信。
レスポンスマッピング: 予約システムからの応答を受け取り、適切な形式に変換してAmazon Connectに返す。
GPT-3.5 Turboで生成された予約処理リクエストは、専用の予約システムAPIサーバーに送信されます。このサーバーは、受け取った情報を元にデータベースを更新し、予約情報を確定します。予約APIサーバーからのレスポンスは再びLambda経由でAmazon Connectに返され、ユーザーには最終的な予約の確認が音声案内として提供されます。
6. AWS Lambdaによる統合
バックエンド処理: AWS Lambdaを使用して、各コンポーネント間の処理を統括。
デプロイ: Chaliceを用いてLambda関数をデプロイし、システム全体のスムーズな動作を保証。
AWS Lambdaは、これらのサービス間を連携させるバックエンドのハブ機能を担います。Lambda関数は、Amazon Connect、Lex、Whisper API、GPT-3.5 Turbo、予約システムAPIサーバー間のデータ転送、変換処理、エラー処理をリアルタイムで処理し、高度な統合を実現します。Lambda関数のデプロイと管理はChaliceを用いて効率的に行い、迅速なデプロイメントと運用保守性の向上を実現しています。
結果
本IVRシステムの導入により、病院側は以下のような具体的なメリットを享受しています。
効率的な予約処理
自動化により予約受付業務の負荷が大幅に軽減され、業務効率化が図れました。
ユーザー獲得
ボタン操作が難しい高齢者や視覚障害者、インターネット利用が難しい方でも簡単に予約が可能となり、新規ユーザー層の獲得につながっています。
高精度な音声認識
Whisper APIとGPT-3.5 Turboの連携により、非常に高い精度で音声認識・解析が行え、誤認識を最小限に抑えられました。
柔軟なシステム連携
AWSの各種サービスをモジュール化して連携する構成により、新機能の追加や変更も容易となり、将来的なシステム拡張性も高くなりました。
まとめ
弊社は最新のAWSテクノロジーを駆使し、自然言語処理や音声認識技術を活用した高度なIVRシステムを構築しました。これにより、クライアント様の予約業務を効率化し、幅広いユーザー層へのサービス提供を実現しました。今後も、AWSをはじめとする先進技術を活用した革新的なソリューションを提供し、クライアント様のさらなるビジネス成長を支援してまいります。