Amazon Lexで、LLMを用いてインテント分類とスロット解決の精度を向上させるAssisted NLU機能が日本語対応されました
はじめに
Amazon LexのAssisted NLU機能が日本語対応されました。
Assisted NLU機能は、大規模言語モデル(LLM)を用いてインテント分類とスロット解決の精度を向上させる機能です。音声ボットやチャットボットが複雑な発話をより適切に処理し、スペルミスがあっても正確性を維持し、冗長な入力から重要な情報を抽出して顧客のリクエストに応えることができます。
以前の記事でご紹介したように、2025年6月時点では東京リージョンでリリースされていましたが、英語とスペイン語のみの対応でした。今回の日本語対応により、日本語でのボット開発においてもLLMを活用したより自然で精度の高い会話体験を実現できるようになります。
例えば、顧客が「妻と2人の子供と自分のために航空券を予約したいのですが」と言った場合、従来では複雑な表現のためスロット解決に失敗する可能性がありましたが、LLMを活用することで4人分の航空券を適切に認識できるようになります。
従来のスロット解決では、例えばスロットタイプがAMAZON.Date
の場合、「明日」と伝えるとスロットが解決しますが、「明日になりますがよろしいでしょうか。」のように冗長な表現を含む発話ではスロットの解決に失敗し、聞き返されるケースがありました。Assisted NLUにより、このような課題の改善が期待されます。
日本語でも以下のような改善が実現されます。
- 複雑または長い発話の解釈
- 敬語や丁寧語を含む自然な日本語の処理
- 省略表現や曖昧な表現からのスロット抽出
ベストプラクティス
Assisted NLU機能を効果的に活用するために、以下のベストプラクティスが推奨されています
インテント名を分かりやすくする
インテントのアクションや目的がすぐに伝わる名前を付けましょう。例えば、航空券を予約するインテントを作成する場合は、「BookFlight」というシンプルな名前にします。
名前は簡潔で分かりやすいものにする
インテント名やスロット名に接頭辞、接尾辞、不要な単語を追加しないでください。「Dev」や「Test」といった余分な要素は、LLMを混乱させ、目的を明確に伝えることができません。
詳細な説明を提供する
インテントとスロットには、簡潔ながらも分かりやすい説明を記載します。これにより、具体的な用途やコンテキストが分かりやすくなり、人とLLMの両方がその目的を理解しやすくなります。
日本語でのLexボット設定
レストラン予約ボットを例に、日本語でのAssisted NLU機能を検証してみます。
インテント設定
インテント名はRestaurantReservation
とし、以下の説明を日本語で追加しました。
レストランの席を予約する
サンプル発話は、シンプルに以下を登録しました。
{ReservationDate}
スロット設定
スロットはReservationDate
として、スロットタイプにAMAZON.Date
を設定しました。
Assisted NLUの有効化
Bot LocaleページのAssisted NLUセクションから、日本語ロケール(ja_JP)でAssisted NLUを有効化します。有効化後は、ボットのビルドが必要です。
この機能を有効にすると、データが複数のAWSリージョンにまたがって処理される可能性があります。
クロスリージョン推論の詳細については、以下をご覧ください。
検証結果の比較
9月17日時点での検証結果をご紹介します。日付の解決については、日本時間を基準とした正確な日付が返されました。
Assisted NLU無効時
Assisted NLU機能を無効にした従来の設定では、以下の結果となりました。
スロット解決できた発話
✅ 明日の夜に予約したいです
✅ 明日、空いてる?
インテントはトリガーされたが、スロット未解決
❌ 来週の金曜日に2名でお願いします
❌ 12月15日の18時からお願いします
❌ 恐れ入りますが、明後日の夜にお席をお取りいただけますでしょうか
❌ もしよろしければ、来週の土曜日にお食事させていただきたいのですが
❌ お忙しい中申し訳ございませんが、今度の日曜日は空いていらっしゃいますか
FallbackIntentがトリガーされた発話
❌ 今度の週末どうかな
❌ 近いうちに行きたいんだけど、来週あたりで
❌ えーっと、来週の火曜日だったと思うんですが、その日に予約を取りたくて
❌ 友人と一緒に行く予定なんですが、明日の夜はいかがでしょうか
Assisted NLU無効化時では、11個中わずか2個の発話しかスロット解決できませんでした。
特に敬語表現や前置きを含む自然な日本語発話では、インテント自体は認識されるものの、肝心な日付情報の抽出に失敗するケースが目立ちます。
また、曖昧な表現や複雑な文構造を持つ発話では、そもそもインテント認識にも失敗し、FallbackIntentがトリガーされてしまう課題が明らかになりました。
Assisted NLU有効時
Assisted NLU機能を有効にした結果、以下のような大幅な改善が確認されました。
スロット解決できた発話
✅ 明日の夜に予約したいです
(2025-09-18として解決)
✅ 明日、空いてる?
(2025-09-18として解決)
✅ 来週の金曜日に2名でお願いします
(2025-09-26として解決)
✅ 12月15日の18時からお願いします
(2025-12-15として解決)
✅ 恐れ入りますが、明後日の夜にお席をお取りいただけますでしょうか
(2025-09-20として解決)
✅ もしよろしければ、来週の土曜日にお食事させていただきたいのですが
(2025-09-27として解決)
✅ 近いうちに行きたいんだけど、来週あたりで
(2025-09-28として解決)
✅ えーっと、来週の火曜日だったと思うんですが、その日に予約を取りたくて
(2025-09-23として解決)
✅ 友人と一緒に行く予定なんですが、明日の夜はいかがでしょうか
(2025-09-18として解決)
インテントはトリガーされたが、スロット未解決
❌ 今度の週末どうかな
❌ お忙しい中申し訳ございませんが、今度の日曜日は空いていらっしゃいますか
Assisted NLU有効化により、FallbackIntentがトリガーされる発話はなくなり、スロット解決できる発話が大幅に増加しました。特に敬語表現や冗長な表現を含む日本語の自然な発話が適切に処理されるようになっています。
日本語特有の改善ポイント
1. 敬語・謙譲語の適切な処理
日本語ならではの丁寧な表現が適切に処理されるようになりました。
✅ 恐れ入りますが、明後日の夜にお席をお取りいただけますでしょうか
✅ もしよろしければ、来週の土曜日にお食事させていただきたいのですが
従来は、このような敬語表現を含む発話でインテント認識に失敗するケースがありましたが、Assisted NLUにより適切に処理されています。
2. 冗長な表現からの情報抽出
日本語でよく使われる前置きや説明を含む発話でも、重要な日付情報を正確に抽出できるようになりました。
✅ えーっと、来週の火曜日だったと思うんですが、その日に予約を取りたくて
✅ 友人と一緒に行く予定なんですが、明日の夜はいかがでしょうか
これらの発話では、日付以外の情報も多く含まれていますが、LLMが文脈を理解して適切にスロット値を抽出しています。
3. 曖昧な時間表現への対応
「来週あたりで」のような曖昧な表現についても、文脈から具体的な日付を推測して解決できる場合があります。
✅ 近いうちに行きたいんだけど、来週あたりで → 2025-09-28として解決
「来週」が「2025-09-28」として解決されるのが適当かという点はありますが、確認プロンプトで意図した日付を復唱し、ユーザーに確認を求めることで対応できます。
4. 依然として課題が残る表現
一方で、以下のような表現は依然として課題が残っています。
❌ 今度の週末どうかな
❌ 今度の日曜日は空いていらっしゃいますか
これらの表現については、サンプル発話に追加することで精度向上が期待できます。
ただし、以下の表現についてはAMAZON.Date
スロットタイプの根本的な制限であり、Assisted NLUを有効化してもサンプル発話を追加しても解決されません。
❌ 翌日
❌ あした
❌ ほんじつ
❌ 明々後日
これらの日本語固有の表現に対応するには、Amazon Q in Connectセルフサービス(AMAZON.QinConnectIntent
)など、より高度な自然言語理解機能を持つ他のインテントタイプを利用する必要があります。
以前の検証(2023年2月)でも同様の課題が確認されており、AMAZON.Date
スロットタイプの制限として認識されています。
まとめ
Amazon LexのAssisted NLU機能の日本語対応により、日本語ボットの精度が向上しました。
主な改善点
- 敬語や謙譲語を含む丁寧な日本語表現への対応
- 冗長な発話からの重要情報の抽出
- 曖昧な時間表現の一部に対する適切な処理
- FallbackIntentの発生率の減少
今回の検証では、スロット解決の成功率が向上し、FallbackIntentの発生も完全になくなるという顕著な改善が確認されました。
注意点
- すべての日本語表現が完璧に処理されるわけではない
- より高精度を求める場合は、サンプル発話の追加が有効
- 一部の日本語固有表現(「あした」「ほんじつ」など)には
AMAZON.Date
スロットタイプの根本的な制限が存在
追加料金なしで利用できるため、日本語でのボット開発においては活用すべき機能です。
従来の課題であった日本語の自然な表現処理が大幅に改善されており、より実用的なボットの開発が可能になります。