はじめに
多くの会社には社内ヘルプデスクがあり、皆様も様々なシチュエーションで使用したことがあると思います。社内システムの使い方について問い合わせることもあれば、会社支給の PC やスマホが壊れてしまって助けを求めることもあるでしょう。
多くのお悩みを助けてくれる社内ヘルプデスクですが、実際には問い合わせをする人もされる人も、大変なことも多いのではないでしょうか。問い合わせても目的の情報になかなか辿り着けなかったり、順番待ちでとても時間がかかってしまったりすることもありがちな話だと思います。また日々問い合わせを受けている方々も、様々な種類の問い合わせに数多く対応しないといけず、休憩時間もままならないこともあるかもしれません。
本記事では、AWS サービスを活用してそのようなありがちなお悩みを解消し、問い合わせする人・される人の両者がハッピーになれる社内ヘルプデスクの実現を目指します。
ご注意
本記事で紹介する AWS サービスを起動する際には、料金がかかります。builders.flash メールメンバー特典の、クラウドレシピ向けクレジットコードプレゼントの入手をお勧めします。
builders.flash メールメンバー登録
社内ヘルプデスクのよくある課題
社内ヘルプデスクに問い合わせた際に、このようなパターンに陥ったことがある人は多いのではないかと思います。
いわゆるたらい回しですね。問い合わせする側としては、このような目に遭うと心が折れてしまいます。ただ問い合わせされる側もおそらく悪気があるわけではなく、担当外の質問をされても困ってしまうというのが正直な気持ちだと思います。これは回答者側の問題というよりは、何をどこに問い合わせたらいいかわかりづらくなっている構造的な問題が大きそうですね。
本記事のステップ 1 では Amazon Connect を活用し、コンタクトセンターで行われているような自動応答・着信の順番待ち・回答者への問い合わせの均等な分散などの仕組みを簡単に作成します。自動応答のステップで「何の問い合わせであるか」を質問者に入力してもらうことで、内容に応じて適切な問い合わせ先に自動で振り分ける仕組みも構築することができます。それにより問い合わせ窓口を一本化できるので、問い合わせる側から見るとどこに問い合わせるべきか明確になり、とてもわかりやすくなります。また、問い合わせの担当部署変更にも追随しやすい構成にしておくことで、上の例のように「以前担当していた部署に誤って問い合わせてしまう」といった事態も回避しやすくなります。

同じ問い合わせの繰り返し
もう一つ、図のようなパターンはいかがでしょうか。
問い合わせする人は同じ問い合わせを一度しかしないのであまり意識しないかもしれませんが、実はその裏で何人もの人から同じ問い合わせがされているかもしれません。問い合わせ先が適切であったとしても、この状態では問い合わせされる側から見るととてもストレスに感じてしまうでしょう。同じ問い合わせに繰り返し対応しているせいで、他の重要な問い合わせが後回しにされてしまうこともあるかもしれません。
本記事のステップ 2 では、Amazon Connect に Amazon Lex を統合することで定型的な応答の自動化を目指します。頻度の高い問い合わせへの回答を Amazon Lex のボットに任せることで、問い合わせを受けていた方々は同じ回答を繰り返し伝える作業から解放され、より重要度の高い問い合わせに集中できるようになります。また、問い合わせをする側から見ても、重要度の高い問い合わせに早く回答してもらえるようになります。

事前準備
ステップ 1・2 を進めるにあたり、以下の事前準備作業が必要です。ボリュームの都合上、本記事内で詳しくは説明できませんが、各種ドキュメントなどを参考にして進めていただければと思います。これらの準備作業は 10 分程度で完了します。
- Amazon Connect インスタンスの作成
- Amazon Connect 管理画面に管理者としてアクセス
ステップ1:Amazon Connect で問い合わせ先を自動振り分けする
1-1. 全体構成
1-2. Amazon Connect 管理画面の基本的な操作
ここからは Amazon Connect 管理画面上で操作を行い、各コンポーネントを作成していきます。
管理画面では左側のアイコンを押すとメニューが表示され、各機能の管理画面にアクセスできます。以降のステップではこの左メニューを使用して画面遷移をしてください (図は、ユーザー管理画面に遷移する場合の例です)。

1-3. キューの作成
キューを作成
まずはキューを作成します。
Amazon Connect 管理画面の左メニューで「ルーティング > キュー」を選択すると、キュー管理画面が表示されます。「キューを追加」を押して必要情報を入力すること、キューを作成できます。

3 つのキューを作成

