今回、執筆活動を始めた、4番手の執筆者の「Ogawa」です。野球でいうと4番は主砲ですが、私はまだまだです。
今回は、目新しい機能である「GeneXus 15 U12」から機能追加された”Chatbot ジェネレーター”の使い方を、ご紹介させて頂きます。 GeneXusでは、「IBM Watson」と「Google DialogFlow」が選択できます。今回は「IBM Watson」を使用して、ご説明します。尚、IBM Watsonへの登録を除けば、『超高速』<数十分程>で、チャットボットの実装が可能です。
※本機能は2019年4月にリリースされた「GeneXus 16」の目玉機能でもあります。先行してのご紹介になります。(GeneXus16のbeta版より、GeneXus15U12に先行搭載されました。)
チャットボットとは?IBM Watsonって?いう説明は割愛させて頂きます。
(Web検索頂ければ、詳しい情報は、何処でも得られるはずです。
【2019年5月7日追記】
GeneXus16U2より、追加されたプロパティを追記致しました。また本記事の手順で、動作可能な事を確認しております。
Server要件
(GeneXus Wikiから抜粋)
http://wiki.genexus.jp/hwiki.aspx?Web 通知およびプログレス ユーザー コントロールの要件
Java:
Java 7
Java EE 7 互換アプリケーションサーバー (最小要件: Tomcat 7.0.67)
JVM 1.7 で実行されている Servlet サーバー
WAR デプロイメントをビルドしている場合、次の JAR を追加する必要があります: commons-io-2.2.jar および GXWebSocket.jar.NET
IIS8 以降 (Window 8 以降/Windows Server 2012 以降)
.NET Framework 4.5
Javaは、殆ど影響はないと思いますが、OSのバージョンに起因するため、「.Net版」は注意が必要です。
尚、執筆者のPCがWindows7だったため、「.Net版」は上手くいきませんでした。(返答レスがシームレスに返って来なかった…)
1.IBM Cloudのアカウント作成
「IBM Watson」を使用するには、「IBM Cloud」への登録が必要になります。
1) フリーアカウントの作成をクリックします。
2) 登録内容を入力します。
3)入力したメールアドレス宛に届くメールからログインします。
2. Watson Assistantへ登録
ログイン後はダッシュボードが表示されます。「リソースの作成」をクリックします。
すべてのカテゴリー → AI → Watson Assistant でクリックします。
サービス名は任意で分かりやすい名前に変更可能です。地域は「ダラス」を選択して下さい。
*「東京」を選択した所、GeneXusからの接続が上手く動作しませんでした。2019年4月にGeneXus16U2に試した際にも事象は改善されていませんでした。
作成をクリックします。画面が切り替わり、下記画面になります。
ツール(「Watson Assistant」)の起動をします。
画面が切り替わります → ページ中段の「Create a Skill」をクリックします。
ワークスペース(フロー)の作成をします。「Create New」をクリックします。(画像の右側の画面)
(GeneXusと連携される部分になります。)
Name、Descriptionは任意、Languageは、Japanese を選択して下さい。
Watsonを利用する際は「ワークスペース」で会話フローを作成しますが、
後述するGeneXusのチャットボットオブジェクトで会話フローの作成・定義 → Watson(該当のワークスペース)へ反映となるため、IBMのサイト上では、変更は出来ません。
3. GeneXus ChatBot ジェネレーター
新規オブジェクト → Chatbots → ConversationalFlows
作成をすると、チャットボットに使用されるオブジェクト群が、インポート(オブジェクトの作成)が行われます。
作成されると、サンプルの会話フローが出来ています。
この状態では、連携されていないため、接続の設定をします。一番上のノード(青いアイコン)をクリックします。NLPのプロパティを設定します。
NLP Provider | Watson | 接続するチャットボット:Googleの「Dialogflow」とIBMの「Watson」が選択出来ます。 |
User Name | 下記の「User Name、User Password、Workspce Idの確認方法」を参照下さい。 | |
利用者パスワード | ||
ワークスペースID | 入力しない場合は、新しいワークスペースが作成されます。入力した場合は、既存のワークスペースが利用されますが、GeneXusから上書きされます。 |
※GeneXus 16以降(GeneXus16U2時点)の新しいプロパティ
Instance Language | WorkSpaceの言語(※GeneXusのデフォルト値のメッセージは日本語になりませんでした。) |
Enable SD UI Generation | スマートデバイスの画面の作成可否 |
- 認証方法のプロパティが追加されています。
Authentication Type | Basic | ユーザーID、パスワードを利用します。 |
IAM Authentication | APIキーのみを使用します。 |
IAM Authentication 選択の際、地域を選択する必要があります。尚、東京は選択肢として、用意されていないため、GeneXus16U2時点では利用できません。
Region | Frankfurt , London , Sydney , Washington, DC , Dallas |
■User Name、User Password、Workspce Idの確認方法
2.で作成したWatson Assistantのツールの起動をします。
「・・・」の箇所をクリック → View API Details をクリックします。
画面が表示されます。表示されているUser Name、User Password、Workspce IdをGeneXusに入力します。
GeneXusの入力を終えて保存して、正常に完了すると「同期 成功」と表示されます。
接続が出来ない場合は、「サーバーエラー」などのエラーメッセージが表示されます。
上記の同期後に、IBM Watson側を確認すると、GeneXusで定義されているフローの情報に更新されています。
ここまでで設定は完了です。
実行内容
ChatBotオブジェクトのTry Liveタブでは、定義した会話フローをGeneXus上で即座に確認する事が可能です。
尚、ChatBot ジェネレーターを作成した時点で、画面は自動生成されています。「PanelChatWeb」オブジェクトです。特に変更する事なく、ビルド後、動作しました。
(テーマを変更して、某有名アプリケーションぽっい様にしました。)
今回は以上です。最後までご覧頂きありがとうございました。
- 投稿タグ
- AI, chatterbot, GeneXus-Tips, GeneXus15, GeneXus16, Watson, チャットボット