ヘッダーをスキップ

Oracle Real-Time Decisions新機能ガイド リリース2.2.1 E06108-01 |
| 目次

戻る | 次へ |

# 2 動的選択肢

この章では、Oracle Real-Time Decisions（Oracle RTD）リリース2.2.1で実装された動的選択肢について説明します。この章の内容は次のとおりです。

- 第2.1項「動的選択肢の概要」

- 第2.2項「動的選択肢の簡単な例」

- 第2.3項「単一データソースからの複数カテゴリの動的選択肢」

- 第2.4項「外部データソースの前提条件」

- 第2.5項「Oracle RTD Decision Studioでの動的選択肢の設定」

- 第2.6項「Decision Centerでの動的選択肢のレポート」

## 2.1 動的選択肢の概要

Oracle RTDにおいて選択肢とは、提案で選択可能な多種多様な代案を表します。たとえば、抱合せ販売アプリケーションにおける最適なオファーなどが挙げられます。

以前のリリースでは、静的選択肢のみが選択肢タイプとして提供されていたため、リクエスト元アプリケーションまたは自己学習モデルに提示される選択肢の値は、Oracle RTD内で完全に定義されていました。

静的選択肢は、選択肢オプションの数や値が既知の場合と、一定期間にわたって変更されない場合に有効です。

Oracle RTDリリース2.2.1では、静的選択肢と動的選択肢のどちらも利用できるようになりました。

動的選択肢の値は、データベース・テーブルやビューなどの外部データソースから取得したデータを基に生成されます。これにより、選択肢がソース・システム側で管理可能になるため、オファー管理システムで定義したオファーに基づいて選択肢を提示するといった機能を実装できます。

動的選択肢のデータは、Oracle RTDによる評価が必要となるたびに、外部データソースまたは外部ソースから取得されます。そのため、アプリケーションに提示される選択肢は時間の経過に応じて変化する場合がありますが、データは常に最新の状態に保たれます。これらの選択肢の値は、変更時にOracle RTDインライン・サービスの再デプロイが必要となる、事前定義済の静的な値に限定されていません。

注意: この項では、動的選択肢に重点が置かれていますが、Oracle RTDリリース2.2.1の選択肢グループでは、静的選択肢と動的選択肢のどちらも使用できます。 デシジョンは、これまでのリリースと同様、選択肢グループにどの選択肢タイプが含まれているかに関係なく、1つ以上の選択肢グループに関連付けることができます。

## 2.2 動的選択肢の簡単な例

簡単な例として、図2-1にInsurance_Proposalsテーブルを示します。このテーブルでは、各種保険商品を表す行が、ChoiceGroupId列のInsuranceProductsという共通値によって識別されます。動的選択肢をカテゴリ化またはグループ化する列は、動的選択肢を設定する際に必要とされる重要なキー識別子です。

グループ内の各行では、AutoInsuranceやDisabilityInsuranceなどの各種保険商品が示されます。この各行が動的選択肢となります。

1つの列は、グループ内の動的選択肢の識別に役立ちます。この例では、ChoiceID列が動的選択肢の識別子列になります。

ProfitMarginなどのテーブルの他の列は、Oracle RTDによる評価プロセスで使用可能です。これらの列も、推奨される動的選択肢の一部としてアプリケーションに送信されます。その際には、定義された選択肢属性の値となります。

図2-1 Insurance_Proposalsテーブルの保険商品

要約すると、Oracle RTDにおける設定プロセスは、動的選択肢に対して選択肢グループを設定し、その選択肢グループを必要な外部データソースまたは外部ソースに関連付けることです。これにより、動的選択肢はOracle RTDにより提案として使用できるようになります。

該当する選択肢グループで十分な数の提案を作成してモデルを更新した後は、図2-2に示すように、Oracle RTD Decision Centerを使用して、それぞれの動的選択肢のパフォーマンスを分析できます。

図2-2 Decision Centerによる動的に選択された保険商品の分析

### 2.2.1 動的選択肢の基本設計の概要

動的選択肢の基本的な設計プロセスは、静的選択肢と同様です。最初に選択肢グループを設定し、次に選択肢グループ内の動的選択肢に対して必要な要素とパラメータを定義する必要があります。設定方法の詳細は、第2.5項「Oracle RTD Decision Studioでの動的選択肢の設定」を参照してください。

この項では、Insurance_Proposalsの例を使用して、設計プロセスの概要を説明します。また、設計プロセスで使用される重要な用語についても説明します。

- 動的選択肢の全セットは、グループ化列またはカテゴリ化列に共通値を持つすべての行を指します。Insurance_Proposalsの例では、カテゴリ化列（セット識別子）はChoiceGroupId列です。

- データベース・セットの各行は、1つの動的選択肢に対応します。Insurance_Proposalsの例では、動的選択肢自体がChoiceId列の一意の値によって識別されています。

- 動的選択肢に選択肢グループを定義するには、あるグループを、動的選択肢を含む行セットにリンクする必要があります。

