CF Module API for Organic Edunet Web Portal

From Agroknow

Jump to: navigation, search

Contents

Description

CF module is a recommendation module attached to the Organic.Edunet Web portal. Its primary scope is to provider recommendations of resources to the users of the portal. The recommendations are based in two different algorithms:

1. Content based algorithm: Resources are recommended based on the resource tagging. All the resources the user has tagged and all the tags they have used comprise the necessary dataset for the algorithm to operate.

2. Collaborative filtering algorithm: The algorithm calculates for each active user a neighborhood of users based on the ratings they have given for every criterion. Using these similarity coefficients, the recommendation is produced based on the ratings the users in the neighborhood have given for the item of interest.

Organic.Edunet connects to the Social Navigation Sevices through a SOAP service. CF module handles the resources population and annotation by connecting to the Social Navigation Repository. The prediction and recommendation are produced and wrapped in a SOAP response. This flow is presented in the diagram below:


CFmodule component diagram


Web Services API

The Web Services API of Organic.Edunet Collaborative Filtering (CF) Module will be available within the scope of Organic.Edunet’s suite of tools. The available methods of this Module’s API that will be exposed as Web Services are grouped in 5 categories: General Methods, Resource Annotation Methods, Prediction Methods, Recommendation Methods, and Population Methods.

Here you can find the web service calls per category:

General Methods

PopularRating(max_resources)

This method returns a list of the most popular recourses within the Organic.Edunet repository, i.e. the resources with the highest mean rating.



Resource Annotation Methods

ResourceTaggings(resource_id)

This method returns the set of tags that were assigned to a specific resource. If no tag has been assigned to the specific resource a message code is returned.

ResourceRatings(resource_id)

This method returns the mean value evaluations that were given for a particular resource by each user. If the resource has no ratings a message code is returned.

ResourceReviewings(resource_id)

This method returns all review comments that were posted for a specific resource. If the resource has no review a message code is returned.

UserTaggings(user_id)

This method returns all the tags that were inserted from a particular user. If no tag is found a message code is returned.

UserRatings(user_id)

This method returns all the ratings that were inserted from a particular user. If no rating is found a message code is returned.

UserReviewings(user_id)

This method returns all the review comments that were posted from a particular user. If no review comment is found a message code is returned.

UserResourceAnnotation(user_id, resource_id)

This method returns all the annotations (ratings, tags and review comments) that were inserted from a particular user for a specific resource.

TaggedResources(tag_name)

This method returns a list of all the resources that were given the same tag. If no resource is tagged with the specific tag, a message code is returned instead.



Prediction Methods

predictRating(user_id, resource_id, scheme_id)

This method returns a prediction regarding the overall rating of specific user to a particular resource. In other words, it returns the predicted values that the specified user would have given for all different rating dimensions of a specific resource. The prediction is based on a collaborative filtering algorithm.



Recommendation Methods

recommendedResources(user_id, scheme_id, limit)

This method returns a list of recommended resources (along with their mean rating) based on the preferences of a specific user. The recommendation is based on a collaborative filtering algorithm.

contentBasedRecommendedResources(user_id, threshold, limit)

This method recommends a number of resources to a specific user based on the user’s tagging history, meaning the resources they have tagged and the tags they have used. The recommendation is based on a content-based recommendation algorithm.



Population Methods

addTagging(api_key, user_id, resource_url, scheme_id, tags_array)

This method adds any tag that was posted by a specific user for a particular resource.

addRating(api_key, user_id, resource_url, scheme_id, ratings_array)

This method adds any rating info that was posted by a specific user for a particular resource.

addReviewing(api_key, user_id, resource_url, scheme_id, reviews_array)

This method adds any review that was posted by a specific user for a particular resource.
Personal tools