System Concept
Part 1: The aim of the system
(hide)
As a CARS developer you may use this CARS Design System to learn how to build your own context models. The system will guide you towards a more efficient, effective and correct selection and usage of context parameters (context variables) for your own application context model. You will be guided through the process of uniformly modelling the most important contextual parameters for your applications, as well as on how to use the system to build and/or extend existing context models in order to be applied for your own application. The tool also introduces modern concepts derived by CARS research that you might not be familiar with.
Part 2: Context-Aware Recommendations
(hide)
The fundamental concept of CARS research is to include the context in the recommendation process in order to result from the 2D un-contextual recommenders:
Users × Items → Ratings to the multidimensional context-aware recommenders:
Users × Items × Context → Ratings [Adomavicius, Tuzhilin, 2008]. The concept: “Users × Items × Context → Ratings” represents a single complete recommendation process, and is the main idea behind this modelling system and its context framework, as also depicted in the figure to the right (the figure represents the context framework on which the system is based). For each recommendation attempt, a recommender must examine whether each item is suitable for a user in a certain context. This can be depicted through the question: “what is the rating a particular user would assign to a particular item under a certain context”? This rating score is what a recommender must calculate. Therefore, the “user_item_context_rating” entity (see also the figure to the right) has exactly one “Item”, exactly one “User” but one or more “Context” entities, each including a property “rating” to ensure that in each context a user is able to rate the same item with a different rating score (“Context dependent ratings”
[Baltrunas et. al., 2010]).
Part 3: The Context Instance
(hide)
The
“Context” entity represents the context instance: the set of context variables with their corresponding values that constitute the context for a single recommendation. Besides the "rating" property discussed in Part 2, the “Context” entity also includes the “userFeedback” property that represents user feedback information for a particular recommendation. As with the “rating” property, “userFeedback” is unique for a particular context but many “userFeedback” can exist for one user and one item: in many contexts.
“itemContext”,
“userContext”,
“systemContext” and
“otherContext” constitute the four main context categories in the modelling system and are meant to be perceived as the main context categories for any application context for CARS; any context information of any CARS should be able to be represented as a context property of one (or more) of the main context categories, as a context variable. “itemContext” and “userContext” entities represent any item and user related context information that participates in a particular context instance. Similarly, “systemContext” represents any system related context information that participates in a particular context instance, while “otherContext” represents any contextual information other than item, user and system context (e.g. weather, time, temperature).
The
context variable contains the actual contextual information that you want to insert into your context model. Each context variable has a name and a value that must describe both the context parameter and its particular value, e.g. "Temperature" can be a context parameter and "high" can be its value. Via the weight property you may denote a particular importance for your context variable (the higher the number the more significant the variable will be). “static” refers to whether the context is static (static=true) or dynamic (static=false). Static context cannot change dynamically (e.g. user profile information), as opposed to dynamic that can (e.g. weather). By using the “static” attribute, you may assign to your context variable whether it is a part of static or dynamic context and by that, specify a different functionality for it.
Part 4: How to use the system
(hide)
As mentioned above, the
context variable contains the actual contextual information that you can insert into your context model. You may use the form below to add context variables, one at a time. By inserting a context variable to the system, the variable is inserted into the
generic context model of the system, which is a model displaying all the available context variables in the system. The idea is to have all these context variables in one model so that CARS developers can use this model to choose those context variables that are of interest to them and use them in their own applications. Hence, CARS developers can use the generic context model to select a number of context variables and create their own
application context, i.e. a context model for their own application. This can be done
here.
Insert your Context Variable (Context Parameter) in the form below:(info)
(hide)
To build your own context model for your application you may insert your Context Variable (Context Parameter) by using the form below. Please use the suggested format regarding the name/value. Before proceeding please check
here whether the context variable you would like to enter already exists in the system as part of the generic context model; if it does, please use the existed variable in order to avoid redundant information in the system and confusion to other developers.