- 選択肢グループの動的選択肢を定義するには、グループ内の動的選択肢をそれぞれ、データソースの対応する動的選択肢の単一行にリンクする必要があります。

## 2.3 単一データソースからの複数カテゴリの動的選択肢

最も単純な動的選択肢では、データベース・テーブルのすべての行が同じカテゴリに属します。つまり、カテゴリ化列の値がすべて同じになります。

同一データベース・テーブルまたは各種データソースから、様々な動的選択肢を生成することもできます。図2-3の例では、Insurance_Proposalsテーブルが拡張された結果、保険商品と保険サービスの両方に対して選択肢が提供されるようになりました。

図2-3 Insurance_Proposalテーブルの保険商品と保険サービス

この場合は、2種類の選択肢グループを設定し、どちらのデータ・セットもアプリケーションで提案できるようにします。

該当する選択肢グループで十分な数の提案を作成してモデルを更新した後は、保険商品の動的選択肢または保険サービスの動的選択肢のいずれかのパフォーマンス、あるいはその両方のパフォーマンスを分析できます。

たとえば、図2-4に示すように、選択肢グループをOracle RTD Decision Centerのグループ階層の2つのグループとして設定し、分析に使用することもできます。

図2-4 Decision Centerでの選択肢グループ

保険商品の分析結果は、図2-2と同じになります。図2-5に、保険サービスに関する同種の分析レポートを示します。

図2-5 Decision Centerによる動的に選択された保険サービスの分析

### 2.3.1 同一データソース内の異なる動的選択肢カテゴリに関する考慮事項

通常は、選択肢グループ階層の中で実世界のカテゴリごとに別個の選択肢グループを設定する必要がありますが、必須ではありません。

各選択肢グループの構成要素と設計における考慮事項は、第2.2.1項「動的選択肢の基本設計の概要」に説明されているとおりです。

選択肢グループの設定方法の概要については、第2.5項「Oracle RTD Decision Studioでの動的選択肢の設定」を参照してください。

同一データソースから異なる選択肢グループを設定する方法の具体的な手順については、第2.5.7項「複数カテゴリの選択肢グループの作成」を参照してください。

## 2.4 外部データソースの前提条件

動的選択肢の生成に必要なデータは、外部データソースにあります。

この後の説明では便宜上の理由により、外部データソースがコール元アプリケーションのデータベース・テーブルまたはビューであると想定します。

動的選択肢のソースとして使用するデータには、次の列が必要です。

- データのカテゴリ化と抽出に使用する1つの列

  動的選択肢が1つの場合は、カテゴリ化列に同じ値を持つすべての行が抽出され、この列が抽出操作の制御に使用されます。

  次に例を示します。

  - データベース・テーブルSpecial_EventsにEvent_Type列があるとします。

  - Event_Type列の全行には、Promotion、Product_LaunchおよびMailshotという3つの値のいずれかが格納されています。

  この例では、Event_Typeがカテゴリ化列となり、動的選択肢が1つの場合は、特定のイベント・タイプに該当するすべての行（たとえば、すべてのPromotion行）が抽出されます。

- 特定の動的選択肢用に抽出される行を一意に識別する1つの列

  この列に属するすべての行の値が一意である必要はありません。抽出後のデータ・セット内でのみ一意となります。

  抽出後のデータで一意に識別する列であれば、どの列でもかまいません。この列の値には、なんらかのテキスト要素を含めることをお薦めします。この値は、Oracle RTD Decision Centerのレポートでヘッダーとして表示される場合があるため、実世界を反映する有意義な識別子のほうが、ただ単に数値を表す識別子よりも効果的です。

図2-6は、動的選択肢のデータソースとして使用可能な、Web Offersデータベース・テーブルの例です。このテーブルはOracle RTDに同梱されていません。

図2-6 外部データベース・テーブルの例

このテーブルには、次の特徴があります。

- カテゴリ化列はCategoryで、Category列の共通値はDynamicOffersCGです。

- DynamicOffersCGカテゴリの動的選択肢の識別子列として、NameまたはID列を選択できます。

## 2.5 Oracle RTD Decision Studioでの動的選択肢の設定

この項の内容は次のとおりです。

- 第2.5.1項「動的選択肢のデータソースの作成」

- 第2.5.2項「動的選択肢の単一エンティティの作成」

- 第2.5.3項「動的選択肢のセット・エンティティの作成」

- 第2.5.4項「動的選択肢のデータ取得関数の作成」

- 第2.5.5項「選択肢グループの設計に関する考慮事項」

- 第2.5.6項「単一カテゴリの選択肢グループの作成」

- 第2.5.7項「複数カテゴリの選択肢グループの作成」

図2-7に、動的選択肢に対して単一カテゴリの単純な選択肢グループを設定する方法を示します。この図の各構成要素については、この項の詳細なプロセス説明で後述します。

図2-7 単一カテゴリの動的選択肢の設定プロセスの概要

注意: この後の各項の設定プロセスを説明する図とOracle RTD Decision Studioの画面ショットは、Oracle RTDリリース2.2.1に同梱されているDC_Demoインライン・サービスに基づいています。

### 2.5.1 動的選択肢のデータソースの作成

動的選択肢のデータソースを作成する手順は次のとおりです。

1. 「Import」ボタンを使用して、外部のデータソースをポイントします。第2.4項「外部データソースの前提条件」で説明したテーブルにマッピングする新しいデータソースが作成されます。

2. 「Output」列の領域で、「Allow multiple rows」チェック・ボックスを選択し、動的選択肢に必要なすべての列を選択します。

   「Input」列の領域で、動的選択肢の行をカテゴリ化およびグループ化する、共通値を含む列を選択します。

注意: この段階では、「Output」列から、動的選択肢の識別子列を選択する必要はありません。

図2-8に、テーブルSDDS.WEBOFFERSからデータソースWeb Offers DSを設定する方法を示します。このデータソースでは、Categoryが入力の識別子となり、他のいくつかの列が動的選択肢自体の属性となります。

図2-8 Web Offers DSデータソースの定義

### 2.5.2 動的選択肢の単一エンティティの作成

動的選択肢のデータは、データソース内に存在します。Oracle RTDでは、カテゴリ自体の情報ではなく、特定のカテゴリに関連付けられたすべての情報からなる、動的選択肢の単一エンティティを作成する必要があります。

作成したデータソースでは、そのデータソースの「Output」属性が、動的選択肢の単一エンティティ属性となります。

動的選択肢の単一エンティティを作成する手順は次のとおりです。

1. 「Import」機能を使用して、動的選択肢データ用のエンティティを作成します。第2.4項「外部データソースの前提条件」で説明したデータソースのすべての出力列がロードされます。

2. データソースを選択する際には、インポート時に表示される「Select」ウィンドウの「Build data mappings for the selected data source」オプションの選択を解除します。

図2-9に、動的選択肢の単一エンティティWeb Offersの設定時に表示される「Definition」タブを示します。Web Offersの属性は、データソースWeb Offers DSの出力列と同じです。

図2-9 Web Offersエンティティの定義

### 2.5.3 動的選択肢のセット・エンティティの作成

動的選択肢の単一エンティティを作成したら、次の属性を持つ動的選択肢のセット・エンティティを作成する必要があります。

- キー属性: データソースのカテゴリ化に使用される入力列で、動的選択肢のデータが含まれます。

- 配列属性: 動的選択肢の単一エンティティのデータが格納されます。

  この配列属性は、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティと同じエンティティ・タイプである必要があります。この配列は、カテゴリ化属性を除く、データソースから抽出した動的選択肢に必要なすべての属性データのコンテナです。

動的選択肢のセット・エンティティを作成する手順は次のとおりです。

1. Oracle RTDでエンティティを作成します。

2. キー属性の場合は、「Add Key」をクリックし、データソースから動的選択肢のカテゴリ化属性を選択します。

3. 属性を作成し、その型を第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前にします。

4. このエンティティ・タイプの属性を配列にします。

   図2-10に、動的選択肢のセット・エンティティWeb Offers Listの設定時に表示される「Definition」タブを示します。キー属性はデータソースWeb Offers DSの入力列Categoryで、2番目の属性はWeb Offers型の配列属性です。

   図2-10 動的選択肢のセット・エンティティWeb Offers Listの定義

5. 「Mapping」タブをクリックして、エンティティ・タイプ属性内の各属性を、元のデータソースの適切な列にマッピングします。

6. 「Data Source Input Values」領域にあるデータソースの「Input Value」で、手順2で作成した動的選択肢のカテゴリ化属性を選択します。

   図2-11に、動的選択肢のセット・エンティティWeb Offers Listの設定時に表示される「Mapping」タブを示します。配列属性内の各属性が、Web Offers DSデータソースの対応する列にマッピングされています。「Data Source Input Values」領域では、「Input Value」の属性として、キー属性のCategoryが選択されています。

   図2-11 Web Offers ListエンティティでのWeb Offers属性のマッピング

7. 「Cache」タブをクリックします。

8. 「Enable caching for this entity type」チェック・ボックスを選択します。

   注意: 動的選択肢のセット・エンティティでは、キャッシュを有効化することが重要です。キャッシュを有効化することで、セッションが開始されるたびに、データソースから動的選択肢が繰り返し取得される事態を回避できます。

### 2.5.4 動的選択肢のデータ取得関数の作成

データベースから動的選択肢データを抽出するには、データ取得を実行する関数を作成する必要があります。この関数は、この後の項で作成する選択肢グループによりコールされます。この関数には、次の特徴があります。

- 値を返す。

- 戻り値は配列型。

- 配列要素のデータ型は、前述の項で作成した動的選択肢の単一エンティティ。

- 前述の項で作成した動的選択肢のセット・エンティティのデータソースの入力値と同じパラメータを持つ。

- 関数ロジックにより、動的選択肢のセット・エンティティが新たにインスタンス化され、動的選択肢データの配列へのインポートにパラメータが使用される。

動的選択肢のデータ取得関数を作成する手順は次のとおりです。

