Amazon Lexのチャットボット開発ライフサイクルをテストベンチで加速化する

Accelerating the Amazon Lex chatbot development lifecycle with a test bench.

Amazon Lexは、ボットテストプロセスを簡素化し、自動化するためのツールを提供する新しいボットテストソリューションであるテストワークベンチを発表しました。ボット開発中、テストは、開発者がシステムのエラー、欠陥、またはバグを特定し、スケールする前に特定の要件、ニーズ、および期待に合致するかどうかを確認するフェーズです。テストは、会話の流れ(ユーザーのクエリを理解して正確に応答する)、意図の重複処理、およびモダリティ全体の一貫性など、いくつかの側面でボットのパフォーマンスを検証するのに役立ちます。しかし、テストはしばしば手作業でエラーが発生しやすく、標準化されていません。テストワークベンチでは、チャットボット開発チームが一貫した方法論でテストセットを生成、維持、実行し、カスタムスクリプトやアドホックな統合を回避することで、自動化されたテスト管理を標準化します。この記事では、テストワークベンチがボットの音声およびテキストモダリティの自動化テストを簡素化し、正確性とパフォーマンスの測定値を提供する方法について学びます。これにより、ボットの改善領域を迅速に特定し、正確性を時間の経過に応じて測定するための一貫したベースラインを維持し、ボットの更新による正確性の低下を観察することができます。

Amazon Lexは、会話型音声およびテキストインターフェースを構築するための完全にマネージドされたサービスです。 Amazon Lexは、ウェブサイト、コンタクトセンターサービス、およびメッセージングチャネル上でチャットボットおよび仮想アシスタントを構築および展開するのに役立ちます。 Amazon Lexボットは、対話型音声応答(IVR)の生産性を向上させ、簡単なタスクを自動化し、組織全体の業務効率を向上させるのに役立ちます。 Amazon Lexのテストワークベンチは、ボットの設計を改善するために重要なボットテストライフサイクルを標準化し、簡素化します。

Test Workbenchの機能

Amazon Lexのテストワークベンチには、以下の機能が含まれます。

  • ボットの会話ログからテストデータセットを自動生成
  • 手動で構築されたテストセットベースラインをアップロード
  • 単一入力またはマルチターン会話のエンドツーエンドテストを実行
  • ボットの音声およびテキストモダリティをテスト
  • ボットの次元に対する集約およびドリルダウンメトリックのレビュー:
    • 音声転写
    • 意図認識
    • スロット解決(複数値スロットまたは合成スロットを含む)
    • コンテキストタグ
    • セッション属性
    • リクエスト属性
    • ランタイムヒント
    • 秒単位の待機時間

事前条件

この機能をテストするには、以下が必要です。

  • 管理者アクセス権限を持つAWSアカウント
  • Amazon Lexコンソールを介してインポートされたサンプル小売りボット(詳細については、ボットのインポートを参照してください)
  • 以下のいずれかからのテストセットソース:
    • ボットのインタラクションを保存するために有効にされた会話ログ
    • この記事で提供される手順に従ってインポートできるサンプル小売テストセット

さらに、以下のサービスと機能に関する知識と理解が必要です。

  • Amazon Lex
  • Amazon CloudWatch
  • AWS Identity and Access Management(IAM)

テストセットの作成

テストセットを作成するには、以下の手順を完了します。

  1. Amazon Lexコンソールで、ナビゲーションペインのTest workbenchの下にあるTest setsを選択します。

名前、説明、テスト入力数、モダリティ、ステータスなどの基本情報を含む既存のテストセットのリストを確認できます。次の手順では、ボットに関連する会話ログからテストセットを生成するか、CSVファイル形式で手動で構築された既存のテストセットをアップロードするかを選択できます。

  1. テストセットの作成を選択します。
  • 会話ログからテストセットを生成することで、次のことができます。
    • クラウドウォッチのボットのログにリアルなマルチターンの会話を含める
    • 音声ログを含め、実際の音声ニュアンス、背景ノイズ、およびアクセントを考慮したテストを実施する
    • テストセットの作成を迅速に行う
  • 手動で構築されたテストセットをアップロードすることで、次のことができます。
    • プロダクションデータがない新しいボットをテストする
    • 新しいまたは修正された意図、スロット、および会話フローに対する回帰テストを実行する
    • セッション属性およびリクエスト属性を指定する細かいシナリオをテストする

