OutSystemsアプリでAzure LUISコネクタを使用する
LUISはテキストから情報をスマートに抽出するMicrosoft Azureサービスです。この機能を利用することで、アプリがユーザーを「理解」することができます。チャットボットなどのテキストベースのインターフェイスで使用し、日常会話のようなやりとりを行うことができます。
たとえば、LUISアプリにカレンダーに関するドメインナレッジを組み合わせると、「午後2時から午後3時までのJeffとのミーティングを予約」というチャットボットの会話文を理解することができます。LUISは、この文の目的が午後2時から午後3時までのJeffとのミーティングをカレンダーに追加することであると特定します。LUISの用語で言うと、インテントのトップスコアはCreateCalendarEntry
で、関連エンティティはStartTime = 2 pm
、EndTime = 3 pm
、personName = jeff
です。これで開発者として、ユーザーの依頼に応じてユーザーのカレンダーにミーティングを追加するロジックを実行することができます。
ユースケースや業務に合わせたインテントとエンティティを使用して、LUISアプリのドメインナレッジを作成します。また、LUISには確認用の事前構築済みドメインがいくつか組み込まれており、これらを試すことができます。その後、OutSystemsアプリのアクションを使用して、LUISがユーザーとのやりとりで認識したインテントを処理します。
このドキュメント中の「LUISアプリ」という用語は、Microsoft Azureに含まれるLanguage Understanding(LUIS)ポータルで作成されたLUISアプリのことを指します。「コネクタ」という用語は、LUIS APIを使用してLUISアプリに接続するOutSystemsアプリのことを指します。
はじめに
OutSystemsアプリでLUISアプリの機能を利用するには、Azureリソースを設定し、LUISアプリを作成する必要があります。
LUISアプリを作成してデプロイする
詳細については、「Quickstart: Create a new app in the LUIS portal」をご覧いただいた後、「Quickstart: Deploy an app in the LUIS portal」をご覧ください。引き続きOutSystemsの設定手順を実行するには、Azureで動作するデプロイ済みのLUISアプリがあることを確認してください。
LUISを初めて利用する場合は、事前構築済みドメインによるクイックスタートをご覧ください。このチュートリアルでは、アプリの新規作成、ドメインの選択、アプリが認識できる内容の編集といったLUISの基本事項が説明されています。
LUISコネクタをインストールして参照する
コネクタをインストールしてアプリで参照するには、以下の手順を実行します。
-
ForgeからAzure LUISコネクタをインストールします。
-
Service StudioでCrtl+Qを押し、[Manage Dependencies]ウィンドウでAzureLUISConnectorを検索します。パブリック要素をすべて選択し、[Apply]をクリックします。
-
[Logic]のServer Actions > AzureLUISConnector > LUISEndpointAPI内のサーバーアクションを使用してロジックを作成します。
LUISアプリの設定を取得する
以下の手順を実行して、OutSystems LUISコネクタを構成する際に必要なLUISアプリの設定を取得します。
-
目的のLUISアプリの[Manage > Settings]に移動します。[App ID]の値をコピーします。
-
引き続き目的のLUISアプリで、[Manage > Azure Resources > Prediction Resources]に移動します。なお、[Prediction Resources]タブに複数のサービスがある場合があります。OutSystemsアプリで使用するサービスの設定をコピーします。以下の値をコピーします。
- 主キー
- エンドポイントURL
-
LUIS Programmatic APIを使用する場合は、目的のLUISアプリの[Manage > Azure Resources > Authoring Resource]から以下の値もコピーする必要があります。
- 主キー
- 場所
LUISコネクタを構成する
アプリでLUISコネクタを使用するには、Service Centerでコネクタを構成し、Azure LUISアプリで取得した値を入力する必要があります。
-
Service Centerの[Factory > Modules]に移動します。[Name]フィールドに「AzureLUISConnector」と入力して、[Filter]を押します。
-
結果リストで[AzureLUISConnector]をクリックして、モジュールの設定を開きます。[Integrations]タブに移動し、[Consumed REST APIs]セクションを確認します。
-
[Consumed REST APIs]セクションの[LUISEndpointAPI]リンクをクリックします。エンドポイントの編集画面が開きます。
-
[Effective URL]フィールドに、「
(エンドポイントURL)/luis/v2.0/apps
」という値を入力します。エンドポイントURLは、先ほど取得したLUISアプリの値です。たとえば、エンドポイントURLがhttps://example.cognitiveservices.azure.com/
の場合、[Effective URL]に入力する値はhttps://example.cognitiveservices.azure.com/luis/v2.0/apps
になります。[Apply]をクリックし、[OK]をクリックして確定します。LUISコネクタは、LUISアプリのAPI v2.0をサポートします。
-
LUISオーサリング(Programmatic)APIを使用する場合は、AzureLUISConnectorモジュールのサイトプロパティに移動します。AuthoringKeyの値を編集し、[Authoring Resource]タブで取得した主キーを入力します。
-
これで、Service StudioでLUISサービスとの接続をテストできるようになりました。
LUISコネクタをテストする
このセクションでは、コネクタとLUISアプリが想定どおりに動作することを確認する方法の例を示します。
LUIS予測APIをテストする
Service Studioでサンプルフローを作成してLUIS APIの構成をテストする方法を以下に示します。
-
Service Studioで、[Logic]の[Server Actions > AzureLUISConnector > LUISEndpointAPIに移動し、GetPredictions_Wrapperアクションをロジックフローにドラッグします。
-
GetPredictions_Wrapperのプロパティで以下の手順を実行します。
- [EndpointKey]フィールドに、LUISアプリの[Prediction Resources]タブで取得した主キーを入力します。
- [ApplicationId]フィールドに、LUISアプリの[Settings]ページで取得したアプリケーションIDを入力します。
- [QueryToPredict]フィールドに、LUISアプリに送信するテキストを入力します。
- [Staging]で、LUISアプリをステージングスロットにパブリッシュした場合は[True]を選択します。アプリを本番スロットにパブリッシュした場合は[False]を選択します。
ステージングスロットと本番スロットは、LUISアプリのパブリッシュスロットです。AzureでLUISアプリの[Publish]ボタンをクリックしたときにスロットを選択します。
-
パブリッシュしてテストし、サーバーアクションが予測オブジェクトを返すことを確認します。
構成が完了したら、LUISEndpointAPIのすべてのアクションを使用できます。詳細については、入力パラメータと出力パラメータの説明をご覧ください。
LUIS Programmatic APIをテストする
オーサリング用のコネクタを構成した後、Programmatic(オーサリング)APIをテストします。
-
Service Studioで、[Logic]のServer Actions > AzureLUISConnector > LUISProgrammaticAPI_Appsに移動し、GetPredictions_Wrapperアクションをロジックフローにドラッグします。
-
GetApplicationInfoのプロパティで以下の手順を実行します。
- [AuthoringRegionID]リストで、LUISアプリの[Authoring Resource]タブで取得した場所の値に対応する地域を選択します。
- [ApplicationId]フィールドに、LUISアプリの[Settings]ページで取得したアプリケーションIDを入力します。
-
パブリッシュしてテストし、サーバーアクションが想定どおりの値を返すことを確認します。この例では、アプリの名前を返します。
LUIS APIの概要
LUISコネクタは、LUISアプリのAPI v2.0をサポートします。
OutSystems LUISコネクタは、2種類のAPI向けのサーバーアクションを提供します。
- LUIS Endpoint API – 特定のテキストのインテントに関する予測を取得します。
- LUIS Programmatic API – オーサリングAPIとも呼ばれます。プログラムによるLUISアプリケーションとモデルの管理を行います。
LUIS APIの詳細やOutSystemsコネクタのアクションとの対応関係については、以下のリソースをご覧ください。
LUISの詳細については、Microsoft Language Understanding Intelligent Services(LUIS)のドキュメントをご覧ください。