Oracle® Application Server Personalization Programmer's Guide
10g Release 2 (10.1.2) B14051-01 |
|
Previous |
Next |
This chapter consists of an overview of the class and methods that are used to manage the customer profiles and to obtain recommendations. The supporting classes for these methods are described in Chapter 7.
For detailed descriptions of these methods, see the Javadoc in the OracleAS Personalization section of the Oracle Application Server 10g Documentation Library.
All methods described in this chapter are public.
The recommendation proxy (REBatchProxy
) methods can be divided according to function, as follows:
Proxy creation and management, including customer profile management (load and purge customer profiles)
Recommendation methods (obtain recommendations)
For examples of how to use these classes and methods, see Chapter 9.
To use the REProxyBATCH
(and its exceptions), you must include the following statements in your Java program:
import oracle.dmt.op.re.reapi.batch.*;
import oracle.dmt.op.re.reexception.*;
These classes are installed on the system where Oracle Application Server is installed.
The REProxyBatch.java
class establishes the JDBC connection to the RE schema where the methods execute. The connection continues to exist until the connection is explicitly destroyed with the destroy()
method. The class also includes customer profile management methods.
The following methods obtain recommendations:
crossSellForItems
rateItem
recommendTopItems
Communicating the returned recommendations to the end user is the responsibility of the application. The recommendations are written to an output table; the schema of the output table depends on the method called. For details, see the description of each method.
Ratings in OracleAS Personalization are in "ascending order of goodness", that is, the higher the rating, the more the user prefers the item. Low-rated items are items that the user does not prefer. OracleAS Personalization algorithms use these assumptions, so it is important that ratings are in ascending order of goodness.
The meaning of the value returned for recommendation instances where ItemDetailData.attribute
is equal to Enum.RecommendationAttribute.PREDICTION
depends on the value of interestDimension
as follows:
For InterestDimension.RATING
, the expected rating for the item is returned.
For InterestDimension.PURCHASING
or InterestDimension.NAVIGATION
, a scaled probability is returned. The most probable item is assigned a value of 1 and other items are assigned values less than 1 that are proportional to how probable the items are compared to the most probable item.
The comments in this section apply to recommendCrossSellForItems
.
Interest dimension must be the same as that of the data source type of the input item.
Data source type must be either navigational or purchasing. No other types are supported.
The following filtering setting cannot be used with this method:
setCategoryLevelFiltering
setCategorySubtreeFiltering
setCategoryExclusion
setCategoryFiltering(int)
setCategoryFiltering(int, long[])
recommendTopItems
does not necessarily return a list of items. If you set FilteringSettings.CategoryMembership
to one of the values
Enum.CategoryMembership.EXCLUDE_CATEGORIES
Enum.CategoryMembership.INCLUDE_CATEGORIES
Enum.CategoryMembership.SUBTREE_CATEGORIES
Enum.CategoryMembership.ALL_CATEGORIES
then recommendTopItems
returns a list of categories.
Categories are components of a taxonomy. Taxonomies are defined in the following tables in the mining table repository (MTR):
MTR_TAXONOMY
MTR_TAXONOMY_CATEGORY
MTR_TAXONOMY_CATEGORY_ITEM
MTR_CATEGORY
An appropriate taxonomy is crucial to the design of an OracleAS Personalization application. For information about how to create taxonomies, see Oracle Application Server Personalization Administrator's Guide.
OracleAS Personalization uses rule tables stored in the RE to generate the recommendations requested by the recommendation methods. The rule tables are created when a package is built and stored in the RE when the package is deployed. The specific rule table used depends upon the RE Batch API call made. In general, the antecedents of the rules are matched against the data in cache (historical data only for RE Batch) and the probabilities of the various consequents are computed. These items are then ordered by probability, and numberOfItems
(an API argument) items are returned.