ヘッダーをスキップ
Oracle Application Server Personalizationユーザーズ・ガイド
10g リリース2(10.1.2)
B25076-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

3 REAPI Demoの使用

この章では、REAPI Demoを使用した演習をいくつか示します。

REAPI Demoを使用すると、次のことが実行できます。

REAPIの詳細は、『Oracle Application Server Personalizationプログラマーズ・ガイド』を参照してください。

REAPIのインストールの詳細は、『Oracle Application Server管理者ガイド』を参照してください。

本番環境では、REAPIコールを使用して、適切なモデルの作成とリコメンデーションの生成に必要なデータを収集できるようにWebサイトを設定します。

REAPIおよびREAPI Demoは、Oracle Application Serverがインストールされているシステムにインストールされます。

3.1 REAPI Demoを実行する前に

REAPI Demoを実行する前に、パッケージを作成してリコメンデーション・エンジンに配布し、リコメンデーションの作成に使用可能なデータを用意しておく必要があります。

OracleAS Personalizationをインストールする場合は、MTRにデモ・データをインストールするオプションを選択します。

次に、OracleAS Personalization管理UI(第2章を参照)を使用して次の手順を実行します。

  1. OracleAS Personalizationに付属しているサンプルのMOVIE MTRデータベースを使用して、MOVIE MTR接続を作成します。

  2. 手順1で作成したMOVIE MTR接続を使用して、パッケージを作成します。

  3. 1つのリコメンデーション・エンジン(RE)を含むリコメンデーション・エンジン・ファーム(REファーム)を作成します。

  4. パッケージをビルドします。

  5. 手順3で作成したファームにMOVIEパッケージを配布します。

REファームにMOVIEパッケージを正常に配布したら、REAPI Demoによるテストを開始して、REAPIコールの動作を確認できます。

3.2 REAPI Demoの開始

REAPI Demoを使用する準備ができたら、ブラウザに次のURLを入力します。

http://<hostname>/OP/redemo/

<hostname>は、Oracle Application Serverがインストールされているシステムの名前です。これにより、REAPI Demoのユーザー・インタフェースが表示されます。まず、OP REAPI Demoへようこそページが表示されます。

3.2.1 プロキシ

REAPIコールはプロキシのコンテキスト内で実行されます。このプロキシでは、REAPIコールが実行される環境が指定されます。環境の重要な要素の1つは、デフォルトのREスキーマです。 コールを実行する前に、プロキシを作成する必要があります。手順については、第3.3.2項で説明します。

3.2.2 ソース・コードの表示

REAPI Demoの実行中に、「ソース・コードの表示」リンクをクリックすると、デモのソース・コードを表示できます。

REAPI Demoは、次のクラスで構成されるJavaサーブレットとして実装されます。

  • REDemoServlet.java

  • REUtil.java

  • REDemoException.java

  • REDemoConstants.java

これらの個々のクラスについてソース・コードを表示できます。また、デスクトップにクラスをダウンロードすることもできます。

3.3 演習

この項では、REAPI Demoの動作を感覚的に理解するための演習を示します。これらの演習の対象となる作業は、次のとおりです。

3.3.1 値と結果

これらの演習から有用な結果を得るには、REAPI Demoに有効な値(リコメンデーションが存在する値)を入力する必要があります。このデモの値からは、必ず有用な結果が得られます。 他の値を確認するには、OracleAS Personalizationに付属しているデータ移入済のMTRを調べてください。

コールの実行によって返される結果は、このドキュメントに記載されている結果と似ていますが、まったく同じではありません。

3.3.2 演習1: プロキシの作成

コールを実行するには、プロキシを作成する必要があります。 REAPI Demo画面の左側のフレームで「createProxy」をクリックし、次の値を入力します。

  • RE Name: 使用するリコメンデーション・エンジン・スキーマの名前。

  • JDBC URL: jdbc:oracle:thin:<host>:<port>:<sid>。OracleAS Personalizationのインストール時に指定したホスト、ポートおよびSIDの値を入力します。

  • User name: データベースのユーザー名。 OracleAS Personalizationのインストール時に指定したREユーザー名を入力します。

  • Password: REユーザーのパスワード。 OracleAS Personalizationのインストール時に指定したパスワードを入力します。

  • Cache Size: 3242 KB(デフォルト)。

  • Archive Interval: 10,000ミリ秒(デフォルト)。

「Create RE Proxy」をクリックします。

成功または失敗を示すメッセージが表示されます(REAPI Demoでは、すべてのアクションに対してこのようなメッセージが表示されます)。

3.3.3 演習2: ステートフルWebアプリケーション

次の手順に従って、「Sessionful」という見出しの下に表示されているメソッドのいずれかを使用してテストします (これらのメソッドは、ステートフルWebアプリケーションで有効です)。

ステートフルWebアプリケーションでは、顧客がサイトにログインすると、各顧客のセッションが開始されます。

  1. セッションを作成するには、顧客IDとセッションIDを指定します。左側の「Sessionful」の下で「createSession」をクリックして「Create RE Session」ページを開き、次の値を入力します。

    • User Type: Customer

    • User ID: 1

    • App Session ID: 1011(一意の番号を入力する必要があります。この番号を複数回使用することはできません)

    「Create Session」をクリックします。

  2. これで、「Sessionful」の下に表示されているいずれかのメソッドを実行して、リコメンデーションの取得などを実行できます。そのためには、「recommendTopN」をクリックして「Recommend TopN Items」ページを開き、次の値を入力します。

    • Number of recommended items: 10

    • Tuning Settings

      • Data Source Type: PURCHASING

      • Interest Dimension: PURCHASING

      • Personalization Index Type: LOW

      • Profile Data Balance: CURRENT

      • Profile Usage: INCLUDE

    • Filtering Settings

      • Filtering Type: All Items

      • Taxonomy ID: 1

      • Select Categories: 「Include items」の場合、個々のアイテムを選択できます。「Filtering Type」を「All Items」に設定した場合は、アイテムまたはカテゴリを選択する必要はありません。

    • Recommendation Content

      • Sorting order for Prediction: ASCEND

      • Sorting order for Type: NONE

      • Sorting order for ID: NONE

      「Recommend Top N」をクリックします。

このセッションのユーザーに対して10以下のリコメンデーションが返されます。 表3-1のような結果になります。この表には、4つの映画に関する情報が表示されています。アイテム・タイプ(MOVIE)、アイテムID(各アイテムの一意の番号)および4つの映画のレーティング(購入の可能性についてのランク付け)です。

表3-1 ユーザーID = 1の上位Nリコメンデーション・アイテム

タイプ アイテムID レーティング

MOVIE

345

1.000

MOVIE

383

2.000

MOVIE

147

3.000

MOVIE

223

4.000


  1. セッションの実行中に、データを収集できます。データを追加するには、「addItems」をクリックして「Add Items」ページを開き、次の値を入力します。

    • Data source Type: RATING

    • Item Type: MOVIE

    • Item ID: 122

    • Value: 5(1〜5段階のレーティング)

    「Add>>」をクリックしてこのアイテムを一覧に追加し、「Add Items」をクリックしてREに追加します。これにより、このユーザーのRE表内の情報が更新されます。

  2. 次に、ホット・ピックスをテストします。ホット・ピックスは、特定のWebサイトで使用されます。たとえば、その日の特売品がホット・ピックス・グループに表示されます。「recommendHotPicks」をクリックして「Recommend from Hot Picks」ページを開き、次の値を入力します。

    • Number of recommended items: 10

    • Hot Pick Group: COMEDY

    • Tuning Settings

      • Data Source Type: NAVIGATION

      • Interest Dimension: NAVIGATION

      • Personalization Index Type: LOW

      • Profile Data Balance: HISTORY

      • Profile Usage: INCLUDE

    • Filtering Settings

      • Filtering Type: Exclude Items

      • Taxonomy ID: 1

      • Select Categories: 「Exclude items」の場合、ここでは選択する必要はありません。

    • Recommendation Content

      • Sorting order for Prediction: ASCEND

      • Sorting order for Type: NONE

      • Sorting order for ID: NONE

      「Recommend Hot Picks」をクリックします。

    このセッションのユーザーに対して10以下のリコメンデーションが返されます。 この場合、表3-2のような結果が返されます。この場合も、アイテム・タイプ(MOVIE)、アイテムID(各映画を示す番号)およびレーティングが表示されています。

表3-2 ユーザーID = 1のリコメンデーション・ホット・ピックス・アイテム

タイプ アイテムID レーティング

MOVIE

360

1.000

MOVIE

370

2.000

MOVIE

116

3.000

MOVIE

  83

4.000

MOVIE

  18

5.000

MOVIE

  20

6.000


  1. また、アイテムを評価する視点を現在のユーザーに置くこともできます。つまり、現在のユーザーが各アイテムをどのように評価するかを調べることができます。「rateItems」をクリックして「Rate Items」ページを開き、次の値を入力します。

    • Taxonomy ID: 1

    • Tuning Settings

      • Data Source Type: RATING

      • Interest Dimension: RATING

      • Personalization Index Type: MEDIUM

      • Profile Data Balance: HISTORY

      • Profile Usage: INCLUDE

    • Recommendation Content

      • Sorting order for Prediction: ASCEND

      • Sorting order for Type: NONE

      • Sorting order for ID: NONE

    • Item Entry

      • Item Type: MOVIE

      • Item ID: 72

      「Add>>」をクリックして、一覧にこのアイテムを追加します。必要に応じて、他のアイテムを一覧に追加することもできます。

      • 同様に、「MOVIE 122」と「MOVIE 287」を追加します。

      • アイテムの追加が完了したら、「Rate Items」をクリックします。

次のような結果が返されます。

表3-3 ユーザーID = 1のアイテムのレーティング

タイプ アイテムID レーティング

MOVIE

  72

4.3071

MOVIE

287

4.3453

MOVIE

122

4.3569


  1. テストが完了したら、セッションを終了します(明示的に終了しないREAPIセッションは最終的にタイムアウトになりますが、明示的に終了することをお薦めします)。セッションを終了するには、「closeSession」をクリックして「Close the Current Session」ページを表示します。「Close Session」ボタンをクリックします。

3.3.4 演習3: ステートレスWebアプリケーション

現在のWebサイトで匿名ユーザーごとまたは顧客ごとのセッションが開始されない場合は、「Sessionless」の下に表示されているコールを使用します。これらのコールごとに、ユーザーおよびセッションの識別データを入力します。 それ以外は、セッション対応型のコールと同様です。この例では、非セッション対応型のコールについて説明します。

  1. 顧客があるアイテムを購入する場合、その顧客に類似アイテムや関連アイテム、つまり抱合せ販売アイテムを提示します。HORRORホット・ピックス・グループのアイテムに関する抱合せ販売のリコメンデーションを作成するには、左側のフレームの「Sessionless」の下で「Cross-SellFromHotpicks」をクリックします。「Cross-Sell for Items from Hot Picks」ページが表示されます。

    • Number of recommended items: 10

      • Hot Pick Group: HORROR

    • User Details

      • User Type: Customer

      • User ID: 1

    • Tuning Settings

      • Data Source Type: NAVIGATION

      • Interest Dimension: NAVIGATION

      • Personalization Index Type: MEDIUM

      • Profile Data Balance: CURRENT

      • Profile Usage: INCLUDE

    • Filtering Settings

      • Filtering Type: Exclude Items

      • Taxonomy ID: 1

      • Select Categories: 除外するアイテムを選択するか、または何も選択しません。

    • Recommendation Content

      • Sorting order for Prediction: ASCEND

      • Sorting order for Type: NONE

      • Sorting order for ID: NONE

    • Item Entry

      • Item Type: MOVIE

      • Item ID: 199

      「Add>>」をクリックして、一覧にこのアイテムを追加します。同様に、「MOVIE 354」と「MOVIE 122」を一覧に追加します。

アイテムの追加が完了したら、「Cross-Sell for Items from Hot Picks」をクリックします。

このセッションのユーザーに対して10以下のリコメンデーションが返されます。この場合、次のような結果が返されます。

表3-4 ユーザーID = 1のホット・ピックス・アイテムの抱合せ販売

タイプ アイテムID レーティング

MOVIE

72

1.2785


3.3.5 演習4: 匿名ユーザーから顧客への変更

匿名ユーザーがセッション中にユーザーとして登録した場合は、匿名ユーザーを顧客に変更する必要があります。匿名ユーザーから顧客への変更が可能なのは、そのユーザーが匿名ユーザーとして開始したセッション中のみです。

  1. デフォルト・プロキシを使用してセッションを作成するには、匿名ユーザーIDとセッションIDを指定します。左側の「Sessionful」の下で「createSession」をクリックして「Create RE Session」ページを開き、次の値を入力します。

    • User Type: Visitor

    • User ID: 100

    • App Session ID: 1015

      「App Session ID」の値は、まだ存在しないセッションを示す必要があります。

  2. これで、匿名ユーザーを顧客に変更できます。左側の「Sessionful」の下で「setVisitorToCustomer」をクリックして、「Set Visitor to Customer」ページを開きます。「Set Visitor to Customer」をクリックします。

    成功を示すメッセージが表示されます。

この時点でセッションを終了することも、必要に応じてテストを続行することもできます。

3.4 まとめ

この章では、演習を提示してREAPIの動作について説明しました。

REAPI Demoの動作は、実際にREAPIコールを使用した場合とは異なります。実際には、記述したJavaプログラムにREAPIコールを埋め込み、通常どおりの方法でプログラムを実行します。