シンチャオ!稲葉貴大です。今回は第4回ChatBot製作日記です。ベトナム生活に慣れ、ベトナムに来てから早くも3週間が経とうとしています。1日1日大切にしていきたいと思います。今回は、Fulfillmentを用いた天気情報を呼び出すChatbotを紹介したいと思います。

 

DialoflowのFulfillmentを使って天気情報を呼び出す

DialogflowのFulfillmentを使うと外部からの情報を呼び出すことができます。下図には外部情報を呼び出す上での簡単なイメージ図を示しました。詳しく次に説明したい思います。

初めにHerokuとGithubについて簡単に説明します。Herokuとはサーバーやデータベース、OSなどをインターネットを介して接続してくれるものです。アプリケーションを実行するためのプラットフォームであるPaaSでもあり、無料で使用できることも特徴の一つです。また、Githubというのは、ソフトウェア開発プロジェクトのための共有Webサービスであり、世界中の人々がプログラミングコードなどを公開、保存することが出来ます。そして人のコードを自分のコードに出来ることがメリットの一つです。今回は天気情報を呼び出したいため、Pythonというプログラミング言語を用いたプログラミングコードをGithubから選択肢し、それをHerokuを介してFulfillmentのWebhookに入力しました。

 

実際に天気情報を出力するChatbotの作成手順

最初、Herokuのページに行き、自分のアカウントを作成します。

次に、Githubのページに行き、天気に関するリポジトリを見つけます。

 

 

このページが天気に関するリポジトリです。このページの下に行くと、次のようなHerokuにdeployする場所があります。

 

 

「deploy to Heroku」をクリックすると、Herokuのページに移ります。ここで、App nameを決めてDeployします。すると、「Your app was successfully deployed」という表示がされて、Deployが完了します。これで、天気情報を読み出すプログラミングソースがGithubからHerokuにDeployされました。

 

次に、DialogflowのFullfillmentを開き、WebhookのENABLEをONにし、Webhookの変更を可能にします。次に、FulfillmentのURLに

「https://[App Name].herokuapp.com/webhook」

と入力します。この際、[App Name]には自分で設定した名前を入力します。

 

 

これでFulfillmentの設定は完了です。次に、Intentsを設定します。下図のようにTraining Phrasesに「[都市]の天気」と入力すると、都市名が自動的に反応して「PARAMETER NAME」「ENTITY」「VALUE」が書き込まれます。そして、「Action」として「yahooWeatherForecast」と入力します。その理由は、Githubで取り出したプログラミングコードを参照すれば分かりますが、「Action=yahooWeatherForecast」となった時に動作するように設定されているからです。

 

 

 

 

そして最後に、Intentsの一番下にあるFulfillmentの呼び込みを許可すれば完成です。

 

 

天気情報を出力するChatbot

以上の方法で作成したChatbotを紹介します。例えば、「東京の天気」と入力すると、次のようになりました。

 

 

「DEFAULT RESPONSE」を見ると、誤りなく天気の情報が読み出されています。また、「INTENT」として「weather」、ACTIONとして「yahooWeatherForecast」が読み出されており、正しく動作したことが確認できました。しかし、「あれ?」と思った方もいると思います。日本語で入力しているのに、英語で出力されているのです。これは、yahooWeatherForecacstが英語にしか対応していないからです。

逆に英語で入力する場合を考えます。英語で入力するには、下図に示した言語の追加のページに行って変える事ができます。

 

英語の言語を追加し、英語を選択すると次のように「en」が青く表示されます。

 

 

ここで、「weather in Kanazawa」と入力してみました。

その結果、日本語で入力した場合と同じように、正しく動作しました。つまり、出力は英語になりますが、入力言語は設定すれば対応できるということが分かりました。

以上が天気情報を呼び出すChatbotについての説明でした。

 

ChatBotについて気になった方、このようなものづくりに携わりたいと思った方!お気軽に下のボタンよりお問い合わせください!

Contact Us

お問合せはこちらから

ラボ型開発・オフショア開発・HTML5コーディング・スマホアプリ・グミに対する質問などお気軽にご連絡ください。

Contact Us