Amazon Lexで、LLMを利用してインテントとスロット解決の精度を向上させる新機能を試してみた

Amazon Lexで、LLMを利用してインテントとスロット解決の精度を向上させる新機能を試してみた

Clock Icon2025.06.13

はじめに

Amazon Lexで、LLMを用いてインテント分類とスロット解決の精度を向上させるAssisted NLU機能がリリースされました。東京リージョンでは利用可能ですが、日本語には対応していません。

https://aws.amazon.com/jp/about-aws/whats-new/2025/06/amazon-lex-conversational-accuracy-llm-assisted-nlu/

https://docs.aws.amazon.com/lexv2/latest/dg/assisted-nlu.html

Assisted NLUは、標準のNLUで問題が発生した際に大規模言語モデル(LLM)を活用して精度を向上させる機能です。これにより、より自然で安定した会話体験を提供できるとともに、ボットの応答、定義されたインテント、スロットを完全に制御できます。

具体的には、以下のような改善が期待できます。

  • 複雑または長い発話の解釈
  • スペルミスがあっても精度を維持
  • 冗長な入力からのスロット抽出
  • 最小限のトレーニングデータでより良い結果を提供

従来のスロット解決では、例えばスロットタイプがAmazon.Dateの場合、「明日」と伝えるとスロットが解決しますが、「明日になりますがよろしいでしょうか。」のように冗長な表現を含む発話ではスロットが失敗し、聞き返されるケースがありました。Assisted NLUにより、このような課題の改善が期待されます。

また、スロット解決機能を向上させるアシスト付きスロット解決も2023年11月にリリースされています。こちらも東京リージョンでは利用可能ですが、日本語には対応していません。ただし、対応しているスロットタイプは一部のみとなっています。両機能とも対応言語や要件を満たしている場合は、有効化するとよいでしょう。

cm-hirai-screenshot 2025-06-13 9.29.34

https://dev.classmethod.jp/articles/assisted-slot-resolution-generative-ai/

これらの機能では、LLMが利用されますが、追加料金は発生しません。

Assisted NLUのベストプラクティス

Assisted NLU機能を効果的に活用するために、AWSドキュメントでは以下のベストプラクティスが推奨されています。

インテント名を分かりやすくする
インテントのアクションや目的がすぐに伝わる名前を付けます。例えば、航空券を予約するインテントを作成する場合は、「BookFlight」というシンプルな名前にします。

名前は簡潔で分かりやすいものにする
インテント名やスロット名に接頭辞、接尾辞、不要な単語を追加しないでください。「Dev」や「Test」といった余分な要素は、LLMを混乱させ、目的を明確に伝えることができません。

詳細な説明を提供する
インテントとスロットには、簡潔ながらも分かりやすい説明を記載します。これにより、具体的な用途やコンテキストが分かりやすくなり、人とLLMの両方がその目的を理解しやすくなります。

https://docs.aws.amazon.com/lexv2/latest/dg/assisted-nlu.html

Lexボットの設定

インテント名はBookTableとし、以下の説明を追加しました。

  • Reserve a table at the restaurant

サンプル発話は、スロットも同時に解決できるよう以下のように設定しました。

Book a table for {ReservationDate}
I want to make a reservation for {ReservationDate}
Reserve a table on {ReservationDate}
Can I book for {ReservationDate}
Table for {ReservationDate} please

cm-hirai-screenshot 2025-06-13 9.47.56

スロットはReservationDateとして、スロットタイプにAMAZON.Dateを設定しました。

cm-hirai-screenshot 2025-06-13 9.48.09

次に、Assisted NLUを有効化します。Bot LocaleページのAssisted NLUセクションから設定できます。

cm-hirai-screenshot 2025-06-13 9.37.01

Assisted NLUを有効化して保存します。どういったLLMが利用されるかは記載されていません。

cm-hirai-screenshot 2025-06-13 9.37.09

この機能を有効にすると、データが複数のAWSリージョンにまたがって処理される可能性があります。
クロスリージョン推論の詳細については、以下をご覧ください。

https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html

設定保存後、ボットをビルドします。

試してみる

コンソールからテストし、インテント分類とスロット解決機能を確認してみます。

cm-hirai-screenshot 2025-06-13 9.44.37

Assisted NLU無効時と有効時の比較

以下の発話(入力)内容で、Assisted NLUの効果を検証しました。

常に解決する発話(従来から対応済み)

  • Hi, I was wondering if I could possibly book a table for this coming Saturday evening
  • Well, um, I'd like to make a resevation for next friday if possible
  • Need reservaton for March 15th in the evening

Assisted NLUの有効化により改善された発話

  • I want to book for the day after tomorrow
  • Got any spots open for tonight?
  • Are you taking people for lunch tomorrow?
  • Can you hold something for us tomorrow?

Assisted NLUの有効化でも解決しない発話

  • Book tabel for tommorow night
  • Can you get me a table this weekend, maybe Saturday
  • Table for next week Friday please
  • Are you guys free tomorrow evening?

Assisted NLUを有効化することで、従来では解決できなかった4つの発話パターンでインテントとスロットの解決が可能になりました。

一方で、依然として解決できない発話パターンも残っています。

最後に

Amazon LexのAssisted NLU機能により、LLMを活用したインテント分類とスロット解決の精度向上が実現されました。

今回の検証では、従来解決できなかった発話パターンの一部で改善が確認できましたが、すべての発話が解決されるわけではありません。

現在は英語とスペイン語のみの対応となっていますが、日本語対応が実現されれば、より自然な日本語会話での精度向上が期待できます。

追加料金なしで利用できるため、対応言語でのボット開発においては積極的に活用を検討したい機能です。ただし、本番環境で使用する前に、十分なテストを実施することを推奨します。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.