1-4. ルーティングプロファイルの作成
ルーティングプロファイルを作成
次にルーティングプロファイルを作成します。
Amazon Connect 管理画面の左メニューで「ユーザー > ルーティングプロファイル」を選択すると、ルーティングプロファイル管理画面が表示されます。「ルーティングプロファイルを追加」を押して必要情報を入力することで、ルーティングプロファイルを作成できます。その際に、各ルーティングプロファイルで「どのキューからどのチャネルでの問い合わせを受け付けるか」を設定できるので、各部署で対応できるキューとチャネルを適切に関連付けることで、担当範囲外の問い合わせが来てしまうことを予防できます。

2 つのルーティングプロファイルを作成
今回は社内システム部用とトラブルサポート部用の 2 つのルーティングプロファイルを作成しました。
社内システム部には InternalSystemQueue を、トラブルサポート部には ComputerProblemQueue と MobilePhoneProblemQueue の 2 つのキューを関連付けておきます (Basic Routing Profile は、Amazon Connect インスタンス作成時にデフォルトで作成されるサンプルルーティングプロファイルです)。

1-5. ユーザーの作成
ユーザーを作成
次にユーザーを作成します。
Amazon Connect 管理画面の左メニューで「ユーザー > ユーザー管理」を選択すると、ユーザー管理画面が表示されます。「ユーザーを追加」を押して必要情報を入力すること、ユーザーを作成できます。その際に、各ユーザーに「どのルーティングプロファイルを関連付けるか」を設定できるので、ユーザーが所属する部署用のルーティングプロファイルに関連付けることで、そのユーザーが担当範囲の問い合わせのみ受け付けることができるようになります。

4 つのユーザーを作成
今回は回答者 A〜D の 4 つのユーザーを作成し、ユーザー A・B を社内システム部のルーティングプロファイルに、ユーザー C・D をトラブルサポート部のルーティングプロファイルにそれぞれ関連付けます。
※ 今回は Amazon Connect 内でのユーザー管理方法を紹介していますが、既存の Active Directory と連携させたり、SAML 2.0 ベースでの認証を行ったりすることも可能です。詳しくは、ドキュメント「Amazon Connect で ID 管理を計画する」をご参照ください。

1-6. フローの作成
フローを作成
次にフローを作成します。
Amazon Connect 管理画面の左メニューで「ルーティング > フロー」を選択すると、コンタクトフロー管理画面が表示されます。「コンタクトフローを作成」を押すと、GUI でフローを構築できるデザイナー画面が表示されます。デザイナーでは、「ブロック」と呼ばれる一つ一つの処理要素をドラッグ & ドロップで配置し、ブロック間を矢印で繋げることで、直感的な操作でフローの構築が行えます。

3 つのキューに振り分けるフローを構築

フローブロックの定義
フロー完成後に右上の「公開」を押すことで、質問者からの問い合わせを本フローで受け付けることができるようになります。
今回のフローで使用したブロックの役割を簡単に記載しますが、詳細については フローブロック定義のドキュメント をご参照ください。
1-7. 電話番号の取得とフローとの関連付け
最後に電話番号を取得し、ステップ 1-6 で作成したフローと関連付けます。
Amazon Connect 管理画面の左メニューで「チャネル > 電話番号」を選択すると、電話番号管理画面が表示されます。「電話番号の取得」を押すと、電話番号取得画面が表示されます。ここで取得する電話番号の国を指定して電話番号を選択し、その電話番号に着信があった際にどのフローを実行するか選択できます。
今回はステップ 1-6 で作成したフローと関連付けて「保存」を押します。
※ Amazon Connect で日本の電話番号を取得する場合は、別途 AWS サポートへの申請が必要です。詳細はドキュメント「電話番号の注文と移行に関する地域要件 (日本 (JP))」をご参照ください。また、ステップ 2 はチャットベースの手順としているため、電話番号を取得していない状態でもステップ 2 を実施できます。もし電話番号取得に時間がかかってしまう場合は、問い合わせのテストは省略してステップ 2 を実施していただいて問題ありません。

1-8. 問い合わせのテスト
準備
それでは、早速問い合わせのテストをやってみましょう!
テストは 1 人でも実施可能ですが、質問者と回答者の 2 役が必要になり 1 人だと音声が混ざって大変なので、できれば近くにいる同僚の方にお声をかけて 2 人 1 組で実施してみてください。
まずは回答者が電話を受け付ける準備を行います。現在 Amazon Connect 管理画面に管理者でアクセスしていると思いますが、別ブラウザでもう 1 つ Amazon Connect 管理画面を開き、ステップ 1-5 で作成したユーザーのいずれかでログインしてください。管理画面上部メニューの「問い合わせコントロールパネル」をクリックすると、問い合わせ受付用の子画面が起動するので、ステータスを「Available」にすれば受け付け準備完了です。

