機械翻訳について

デシジョン・モデルを作成する準備はできましたか?

外出するので、天気の準備をしたいと思っていますか?

それを修正するプロセス・アプリケーションを作成しましょう。 プロンプトが表示されたら、気温と雨の予想を入力し、アプリケーションが持ってくる必要があるかどうかを決定します:

  • 暖かく雨の天気のための傘

  • 寒さと雨の天気ためのレイン・コート

  • 寒くて乾燥した天気のためのオーバーコート

  • 暖かく乾燥した天気のためには何もない

この例を使用して、デシジョン・モデルの作成、デシジョン・ロジックの定義、DMNサーバー上でのアクティブ化、プロセス内でのデシジョン・サービスの使用など、デシジョン・モデルのライフサイクル全体を探索します。

単純なアプリケーションの作成

まず、デシジョンのためのアプリケーションを作成しましょう。 そのプロセスはWebフォームから始まります。このフォームには、気温と降雨予測数を入力する2つの入力フィールドがあります。 その後、デシジョン要素を使用してデシジョン・サービスを呼び出します。 最後に、ヒューマン・タスク要素がデシジョン結果を表示します。この結果は、天気に基づいてその日に何をもたらすかを示します。

  1. アプリケーションを作成します。

    プロセスをクリックし、プロセス・アプリケーションをクリックしてプロセス・アプリケーションページに移動し、作成をクリックします。

    「アプリケーションを作成」をクリックします。 名前(What To Bring)を入力し、「作成」をクリックします。

  2. プロセスの作成

    アプリケーション内の「プロセス」タブで、「作成」「新規プロセス」の順にクリックします。 「プロセスの作成」ペインで「フォーム」を選択し、プロセス名(Decision Process)を入力して「作成」をクリックします。

  3. デシジョンとヒューマン・タスクを追加します。

    「デシジョン・プロセス」タブで、Elementsパレットの「システム」を展開し、「デシジョン」要素をプロセスにドラッグして、開始イベントの後にドロップします。

    パレット上で「ヒューマン」を展開し、「送信」要素をプロセスにドラッグし、デシジョン要素の後にドロップします。

  4. フロー要素の名前を変更します。

    フロー要素をダブルクリックし、開始イベントの名前をInput ForecastDecide What to Bringへの変更、ヒューマン・タスクの名前をDisplay Resultに変更します。

    decision-process.pngの説明が続きます
    図decision-process.pngの説明

  5. Webフォームを追加します。

    「入力予測」要素を選択し、「メニュー」 メニュー・アイコンをクリックして、「プロパティを開く」を選択します。 「タイトル」フィールドに、アプリケーション用に表示する名前(Forecast)を入力します。

    「フォーム」フィールドの横にある「新しいフォームを作成」 「Add」アイコンをクリックします。 「名前」フィールドにInputForecastWebFormを入力し、「すぐに開始」チェックボックスをオンにして、「作成」をクリックします。

  6. webフォームに予測入力フィールドを追加します。

    基本パレットから、2つの「数値」コントロールと1つの「入力テキスト」コントロールをキャンバスにドラッグ・アンド・ドロップします。 各コントロールを選択し、Propertiesペインの「ラベル」フィールドを編集し、番号コントロールをTemperatureRainに変更し、テキスト・コントロールをWhat To Bringに変更します。 さらに、コントロールの名前フィールドを次のように編集: temperaturerainおよびwhatToBring

    「持っていくもの」コントロールを選択し、全般タブをスクロールして、「非表示」チェックボックスをオンにします。 コントロールが非表示になるように、コントロールが淡色表示になっていることに注目してください。

  7. プレゼンテーションを追加して結果を表示します。

    コントロールの外のフォームをクリックします。 フォーム・タブで、「プレゼンテーション」の横にある「プレゼンテーションの追加」 プレゼンテーションの追加アイコンをクリックします。 「プレゼンテーション・タイプの選択」ダイアログ・ボックスで、「カスタマイズ」を選択します。 「プレゼンテーションの作成」ダイアログ・ボックスで、「前のプレゼンテーションから選択」フィールドの「メイン」を選択し、新しいプレゼンテーションの名前(Result)を入力して、「作成」をクリックします。 新しい結果プレゼンテーションで、プレゼンテーション名の横にある「カスタマイズ」をクリックし、表示されたウィンドウで、「持っていくもの」コントロール行の「隠された」をクリックして、このプレゼンテーションのコントロールを表示します。 「Close」をクリックします。

    Webフォームの詳細を知りたいですか? 「Webフォームの作成」を参照してください。

    webform-presentation.pngの説明が続きます
    図webform-presentation.pngの説明

  8. アプリケーションを保存します。

    アプリケーションの操作についてもっと知りたいですか? 「アプリケーションの作成および管理」を参照してください。

  9. 「デシジョン・プロセス」タブをクリックして、プロセスに戻ります。 「表示結果」ヒューマン・タスクのプロパティを開きます。 「フォーム」フィールドの隣の「ブラウズ」 「Browse」アイコンをクリックし、InputForecastWebFormを選択します。 「プレゼンテーション」フィールドで、「結果」を選択します。