テストセットを生成するには、以下の手順を完了してください。手動で構築したテストセットをアップロードする場合は、ステップ7にスキップしてください。

  1. ベースラインテストセットを生成を選択します。
  2. Bot名Bot別名、および言語のオプションを選択します。
  3. タイムレンジで、ログの時間範囲を設定します。
  4. 既存のIAMロールで、ロールを選択します。

IAMロールが会話ログから情報を取得するためのアクセス権を付与できるようにしてください。適切なポリシーを持つIAMロールを作成するには、「IAMロールの作成」を参照してください。

  1. 手動で作成したテストセットを使用する場合は、このテストセットにファイルをアップロードを選択します。
  2. このテストセットにファイルをアップロードのオプションから、以下のオプションを選択します:
    • Amazon Simple Storage Service (Amazon S3) バケットからCSVファイルをアップロードするには、S3バケットからアップロードを選択します。
    • コンピュータからCSVファイルをアップロードするには、このテストセットにファイルをアップロードを選択します。

この投稿で提供されるサンプルテストセットを使用することができます。テンプレートに関する詳細については、ページ上のCSVテンプレートリンクを選択してください。

  1. モダリティで、テストセットのモダリティをテキストまたはオーディオのどちらかを選択します。

Test Workbenchは、オーディオおよびテキスト入力形式に対するテストサポートを提供します。

  1. S3ロケーションに、結果を保存するS3バケットの場所を入力します。
  2. オプションで、出力トランスクリプトを暗号化するためのAWS Key Management Service (AWS KMS)キーを選択します。
  3. 作成を選択します。

新しく作成されたテストセットは、以下のいずれかのステータスでテストセットページにリストされます:

  • 注釈の準備ができました – Amazon Lexボットの会話ログから生成されたテストセットの場合、注釈ステップは、品質の高いテスト入力を確保するための手動ゲート機構として機能します。各テストライン項目の期待されるインテントと期待されるスロットの値を注釈化することで、「グラウンドトゥルース」を示します。ボットの実行からのテスト結果は、グラウンドトゥルースと比較して収集され、テスト結果をパスまたはフォールにマークします。このラインレベルの比較により、集計測定を作成できます。
  • テストの準備ができました – これは、テストセットがAmazon Lexボットに対して実行される準備ができていることを示しています。
  • 検証エラー – アップロードされたテストファイルは、最大サポートされる長さを超えたり、インテント名に無効な文字が含まれたり、オーディオファイルを含む無効なAmazon S3リンクが含まれたりするエラーがチェックされます。テストセットが検証エラーの状態にある場合は、検証の詳細を示すファイルをダウンロードして、1行ずつテスト入力の問題やエラーを確認してください。問題が解決されたら、修正されたテストセットCSVを手動でアップロードできます。

テストセットを実行する

テストセットはボットから切り離されています。将来的には、ビジネスユースケースが進化するにつれて、同じテストセットを別のボットまたはボットエイリアスに対して実行できます。ボットのパフォーマンスメトリックをベースラインテストデータに対して報告するには、以下の手順を完了します。

  1. サンプルボットの定義をインポートして、ボットをビルドします(インポートするにはImporting a botを参照してください)。
  2. Amazon Lexコンソールで、ナビゲーションペインでTest setsを選択します。
  3. 検証済みのテストセットを選択してください。

ここで、テストセットとインポートされたテストデータに関する基本情報を確認できます。

  1. Execute testを選択してください。
  2. Bot nameBot alias、およびLanguageに適切なオプションを選択してください。
  3. Test typeには、AudioまたはTextを選択してください。
  4. Endpoint selectionには、StreamingまたはNon-streamingを選択してください。
  5. Validate discrepancyを選択して、テストデータセットを検証してください。

テストセットを実行する前に、テストカバレッジを検証し、ボットに存在しないテストセット内のインテントとスロットを特定することができます。この早期警告は、予期しないテストの失敗に対するテスターの期待を設定するために役立ちます。テストデータセットとボットの間の不一致が検出された場合、Execute testページがView detailsボタンで更新されます。

ボットエイリアスに存在しないインテントとスロットは、以下のスクリーンショットに示すようにリストされます。

  1. 不一致を検証した後、Executeを選択してテストを実行します。

結果を確認する

テストセットを実行した後に生成されたパフォーマンスメジャーは、ボット設計の改善が必要な領域を特定するのに役立ち、お客様のサポートを迅速に行うためにボットの開発と配信を促進するのに役立ちます。 Test Workbenchは、エンドツーエンドの会話とシングルライン入力レベルのインテント分類およびスロット解決に関する洞察を提供します。完了したテスト実行は、S3バケットにタイムスタンプで保存され、将来の比較レビューに使用できます。

  1. Amazon Lexコンソールで、ナビゲーションペインでTest resultsを選択します。
  2. 確認したい結果のテスト結果IDを選択してください。

