Amazon AlexaとENOKIで無人問い合わせ対応を作ってみた

はじめに

Amazon Alexa(アレクサ)については詳しく説明する必要ないほど有名ですよね。スマートスピーカーと呼ばれる、話しかけると質問に答えてくれる据え置きスピーカーのことです。音楽をかけてくれたりニュースを呼んでくれたり、声だけでいろいろしてくれるアシスタントのようなスピーカーです。他にも「富士山の高さは」のような一般知識の質問にも回答をしてくれます。賢いですね!

自分専用のFAQスキルを作りたい

このようにいろいろなことに答えてくれるAlexaですが、自分のお店に置いてお客さんの質問にも答えてくれるのでしょうか。例えば「○○はどこにありますか?」と聞かれたら「右奥の通路にあります。○○の隣です。」のように答えてくれたら店員が忙しくて対応できないようなときにとても助かります。しかし答えはNOです。Alexaが答えられるのは世間一般に広く知られている知識で、自分専用のいわゆる一般知識ではない質問には標準では答えられません。標準でと書いたのはAlexaにはスキルと呼ばれる拡張機能を行う機能があり、スキル使い知識を登録することで自分専用の質問回答をすることが可能となります。このためには次のようなスキルがAmazonより提供されています。

Alexa スキルのブループリント カスタムQ&Aはスキルの作成者が質問と回答を登録するとユーザーの質問が登録されたものに合致したときにその回答を返すスキルです。FAQの質問文と回答文をセットで登録すれば、ユーザーがその質問をした時に回答の文章を答えてくれます。設定画面から質問と回答を登録するだけで簡単に使えますが、ユーザーが発話した質問と、登録した質問が完全に一致していないと回答が出力されません。このように意味を理解して回答するのではない点に注意する必要があります。例えば「試着室はどこにありますか」と登録しておいた場合、ユーザーが「試着室はどこ」と聞いた場合、文の意味は同じですが、回答は出力されないことになります。「試着室はどこ」などユーザーが聞きそうな言い方の文を助詞の違いも含めて全パターン登録しておけば可能ですが、ちょっと難しいですよね。
もう一つのAmazon Lexは、これはスキルというよりスキルから使う部品というほうが正しいかもしれませんが、先に紹介したカスタムQ&Aより柔軟無い方を認識できます。しかし、この記事の公開時点では日本語には対応していないようであり、使うには開発の知識も必要となるようで若干敷居が高いです。

ENOKIで自分専用のFAQスキルを作る

ENOKIは質問と回答を登録するだけで自分専用のFAQ回答ボットを作ることができて、登録されている質問と違う言い方をしても柔軟に回答できます。たとえば「試着室はどこですか」という質問文が登録されていた場合には「試着室の場所を教えて」のように若干違う言い方をしても柔軟に答えることができます。スキルを作成することでAlexaにもつなげられるので、これを使ってAlexaに質問回答の対応をさせることとします。システム構成は以下図のようになります。

Alexa+ENOKIのシステム構成

Alexaでスキルを作るときには、そのスキルを呼び出すための呼出し語を登録します。ユーザーが「アレクサ、(呼出し語)を開いて」と話しかけることで、そのスキルが呼び出され使えるようになります。

スキルを呼び出した後の発話を処理するためにはインテントSkill Codeを作成します。インテントはユーザーがどんな発話をしたか、その発話にはどんな語が含まれているかを定義するためのものです。Skill Codeは発話がインテントに合致したときに呼び出されるプログラムコードでNode.jsなどいくつかのプログラム言語から選んで作成できます。

今回、呼出し語には「エノキ君」と登録、呼び出された後の発話は全て一つのインテントで拾って、発話全体をENOKIに送るようなSkill Codeを作成しました。

呼出し語の設定
インテントの設定、any_inputですべての発話を拾っている

このような設定によりユーザーの発話に対してAlexaスキルはENOKIを以下の様に呼び出すようになります。

ユーザー:アレクサ、エノキ君を開いて
 → ENOKIに会話開始を送信。
ユーザー:試着室はどこ
 → ENOKIに「試着室はどこ」を送信。

次にENOKIのトライアル環境にお客様によく尋ねられる売り場のでの質問とその回答を登録しました。以下の図のようにエクセルに1行あたり1質問と回答を記述し、そのファイルをENOKIにアップロードすることで簡単に登録ができました。

No.質問回答
1試着室はどこですか試着室は右奥の通路にあります。レジの隣です。
2メンズのアンダーウエアはどこですかメンズのアンダーウエアはレジから向かって左側の奥になります。
3メンズのボトムスはどこですかメンズのボトムスは入り口近くレジの左側です。
4レディースのアンダーウエアはどこですかレディースのアンダーウエアはレジから向かっての右側の奥になります。
5レディースのボトムスはどこですかレディースのボトムスは入り口近くレジの右側です。

先に作ったAlexaスキルにENOKIのエンドポイントを設定して使ってみます。

ユーザー:アレクサ、エノキ君を開いて
 → ENOKIに会話開始を送信。
Alexa:おはようございます。ご質問は何でしょうか?

ユーザー:試着室はどこ
 → ENOKIに「試着室はどこ」を送信。
Alexa:右奥の通路にあります。レジの隣です。

うまくいきました!

聞き返しやキーワードでブラッシュアップ

Alexaをお店においてお客様にも使っていただけるようにしました。
質問にドンピシャでなくても近い答えがあれば教えてくれるので、例えば次のような質問でも、メンズ、レディースのどちらの売り場も教えてくれます。

ユーザー:アンダーウエアはどこ?
Alexa: メンズのアンダーウエアはレジから向かって左側の奥になります。レディースのアンダーウエアはレジから向かって右側の奥になります。

このように複数の回答候補を連続して提示すると、発話が長くなりお客様には答えがわかりにくくなるようでした。そこでENOKIの特徴である「聞き返し」を使い、特定の回答まで会話で誘導して、回答を簡潔に提示するようにしました。
ENOKIの「聞き返し」は質問・回答をカテゴリ別に分類をすることで、複数の回答が候補となるときに、分類列を自動で選択して聞き返しを行う機能です。
以下のように質問・回答のデータに分類列を2つ追加、「分類1」は設備や商品の種類、「分類2」はメンズ・レディースの別を記載して質問・回答を整理し、ENOKIに登録しました。

No.分類1分類2質問回答
1試着室試着室はどこですか試着室は右奥の通路にあります。レジの隣です。
2アンダーウェアメンズメンズのアンダーウエアはどこですかメンズのアンダーウエアはレジから向かって左側の奥になります。
3ボトムスメンズメンズのボトムスはどこですかメンズのボトムスは入り口近くレジの左側です。
4アンダーウェアレディースレディースのアンダーウエアはどこですかレディースのアンダーウエアはレジから向かっての右側の奥になります。
5ボトムスレディースレディースのボトムスはどこですかレディースのボトムスは入り口近くレジの右側です。

お客様動向の分析

ENOKIの管理画面には「ダッシュボード」機能があり、お客様がどのようにAlexaの「エノキ君」をを使っているかを見ることができます。特に「ワードクラウド」はお客様の質問でよく使われる語を抽出してみることができます。店員の対応では残りにくいお客様の生の声を見える化して表示することができ、お客様がどのような潜在ニーズを持っているかを知ることができました。

おわりに

AlexaとENOKIを使った無人問い合わせ対応についてご紹介をしましたがいかがでしたでしょうか。当社ではAlexaはじめスマートスピーカーは、家庭だけでなく仕事の支援など色々なシーンでの利用が今後ますます広がると考えています。そこでの質問回答や会話を実現するツールとしてENOKIがご活用いただけると考えております。