RECOMMENDER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A Recommender System based on Users' Behavior and Collaborative Localization and Tracking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The recommender system combines content-based collaborative filtering and context-aware approaches to recommend items located at the users' environment. In particular, it takes into account:
Furthermore, our solution provides automatic location-based ratings considering the users' movements after receiving recommendations. To perform the previous tasks, our solution models and manages the required information by using semantic web techniques. Concretely, the context-aware and the space information are provided by our recommender system through a set of ontologies represented in the OWL 2 language. These ontologies are described below.
We describe here our architecture to deploy a content-based collaborative filtering and context-aware recommender system, which does not require that users rate recommended items. The proposed architecture is in charge of:
Next figure depicts our architecture.
To perform the previous tasks, the architecture of our recommender has several components. The Administration component is responsible for supporting administrative tasks; including: ontology and users' privacy management, registration of context-aware services that provide items, and management of the Communication Manager component. The Communication Manager component is in charge of receiving the items from the services, the space, users' location, and context-aware information from independent middlewares. This provides independence to Recommender with regard to the sources of information. The Reasoner component is in charge of requesting to the Recommender component suggestions for users by considering their privacy preferences, and the information shaped in the Recommender ontology (preferences, location, tracking, and recommendation topics). When users leave the environment, the Reasoner component asks the Rating component the rating value of the recommended items. The Recommender component filters out and ranks the items provided by the context-aware services. In this context, the recommender algorithm is allocated in this component and provides to the Graphic Interface component the recommended items. The Graphic Interface component is the communication point between the Recommender component and users, so it is in charge of providing users with the recommended items. Finally, the Rating component is in charge of giving automatic ratings to the recommended items without asking users. In order to interact with the Recommender architecture, we define two actors. First, the Recommender Administrator manages the Recommender ontology, registers the context-aware services which suggest items, and indicates to the Communication Manager component the middlewares desired to receive the context-aware and location information. On the other hand Users are persons who use our solution to obtain recommendations about items located at the environment where they are in a privacy preserving fashion.
The Recommender ontology shapes information about four different but related topics: recommendation, preference, location, and tracking. The top-level class of the recommendation topic is Recommendation. Such recommendations are provided by our solution to Users, which are composed of several Items that belong to specific Services. Recommendations are received at a given Date and have a duration defined by the Expiration class. Furthermore, recommended items can be classified by using the Property class, and are rated through the Rating class that stores the value and Date of each rating. Users can define their preferences or interests regarding the information that they want to receive about recommendations. The Preference class belongs to the preference topic with five predefined subclasses: Age, Gender, Profession, Budget, and Ability. To model the tracking and location topics, users' tracking is shaped by the Path class. Each path can have several VisitedPlaces, where each point is determined by a Timestamp, a Duration, and a Space class. In order to support location, this ontology uses a hierarchical model for location, which is widely explained in the PRECISE ontology.
The complete definition of the Recommender ontology can be downloaded from the next link.
We present here an example to show how our solution recommends items by combining the ratings of users with similar preferences and tracking, the content and location of items, and the context-aware information related to elements close to the users. Furthermore, we also show how automatic ratings are provided by taking into account users' movements after receiving recommendations. Concretely, we define a scenario based on a shopping mall, where a user (Andy) visits the mall after other users have already visited it and wants to receive recommendations about electronic items on his mobile device. The shopping mall has the infrastructure to know the location of its users, and several stores which have their own services: from ServiceStoreA to ServiceStoreF. These services offer their items and the recommender system is in charge of ranking out and filtering them considering the aspects commented earlier. The next figure depicts the graphic representation about the mall scenario. Specifically, Andy is moving around the environment interested in electronic products and visits ServiceStoreA (PathPoint2). After a while, he is located at PathPoint3 and receives a recommendation that contains a keyboard, a laptop, a screen, a smartphone, a computer, and a mouse.
The next table shows how the recommender system ranks the previous items by considering:
Since Andy is interested in a keyboard and a screen, he spends 5 minutes visiting ServiceStoreD (PathPoint4), and 20 minutes in ServiceStoreE (PathPoint5). Finally, when Andy is leaving (PathPoint6), our solution generates automatic ratings for the recommended items. The next table shows the automatic ratings generated by our system considering:
After a while another user (Bob) visits the mall with the same preferences (electronics) as Andy. The next table shows how the ratings of Andy affect to the order in which the screen is recommended to Bob.
The complete definition of the example in OWL format can be downloaded below.
|