次のページでは、テスト結果が4つのメインタブに分類された結果の分解が含まれます。オーバールール結果、会話結果、意図およびスロットの結果、詳細な結果。

オーバールール結果

オーバールール結果タブには、3つのメインセクションが含まれています。

  • テストセット入力の分解 — テストセット内のエンドツーエンド会話とシングルインプット発話の総数を示すグラフ。
  • シングルインプットの分解 — パスまたは失敗したシングルインプットの数を示すグラフ。
  • 会話の分解 — パスまたは失敗したマルチターンインプットの数を示すグラフ。

オーディオモダリティで実行されたテストセットの場合、シングルインプットおよび会話タイプのパスまたは失敗した音声転写の数を示す音声転写グラフが提供されます。オーディオモダリティでは、単一の入力またはマルチターンの会話が音声転写テストに合格する場合でも、エンドツーエンドの全体的なテストに失敗することがあります。これは、スロットの解決または意図認識の問題による場合があります。

会話の結果

Test Workbenchを使用すると、特定の意図またはスロットに帰属できる会話の失敗を掘り下げることができます。会話の結果タブは、テストセットで使用されるすべての意図とスロットをカバーする3つのメインエリアに分類されます。

  • 会話の合格率 — 可能な会話の失敗の原因となる意図およびスロットを可視化するために使用される表。
  • 意図失敗メトリクス — テストセットで最も悪いパフォーマンスを示す上位5つの意図を示す棒グラフ(あれば)。
  • スロット失敗メトリクス — テストセットで最も悪いパフォーマンスを示す上位5つのスロットを示す棒グラフ(あれば)。

意図およびスロットの結果

意図およびスロットの結果タブは、意図認識やスロットの解決などのボットの次元に関するドリルダウンメトリクスを提供します。

  • 意図認識メトリクス — 意図認識の成功率を示す表。
  • スロット解決メトリクス — 各意図ごとにスロット解決の成功率を示す表。

詳細な結果

詳細な結果タブで実行されたテストランの詳細なレポートにアクセスできます。テストセット内の実際の転写、出力意図、およびスロットの値を示す表が表示されます。このレポートは、さらなる分析のためにCSVとしてダウンロードできます。

ラインレベルの出力は、ボットの設計を改善し、精度を向上させるための洞察を提供します。たとえば、意図のカスタム語彙または意図の下に発話として追加できるブランド語の誤認識または逃した音声入力などがあります。

会話設計をさらに改善するために、このポストを参照して、MLを使用して顧客を正確に理解するボットを作成するためのベストプラクティスについて説明します。

結論

この投稿では、Amazon LexのTest Workbenchを紹介しました。これは、チャットボットの自動テストプロセスを標準化し、開発者や会話デザイナーがボットの設計と開発を迅速に進めることができるネイティブ機能です。

Amazon Lexのこの新しい機能をどのように使用するか、およびフィードバックを歓迎します!質問、バグ、または機能リクエストについては、AWS re:Post for Amazon LexまたはAWSサポート連絡先までお問い合わせください。

詳細については、Amazon Lex の FAQ と Amazon Lex V2 開発者ガイドを参照してください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

トゥギャザーアイは、ShortおよびLongコンテキストの評価で最高のオープンソーストランスフォーマーに対抗する、StripedHyena-7Bという代替人工知能モデルを紹介します

AIと共に、シーケンスモデリングアーキテクチャへの大きな貢献を果たし、StripedHyenaモデルを導入しました。従来のトランス...

機械学習

「品質と責任について大規模な言語モデルを評価する」

生成AIに関連するリスクは広く公表されています有毒性、偏見、逸出した個人情報、幻覚は組織の評判に悪影響を与え、顧客の信...

機械学習

このAIの論文では、非英語の言語で事前学習されたLLMsを強化するために、言語間で意味の整合性を構築することを提案しています

ChatGPTで英語以外の言語で質問したことはありますか?おそらく、お問い合わせに対して奇妙で関連性のない回答を得ることがあ...

機械学習

AIは精神疾患の検出に優れています

重症患者のせん妄検知は、患者のケアや回復に重要な影響を与える複雑なタスクです。しかし、人工知能(AI)と迅速な反応型脳...

機械学習

マシンラーニングにとっての「最悪のシナリオを防ぐ競争」

A.I.企業は、児童性的虐待物資の作成や流通を阻止する面で優位に立っています彼らは、ソーシャルメディア企業が失敗したこと...