1. 関数を作成し、「Return value」チェック・ボックスを選択します。

2. 「Array」オプションを選択し、戻り値を配列型にします。

3. 「Data Type」では、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前を選択します。

4. 「Parameters」領域の「Name」と「Type」に、第2.5.3項「動的選択肢のセット・エンティティの作成」の手順2で作成したキー属性の名前と型を追加します。

5. 「Logic」フィールドに、次のようなコードを入力します。エンティティ名と属性名は、必要に応じて変更します。

       WebOffersList list = new WebOffersList();
       list.setCategory(category);
       return list.getWebOffers();

   ここで、

   - WebOffersListは、第2.5.3項「動的選択肢のセット・エンティティの作成」で作成したエンティティに対応するオブジェクト名で、用語間のスペースが削除されています。

   - list.setCategoryは、第2.5.3項「動的選択肢のセット・エンティティの作成」の手順2で作成したエンティティ・キーを参照します。

   - getWebOffers()は、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティ、つまり動的選択肢のセット・エンティティの内部にマッピングされているエンティティを参照します。

     図2-12に、GetWebOffers関数の定義を示します。

     図2-12 GetWebOffers関数の定義

### 2.5.5 選択肢グループの設計に関する考慮事項

アプリケーションのデータ管理者は、動的選択肢を使用することで、アプリケーションにおける提案の選択肢を制御できます。静的選択肢とは異なり、動的選択肢はアプリケーション・テーブルで追加、編集および削除できます。しかも、Oracle RTDインライン・サービスとのやり取りを変更する必要はまったくありません。

1つのインライン・サービス内でこれら両タイプの選択肢を用意する必要がある場合は、選択肢グループの設計時に、静的選択肢と動的選択肢を明確に区別することをお薦めします。この項では、動的選択肢の選択肢グループの設計方法のみを説明します。

動的選択肢の選択肢グループの設計に影響を与える実体として、次のものが挙げられます。

- データベース・テーブルの動的選択肢の単一カテゴリ

- データベース・テーブルの動的選択肢の複数カテゴリ

単一の選択肢グループ

データベース・テーブルに単一の動的選択肢カテゴリがある場合（例: Special_EventsテーブルのPromotion）、次の設計計画を実装してください。

1. 単一の選択肢グループを設計します。

2. 選択肢グループの「Group Attributes」タブ、「Choice Attributes」タブおよび「Dynamic Choices」タブで、必要なパラメータを入力および選択します。

Oracle RTD Decision Studioでは、この選択肢グループにはサブグループがありません。

選択肢グループの階層

データベース・テーブルにカテゴリが複数ある場合は（例: Insurance_ProposalsテーブルのInsurance ProductsとInsurance Services）、選択肢グループの階層を設計します。通常、2レベルの階層で十分で、この階層は次のように設計します。

1. 最上位レベルの選択肢グループに対して、「Choice Attributes」タブに必要なパラメータを入力および選択します。「Group Attributes」および「Dynamic Choices」の両タブは設定しません。

2. 個々の動的選択肢カテゴリについて、1レベル下の選択肢グループを指定します。これら下位の選択肢グループでは、「Group Attributes」および「Dynamic Choices」の両タブに必要なパラメータを入力および選択します。「Choice Attributes」タブは設定しません。

注意: 複数レベルの選択肢グループ階層では、最下位レベルの選択肢グループでのみ「Dynamic Choices」タブのパラメータを設定してください。

Oracle RTD Decision Studioでは、下位レベルの選択肢グループにはサブグループがありません。

### 2.5.6 単一カテゴリの選択肢グループの作成

動的選択肢を使用するには、1つ以上の選択肢グループを作成する必要があります。動的選択肢でデータが同一のタイプまたはカテゴリに属している場合は、単一カテゴリの選択肢グループを作成します。

注意: Oracle RTD Decision Studioで動的選択肢の選択肢グループを作成する場合、RTD Decision Studioの各ウィンドウに個々の動的選択肢が表示されることはありません。 Oracle RTD Decision Centerのレポートでは、次の条件を満たす動的選択肢がすべて表示されます。 フロントエンド・アプリケーションがコールしたデシジョンから返されていること それらの選択肢に対してRTDモデルが更新されていること

Oracle RTD Decision Studioで次の各タブのオプションを設定すると、選択肢が実行時に動的に抽出されるように選択肢グループを構成できます。

- 「Group Attributes」タブ

- 「Choice Attributes」タブ

- 「Dynamic Choices」タブ

動的選択肢を構成する際には、主にこれらのタブを設定します。

注意: 「Choice Eligibility」タブを使用して、データソースから抽出される動的選択肢データのフィルタ処理を構成できます。 動的選択肢に対して作成した有効性ルールは、同じ動的選択肢グループで取得されるすべての選択肢で共有されます。

図2-13は、単一カテゴリの選択肢グループDynamic Offersの設定時に必要な主要要素の例です。

「Group Attributes」の設定は、動的選択肢として取得されるすべてのデータが1つのカテゴリのみに属していることを示します。ここでは、正確なカテゴリ名を指定する必要があります。

「Choice Attributes」の設定は、取得される個々の属性を説明します。

「Group Attributes」および「Choice Attributes」は、この単一カテゴリ選択肢グループの「Dynamic Choices」タブで参照できるようになります。

図2-13 選択肢グループDynamic Offersの定義

#### 2.5.6.1 「Group Attributes」タブ

「Group Attributes」タブでは、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティ・タイプの配列属性を指定します。図2-7は、単一カテゴリの動的選択肢の設定プロセスを示していますが、配列属性は、この図の「動的選択肢の配列エンティティ」に対応します。

また、このレベルでは、動的選択肢データの取得関数を指定します。関数のパラメータ値を選択する必要もあります。これにより、実世界の1つのタイプまたはカテゴリに属する動的選択肢データのみが取得されます。

選択肢グループを作成してグループ属性を指定する手順は次のとおりです。

1. 選択肢グループを作成します。

2. 「Group Attributes」タブをクリックします。

3. 新しいエンティティ・タイプのグループ属性（動的選択肢の配列エンティティ）を作成し、その型を第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前にします。

4. この属性を配列として指定します。

5. 「Value」ボックスの右隅をクリックして省略記号（...）ボタンを表示します。次に、その省略記号ボタンをクリックして、「Value」ウィンドウを開きます。

6. 「Value」ウィンドウで、「Value for array as a whole」オプションを選択します。

7. 「Value Source」で「Function or rule call」を選択し、第2.5.4項「動的選択肢のデータ取得関数の作成」で作成した関数を選択します。

8. 「Parameters」領域の「Value」にパラメータ値を指定して、入力属性にこの値が含まれるデータソースの各行が取得されるようにします。

   注意: この文字列値は、選択肢グループに属する動的選択肢のすべての行をカテゴリ化する、データベース内の値と同じです。 たとえば、第2.2項「動的選択肢の簡単な例」で説明したInsurance_Proposalsテーブルの選択肢グループの設定では、この値はInsuranceProductsになります。

   図2-14に、選択肢グループDynamic Offersの「Group Attributes」タブを示します。コールされる関数はGetWebOffersです。「Parameters」領域の「Value」には、文字列DynamicOffersCGが指定されています。

図2-14 選択肢グループDynamic Offersのグループ属性の定義

#### 2.5.6.2 「Choice Attributes」タブ

「Choice Attributes」タブでは、次の設定が必要です。

- 第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティと同じ型のエンティティ・タイプ属性を指定します。

  図2-7は、単一カテゴリの動的選択肢の設定プロセスを示していますが、エンティティ・タイプ属性は、この図の「動的選択肢の行エンティティ」に対応します。

- この動的選択肢の行エンティティを構成する各属性に対して別個の選択肢属性を作成し、作成したばかりの動的選択肢の行エンティティ内にある対応する属性にマッピングします。

選択肢グループの選択肢属性を指定する手順は次のとおりです。

1. 「Choice Attributes」タブをクリックします。

2. 新しいエンティティ・タイプの属性（動的選択肢の行エンティティ）を作成し、その型を第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前にします。

3. 「Array」チェック・ボックスの選択が解除されていることを確認します。

4. 新しい動的選択肢の行エンティティの各属性に対して、対応する選択肢属性を作成します。

5. 前の手順で作成した選択肢属性ごとに、値を手順2で作成した動的選択肢の行エンティティ内の対応する属性にマッピングします。

   図2-15に、選択肢グループDynamic Offersの「Choice Attributes」タブを示します。選択肢属性は、次のとおりです。

   - 動的選択肢の行エンティティWeb Offer Entityが1つ。

   - その他の複数の属性。それぞれの値は、動的選択肢の行エンティティWeb Offer Entityの対応する属性から導出されています。

図2-15 選択肢グループDynamic Offersの選択肢属性の定義

#### 2.5.6.3 「Dynamic Choices」タブ

「Dynamic Choices」タブでは、次の情報を設定します。

- 動的選択肢として、この選択肢グループを明示的に選択します。

- 「Group Attributes」および「Choice Attributes」の両タブで設定したグループ属性と選択肢属性を指定します。

- 各動的選択肢を識別する属性を選択します。

- Oracle RTD Decision Centerの各レポートにおける動的選択肢の表示方法を定義します。動的選択肢の数が多い場合は、動的選択肢の長いリストをより小さな単位、つまり個々の「フォルダ」に分割できます。その際には、フォルダ内でのデータのグループ分けの方法を指定する必要があります。

動的選択肢のパラメータを指定する手順は次のとおりです。

1. 「Dynamic Choices」タブをクリックします。

2. 「Use Dynamic Choices for this Choice Group」チェック・ボックスを選択します。

3. 「Group attribute containing the list of Entities for choices」では、第2.5.6.1項「「Group Attributes」タブ」で作成した動的選択肢の配列属性を選択します。

4. 「Choice attribute to assign the entity data」では、第2.5.6.2項「「Choice Attributes」タブ」で作成した動的選択肢の行属性を選択します。

5. 「Entity attribute that contains the choices id」では、抽出される動的選択肢の行ごとに一意な識別子である属性を選択します。

6. 「Distribution mode for choices over choice group folders」では、「Spill」または「Even」を選択します。

   注意: このパラメータと次の手順のパラメータの詳細は、第2.6.2項「Decision Centerフォルダ間での選択肢の分散方法」を参照してください。

7. 「Maximum number of choices within one choice group folder on decision center」に、値を設定します。

図2-16 選択肢グループの動的選択肢パラメータの定義

### 2.5.7 複数カテゴリの選択肢グループの作成

動的選択肢を使用するには、1つ以上の選択肢グループを作成する必要があります。同じデータソースから異なるグループのデータを取得する必要がある場合は、複数カテゴリの選択肢グループを作成します。この項では、複数カテゴリの選択肢グループを設定する標準的な方法について説明します。

注意: Oracle RTD Decision Studioで動的選択肢の選択肢グループを作成する場合、個々の動的選択肢が表示されることはありません。 Oracle RTD Decision Centerのレポートでは、デシジョンからコール元アプリケーションに返された動的選択肢をすべて表示できます。

RTD Decision Studioで次の各タブのオプションを設定すると、選択肢が実行時に動的に抽出されるように選択肢グループを構成できます。

- 「Group Attributes」タブ

- 「Choice Attributes」タブ

- 「Dynamic Choices」タブ

動的選択肢を構成する際には、主にこれらのタブを設定します。

注意: 「Choice Eligibility」タブを使用して、データソースから抽出される動的選択肢データのフィルタ処理を構成できます。 動的選択肢に対して作成した有効性ルールは、同じ動的選択肢グループで取得されるすべての選択肢で共有されます。

複数の動的選択肢カテゴリを設定するには、選択肢グループの階層を作成してから、各レベルで選択肢グループの構成要素を設定する必要があります。

図2-17は、2つのカテゴリからなる選択肢グループIncentive Choicesの設定時に必要な主要要素の例です。

選択肢グループIncentive Choicesは親選択肢グループで、DiscountsとGiftsという2つの子選択肢グループを持っています。

選択肢属性は、最上位レベルの親選択肢グループで指定します。この選択肢属性は、2つの子選択肢グループに継承されます。

注意: 親選択肢グループ、または複数レベルの選択肢グループ階層の上位レベル・グループでは、「Dynamic Choices」タブの値を入力したり選択しないでください。動的選択肢パラメータは、選択肢グループ階層の最下位レベル・グループでのみ指定します。

それぞれの子選択肢グループにグループ属性を設定すると、異なるカテゴリのデータ・セットが取得可能になります。「Group Attributes」および「Choice Attributes」は、どちらの子選択肢グループの「Dynamic Choices」タブでも参照できるようになります。

このプロセスを、それに相当する単一カテゴリの選択肢グループの設定プロセスと比較するには、図2-7を参照してください。

図2-17 選択肢グループ階層の定義例

#### 2.5.7.1 親選択肢グループの「Choice Attributes」タブ

「Choice Attributes」タブでは、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティ・タイプの選択肢属性を指定します。

この選択肢属性は、図2-7の単一カテゴリの動的選択肢の設定プロセスと同様、「動的選択肢の行エンティティ」とも呼ばれています。

この動的選択肢の行エンティティの各属性に対して別個の選択肢属性を作成し、作成したばかりの動的選択肢の行エンティティ内にある対応する属性にマッピングします。

親選択肢グループと選択肢属性を作成する手順は次のとおりです。

1. 親選択肢グループを作成します。

2. 「Choice Attributes」タブをクリックします。

3. 新しいエンティティ・タイプの選択肢属性を作成し、その型を第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前にします。

4. この属性は、配列として指定しません。

5. 新しいエンティティ・タイプの選択肢属性を構成する各属性に対して、対応する選択肢属性を作成します。

6. 前の手順で作成した属性ごとに、値を手順3で作成した選択肢属性内の対応する属性にマッピングします。

#### 2.5.7.2 子選択肢グループの「Group Attributes」タブ

各子選択肢グループの「Group Attributes」タブでは、第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティ・タイプの配列属性を指定します。

このグループ属性は、図2-7の単一カテゴリの動的選択肢の設定プロセスと同様、「動的選択肢の配列エンティティ」とも呼ばれています。

また、このレベルでは、動的選択肢データの取得関数を指定します。関数のパラメータ値を選択する必要もあります。これにより、実世界の1つのタイプまたはカテゴリに属する動的選択肢データのみが取得されます。

まず、作成済の親選択肢グループの下に子選択肢グループを作成します。次に、「Group Attributes」タブの必要な要素を入力します。

子選択肢グループとグループ属性を作成する手順は次のとおりです。

1. 1つ目の子選択肢グループを作成します。

