Pepper for Biz3.0のAI会話のカスタマイズ (1)

# はじめに
 先日 [pepper for Home](https://www.softbankrobotics.com/jp/product/home/) と [pepper for Biz 3.0](https://www.softbankrobotics.com/jp/product/biz3/#_ga=2.243209858.1074538764.1556501867-850404903.1513303852) が　発表となりました！
 コミュニケーション力が強化され、pepper for Biz 3.0 であれば、独自の会話がカスタマイズ可能ということで、早速調べてみました。
 今回はひとまず環境作成ということで、テンプレートで用意されたサンプル会話を単純にPepperで動かすところまで、次回以降で会話そのものを作成していこうと思います。

# 環境について
 - pepper for Biz3.0
 - お仕事かんたん生成3.0
 - Dialogflow
 - Microsoft Excel

# AI会話について
お仕事かんたん生成3.0では、新たに「AI会話」ボックスが追加されました。
「日常会話」、「子供向け会話」など多数の会話シナリオが用意されていますので、標準でも十分Pepperとの会話を楽しむことができます。
このAI会話は、Google Dialogflow Enterprise Edition と Microsoft Rinnna Character Platform が 使用されており、53万通りもの会話を楽しめるそうです。
また、この会話シナリオ自体は、今後アップデートされていくそうですが、ユーザではカスタマイズはできません。
このAI会話のカスタマイズとは、独自の会話シナリオを新たに用意して、AI会話ボックスに割り当てることになります。

**お仕事かんたん生成3.0のボックス一覧**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/268c41db-a178-a939-98a6-f930c059f0cd.png)
**AI会話ボックスの会話内容の選択欄**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/5e79976e-b98b-b6ea-9b7d-de511d31bdb3.png)

# AI会話のカスタマイズの流れ
 AI会話のカスタマイズの大まかな流れは以下の通りです。
 「Pepperチャットボックスコンバーター」、「Excel」、「Dialogflow/GoogleCloudPlatform」、「RobotSuite/お仕事かんたん生成3.0」と複数のツールを使用します。
　今回は、単純にテンプレートの会話を動かすだけですので、以下の手順のうち、:white_check_mark:のついた作業のみを行います。

| 手順 |Pepperチャットボックスコンバーター|Excel| Dialogflow/GoogleCloudPlatform|RobotSuite/お仕事かんたん生成3.0|
|:----:|:------------------------|:------------------------|:------------------------|:------------------------|
|1|:white_check_mark:テンプレート(xlsx)をダウンロード||||
|2||テンプレート(xlsx）を編集|||
|3|:white_check_mark:テンプレート(xlsx）をzipに変換||||
|4|||:white_check_mark:Agent作成||
|5|||:white_check_mark:テンプレート(zip)をIMPORT||
|6|||Intents、Entitesの編集||
|7|||:white_check_mark:サービスアカントの作成||
|8|||:white_check_mark:秘密鍵（json)の作成||
|9||||:white_check_mark:お仕事、AI会話ボックスの作成|
|10||||:white_check_mark:秘密鍵（json)のアップロード|
|11||||:white_check_mark:お仕事のロボットへの配信|

## テンプレート(xlsx)をダウンロード 
 [Pepper チャットボックス コンバーター](https://softbankrobotics.com/portal/chatbox/convertDialogFlow/)にアクセスし、「空のテンプレート」を選択し、ダウンロードボタンをクリックします。
フォルダを指定すると、「template.xlsx」ファイルがダウンロードされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/2afd38f3-aa03-1535-7ccf-473ba4573314.png)

## テンプレート(xlsx)をzipに変換
 Pepper チャットボックス コンバーターの「ファイルを選択」ボタンにて、先ほどダウンロードした「template.xlsx」ファイルを指定し、言語は「日本語」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/12988aa4-5e62-25f0-ce9e-9c61755dd2ee.png)

「変換開始」ボタンをクリックし、しばらくすると、フォルダ指定画面になりますので、任意のフォルダを指定してください。 「template.zip」がダウンロードされます。

## Agentの作成
 ここからがDialogflowの作業となります。
 Dialogflowのコンソールにて、「Create new agent」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/7935ba97-6e81-a74f-bc2d-3d2dc076f07b.png)
設定画面が開きますので、適当なAgent名を入力、「DEFAULT LANGUAGE」では、「Japanese-ja」を指定し、「CREATE」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/272e30f7-66ce-5eb7-cf73-5469cda26ba6.png)

##テンプレート(zip)をIMPORT
　次にAgent名の横の歯車ボタンをクリックします。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/8ef24281-7651-9c25-9d0c-273c4af01a53.png)
　Agentの設定画面で、「Export and Import」タブをクリックすると表示が切り替わるので、「IMPORT FROM ZIP」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/66b61e8e-d7b6-8545-fee7-216b3a810dd3.png)
　Upload agent の画面が表示されます。「SELECT FILE」ボタンをクリック、**テンプレート(xlsx)をzipに変換**にて生成したテンプレート(zip)ファイルを指定します。
 次にテキスト入力欄に大文字で、「IMPORT」と、入力し「IMPORT」ボタンをクリックすると、IMPORT処理が始まります。しばらくすると完了するので、「DONE」ボタンで画面を閉じてください。　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/f231998c-2f5a-4bbd-b486-95096956aa4b.png)
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/b8491936-7431-2e8d-f348-dd8b9194d459.png)

##サービスアカウントの作成
 次にサービスアカウントを作成します。Agent名の横の歯車ボタンをクリックします。
Agentの設定画面で、「Service Account」の横のリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/92da9a85-5814-97da-d68f-ba9c47a88364.png)
　GoogleCloudPlatformの画面が表示されます。「＋サービスアカウントを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/37f51bd2-385a-97ad-a5f9-f5a39c400e65.png)
　サービスアカウントの設定画面にて、サービスアカウント名、サービスアカウントの説明を入力し、「作成」ボタンをクリックします。サービスアカウントIDは自動で設定されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/0d9a52e8-68fc-3f74-90e4-1ab36bfecaf4.png)
　次に役割を選択します。役割の選択リストの中から、「Dialogflow API クライアント」を選択します。上部のフィルタ欄で、「dialogflow」と入力すると役割の絞り込みができます。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/07a6f86e-b27f-c4a7-22f1-f98a899af3ee.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/810fe7b2-f4a1-04a4-2615-5fa80feeb026.png)
　役割を指定したら、「続行」ボタンをクリックします。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/cea57472-f3c5-997b-f73e-2b4190f676cd.png)

##秘密鍵（json)の作成
 次に秘密鍵(json）を作成します。画面をスクロールし、「+キーを作成」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/fff07acf-2738-dea7-2baf-51ae699b381f.png)
　キーの作成（オプション）画面が表示されます。キーのタイプは「JSON」を指定し、「作成」ボタンをクリックすると、ファイル選択画面になりますので、秘密鍵(JSON）を保存するフォルダを指定してください。
　この秘密鍵(json）は大切に保管しておいてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/2354d22f-5e35-8847-e769-c82b7767fe35.png)

##お仕事、AI会話ボックスの作成
 いよいよお仕事かんたん生成で、AI会話ボックスを使用したお仕事を作成します。
 Robot Suite の画面から、「＋ お仕事/コンテンツ作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/d733a5d3-3d62-226e-6b4f-256664865cd2.png)
 お仕事/コンテンツ作成の画面で、お仕事の名称、説明を入力、「お仕事/コンテンツを追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/8f987237-5de2-d452-723e-1ff7e0149ca4.png)
　お仕事/コンテンツ一覧に先ほど登録したお仕事名が表示されますので、お仕事名をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/82a02685-ff23-a44a-c829-e99814140c10.png)
 詳細画面をスクロールし、「お仕事/コンテンツを編集」をクリックします。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/c4b3aa8d-85f5-9548-1208-b90ac99901dd.png)
 お仕事かんたん生成の画面に切り替わります。最初の画面では、「テンプレートから選んでつくる」をクリックします。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/77ca9ce4-6ac2-222d-0d0b-fd857eb2c1e4.png)
 お仕事のテンプレート選択画面が表示されます。「フリーテンプレート」をクリック、次の画面では「このテンプレートでつくる」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/f0a4462d-46fe-067e-860f-548525adad0d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/154c2ee2-9115-bf53-ec33-602ff2645dd2.png)
 お仕事のフロー画面が表示されます。今回はAI会話のサンプルを動かすだけですので、呼び込みをオフにしようと思います。「ホーム」ボックスのメニューから「ボックスを編集」を選択、「ホームボックスをオフにしますか？」では、「設定する」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/384d911a-0214-07f9-ded1-a82939e323d0.png)
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/2f9d23b9-d7bd-3193-d55e-029cd366f625.png)
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/874bf957-7da0-d391-ac34-50599698dcf8.png)
　次に「ホーム」ボックスの隣に、「AI会話」ボックスを追加します。空のボックス「＋」をクリック、ボックス一覧から「AI会話」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/50f88c9f-4d6e-2d8a-dd24-a077fa0519b5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/0f74dc9c-46f7-2d1f-1ffb-d3f8a485a133.png)
 AI会話ボックスを編集します。AI会話ボックスのメニューから「ボックスを編集」をクリックします。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/d303097d-a337-fbf1-bac0-13a4fe1ba8a2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/366aaa51-b480-d2e2-416f-3d6f226c24ae.png)
 AI会話ボックスの設定画面が表示されます。画面をスクロールし、「会話内容のカスタマイズ」欄にて、OFFをONに変更します。警告画面が表示されますので、閉じるを押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/d94e3c6a-11c7-2dea-3dab-0ca7cc055372.png)

##秘密鍵(json）のアップロード
 次に秘密鍵(json）の作成にて保存したJSONファイルを「DialogFlowの認証JSONをアップロード」欄のファイルを選択にてアップロードします。アップロードに成功すると、「認証json設定済み」となります。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/3346dfff-2189-7cd3-896f-f9889d1c5fe6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/8a7a1481-726f-9362-f2b5-ab4a9b4dc3c0.png)
 「想定外のユーザー発話」は、Dialogflowに指定していない発話があった場合にどのような対応をするかの選択となります。デフォルトでは、Dialogflowで指定していないユーザ発話だった場合、「会話内容を一覧で選択」で選択した会話で対応する設定になっています。必要に応じて切り替えてください。また、event名はPepperから会話を始める場合に指定します。今回はユーザからの発話で会話をはじめるため、空欄としてください。詳しくは次回以降の投稿で記載いたします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/3d35316a-7a3e-c0ce-d2ed-8e83c3905482.png)
 AI会話ボックスの編集が終了したら、「ボックスを保存」を行い、「閉じる」をクリックします。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/9dd73ebd-77ba-61ef-22cb-a5a935680f45.png)

##お仕事のロボットへの配信
 作成したお仕事を「保存する」ボタンで保存します。保存完了のメッセージにて、「ロボット配信用データを生成する」ボタンをクリック、「配信設定ページへ」をクリックしてお仕事作成は終了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/6ba6933b-b758-98a8-fed0-ca0e79dc9ca2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/54dd3331-8e46-ae46-e6d1-11538c487d41.png)
 お仕事の一覧画面のお仕事名にフォーカスを当てると、メニューが表示されます。「ロボットに配信」をクリックすると、お仕事がロボットに配信されます。
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/57586374-8eb7-a5be-c9a9-7f705e781a12.png)

#Pepperで実行
 Pepperにお仕事がダウンロードされ、お仕事が起動したら、Pepperに「好きな食べ物教えて」と話しかけてください。タブレットに「焼肉」、「お寿司」の選択ボタンが表示され、再び聞き取りモードとなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/13343bae-7e47-e246-a535-5768605cf63d.png)
 どちらも好きですが、「お寿司」と発話で答えてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131693/c2121bc3-b223-7302-74ea-c255cb18798b.png)

#最後に
 おつかれさまでした。Pepperとの会話をプログラムを作ることなく、カスタマイズできました。タブレットには画像、動画、ボタンなど会話しながら色々と表示が可能です。今回はテンプレートのまま実装しましたが、次回以降で色々とカスタマイズしていこうと思います。

---
**次の記事：[Pepper for Biz3.0のAI会話のカスタマイズ (2)](https://qiita.com/HiroyukiYasui/items/4f825dd392f6db0b5176)**