実際に電話をかけて問い合わせ
回答者側の準備ができたので、質問者側がステップ 1-7 で取得した電話番号に実際に電話をかけて問い合わせをしてみます。
問題なければフローで定義した通りの自動音声が流れ、何の問い合わせであるかの入力を促されますので、お好きな番号を選択します。
すると、回答者の画面が以下のようになり着信音が流れるので、緑色のチェックボタンを押すことで通話を開始できます (回答者の担当範囲外の問い合わせを選択した場合は着信が来ないので、ご注意ください。今回の場合、例えば回答者 A でログインしていたとすると、「社内システムに関するお問い合わせ」のみ着信可能となります)。

通話を終了
これで問題なく通話ができれば成功です!
切断は質問者・回答者のどちらからでも可能で、回答者から切断する場合は「通話を終了」を押すことで切断できます。
するとアフターコールワークという画面が表示され、この画面が表示されている間は新しい着信は受けない状態になります。この時間を活用して、問い合わせ対応履歴の入力など必要な作業を完了させてください。
それが終わったら「連絡先を閉じる」を押すことで、再度新しい着信を受け付ける状態に戻ることができます。

ステップ 1 のまとめ
以上でステップ 1 は終了となります。Amazon Connect 上での社内ヘルプデスク構築、いかがでしたでしょうか ? 問い合わせを受ける人から見ると、自分の担当外の問い合わせがくる心配がなくなりますし、問い合わせをする人もたらい回しの心配なく問い合わせできるようになったので、ハッピーな社内ヘルプデスクに一歩近づきましたね。
次のステップ 2 では発展形として、定型的な回答を自動で行う仕組みの導入をご紹介します。
※ 本記事ではソフトフォンを使用してPCで電話を受けるやり方を紹介していますが、デスクフォンという機能を利用して皆様がお持ちの携帯電話に着信させるなども可能です。詳しくは、ドキュメント「モバイルデバイス (iPhone、Android) へ通話を転送する」をご参照ください。
ステップ2:Amazon Connect に Amazon Lexを統合し、一部の応答を自動化する
Amazon Lex で作成したボットは音声や文字などの発話 (utterance) に対して自然言語処理を行い、分類をします。分類の結果あらかじめ決めておいたインテント (intent) というものに振り分けを行います。Amazon Connect のコンタクトフローの中では インテントに基づいてフローを分岐する ことが可能なため、結果として発話に基づいてコンタクトフローを分岐することが可能になります。
ステップ 2 では Amazon Lex で大きく 4 つのことを行います。1 つ目は、数字の入力によって行われているキューへの振り分けを音声ベースで行うことです。2 つ目は、よく質問されることをあらかじめ Lex のボットで答えられるようにすることです。3 つ目は、質問の繰り返しから抜けるためのキャンセル手段を用意することです。最後に Amazon Connect と Amazon Lex の連携を設定します。
ボットのインテントについて

コールフロー全体像
こちらの画像は最終的に作成する Amazon Connect のコールフローの全体像になります。細かい部分の説明は後ほど Amazon Connect と Amazon Lex の連携について説明をする際に行います。<br>
2-1. ボットの作成
「ボットの作成」をクリック
まずは Amazon Connect から呼び出す Amazon Lex のボットを作成します。
Amazon Lex には v1 と v2 があるため Amazon Lex v2 のコンソールを開き、「ボットの作成」をクリックします。

ボット設定
ボット設定を構成する画面が表示されますので、設定していきます。
作成方法は「空のボットを作成します」を選択、ボット名は「InternalSupportBot」に設定します。

