この章では、REAPI Demoを使用した演習をいくつか示します。
REAPIを使用してリコメンデーションを取得することによって、OracleAS Personalizationが正しくインストールされていることを確認できます。 REAPI Demoを実行するには、OracleAS Personalizationが適切にインストールされ、REAPI DemoがREにアクセスするように構成されている必要があります。また、デモ・データがMTRにロードされていることも必要です。
この章の演習を実行するには、データ移入済のMTRをインストールしておく必要があります(OracleAS Personalizationのインストール時にデモ・データのインストールを選択した場合はインストールされています)。
構成をテストして、Webサイトに最適なREの構成を確認できます。
OracleAS PersonalizationのJava動作、およびコールの動作や相互作用を独習できます。
ソース・コードを表示して、REAPIコールがプログラムによってどのように使用されるかを参照できます。
|
注意: REAPI Demoの使用が完了したら、関連付けられているアカウントを削除してください。アカウントを残しておくと、セキュリティ上の問題につながる可能性があります。 |
REAPIの詳細は、『Oracle Application Server Personalizationプログラマーズ・ガイド』を参照してください。
REAPIのインストールの詳細は、『Oracle Application Server管理者ガイド』を参照してください。
本番環境では、REAPIコールを使用して、適切なモデルの作成とリコメンデーションの生成に必要なデータを収集できるようにWebサイトを設定します。
REAPIおよびREAPI Demoは、Oracle Application Serverがインストールされているシステムにインストールされます。
REAPI Demoを実行する前に、パッケージを作成してリコメンデーション・エンジンに配布し、リコメンデーションの作成に使用可能なデータを用意しておく必要があります。
OracleAS Personalizationをインストールする場合は、MTRにデモ・データをインストールするオプションを選択します。
次に、OracleAS Personalization管理UI(第2章を参照)を使用して次の手順を実行します。
OracleAS Personalizationに付属しているサンプルのMOVIE MTRデータベースを使用して、MOVIE MTR接続を作成します。
手順1で作成したMOVIE MTR接続を使用して、パッケージを作成します。
1つのリコメンデーション・エンジン(RE)を含むリコメンデーション・エンジン・ファーム(REファーム)を作成します。
パッケージをビルドします。
手順3で作成したファームにMOVIEパッケージを配布します。
REファームにMOVIEパッケージを正常に配布したら、REAPI Demoによるテストを開始して、REAPIコールの動作を確認できます。
REAPI Demoを使用する準備ができたら、ブラウザに次のURLを入力します。
http://<hostname>/OP/redemo/
<hostname>は、Oracle Application Serverがインストールされているシステムの名前です。これにより、REAPI Demoのユーザー・インタフェースが表示されます。まず、OP REAPI Demoへようこそページが表示されます。
REAPIコールはプロキシのコンテキスト内で実行されます。このプロキシでは、REAPIコールが実行される環境が指定されます。環境の重要な要素の1つは、デフォルトのREスキーマです。 コールを実行する前に、プロキシを作成する必要があります。手順については、第3.3.2項で説明します。
この項では、REAPI Demoの動作を感覚的に理解するための演習を示します。これらの演習の対象となる作業は、次のとおりです。
プロキシの作成
データの収集
リコメンデーションの作成
ステートフル演習
ステートレス演習
匿名ユーザーから顧客への変更
これらの演習から有用な結果を得るには、REAPI Demoに有効な値(リコメンデーションが存在する値)を入力する必要があります。このデモの値からは、必ず有用な結果が得られます。 他の値を確認するには、OracleAS Personalizationに付属しているデータ移入済のMTRを調べてください。
コールの実行によって返される結果は、このドキュメントに記載されている結果と似ていますが、まったく同じではありません。
コールを実行するには、プロキシを作成する必要があります。 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では、すべてのアクションに対してこのようなメッセージが表示されます)。
次の手順に従って、「Sessionful」という見出しの下に表示されているメソッドのいずれかを使用してテストします (これらのメソッドは、ステートフルWebアプリケーションで有効です)。
ステートフルWebアプリケーションでは、顧客がサイトにログインすると、各顧客のセッションが開始されます。
セッションを作成するには、顧客IDとセッションIDを指定します。左側の「Sessionful」の下で「createSession」をクリックして「Create RE Session」ページを開き、次の値を入力します。
User Type: Customer
User ID: 1
App Session ID: 1011(一意の番号を入力する必要があります。この番号を複数回使用することはできません)
「Create Session」をクリックします。
これで、「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 |
セッションの実行中に、データを収集できます。データを追加するには、「addItems」をクリックして「Add Items」ページを開き、次の値を入力します。
Data source Type: RATING
Item Type: MOVIE
Item ID: 122
Value: 5(1〜5段階のレーティング)
「Add>>」をクリックしてこのアイテムを一覧に追加し、「Add Items」をクリックしてREに追加します。これにより、このユーザーのRE表内の情報が更新されます。
次に、ホット・ピックスをテストします。ホット・ピックスは、特定の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 |
また、アイテムを評価する視点を現在のユーザーに置くこともできます。つまり、現在のユーザーが各アイテムをどのように評価するかを調べることができます。「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」をクリックします。
次のような結果が返されます。
テストが完了したら、セッションを終了します(明示的に終了しないREAPIセッションは最終的にタイムアウトになりますが、明示的に終了することをお薦めします)。セッションを終了するには、「closeSession」をクリックして「Close the Current Session」ページを表示します。「Close Session」ボタンをクリックします。
現在のWebサイトで匿名ユーザーごとまたは顧客ごとのセッションが開始されない場合は、「Sessionless」の下に表示されているコールを使用します。これらのコールごとに、ユーザーおよびセッションの識別データを入力します。 それ以外は、セッション対応型のコールと同様です。この例では、非セッション対応型のコールについて説明します。
顧客があるアイテムを購入する場合、その顧客に類似アイテムや関連アイテム、つまり抱合せ販売アイテムを提示します。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以下のリコメンデーションが返されます。この場合、次のような結果が返されます。
匿名ユーザーがセッション中にユーザーとして登録した場合は、匿名ユーザーを顧客に変更する必要があります。匿名ユーザーから顧客への変更が可能なのは、そのユーザーが匿名ユーザーとして開始したセッション中のみです。
デフォルト・プロキシを使用してセッションを作成するには、匿名ユーザーIDとセッションIDを指定します。左側の「Sessionful」の下で「createSession」をクリックして「Create RE Session」ページを開き、次の値を入力します。
User Type: Visitor
User ID: 100
App Session ID: 1015
「App Session ID」の値は、まだ存在しないセッションを示す必要があります。
これで、匿名ユーザーを顧客に変更できます。左側の「Sessionful」の下で「setVisitorToCustomer」をクリックして、「Set Visitor to Customer」ページを開きます。「Set Visitor to Customer」をクリックします。
成功を示すメッセージが表示されます。
この時点でセッションを終了することも、必要に応じてテストを続行することもできます。