Read this article for a detail description of the library and sample usage.
What can I use this product for?
The Collaborative Network library can be used in any enterprise
(fancy word for software product) in which the association among the items
(presumably products sold or viewed) is not well-known or easily mined. The
product is based on a simple premise: if items A and B are purchased in that
sequence by a customer, then a directed association from A to B exists. The
more frequent this association is exercised by the users that visit your site
the more relevant it becomes. Over time, a directed graph evolves which
represents how frequently users purchase two or more items in a specific
sequence. This graph-based representation can then be used to recommend the
"next" item (or set of items) of interest to the active users, based on the
currently selected (viewed, purchased, or rated) product.
How can I integrate this product into my web site?
Integrating the Collaborative Network Library into your .Net web
site is straight foward. The general steps are as follows:
-
Create an object of type
Platypus.Collaborator.ItemGraph and place it in the Application cache.
-
As users interact with your product set add links
to the graph using the ItemGraph.AddLink() method. This method
requires a source and target product name. The source is a previously viewed,
selected, or purchased item, and target is the newly viewed, selected or
purchased item.
-
To recommend a new item (or items) invoke the
ItemGraph.NextItems() method with the name of the newly selected item. This
will return an array of items that are highly corellated to the current
selection.
-
Serialize the graph to disk at regular intervals in
order to prevent data loss in case of application shutdown. The library
includes a serialization facility class named ItemGraphSerializer which
provides two static methods for serialization and deserialization of an
ItemGraph object to and from disk, respectively.
-
Read the serialized object from disk at application
startup, if it exist.
How do I update the item correlation graph as users purchase or view
products?
The Platypus.Collaborator.ItemGraph class provides a
thread-safe method, AddLink(string strSource, string strTarget), to
create or update links in the emerging graph. The source and target
parameters are strings representing the name of items in the
product domain. The ItemGraph object keeps track of
items by their case-insensitive name. This method can be safely
invoked from different sessions on the same instance of the ItemGraph class
(which is the way it is intended to be used).
How do I recommend unseen or unpurchased items?
Recommending the next set of items is achieved by calling the method
ItemGraph.NextItems( string strSelectedItem ). This method returns an array of
Item objects which represent the highest ranking set of outward links from the
Item named 'strSelectedItem'. The items are order in descending ranking.