IAM アクセス許可
IAM アクセス許可は「基本的な Amazon Lex 権限を持つロールを作成します」を選択します。今回は社内システム想定のため COPPA については「いいえ」を選択します。
※ 児童オンラインプライバシー保護法 (COPPA:Children's Online Privacy Protection Act) は、オンラインで子どもから収集される情報を保護者が管理できるようにするために設けられた米国連邦法です。COPPA により、13 歳未満の子どもの個人情報を収集、使用、開示する際に、保護者に通知し保護者の同意を得ることが義務付けられています (いずれの場合も、COPPA の要件を満たしている必要があります)。保護者の同意は検証可能であることが必要です (例 : 保護者に同意書を書かせる、保護者の身分証明書を確認する)。COPPA の遵守方法および違反した場合の影響については、次のウェブサイト (英語のみ) をご確認ください。また、Amazon Lex における COPPA に従う場合の説明はこちら です。

アイドルセッションタイムアウト設定

言語設定

2-2. キュー振り分け用インテントの追加
インテントの編集

サンプル発話を追加
このインテント「InternalSystem」を呼び出すため、以下のサンプル発話を追加します。その後、「インテントを保存」をクリックします。
- 社内システム
- 社内システムについて質問したい
- 社内システムの担当者に相談したい
- 社内システムの使い方がわからない
- 社内システムでエラーが出る
- ログインできなくなった
- ログインするとエラーが出る
- パスワードを設定しようとするとエラーになる
- メールを送信しようとするとエラーになる
- メールが送信できない

インテントを追加
次に、PC トラブルキューとスマホトラブルキューのインテントを追加していきます。
サイドバーの「インテントリストに戻る」を選択しインテントの一覧画面を表示します。さらに「インテントを追加」をクリックし、表示されるメニューの「空のインテントを追加」をクリックします。

空のインテントを追加

インテントを保存
インテント「ComputerProblem」の編集画面が表示されるため、以下のサンプル発話を追加して、インテントを保存します。
- PCについて質問したい
- PCについて相談したい
- PCの調子が悪い
- PCの画面がつかない
- PCが故障した
- パソコンについて質問したい
- パソコンについて相談したい
- パソコンの調子が悪い
- パソコンの画面がつかない
- パソコンが故障した
同様の流れでインテント「MobilePhoneProblem」を作成し、以下のサンプル発話を追加して、インテントを保存します。
- 携帯の調子が悪い
- 携帯のバッテリーが持たない
- 携帯の画面が割れた
- 携帯の電源が入らない
- 携帯について相談したい
- スマホの調子が悪い
- スマホのバッテリーが持たない
- スマホの画面が割れた
- スマホの電源が入らない
- スマホについて相談したい
ボットを構築
この状態ではまだボットが動く状態になっていないため「Build」をクリックしてボットをビルドします。
「正常に構築されました」と表示されるまでしばらく待ちます。
その後、「Test」をクリックしてどのように分類が行われるかを確かめます。

2-3. FAQ 用のインテントの追加
次に、よくある質問 (FAQ) 用のインテントを追加します。ここでは印刷の仕方についてインテント「HowToPrint」を追加します。
サンプル発話は以下の通りです。
- 社内システムから印刷するにはどうしたらいいですか
- 印刷
- 印刷したいんだけど
- 印刷の方法がわかりません
- 印刷の方法を教えて
- 印刷の仕方がわからない
- 印刷できません
- 印刷するにはどうしたらいいですか
- この間までは印刷できた
- 昨日までは印刷できた
初期応答のメッセージを設定

ボットをビルド

2-4. キャンセル用のインテントの追加
ボットを追加
次に、キャンセル用のインテントを追加します。
Amazon Lex の組み込みインテント にはこういった用途にぴったりな AMAZON.CancelIntent が存在します。
まずは Amazon Lex のコンソールでボット「InternalSupportBot」のインテント一覧を表示します。
次に、「ボットを追加」をクリックし、表示されたメニューの中から「組み込みインテントを使用」をクリックします。
組み込みインテントの作成画面が表示されたら、組み込みインテントを「AMAZON.CancelIntent」に設定し、インテント名を「CancelIntent」に設定して、「追加」をクリックします。

ボットをビルド

2-5. Amazon Connect へのボット追加
「問い合わせフロー」を選択
ここまでで、ルーティング用インテント、FAQ 用インテントをボットに追加することができました。このボットを Amazon Connect のコンタクトフローから呼び出せるように設定 をします。
AWS のマネジメントコンソールで Amazon Connect のインスタンスの詳細画面を開きます。その後、サイドバーから「問い合わせフロー」を選択します。
Amazon Lex の項目の、ボットを先ほど作成した「InternalSupportBot」に設定、エイリアスを「TestBotAlias」に設定して、「Amazon Lex ボットを追加」をクリックします。
※ 実際に運用する際は エイリアス を適切に設定する必要があります。

Amazon Lex ボットが追加

2-6. コンタクトフローでのボット呼び出し
いよいよ、作成したボットをコンタクトフローに組み込んでみましょう。ステップ 1 で作成したフローに Amazon Lex を呼び出す「顧客の入力を取得する」ブロックと、質問を答えた後に再度 Amazon Lex を呼び出すために「ループ」ブロックを追加で利用します。最終的には以下の画像のようになります。<br>
設定
追加した「顧客の入力を取得する」ブロックは先ほど作成した、InternalSupportBot を呼び出して質問者からの発話に応じてマッチしたインテントに分岐します。しかし、先ほどの図を注意深く見るとインテント「HowToPrint」が設定されていないことに気がつくかもしれません。これはあえて FAQ 用のインテントを分岐に指定しないことで、複数の FAQ 用のインテントをボットに追加してもデフォルトの分岐を利用できるようにするためです。これにより、FAQ 用のインテントは「ループ」ブロックに分岐するため質問を繰り返すことが可能です。また、質問をしてその回答に満足できなかった場合に、あらためてキューへの振り分けをボットにしてもらうことも可能です。もし、質問者の発話がどのインテントにもマッチしなかった場合は FallbackIntent に分岐します。この場合はステップ 1 で設定した、数字入力ベースの振り分けを利用するように設定をしておきます。
- 顧客の入力を取得するブロック:Amazon Lex ボットを呼び出し、マッチしたインテントに分岐をします。
- ループ:指定された回数ループ先に分岐し、そのあとは完了に分岐します。
2-7. テストを行う
「チャットをテスト」をクリック
ステップ 1 のテストと同様に、電話をすることで Amazon Lex との連携結果を確認することができます。ここでは見た目でわかりやすいチャットでのテストを行う方法を参考までにご紹介します。
※ 今回作ったコンタクトフローでは、音声の場合どのインテントにもマッチしない発話を行なうと数値入力による振り分けが可能です。一方、チャットの場合について考慮をしていないため、チャットでそのような発話を行うとエラーの分岐に入りすぐに切断されてしまいます。
Amazon Connect のダッシュボードにある「チャットをテスト」をクリックします。

「テスト設定」をクリック

吹き出しのアイコンをクリック

質問してみる

動作確認
うまく設定ができていれば、このようにインテント「HowToPrint」で分岐をし、「ループ」ブロックにより再度ボットが応答をしているところが確認できると思います。
次に、社内システムについて問い合わせを行い、実際に回答者へ振り分けが行われることを確認しましょう。この時に回答者のルーティングプロファイルでチャットの対応が可能なように設定されている必要があります。
無事にテストできたでしょうか。もちろんチャットでのテストができなくても、音声の方で想定通り動けば問題ありません。

まとめ
今回は、Amazon Connect と Amazon Lex を活用した社内ヘルプデスクの構築方法を紹介しました。皆様の社内ヘルプデスクをハッピーなものにできるイメージが湧いてきたでしょうか?今回の内容が、少しでも皆様のお役に立てば幸いです。
また、更なる発展版として、以下のような内容を追加して拡張していくことも可能です。
- Amazon Kendra によるドキュメント検索を組み合わせ、問い合わせに関連したドキュメントを自動案内する
- 今回ご紹介した FAQ の質問ごとにインテントを作る方法ではボットごとに設定できる最大インテント数による制限や、たくさんのインテントを作った際のメンテナンス性などに課題があります。Amazon Kendra と Amazon Lex を活用してより便利な社内ヘルプデスクを構築することができます。また、QnABot on AWS のソリューションを活用して簡単にこの構成をデプロイすることも可能です。
- オペレーション時間を設定することで、人が問い合わせを受ける時間を営業時間のみにする
- Amazon Connect Customer Profiles を活用し、質問者の状況をフロー内で動的に確認しながら対応する
- Amazon Connect Tasks を活用し、問い合わせ後の後続タスクを自動で担当者に振り分ける
よりハッピーな社内ヘルプデスクを目指して、ぜひチャレンジしてみてください!
筆者プロフィール

泉 航
アマゾン ウェブ サービス ジャパン合同会社
ソリューションアーキテクト
主に BPO・コンタクトセンター業界のお客様に対して技術支援を行っています。好きなサービスは Amazon Connect と、AWS Lambda や Amazon API Gateway などのサーバーレスサービスです。コーヒーとスイーツをこよなく愛しており、どんなに仕事が忙しい日でもコーヒータイムは欠かしません。

夘月 翔平
アマゾン ウェブ サービス ジャパン合同会社
ソリューションアーキテクト
以前はウェブアプリケーションの開発を行なっていました。好きな AWS サービスは AWS Lambda を代表としたサーバーレス系です。ゲームが好きで、ボードゲームやビデオゲームどちらもよく遊んでいます。
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages