![見出し画像](https://assets.st-note.com/production/uploads/images/102724601/rectangle_large_type_2_7ba539106f9ebe036c1f6facf971a67c.png?width=1200)
Pepperの自然な会話を作ってみよう!拡張機能「会話系AI」を使ってみた【ミワ ムラタのRobo Blocks奮闘記】
こんにちは!Robo Blocksチームのムラタ ミワです。プログラミング初心者ながら、プログラミングツールRobo Blocksを担当しています。
今回は、Pepperとの自然な会話を実現すべく、Robo Blocksの拡張機能「会話系AI」を使ってみようと思います。これは、チャットボットを自ら作れる、GoogleのDialogflowを利用した機能です。
チャットボットとは自動会話プログラムです。アプリやWebのサービスで、問い合わせをしようとした際に、電話やメールでの問い合わせ窓口以外に、チャットの自動応答の問い合わせ窓口がある場合がありますが、あれらはチャットボットを使った事例の1つです。
「会話系AI」では、ユーザーからの問いかけに対して、あらかじめ回答を設定しておくことができます。Robo Blocksの既存の聞き取りブロック/言葉を聞き取ったときブロックを利用した会話よりも、応答のバリエーションをより柔軟に作ることができます。
では、早速、わたしが使ってみた様子をご紹介。簡単に1ターンの応答を作ってみました。(2023年3月16日時点の情報です)
Dialogflowで会話を作る
1. Dialogflow画面を開く
こちらのURLを開いてください
https://dialogflow.cloud.google.com/
2.Googleアカウントでサインイン
※既にGoogleアカウントでサインイン済みのChromeで開いた場合は、この画面は表示されません。3に進んでください。
この画面が表示された場合は、任意のGoogleアカウントでサインインしてください。
「Sign-in with Google」ボタンをクリック
![](https://assets.st-note.com/img/1681181752786-HffYsbhj7S.png)
メールアドレスまたは電話番号を入力し、「次へ」ボタンをクリック
![](https://assets.st-note.com/img/1681181779199-CRdv6ppNLP.png?width=1200)
パスワードを入力し、「次へ」ボタンをクリック
![](https://assets.st-note.com/img/1681181788501-J6G2xNCv9a.png?width=1200)
3.AGENTを作成
右下の「CREATE AGENT」ボタンをクリック
![](https://assets.st-note.com/img/1681181855854-5SyzP4IobS.png?width=1200)
AGENT NAMEに、任意の名前を英字で入力。DEFAULT LANGUAGEに使いたい言語を設定。ここでは日本語(Japnese)を設定。
![](https://assets.st-note.com/img/1681181908508-Dix4buseqi.png?width=1200)
「CREATE」ボタンをクリック
![](https://assets.st-note.com/img/1681181928035-5k2gS5KIr4.png?width=1200)
4.会話を設定
画面左のメニューから「Intents」を選択し、「CREATE INTENT」ボタンをクリック
![](https://assets.st-note.com/img/1681181981797-FsMHb5MN70.png?width=1200)
Intent nameを入力します。ここでは、朝のあいさつを作ろうと思うので、”おはよう”にしました。
![](https://assets.st-note.com/img/1681182034743-mJFE6i9spn.png?width=1200)
まずは、ユーザーのセリフを入力します。ユーザーのセリフは、Training phrasesです。「ADD TRAINING PHRASES」をクリック。
![](https://assets.st-note.com/img/1681182062669-mvT58MQ0zF.png?width=1200)
ユーザーのセリフを入力。複数のセリフを入力できます。ユーザーから言われそうなパターンを想像して入力します
![](https://assets.st-note.com/img/1681182093065-ahWygspxNb.png?width=1200)
続いて、Pepperの返答を入力します。画面を下にスクロールしてResponsesを探します。「ADD RESPONSE」をクリック
![](https://assets.st-note.com/img/1681182129583-vKTrnwABPc.png?width=1200)
Pepperの返答を入力。ユーザーのセリフ同様、複数入力できます。ランダムで複数の言い方で返答できます。
![](https://assets.st-note.com/img/1681182156435-ZqZq6D2iqu.png?width=1200)
6.試してみる
想定している通りに動くかどうかを試すことができます。画面右のTry it nowに、ユーザーのセリフを入力します
![](https://assets.st-note.com/img/1681185381113-taIu2RqRl8.png?width=1200)
Pepperからの返答が表示されます。
![](https://assets.st-note.com/img/1681185411355-8wzRyKic78.png?width=1200)
7.保存する
「SAVE」ボタンをクリック
![](https://assets.st-note.com/img/1681185455065-i9X1fUYgnf.png?width=1200)
Dialogflowで作った会話をRobo Blocksで使えるようにする
1.Dialogflowで認証用のJsonファイルを取得
画面左のメニューの上にある歯車マークをクリック
![](https://assets.st-note.com/img/1681186168736-7WhKEsQBfN.png?width=1200)
Project IDの青字部分をクリック。
![](https://assets.st-note.com/img/1681186817474-h1dHu0NedK.png?width=1200)
Google Cloudの画面が開きます。画面左のメニューから「IAMと管理」、「サービスアカウント」をクリック。
![](https://assets.st-note.com/img/1681186925665-lhWIiz4zg0.png?width=1200)
※このとき、左側にメニューが表示されていない場合は、画面左上のメニューアイコンをクリックし、メニューを表示してください。
![](https://assets.st-note.com/img/1681187269958-QqvJevq2BO.png)
「サービスアカウントを作成」をクリック
![](https://assets.st-note.com/img/1681188643690-OurxM6CfWU.png?width=1200)
「サービスアカウント名」に好きな名前を入力。後で変更可能
※「サービスアカウントID」は、サービスアカウント名を入力すると自動で入る
※後で変更不可なのでご注意ください。
「サービスアカウントの説明」は、任意で入力。
※後で変更可能
「作成して続行」をクリック
![](https://assets.st-note.com/img/1681188702238-DnZJUyrlzi.png?width=1200)
「ロールを選択」をクリック
![](https://assets.st-note.com/img/1681188730607-xE4Yphb7EL.png?width=1200)
「フィルタ(フィルタ テキストを入力」に、「Dialogflow」と入力
「Dialogflow APIクライアント」をクリック
※「Dialogflow API クライアント」以外の権限(ロール)を与えると、Google Cloud Platformが不正に利用されるリスクが高まります。必ずDialogflow API クライアントのみ選択されていることを確認してください
![](https://assets.st-note.com/img/1681188795648-tDxYmxu23V.png?width=1200)
作成したサービスアカウントの右端の操作ボタンをクリックし「鍵を管理」を選択
![](https://assets.st-note.com/img/1681189024006-vnBswjNvN3.png?width=1200)
「鍵を追加」をクリックし「新しい鍵を作成」を選択
![](https://assets.st-note.com/img/1681189064578-FnOQ7Q7PiP.png?width=1200)
「JSON」を選択し「作成」をクリック。JSONファイルがダウンロードされる
![](https://assets.st-note.com/img/1681189121822-JWZcpNNRdL.png?width=1200)
「閉じる」をクリック
![](https://assets.st-note.com/img/1681189508873-RWpMorqxNe.png?width=1200)
2.RoboBlocksでJsonファイルをアップロード
画面左下の「拡張機能」をクリック
![](https://assets.st-note.com/img/1681189562377-vmI6VA1XMI.png?width=1200)
「会話_会話系AI」をクリック
![](https://assets.st-note.com/img/1681189584235-EUBqNAkvMe.png?width=1200)
「会話」タブと、会話のブロックが追加されます。追加された「会話」タブをクリック
![](https://assets.st-note.com/img/1681189660366-gRDcUZo3fh.png?width=1200)
「会話モデルを追加」をクリック
![](https://assets.st-note.com/img/1681189616121-z2UJpAPwLa.png?width=1200)
「ファイルを選択」し、任意でタイトルを入力したら、「送る」をクリック
![](https://assets.st-note.com/img/1681189717175-hIhReauTxx.png?width=1200)
「OK」をクリック
![](https://assets.st-note.com/img/1681189752867-nUfjzg78RK.png?width=1200)
アップロードした会話モデルが表示されます
![](https://assets.st-note.com/img/1681189783039-f7wqzuD2q0.png?width=1200)
※Jsonファイルをアップロードした後に、Dialoflowで対象のAGENTの会話を変更しても、Jsonファイルを取得し直す必要はありません。オンラインで連携しているので、同じJsonファイルのまま、会話の変更内容も適用されます。
RoboBlocksで「会話系AI」を使ったプログラムを作る
Dialogflowで作った会話をPepperで実行できるように、Robo Blocksでプログラムを作ります。
使いたい会話モデルをクリックすると、左側の青いゾーンに選択した会話モデルが表示され、プログラムで使えるようになります。
![](https://assets.st-note.com/img/1681189805578-U7k3AjnWMW.png?width=1200)
会話系AIのブロックを使います
![](https://assets.st-note.com/img/1681189903343-Jl7Oe9GVw7.png?width=1200)
会話系AIのブロックで、使いたい会話モデルを選択
![](https://assets.st-note.com/img/1681189966827-UXRWokHSAd.png)
今回は、こんな感じでプログラムを作ってみました。
![](https://assets.st-note.com/img/1681189977467-PzwpMVFwYC.png?width=1200)
・不特定の言葉を聞き取れるように、「*」を聞き取るようにします
※「*」の使い方については、こちらの記事をご確認ください
・言葉を聞き取ったとき、他の雑音が検知されないよう、聞き取りを終了
・正しく言葉を聞き取ったか確認できるよう、聞き取った言葉を文字で表示
・聞き取った言葉に対して、Dialogflowで設定した返答をしゃべるよう、会話系AIのブロックをしゃべるブロックにセット
・再度、聞き取りを開始
最後に
今回、Dialogflowの会話の作り方としては、シンプルな受け答えの作り方をご紹介しました。Dialogflowには、文脈を記憶したり、もっといろいろな機能があるので、是非触って試してみてください!
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ソフトバンクロボティクス株式会社 ホームページ
https://www.softbankrobotics.com/jp/
Pepper for Education
https://www.softbankrobotics.com/jp/product/education/
STREAMチャレンジ
https://www.softbankrobotics.com/jp/product/academy/stream/
━━━━━━━━━━━━━━━━━━━━Pepperブログ編集部━┛