Amazon LexをAIコンシェルジュとして活用してみよう

こんにちは。katoです。

今回はAmazon Lexをサイト案内を行うコンシェルジュの様に活用してみたいと思います。

 

概要

Amazon Lexをチャットボットとして利用するだけではなく、ユーザの入力情報に基づき、目的のページに案内するAIコンシェルジュとして利用していきたいと思います。

Amazon LexのWEBページへの埋め込みは、CloudFormatonによって簡単に実現できるので、Intentsを追加していくだけで簡単に今回の目的である、AIコンシェルジュとしての機能を実現できます。

 

手順

それでは実際に構築を行っていきます。

今回は本サイト内の案内を行うチャットボットを作成していきます。

なお、Amazon Lexのセットアップおよびサイトへの埋め込みは、弊社ブログでもご紹介しておりますので、今回は省略させていただきます。

Amazon Lexでチャットボットを作ってみよう
Amazon Lexで作ったチャットボットをWEBページに組み込もう

xp-cloud.jp

xp-cloud.jp

 

Intents

ボットを作成したら、ボットにサイト案内を行うためのIntentsを追加していきます。

今回作成するIntentsは大きく分けて以下の3つになります。

・呼び出し
・ガイド条件(レスポンスカード & スロット)
・ガイド実施

呼び出し

ユーザの入力を受け付ける待ち受けのIntentsを作成します。

hiやhelloなど適当な単語をここでは指定しております。
welcomeメッセージとして、ガイド表示を行う場合などには、このIntentsの作成は不要です。

 

待ち受けのIntentsを作成

 

ガイド条件(レスポンスカード)

ガイドのリクエストが入力されたら、要件の確認を行うレスポンスカードの入力を促します。

レスポンスカードの利用は、入力ミスや予期しない(設定されていない)入力を回避することに繋がります。

 

レスポンスカード

レスポンスカード

 

ガイド条件(スロット)

ガイドの条件を絞るために、キーワードの入力を促します。

ここでは、入力情報に基づきガイドURLを動的に生成しております。

スロットの値は「https://xp-cloud.jp/blog/category/{category}/」のように指定することで動的に取得することが可能です。

 

ガイド条件(スロット)

 

また、生成されたURLの正当性をLambdaからrequestsを実行することによって確認しております。

 

import urllib.request

def lambda_handler(event, context):
    print(event)
    url = 'http://xp-cloud.jp/blog/category/' + event['currentIntent']['slots']['category']
    try:
        check = urllib.request.urlopen(url)
        response = {
            'dialogAction': {
                'type': 'Close',
                'fulfillmentState': 'Fulfilled',
                'message': {
                    'contentType': 'PlainText',
                    'content': url
                }
            }
        }
        return response
    except Exception as e:
        response = {
            'dialogAction': {
                'type': 'Close',
                'fulfillmentState': 'Fulfilled',
                'message': {
                    'contentType': 'PlainText',
                    'content': 'blog not found. please try different keyword.'
                }
            }
        }
        return response

 

ガイド実施

残りの静的に生成されるガイドURLのIntentsを作成します。

 

ガイドURLのIntentsを作成

 

Sample utterances

 

最後にbuildを実行してAmazon Lexの設定は完了になります。

 

動作確認

Amazon Lex 動作確認

 

Amazon Lex 動作確認

 

Amazon Lex 動作確認

 

Amazon Lex 動作確認

 

Amazon Lex 動作確認

 

まとめ

今回はAmazon Lexをサイトコンシェルジュとして利用する方法をご紹介致しました。

Amazon Lexをチャットボットとして利用するケースは多く見かけますが、今回のようなサポート機能や問合せ対応といったことにAmazon Lexを利用することで、ユーザビリティの向上や人的コストの削減につながります。

既存サイトへの埋め込みも簡単に実現できるので、ご興味のある方は是非お試しになってみてはいかがでしょうか。

 

 

 

AWS相談会