2. 動的選択肢カテゴリごとに1つの子選択肢グループを、必要に応じて追加作成します。

   各子選択肢グループ内では、「Group Attributes」および「Dynamic Choices」の両タブで、必要な要素とパラメータを設定する必要があります。

   この項の残りの手順では、子選択肢グループの「Group Attributes」タブで設定が必要な項目について説明します。第2.5.7.3項では、子選択肢グループの「Dynamic Choices」タブで設定が必要な項目について説明します。

3. 子選択肢グループの「Group Attributes」タブをクリックします。

4. 新しいエンティティ・タイプのグループ属性を作成し、その型を第2.5.2項「動的選択肢の単一エンティティの作成」で作成したエンティティの名前にします。

5. この属性を配列として指定します。

6. 「Value」ボックスの右隅をクリックして省略記号（...）ボタンを表示します。次に、その省略記号ボタンをクリックして、「Value」ウィンドウを開きます。

7. 「Value」ウィンドウで、「Value for array as a whole」オプションを選択します。

8. 「Value Source」で「Function or rule call」を選択し、第2.5.4項「動的選択肢のデータ取得関数の作成」で作成した関数を選択します。

9. 「Parameters」領域の「Value」にパラメータ値を指定して、入力属性にこの値が含まれるデータソースの各行が取得されるようにします。

#### 2.5.7.3 子選択肢グループの「Dynamic Choices」タブ

各子選択肢グループの「Dynamic Choices」タブでは、次の情報を設定する必要があります。

- 動的選択肢の選択肢グループとして、この選択肢グループを明示的に選択します。

- 「Group Attributes」および「Choice Attributes」の両タブで設定したグループ属性と選択肢属性を指定します。

- 各動的選択肢を識別する属性を選択します。

- Oracle RTD Decision Centerの各レポートにおける動的選択肢の表示方法を定義します。動的選択肢の数が多い場合は、動的選択肢の長いリストをより小さな単位、つまり個々の「フォルダ」に分割できます。その際には、フォルダ内でのデータのグループ分けの方法を指定する必要があります。

動的選択肢のパラメータを指定する手順は次のとおりです。

1. 「Dynamic Choices」タブをクリックします。

2. 「Use Dynamic Choices for this Choice Group」チェック・ボックスを選択します。

3. 「Group attribute containing the list of Entities for choices」では、第2.5.7.2項「子選択肢グループの「Group Attributes」タブ」で作成した属性を選択します。

4. 「Choice attribute to assign the entity data」では、第2.5.7.1項「親選択肢グループの「Choice Attributes」タブ」で作成した属性を選択します。

5. 「Entity attribute that contains the choices id」では、抽出される動的選択肢の行ごとに一意な識別子である属性を選択します。

6. 「Distribution mode for choices over choice group folders」では、「Spill」または「Even」を選択します。

   注意: このパラメータと次の手順のパラメータの詳細は、第2.6.2項「Decision Centerフォルダ間での選択肢の分散方法」を参照してください。

7. 「Maximum number of choices within one choice group folder on decision center」に、値を設定します。

## 2.6 Decision Centerでの動的選択肢のレポート

この項の内容は次のとおりです。

- 第2.6.1項「動的選択肢のレポートの概要」

- 第2.6.2項「Decision Centerフォルダ間での選択肢の分散方法」

### 2.6.1 動的選択肢のレポートの概要

この項の内容は次のとおりです。

- 第2.6.1.1項「静的選択肢のみのアプリケーションでの表示内容」

- 第2.6.1.2項「動的選択肢の表示内容」

- 第2.6.1.3項「Decision Centerでの動的選択肢および範囲フォルダの表示方法」

- 第2.6.1.4項「システム生成の範囲フォルダ」

- 第2.6.1.5項「表示専用の範囲フォルダ」

- 第2.6.1.6項「動的選択肢のレポート」

#### 2.6.1.1 静的選択肢のみのアプリケーションでの表示内容

アプリケーションが、静的選択肢のみを使用するように構成されている場合、Decision Centerのレポートに影響はありません。図2-18の例に示すように、Oracle RTD Decision Centerナビゲータには、Oracle RTD Decision Studioで定義した選択肢グループ、サブグループおよび静的選択肢が同じ階層レイアウトで表示されます。

図2-18 静的選択肢のみのアプリケーションの定義例とレポート例

#### 2.6.1.2 動的選択肢の表示内容

動的選択肢は、その性質上、Oracle RTD Decision Studioで事前定義することはできません。そのかわりに、動的に抽出された外部データを格納する選択肢グループを構成して、そこから動的選択肢を提案してください。図2-19は、保険サービスの動的選択肢を表示するために設定された、選択肢グループの例です。

図2-19 動的選択肢グループの定義例

Oracle RTD Decision Centerでは、実際に提案されてモデルの学習データに追加された動的選択肢のみがナビゲータに表示され、パフォーマンス・レポートと分析レポートが生成されます。

Decision Centerでの動的選択肢の表示方法に影響を与える別の要因は、パラメータ「Maximum number of choices within one choice group folder on decision center」です。このパラメータは、動的選択肢グループの定義時に指定します。選択肢の数がこの最大値を超えた場合、各選択肢はシステム生成の範囲フォルダの下に表示されます。最大値以下の場合は、選択肢グループ名の直下に表示されます。

範囲フォルダの詳細は、第2.6.1.4項「システム生成の範囲フォルダ」を参照してください。

図2-20のDecision Centerナビゲータ・メニューの例では、次のように表示されています。

- モデルの学習データに、5つの動的選択肢が提案および追加されています。

- 選択肢グループにおける選択肢の最大数は3です。

- 各動的選択肢は、2つのシステム生成フォルダ名のいずれかで表示されています。

図2-20 Oracle RTD Decision Centerでの動的選択肢のレイアウト例

#### 2.6.1.3 Decision Centerでの動的選択肢および範囲フォルダの表示方法

Decision Centerナビゲータでは、各動的選択肢は、チェック・マークとアスタリスクが付いた円形アイコンによって示されます。

範囲フォルダのアイコンに、チェック・マークとアスタリスクが付いていることによって、Oracle RTD Decision Studioで定義した選択肢グループを表す標準フォルダと区別されます。

#### 2.6.1.4 システム生成の範囲フォルダ

システム生成フォルダは、そのフォルダ内の最初と最後の選択肢の名前を文字列（...）で区切った形式の名前になります。システム生成フォルダは、範囲フォルダとも呼ばれています。

注意: 範囲フォルダ内には、静的選択肢と動的選択肢を両方とも含めることができます。そのため、範囲フォルダの名前を構成する2つの選択肢も、静的または動的のどちらでもかまいません。 通常、静的選択肢と動的選択肢は、異なる選択肢グループまたは異なる選択肢グループ階層に保存することをお薦めします。

選択肢の総数（静的選択肢と、モデルの学習データに提案および追加された動的選択肢の合計数）が選択肢グループ・フォルダに定義した最大値を超えた場合、選択肢はシステム生成グループ（サブフォルダ）の下に表示されます。最大値以下の場合は、選択肢グループ名の直下に表示されます。

#### 2.6.1.5 表示専用の範囲フォルダ

Decision Centerでの範囲フォルダと標準フォルダの使用方法には、重要な相違点があります。

標準フォルダは、その名前をクリックすることでフォルダ内の選択肢レポートを起動できますが、範囲フォルダは表示専用です。

つまり、範囲フォルダの名前をクリックしても、レポートは起動されません。動的選択肢のレポートを表示するには、動的選択肢自体をクリックする必要があります。

#### 2.6.1.6 動的選択肢のレポート

ナビゲータで動的選択肢をクリックすると、「Performance」と「Analysis」の2つのタブが表示されます。

静的選択肢のレポート機能には、「Definition Reports」という3つ目のオプションがあります。動的選択肢は、Oracle RTD Decision Studioでは定義されないため、動的選択肢用の「Definition Reports」オプションはありません。

静的選択肢と同様のデータや統計は、動的選択肢のパフォーマンス・レポートと分析レポートで表示されます。

注意: Decision Centerでは、静的選択肢が常に表示されますが、動的選択肢が表示されるのは、レポートの期間内で提案されている場合のみです。

### 2.6.2 Decision Centerフォルダ間での選択肢の分散方法

Oracle RTD Decision Studioで動的選択肢の選択肢グループを構成するときに、Oracle RTD Decision Centerでの選択肢の表示方法に影響を与える2つのパラメータがあります。

両方とも「Dynamic Choices」タブにあり、動的選択肢で選択肢グループの使用を選択する場合にのみ有効化されます。次のパラメータです。

- Distribution mode for choices over choice group folders

- Maximum number of choices within one choice group folder on decision center

便宜上の理由により、これらのパラメータをそれぞれ分散モード、最大選択肢数と呼ぶことにします。

最大選択肢数パラメータは、選択肢グループ名の直下またはシステム生成の範囲フォルダの下で、どのように選択肢が表示されるかを決定します。範囲フォルダの詳細は、第2.6.1.4項「システム生成の範囲フォルダ」を参照してください。

注意: Oracle RTD Decision Centerのレポートでは、範囲フォルダを静的選択肢または動的選択肢の専用フォルダに設定することはできません。つまり、同じ範囲フォルダ内に静的選択肢と動的選択肢の両方が一緒に表示される場合があります。

最大選択肢数パラメータは、静的または動的に関係なく、1つの範囲フォルダ内に表示される選択肢数を制限します。

分散モード・パラメータは、範囲フォルダへの分散方法を指定します。

- 「Spill」モードでは、各範囲フォルダに最大数の選択肢が配置されます。そのため、最後の範囲フォルダでは、最大数よりも少ない選択肢が配置されるのが普通です。

- 「Even」モードでは、個々の範囲フォルダ間で選択肢が均等に分散されます。

たとえば、Decision Centerに表示される静的または動的選択肢の総数が106個で、範囲フォルダ当たりの最大選択肢数が25個であるとします。

- 「Spill」モードで複数の範囲フォルダへ分散する場合、選択肢数は25、25、25、25、6となります。

- 「Even」モードで複数の範囲フォルダへ分散する場合、選択肢数は22、21、21、21、21となります。