グラフ、ピボットテーブル、テーブルなどのさまざまな視覚化オプションを使用してデータを表示し、Chatbot で質問に答えなくてはならないことがあります。会話型フローに Query オブジェクトを含めることで、こうしたシナリオに対応できます。
このチュートリアルを読む前に、「GeneXus を利用して Chatbot をビルドする方法」を読むことをお勧めします。
新しい Conversational オブジェクトを追加するオプションを選択してから、追加する Query オブジェクトを選択します。
その後で、Conversational Flow が初期化されます。トリガーメッセージのセクションには、クエリを説明するメッセージと、出力形式を表す GXQueryType エンティティを参照するメッセージがあります。
Sales By Country in a &GXQueryViewType:{Table}
&GXQueryViewType は、GXQueryType エンティティとマッピングされて出力形式 (横棒グラフ、円グラフ、ピボットテーブルなど) を設定する、入力パラメーターを表します。このエンティティは Chatbot エージェント (Watson、Dialog Flow など) で定義する必要があり、それには UploadGridTypeEntity プロシージャーを使用できます。「AI プロバイダーでエンティティ値を初期化する方法」を参照してください。
クエリにパラメーターがある場合、それらはすべてユーザー入力セクションで定義されます。
クエリパラメーターが必要になります。パラメーターに特定の値 (Country、Brand、Category など) が設定されている場合は、それがエンティティと一致する必要があります。また、エージェントをトレーニングするために、そのデータをエージェント (DialogFlow、Watson) にアップロードする必要もあります。パラメーターが一般的なタイプである場合 (整数など)、システム自体によって検出されます。
この例では、パラメーター「CTRDSC」がエンティティ「Country」とマッピングされています。この定義は AI プロバイダーで行う必要があります。その方法については、「AI プロバイダーでエンティティ値を初期化する方法」を参照してください。
この場合、DialogFlow に次のエンティティが表示されます:
Country エンティティを編集する場合は、値を表示または編集できます:
この例では、トリガーメッセージを次の構文で追加できます。
Sales for &CtrDsc:{Uruguay}
&CtrDsc は、データのフィルタリングに使用し、AI プロバイダーのエージェントで定義されている Country エンティティとマッピングされる、クエリの入力パラメーターを表します。
エージェントプロバイダーを構成し、Chatbot とアプリケーションを生成したら、その Chatbot を実行して、クエリとのインタラクションをテストできます。この例では、Conversational Flow の名前が SalesChatbot で、Chatbot ジェネレーターによってモジュールが自動的に生成されます。また、SalesChatbotChatbotWebUI という名前の Web パネルを実行して、インタラクションをテストできます。
たとえば、次の Conversational Flow の場合:
「Sales by Country」と入力すると、次の応答を受け取ります。Chatbot はまず国名の入力を求め、その後で、指定された国でフィルタリングしたデータを返します。
「Sales by country in a bar chart」と入力すると、次の応答を受け取ります。フローは前の例と同じですが、この場合は横棒グラフで出力が表示されます。
この機能は GeneXus 17 以降のバージョンで使用可能です。
|