デシジョン・モデルを作成

デシジョン・モデルは、その名前が意味するものを実行: デシジョンの仕方を定義することができます。 これには、デシジョン、入力データおよびその他の定義のコレクションが含まれます。

デシジョン・モデルを作成するには:
  1. ナビゲーション・ペインの「戻る」 「戻る」アイコンをクリックして「プロセス・アプリケーション」ページに戻ります。
  2. ナビゲーション・ペインで、「デシジョン・モデル」をクリックします。

    複数のアプリケーションでデシジョン・モデルを使用できます。

  3. 「作成」をクリックします。
  4. 「デシジョン・モデルを作成」をクリックします。
  5. 「デシジョン・モデルを作成」ダイアログ・ボックスで、モデルの名前(What To Bring Decision Model)を入力し、「作成」をクリックします。

    グラフ・ビューにデシジョン・モデル・エディタが開き、入力したタイトルが上部に表示されます。 エディタには、デシジョンを構築する中央キャンバス領域が含まれており、ダイアグラム・パレットと展開可能なサービス・ペインが両側にあります。

    「デシジョン・モデルの使用」を参照してください。

デシジョンの追加

デシジョン・モデルのフレームワークを設定しましょう。 デシジョン・モデルと記法(DMN)では、デシジョン・モデルが中心的な問題に答える。 このモデルは質問に答えます: 天候のために準備するために持ち込むものは何ですか?

  1. 結果のデシジョンを追加します。
    1. ダイアグラム・パレットで、「デシジョン」の横の「展開」 「Expand」/「Collapse」アイコンをクリックします。 「空のデシジョン」要素を選択してキャンバスにドラッグします。
    2. デシジョン名(What To Bring)を編集します。 後でロジック・タイプを変更することができます。
  2. サポート・デシジョンを行うための2つ以上のデシジョンを作成します。

    ほとんどのデシジョン・モデルには、結果のデシジョンに役立つデシジョンを支援する機能が含まれています。 何をもたらすかを決めるには、これらの質問に答えるためのデシジョンを支持する必要があります: 1)それは暖かいか寒いでしょうか?2)雨が降るでしょうか?

    1. ダイアグラム・パレットから、2つの空のデシジョンをキャンバスにドラッグし、結果のデシジョンの下に追加します。 これらのデシジョンの名前(TemperatureおよびRain)を編集します。
    2. サポートするデシジョンから結果デシジョンへの接続を作成します。 サポートするデシジョンを選択して「新しい接続を作成」 新規接続の作成アイコンをクリックし、マウスを押したままにします。 カーソルを結果のデシジョンに移動し、クリックを放します。

    decisions.pngの説明が続きます
    図decisions.pngの説明

    例のダイアグラムでは、最上位のデシジョンが「主な結果」のデシジョンであることに注意してください。 「サポート」のデシジョンは、主なデシジョンの下に追加されます。 ただし、デシジョンはいくつかの方法で順序付けできます。 たとえば、トップダウン・シーケンス、左から右へのフローなどを作成できます。

入力を定義

入力(またはデータ)なしで良い判断をするのは難しいです。 私たちの"天気"の例では、入力は2つの数字: 気温と雨のパーセント予測。 定義を設定しましょう。

  1. ダイアグラム・パレットで、「入力データ」要素を選択し、キャンバスにドラッグして、サポートするデシジョンの下にドロップします。 要素名(Forecast)を編集します。
  2. 予測の複合型定義を追加します。
    1. 入力要素を選択し、「プロパティを開く」 プロパティを開くアイコンをクリックします。
    2. プロパティ・ペインで、「モード」「その他のタイプ」として選択し、ペインに表示される「新しいタイプを定義」リンクをクリックします。
      新しいタイプ定義がデフォルト名で作成され、「タイプ定義の追加」パネルが編集用に開きます。
    3. タイプ定義パネルで、次の手順を実行します:
      1. 定義名(ForecastType)を編集し、「複合」として「モード」を選択します。

      2. 2つの属性を追加するには、「タイプ属性の定義」の横にある「コンポーネントの追加」をクリックします。

      3. 最初の属性の名前にTempと入力し、モードとして「数値」を選択します。 「閉じる」 「Close」アイコンをクリックして「タイプ定義の追加」パネルに戻ります。

      4. 2番目の属性に対して、Precipを名前に入力し、「数値」をそのモードとして入力します。

      5. 「Close」をクリックします 「Close」アイコン

  3. 「入力データ・プロパティ」ペインで、「その他のタイプ」フィールドで定義したタイプ定義を選択して、Forecastデータ変数に関連付けます。 フィールドの横にあるボタンを使用して、タイプ定義を編集または削除できます。
  4. 「閉じる」 「Close」アイコンをクリックして、「入力データ・プロパティ」ペインを閉じます。
  5. ここで、入力データ要素からサポートするデシジョンへの接続を作成します。
    1. 要素を選択して「新しい接続を作成」 新規接続の作成アイコンをクリックし、マウスを押したままにします。
    2. カーソルを「温度」要素に移動し、クリックを放します。
    3. このステップを繰り返して、「雨」要素への接続を作成します。

    入力についてもっと知りたいですか? 「デシジョン入力およびタイプの定義」を参照してください。

モデル・デシジョン・ロジック

さて、デシジョンの空のロジックを変更しましょう。 さまざまな方法でデシジョン・ロジックを構成できますが、ここではブール式、if-then-else式、およびデシジョン表を作成します。

  1. 雨予報のブール式を構成します。
    1. 「雨」のデシジョンを選択し、「プロパティを開く」 プロパティを開くアイコンをクリックして「判断のプロパティ」ペインを開きます。
    2. 「ロジック」フィールドで、デシジョン・タイプを「式」に変更します。

      デシジョンのアイコンが式アイコンに変わります。 また、まだ式を入力していないため、小さな赤い円は検証エラーを示します。

      プロパティ・ペインの他のフィールドの詳細は、「デシジョンの追加および順序付け」を参照してください。

    3. すでに定義した入力データを使用して式を入力します。 要素をダブルクリックするか、プロパティ・ペインの名前フィールドの横にある編集 「Edit」アイコンをクリックして、次の条件を入力します:

      Forecast.Precip>80

      decision-logic1.pngの説明が続きます
      図decision-logic1.pngの説明

      降水の入力値が80%より大きい場合、このブール式はtrue(雨の可能性が高い)です。さもなければ、それはfalse(雨はありそうもない)になります。

      表現言語についてもっと知りたいですか? 「Friendly Enough Expression Language (FEEL)を使用した式の定義」を参照してください。

    4. 「閉じる」 「Close」アイコンをクリックしてキャンバスに戻ります。 式が現在有効であるため、検証エラーは表示されなくなります。
  2. 温度予測のためのif-then-elseデシジョンを構成します。
    1. 「温度」のデシジョンを選択し、「プロパティを開く」 プロパティを開くアイコンをクリックして「判断のプロパティ」ペインを開きます。
    2. 「ロジック」フィールドで、デシジョン・タイプをIf then Elseに変更します。 デシジョン要素には、完了する必要があるアイテムの検証エラーが表示されます。
    3. 温度要素をダブルクリックするか、プロパティ・ペインの名前フィールドの横にある編集 「Edit」アイコンをクリックして、次のようにifthenおよびelse式フィールドをデシジョンします:
      • 次の場合: Forecast.Temp>65

      • 次に: "warm"

      • else: "cold"

      Warmおよびcold値は文字列であるため、値を引用符で囲む必要があります。 (あなたのロケーションによっては、華氏> 65の温度条件を摂氏> 18に調整することができます)。

      decision-logic2.pngの説明が続きます
      図decision-logic2.pngの説明

    4. 「閉じる」 「Close」アイコンをクリックしてキャンバスに戻り、検証エラーが表示されなくなったことを確認します。
  3. 「持っていくもの」デシジョンのためのデシジョン表を構成します。

    デシジョン表を使用すると、入力、出力、およびルールをコンパクトな方法でモデル化できます。 入力データと他のデシジョンの結果を使用して、最終出力デシジョンを導出します。

    この例では、温度および雨の入力デシジョンにそれぞれ2つの可能性があり、合計4つの出力可能性が生じる。

    温度(入力) 雨(入力) 持ち出すもの(出力)
    warm true umbrella
    cold true raincoat
    cold false overcoat
    warm false nothing
    1. 「持っていくもの」のデシジョンを選択し、「プロパティを開く」 プロパティを開くアイコンをクリックして「判断のプロパティ」ペインを開きます。
    2. 「ロジック」フィールドで、デシジョン・タイプを「デシジョン表」に変更します。
    3. デシジョン要素をダブルクリックして、開始した表を確認します。
      • 黄色の列はoutput用であり、常に表の最後の列です。 「持っていくもの」はすでに出力デシジョンとして指定されています。

      • 隣接するグレーの列は、input用です。 出力列の上にあるコントロールの1つを使用して、2番目の入力列を追加します。

      • 行はrules用です。 1というラベルの行がすでにリストされています。

      • ルール1の1の上には、表がユニークなヒット・ポリシーを使用していることを示すUがあります。 ヒット・ポリシーは、複数のルールが入力データと一致する場合に、デシジョン表の出力を決定します。

        「ヒット・ポリシーの構成」を参照してください。

    4. 「持っていくもの」出力列の可能な値を構成します。
      • 「持っていくもの」列で、Enter 「許容値」をクリックします。

      • 表示されるダイアログで、モードフィールドでテキストを選択し、許容値フィールドで値リストを選択して、次の値を入力: umbrella raincoatovercoatnothing

      • 「閉じる」をクリックします。

      decision-input-configuration.pngの説明が続きます
      図decision-input-configuration.pngの説明

    5. 「温度」入力列を構成します。

      グレー入力列の「式の入力」セルで、Ctrl+Spaceを押してポップアップ・メニューを開きます。 メニューから「温度」を選択します。 入力列の場合、許可値セルは入力式に基づいて自動入力されます。

      許可された値の別のセットを指定するには、「デシジョン表の入力の定義」を参照してください。

    6. 「雨」入力列を追加および構成します。
      • 「温度」入力列をクリックし、「次の後に列を追加」 列を後に追加アイコンを選択します。

      • 「式の入力」セルで、Ctrl+Spaceを押してポップアップ・メニューを開きます。 メニューから「雨」を選択します。 許可された値セルにブール値が自動入力されます。

    7. ルールを追加および構成します。
      • 行1で、「温度」の下のセルをクリックし、warmを選択します。

        テキストを表すセルの文字列モードのアイコンアイコンに注目してください。 このアイコンをクリックすると、この列のすべてのセルのテキストテキスト・モードのアイコン、任意の任意のアイコンおよび拡張拡張モード・アイコンモードを切り替えることができます。

        「ルールの構成」を参照してください。

        テキスト・モードでは、テキスト文字列は自動的に斜体になり、引用符は必要ありません。

      • 「雨」の下のセルをクリックし、trueを選択します。 セル内のブール・アイコンアイコン(ブール値を表す)に注意します。 このアイコンをクリックすると、この列のすべてのセルのブールブール・アイコン、任意の任意のアイコンおよび拡張拡張モード・アイコンモードを切り替えることができます。

      • 「持っていくもの」の下のセルをクリックし、自動提案メニューからumbrellaを選択します。 必要に応じて、セルのモードをテキストに設定します。 引用符は不要です。

    8. 「後にルールを追加」 アイコンの後にルールを追加を3回クリックして、表に3つの行を追加します。
    9. デシジョン表の完全なルール2〜4:
      • ルール2では、coldtrue、およびraincoatを選択します。

      • ルール3では、coldfalse、およびovercoatを選択します。

      • ルール4では、warmfalse、およびnothingを選択します。

      decision-table.pngの説明が続きます
      図decision-table.pngの説明

    10. デシジョンをクローズします。
デシジョン・モデルのタイプについてもっと知りたいですか? 「モデル・デシジョン論理」を参照してください。

デシジョンのテスト

モデルが入力値でテストして、必要な結果を生成していることを確認します。

  1. 「テスト」 テスト・アイコンをクリックします。
  2. 「テスト・デシジョン・モデル」ペインで、「温度」フィールドおよび「雨」フィールドに値を入力して、「テストの開始」をクリックします。 たとえば、両方のフィールドに85と入力します。

    デシジョン・モデルの結果ペインにデシジョン結果が表示されます。 緑色のチェックマークをクリックすると、デシジョン結果が表示されます。

    decision-model-result.pngの説明が続きます
    図decision-model-result.pngの説明

  3. 「戻る」をクリックし、ステップ1と2を繰り返して、各デシジョン・ルールの結果をテストします。
    温度(F) 降水% 結果

    85

    85

    • 持っていくもの: umbrella

    • 温度: warm

    • 雨: true

    50

    85

    • 持っていくもの: raincoat

    • 温度: cold

    • 雨: true

    50

    50

    • 持っていくもの: overcoat

    • 温度: cold

    • 雨: false

    85

    50

    • 持っていくもの: nothing

    • 温度: warm

    • 雨: false

  4. デシジョン・モデルを保存します。

    もっと学びたいですか? 「テスト・デシジョン」を参照してください。

サービスの作成

デシジョン・ロジックを完了してテストしたら、「プロセス」と通信するRESTfulなサービスを作成します。 デシジョン・サービスは、公開するデシジョンおよび入力データを指定します。

  1. サービス・ペインを開き、「新しいサービスを追加」 「Add」アイコンをクリックします。
  2. デシジョン・サービスの名前(What To Bring Service)を入力し、OKをクリックします。
  3. 「出力デシジョン」フィールドをクリックし、リストから「持っていくもの」を選択します。 まだ入力データを指定していないため、検証エラーが表示されます。
  4. 同様に、「入力データ」フィールドをクリックし、「予測」を選択します。

    decision-services.pngの説明が続きます
    図decision-services.pngの説明

    複数のデシジョンを出力し、複数のデータ・アイテムをサービスに入力できます。 「サービスとしてデシジョンを公開」を参照してください。

  5. ツールバーの「保存」をクリックします。

デシジョン・スナップショットのアクティブ化

デシジョン・モデルを使用するには、スナップショットを作成し、DMNサーバー上でスナップショットをアクティブにする必要があります。

  1. デシジョン・モデル・エディタ・ツールバーで、「アクティブ化」をクリックします。
  2. スナップショットの作成およびアクティブ化ダイアログ・ボックスで、名前(What to Bring Snapshot)を入力し、「アクティブ化」をクリックします。
  3. デシジョン・モデル・エディタ・ツールバーの「スナップショット」をクリック

    アクティブ化したスナップショットが、ほかのアクティブ化されたスナップショットとともにリストされていることに注意してください。 ここでは次のことができます:

    • 選択したスナップショットを有効または非アクティブにします。

    • スナップショットの削除 スナップショットを削除するには、そのスナップショットを非アクティブにする必要があります。

    • スナップショットの読み取り専用バージョンを表示します。

    • スナップショットをエクスポートします。スナップショットは後で新しいデシジョン・モデルにインポートして内容を編集できます。

    manage-snapshots-dmn.pngの説明が続きます
    図manage-snapshots-dmn.pngの説明

    デシジョン・モデルのスナップショットとそのバージョンの管理についてもっと知りたいですか? 「デシジョン・モデル・スナップショットの管理」を参照してください。

  4. 「閉じる」をクリックします。

アプリケーションでデシジョンを使用

次に、アプリケーション内のプロセスでアクティブ化されたデシジョン・スナップショットを使用しましょう。

  1. 「戻る」 「戻る」アイコンをクリックして、「デシジョン・モデル」ページに戻ります。
  2. ナビゲーション・ペインで「プロセス・アプリケーション」をクリックし、作成した「持っていくもの」アプリケーションを開きます。

    「単純なアプリケーションを作成」を参照してください。

  3. デシジョン・プロセスを開きます。 選択したデシジョン要素(Decide What to Bring)を選択し、「メニュー」 メニュー・アイコンをクリックして、「プロパティを開く」を選択します。
  4. プロパティ・ペインで、「デシジョン・モデル」フィールドの横にある「デシジョン・モデルを使用」 デシジョン・モデル・アイコンを使用をクリックします。
  5. 「アクティブ化済デシジョン・モデル」ダイアログ・ボックスで、作成してアクティブにしたスナップショット(What To Bring Snapshot)を選択し、「使用」をクリックします。

    activate-decision-model.pngの説明が続きます
    図activate-decision-model.pngの説明

    プロセスは、アクティブ化されたデシジョン・モデル・スナップショットをアプリケーションに挿入し、データ型のインポートやRESTコネクタのサービスへの定義などのバックグラウンド操作を実行します。 「アプリケーションおよびプロセスへのデシジョンの追加」を参照してください。

    プロパティ・ペインに、使用するように選択したデシジョン・モデルとサービスが表示されるようになりました。

    decision-process-properties.pngの説明が続きます
    図decision-process-properties.pngの説明

  6. 「ペインの縮小」 折りたたみペインのアイコンをクリックしてプロパティ・ペインを閉じます。

デシジョンとの間のデータのマップ

データ・マッピングを設定することは、デシジョン・モデルを構成する際の最後のキーです。 Webフォームからデシジョンにデータを流す必要があり、その結果がヒューマン・タスクが表示できるように、デシジョンから外に出なければなりません。

  1. 「デシジョン・プロセス」タブで、Input Forecast開始アクティビティおよびDisplay Resultヒューマン・タスク用に自動的に構成されたデータの関連付けを表示します。
    1. 「入力予測」要素を選択し、プロセス・ツールバーの「データ関連付け」 データ関連付けアイコンをクリックします。 両方のペインの値を展開します。 Webフォームに入力された値は、inputForecastWebFormDataObjectというデータ・オブジェクトに書き込まれます。 「Cancel」をクリックします。
    2. 「表示結果」要素を選択し、ツールバーの「データ関連付け」 データ関連付けアイコンをクリックします。 入力の場合、同じデータ・オブジェクト(inputForecastWebFormDataObject)が値をWebフォームに書き戻すのに使用されます。 「Cancel」をクリックします。
  2. デシジョン要素の入出力データの関連付けをマップします。

    このデシジョンは、inputForecastWebFormDataObjectに含まれる入力値(雨、温度)を使用して、デシジョン結果(何をもたらすか)をデータ・オブジェクトに出力する必要があります。

    1. 「持っていくものを決める」要素のオープン・データの関連付け。 「入力」タブを選択した状態で、両側のペインの値を展開します。
    2. 雨と気温の値を次のようにマッピングします:

      inputForecastWebFormDataObject.rain から body.forecast.precip

      inputForecastWebFormDataObject.temperature から body.forecast.temp

    3. 出力タブが選択された状態で、次のように何を持ってくるか決定値をマッピングします:

      bodyOutput.interpretation から inputForecastWebFormDataObject.whatToBring

  3. 「適用」をクリックします。

    「データ関連付けの構成」を参照してください

実行時にデシジョンを試みる

テスト・モードでアプリケーションをエンドユーザーとして実行してみましょう。

  1. ツールバーの「テスト」をクリックします。
  2. 「テスト・アプリケーション」タブで、「アクティブ化」をクリックします。 テストのためにアクティブ化ダイアログ・ボックスで、「すべてのロールに私を加える」チェック・ボックスを選択したままにして、「アクティブ化」をクリックをします。
  3. アプリケーションが正常に起動したら、「テスト・モードで試してみてください」をクリックします。 ランタイム・オプションを表示する新しいブラウザ・タブが開いたら、My Appsペインから「予測」をクリックします。
  4. フォームで温度と降雨の値を入力し、「送信」をクリックします。
  5. をクリックして「マイ・タスク」を開き、新しいタスクを開きます。 「持っていくもの」フィールドには、入力した値に基づいてデシジョンの結果が表示されます。