※このブログはBuild, Test, and Tune Your Skills with Three New Toolsの翻訳です。
音声モデルの精度の向上に役立つ、 自然言語理解(NLU)評価ツールと発話の競合検出ツールが一般公開されました。また、Get Metrics API(ベータ版)を使用して、品質と使用状況に関する独自のレポートを作成できるようになりました。これらのツールを利用することで、スキル公開前の音声モデルの作成と検証、スキル公開中に発生する可能性がある問題の検出、スキル公開後の修正に役立ちます。
NLU評価ツールを使うとAlexaスキルの自然言語理解(NLU)モデルをバッチテストすることができます。これにより想定どおりにスキルが機能しているかを判断できます。使用にあたって、以下の3つのポイントを確認しましょう。
発話の競合検出ツールは、誤って複数のインテントにマッピングされた発話の検出に役立ちます。発話が複数のインテントにマッピングされるとAlexaスキルの自然言語理解(NLU)モデルの精度が低下しますが、このツールは自動的に実行され、スキルの公開前に確認する際や、公開後にインテントとスロットを追加する際において意図しない競合を含んだビルドを防ぐことができます。
Get Metrics API(ベータ版)を使用すると、ユニークユーザー数などの主要なメトリクスを分析する機能を、ほかのツールでの分析や集計にすぐに活用できます。たとえば、AWS CloudWatchに接続して、モニター、アラーム、ダッシュボードを作成し、ユーザーエンゲージメントに影響を与える可能性のある変更を把握することができます。
これらの3つのツールがASK Techツールセットに加わったことを踏まえ、ここからは、スキル開発ライフサイクルにおけるこれらのツールの使い所を紹介していきます。
スキル開発ライフサイクルは、以下のようにビルド、テスト、チューニングの3つに大別することができます。
作成したいスキルの内容に応じて、インテント、スロット、ダイアログをゼロから定義する場合、発話がモデルにどのように対応するかをテストする必要があります。ここでは、発話プロファイラーが役立ちます。発話を入力すると、どのようなインテントやスロットに解決されるかを確認できます。発話によって正しいインテントやスロットが呼び出されない場合は、サンプル発話やスロットを更新して再テストできます。これらすべての作業は、スキルのコード自体を編集せずとも行うことができます。スキルが解釈できないリクエストに対しては、フォールバックインテントを設定する必要があります。ビルド時には発話の競合検出ツールを使用して、発話の競合がないことを確認できます。発話の競合検出ツールを使用すると、複数のインテントにマッピングされる発話およびスロットを特定できます。発話の競合を把握することで、意図しないユーザーエクスペリエンスを引き起こす可能性のある箇所の検出することができます
NLU評価ツールを実行し、結果に応じてスキルの精度を向上させるためにスロットとインテントを追加することができます。公開前にスキルの機能テストとデバッグのページを参照してください。
音声モデルが作成できたら、Alexaシミュレーターでテストします。 Alexaデバイスにテスト配信したり、ベータテストを実行したりすることもできます。 音声モデルが完成したら、再度NLU評価ツールで発話のバッチテストをおこない、問題がないことを確認してください。
スキルの公開はスキル開発の長い道のりの始まりにすぎません。対話パス解析(英文)を使用すると、ユーザーとスキルの対話を理解して、ボトルネックとなる可能性のある箇所を把握できます。 対話パス解析では、ユーザーがどのインテントをどのような順序で使用するかというスキルの使用パターンが視覚的に表示されます。これにより、ユーザーがスキルを想定どおりに使用しているかを確認できます。また、ユーザーが対話のどの箇所で行き詰まったりスキルを終了しているかを把握できます。対話パス解析から得られた知見に基づいて、フローをより自然にしたり、エラーを修正することでユーザーのニーズに対応することができます。
開発者コンソールのインテント履歴のページには、そのスキルがユーザーに使用される際に匿名化のうえ集計された頻出発話と、それが解決されたインテントが表示されます。このページを活用すると、ユーザーがどのようにスキルと対話するかを理解し、対話モデルの改善点を把握することができます。インテント履歴のページには、未解決の発話と解決済みの発話が2つのタブに表示されます。未解決の発話には、インテントに正しくマッピングされなかった発話が表示され、解決済みの発話には、インテントとスロットに適切にマッピングされた発話が表示されます。これらのタブを使用すると、発話を再検討して正しくルーティングされなかったフレーズが正しく処理されるように対話モデルを更新することができます。たとえば、AMAZON.FallbackIntentに送られた発話が本来はカスタムインテントをトリガーするフレーズとして定義されていたとします。この場合、インテント履歴からその発話を直接インテントにマッピングし、対話モデルを更新することができます。また、その発話をフォールバックインテントに送った方がスキルの機能として望ましい場合は、対話モデルに追加することができます。また、前述のようにNLU評価を実行してスキルの実行精度を測定することもできます。さらに、スキルに変更を加えた後にテストを再実行して、スキルを実行した際の効果を測定することもできます。
スキルのレポートへのアクセスは、以前は開発者コンソールに表示されるレポートに制限されていました。このレポートにも多くの役立つ情報が含まれていますが、メカニズムを自動化して、しかも継続的な運用を保証する必要がある場合は十分ではありません。一方、Get Metrics API(ベータ版)を使用すると、分析のためのツールにライブメトリクスを設定して、スキルのパフォーマンスと動作の変化を詳細に把握できます。これによって独自のメトリクスを集計できます。また、このデータをAWS CloudWatchなどのモニタリングシステムに自動的に連携して、アラームを発したり、特定の入力に基づいてスキルに変更をトリガーしたりすることもできます。たとえば、新しいユーザーがスキルとどのように対話しているかを追跡して、ユーザーエクスペリエンスの悪化の兆候(ユーザーが通常よりも高い頻度でAMAZON.FallbackIntentに送られる場合など)を知らせるアラームを設定することができます。また、Get Metrics API(ベータ版)は複数のスキルにわたって動作します。このため、開発者コンソールのあちこちを参照せずとも複数のスキルの対話全体の集計レポートを設定できます。
新しいGet Metrics APIを使用すると、時間を節約できるだけでなく、スキルエンゲージメントの最適化のためにAmazonが提供している有用な情報を容易に確認できるようになります。Get Metrics APIは、すべてのロケールのスキルビルダーで利用でき、現在、カスタムスキルモデル、プリビルドフラッシュブリーフィングモデル、スマートホームスキルAPIをサポートしています。
本ブログで紹介したNLU評価ツール、発話の競合検出ツール、Get Metrics API(ベータ版)の技術資料をご覧いただき、最適なユーザーエクスペリエンスを実現するため、これらの新しい3つのツールをぜひご活用ください。