Amazon Web Services ブログ
アストラゼネカにおけるAmazon Kendraを活用したエンタープライズ検索と規制対応の改善
この記事は “Improving AstraZeneca Japan’s Enterprise Search Capabilities and Regulatory Compliance using Amazon Kendra” を翻訳したものです。
日本で事業を展開する製薬会社にとって、販売情報提供活動における倫理的なコンプライアンスは、間違った情報や古い情報を誤って伝達することを防ぐうえで極めて重要です。規制が厳しく、消費者保護に重点が置かれていることで知られる日本では、製薬会社は信頼を維持し、患者の健康を確保するために、一連の倫理ガイドラインを遵守しなければなりません。アストラゼネカ株式会社(AZKK)の医療情報担当者 (MR) は、規制に準拠した方法で医療従事者に情報を提供するため、常に最新の承認済みマーケティングコンテンツを探さなければならないという課題があります。この課題を解決するために、AZKK はアマゾンウェブサービス (AWS) と協力して Amazon Kendra を使用した概念実証 (POC) を実施し、関連性が高く、最新の承認済みコンテンツを効率的に見つけるため、エンタープライズ検索における利用者体験の向上に取り組みました。
Amazon Kendra は、機械学習 (ML) を活用したインテリジェントな検索サービスです。企業内ウェブサイトやアプリケーションでのエンタープライズ検索を一新し、従業員や顧客が探しているコンテンツが組織内の複数のリポジトリに分散していても、簡単に見つけられるようにします。このサービスは、日本語を含む複数の言語での半構造化コンテンツと非構造化コンテンツの両方のセマンティック検索をサポートしており、2023年2月にAWS の東京リージョンでの Amazon Kendra の一般提供が開始されました。AZKK が POC に Amazon Kendra を選択した際の要件は日本語対応のセマンティック検索でしたが、Microsoft Excel ドキュメントのインデックス作成や検索など、AZKK が必要とする製品機能は他にもありました。Amazon Kendra には、イベント駆動型のカスタムコネクタを作成する機能もあります。これにより、AZKKはKendraのインデックスをほぼリアルタイムで更新できるため、ユーザーは最新のコンテンツをすぐに見つけることができます。
AZKK は、Amazon Kendra、Amazon API Gateway、Amazon Simple Notification Service (Amazon SNS)、Amazon Simple Queue Service (Amazon SQS)、AWS Lambda、Amazon EventBridge イベントバス、Amazon EventBridge Pipes、AWS Key Management Service (AWS KMS) のカスタマーマネージドキー、Amazon Simple Storage Service (Amazon S3) を使用してエンタープライズ検索ソリューションを構築しました。ソリューションのアーキテクチャは、次の図の通りです。
保存中のすべてのデータは、AWS KMS のカスタマーマネージドキーを使用して暗号化されます。
- Box コンテンツ管理ソリューションでドキュメントが作成、更新、または削除されるたびに、Box の Webhook サービスは JSON メッセージをAPI Gateway に送信します。
- API Gateway は、サービス統合を使用してメッセージを Amazon SQS FIFO (First-In-First-Out) キューに転送し、重複するメッセージを削除し、ドキュメントのイベントの順序を維持します。
- Lambda 関数は SQS キューのメッセージによってトリガーされ、メッセージを処理します。ドキュメントのファイル形式が Amazon Kendra でサポートされている場合、ファイルは Box から S3 バケットにダウンロードされ、Amazon Kendra によってインデックス化されます。Amazon Kendra に送信されるインデックス作成のリクエストには Box 内の ACL に基づくアクセスコントロールリスト (ACL) も含まれています。
- ドキュメント ID、Amazon Kendra インデックス ID、および Amazon Kendra データソース ID を含む JSON オブジェクトは SQS FIFO キューに転送され、Amazon Kendra のインデックス作成リクエストのステータスを監視します。
- Box イベントタイプが FILE.TRASHED、FILE.DELETED、または FILE.LOCKED (Box でプライベート化) の場合、Lambda 関数はコンテンツが検索できないように最初にドキュメントコンテンツとドキュメントタイトルを置き換え、次に Amazon Kendra にドキュメントをインデックスから削除するようリクエストします。
- 別の Lambda 関数は、「ドキュメントインデックスステータスの確認」のSQS キューによってトリガーされ、Amazon Kendra をポーリングしてインデックス作成リクエストの結果を検索します。成功または失敗を示す結果を受け取ると、メッセージがカスタムEventBridgeバスに送信され、以降のプロセスに警告したり、必要に応じてログに記録したり、さらなる分析をトリガーしたりできます。
- EventBridge ルールは、インデックスの取り込みステータスをチェックして SUCCEED または FAIL の結果に対して Lambda 関数をトリガーし、S3 バケットからドキュメントの一時的なコピーを削除して、ドキュメントのコピーが 1つになるようにします。
- Amazon Kendra のインデックス作成で問題が発生し、その結果 FAIL ステータスになった場合は、EventBridge ルールがトリガーされ、チームに調査用のメッセージが送信されます。例外処理のために、SQS キューにデッドレターキュー (DLQ) をアタッチしています。これにより、必要な場合に最初の Webhook メッセージに対してメッセージをリドライブできるほか、チームに調査を通知することもできます。
- Amazon Kendra に問題が発生し、インデックスステータスを取得できない場合、メッセージは DLQ にドロップされ、EventBridge パイプがメッセージを変更してエラーとして、EventBridge バスに渡します。
- 受信した Webhook 通知の処理に問題がある場合、メッセージは DLQ に渡され、Amazon CloudWatch アラームを使用してアラームがトリガーされます。
POC の結果では、既存のエンタープライズ検索ソリューションと比較して、検索結果の精度が2倍に向上しただけでなく、検索速度(平均評価は 4.4/5 対 2.4/5 )とアクセシビリティ(平均評価は 4.2/5 対 2.2/5 )も大幅に向上しました。POCに参加した利用者の 93% が、ソリューションを本番環境に展開することを推奨しています。また、多くのユーザーが、高速で正確な検索が気に入っているとコメントしています。
POCの成功により、このソリューションは2023年6月末に本番環境に移行し、好評を博しています。
“AIによる従業員の生産性の向上は、デジタルワークフォースの重要な基盤です。このプロジェクトは年間12,000時間の生産性の改善を実現しており、社内のAIエンジニアの才能と、AWSチームとの緊密なパートナーシップによってもたらされるインパクトを示しています。” Harsh Gandhi, Head of Information and Digital, IT, アストラゼネカ株式会社
AZKK は、より多くのデータソースを追加し、ソリューションを Amazon Comprehend と統合してコンテンツの分類を改善することで、ソリューションを強化しようとしています。チャットボットの統合に Amazon Lex と Amazon Polly を組み合わせて使用して音声対話をサポートする計画もあります。これにより、AZKK のフィールド担当者は外勤の移動中であっても、 Amazon Kendra とハンズフリーでやり取りできるようになります。
Amazon Kendra は、アストラゼネカのような組織が検索エクスペリエンスを向上させ、従業員の皆様の生産性向上を支援します。生成AIの普及により、より複雑なクエリへの応答を生成できるようになってきています。正確な応答をタイムリーに作成できるようになったことで、AZKKは、検索拡張生成(RAG)ベースのアプリケーションで大規模言語モデル(LLM)を搭載した対話型AIを使用するようにユースケースを進化させています。RAGアーキテクチャは、ハルシネーション(誤った応答)に陥りやすいLLMに頼るのではなく、企業データに関する応答に制限することで、生成AIのハルシネーションを軽減します。Amazon Kendra の Retrieve API (RAG のためのAPI)、データソースコネクタの包括的なエコシステム、一般的なファイル形式のサポート、セキュリティにより、Amazon Kendra を取得メカニズムとするエンタープライズユースケース向けの生成 AI ソリューションをすぐに使い始めることができます。AZKK は、既存の Amazon Kendra ベースのソリューションを Amazon Bedrock や Amazon Sagemaker JumpStart などのネイティブ AWS サービスで強化し、それぞれのユースケースに最適なさまざまな LLM にアクセスできるようにしています。