正在加载图片...
We define recommend and blend operators that capture the essence ommend top N items to a user. Users and items are represented of most recommendation workflows. The operators can be com- by rudimentary profiles(e.g, as sets of ratings or keywords) and posed and combined with more traditional select, project, and recommendations are based on profile comparisons. For example The main challenge in designing these opera the content-based component of the Fab system [6] recommends ing the appropriate functionality and generality. web pages to users and represents web page content with the 100 care, one can easily come up with operators that most important words. Similarly, the Syskill Webert system are not useful for common recommendations represents documents with the 128 most informative words [211 or are unnecessarily complex While recommendations are based on a limited understanding of ovide several examples that illustrate how common rec- the world, many real applications use much richer data residing ndation strategies( found in literature or implemented in in databases. Different types of entities may co-exist in a single Rank) can be expressed as parameterized workflows with database(e.g, books, authors, publishers, and so forth) with sev- ur operators, as well as new recommendation types. eral attributes. Current approaches are not very expressive, e.g they cannot provide recommendations for different entities taking into account different subsets of their attributes realizes the proposed framework and executes multiple work The inherent limitations of recommendation systems have been flows transparently. Our strategy reduces the amount of data saved in temporary relations during execution. For instance, knowledged [5, 15] and some extensions have been recently pro- osed, such as incorporating multi-criteria ratings into recommen extended relations are never materialized. Furthermore, our dations [3]. The language RQL has been the first proposal that al- new operators can be compiled into standard SQL for execu tion. Hence recommendation workflows are converted into se- lows users to formulate recommendations in a flexible manner [41 However, RQL queries are not very expressive because they quences of standard SQL calls, which are then executed by a formulated on a pre-specified multidimensional cube of ratings conventional database system taking advantage of the underly ng query optimization. The recommendation operators may In contrast to existing works on recommendations, in this paper, call upon functions in a library. When possible, library func- we do not propose or extend a particular recommendation method. tions are also compiled into the sQL statements. We propose a general and open framework for expressing and pro- cessing fexible recommendations over relational data that covers We present experimental results that show the potential of our existing as well as allows capturing novel recommendation paradign approach for capturing multiple, existing or novel, recommen- As part of our effort, we have also implemented a flexible recom- dations easily and having a flexible recommendation system mendation interface in our system that allows students to request that combines extensibility with reasonable performance. For nd customize their recommendations [16] our evaluation, we use real data from our production system. 2. RELATED WORK 3. RECOMMENDATION FRAMEWORK Since the appearance of the first papers on collaborative filter- 3.1 Data model [12, 22, 261, a lot of work has been done from improving and evaluating recommendation methods [3, 13, 27] to designing trust- Large amounts of data reside in structured form, and particularl in relational form, such as e-store, university, corporate, and scien- thy systems [18, 20). In their core, these systems provide (a) tific data. Our own university database is relational too. Therefore, content-based recommendations for items similar to those the use we focus on databases that follow the relational model. which is preferred in the past [7, 21]or(b)collaborative recommendations enriched with some additional features for items that people with similar tastes liked [8, 22] or(c)h brid recommendations by combining recommendation methods [6, a database comprises a set of relations. A relation R(denoted 24]. Although a popular and highly researched area, recommen- Ri when more than one relation is implied) has a set A of at- tributes. We will use R. A, to refer to an attribute in A or simply dation systems present important limitations for users as well as A. when R is understood. A tuple r in R is a vector of single, researchers and developers [ 5] The recommendation algorithm as well as its inputs are hard refer to the value of A, in tuple r. An attribute that can be instan- menting with new methods can be time-consuming and counter tiated to a single value v is called base attribute. A relation with only base attributes is called base relation productive [15]. Furthermore, hard-wired algorithms generate only a predefined and fixed set of recommendations, which cannot ca In addition, we introduce the concept of an extended relation. ture the real-time user information needs. For example, in content- DEFINITIOn 1. An extended relation S has base attributes and based methods, the user is limited to see items that are similar to extended attributes. An extended attribute Ei(Al,. Ae)is instan those she liked in the past. On the other hand, collaborative filter- tiated to a relation with attributes A,.A ing methods provide serendipitous recommendations but they have problems, such as the inability to recommend new items [6]. There Given a tuple s in the relation S, s[Eu is a with attribute ave been many approaches that try to solve some of these prob Al,..Ae. If t is a tuple in this nested relation, then t[A, gives lems, such as filtering out items if they are too similar to those seen the value of attribute A, in this relation. We will use Ei. A, to refer before [7 or using genetic algorithms [27]. Several recommen to an attribute that is part of an extended attribute E, or simply Aj dation systems use a hybrid approach to avoid certain limitations when Ei is understood, and we call A, an embedded attribute of content-based and collaborative systems [6, 24]. However, of Consequently, under our semantics, the notion of an attribute ten different recommendations may be required under different cir- value has a broader meaning capturing scalar values as well as re- cumstances by different users. Current approaches do not support lations. We consider that only base relations can be part of a tuple fexible customizable recommendations allowing one level of nesting While our model and language could Furthermore, they deal with applications that have two types of be generalized to arbitrary nesting, we have not seen a need for entities, users and items(e.g, movies, web pages) and they rec- this generality in any of the practical recommendation scenarios we• We define recommend and blend operators that capture the essence of most recommendation workflows. The operators can be com￾posed and combined with more traditional select, project, and join operators. The main challenge in designing these opera￾tors is in capturing the appropriate functionality and generality. Without a lot of care, one can easily come up with operators that do not compose, are not useful for common recommendations or are unnecessarily complex. • We provide several examples that illustrate how common rec￾ommendation strategies (found in literature or implemented in CourseRank) can be expressed as parameterized workflows with our operators, as well as new recommendation types. • We describe a prototype flexible recommendation engine that realizes the proposed framework and executes multiple work- flows transparently. Our strategy reduces the amount of data saved in temporary relations during execution. For instance, extended relations are never materialized. Furthermore, our new operators can be compiled into standard SQL for execu￾tion. Hence, recommendation workflows are converted into se￾quences of standard SQL calls, which are then executed by a conventional database system taking advantage of the underly￾ing query optimization. The recommendation operators may call upon functions in a library. When possible, library func￾tions are also compiled into the SQL statements. • We present experimental results that show the potential of our approach for capturing multiple, existing or novel, recommen￾dations easily and having a flexible recommendation system that combines extensibility with reasonable performance. For our evaluation, we use real data from our production system. 2. RELATED WORK Since the appearance of the first papers on collaborative filter￾ing [12, 22, 26], a lot of work has been done from improving and evaluating recommendation methods [3, 13, 27] to designing trust￾worthy systems [18, 20]. In their core, these systems provide (a) content-based recommendations for items similar to those the user preferred in the past [7, 21] or (b) collaborative recommendations for items that people with similar tastes liked [8, 22] or (c) hy￾brid recommendations by combining recommendation methods [6, 24]. Although a popular and highly researched area, recommen￾dation systems present important limitations for users as well as researchers and developers [5]. The recommendation algorithm as well as its inputs are hard wired in the system code. Designing, implementing and experi￾menting with new methods can be time-consuming and counter￾productive [15]. Furthermore, hard-wired algorithms generate only a predefined and fixed set of recommendations, which cannot cap￾ture the real-time user information needs. For example, in content￾based methods, the user is limited to see items that are similar to those she liked in the past. On the other hand, collaborative filter￾ing methods provide serendipitous recommendations but they have problems, such as the inability to recommend new items [6]. There have been many approaches that try to solve some of these prob￾lems, such as filtering out items if they are too similar to those seen before [7] or using genetic algorithms [27]. Several recommen￾dation systems use a hybrid approach to avoid certain limitations of content-based and collaborative systems [6, 24]. However, of￾ten different recommendations may be required under different cir￾cumstances by different users. Current approaches do not support flexible, customizable, recommendations. Furthermore, they deal with applications that have two types of entities, users and items (e.g., movies, web pages) and they rec￾ommend top N items to a user. Users and items are represented by rudimentary profiles (e.g., as sets of ratings or keywords) and recommendations are based on profile comparisons. For example, the content-based component of the Fab system [6] recommends web pages to users and represents web page content with the 100 most important words. Similarly, the Syskill & Webert system represents documents with the 128 most informative words [21]. While recommendations are based on a limited understanding of the world, many real applications use much richer data residing in databases. Different types of entities may co-exist in a single database (e.g., books, authors, publishers, and so forth) with sev￾eral attributes. Current approaches are not very expressive, e.g., they cannot provide recommendations for different entities taking into account different subsets of their attributes. The inherent limitations of recommendation systems have been acknowledged [5, 15] and some extensions have been recently pro￾posed, such as incorporating multi-criteria ratings into recommen￾dations [3]. The language RQL has been the first proposal that al￾lows users to formulate recommendations in a flexible manner [4]. However, RQL queries are not very expressive because they are formulated on a pre-specified multidimensional cube of ratings. In contrast to existing works on recommendations, in this paper, we do not propose or extend a particular recommendation method. We propose a general and open framework for expressing and pro￾cessing flexible recommendations over relational data that covers existing as well as allows capturing novel recommendation paradigms. As part of our effort, we have also implemented a flexible recom￾mendation interface in our system that allows students to request and customize their recommendations [16]. 3. RECOMMENDATION FRAMEWORK 3.1 Data Model Large amounts of data reside in structured form, and particularly in relational form, such as e-store, university, corporate, and scien￾tific data. Our own university database is relational too. Therefore, we focus on databases that follow the relational model, which is enriched with some additional features. A database comprises a set of relations. A relation R (denoted Ri when more than one relation is implied) has a set A of at￾tributes. We will use R.Aj to refer to an attribute in A or simply Aj when R is understood. A tuple r in R is a vector of single, numerical or categorical, values. We will use the notation r[Aj ] to refer to the value of Aj in tuple r. An attribute that can be instan￾tiated to a single value v is called base attribute. A relation with only base attributes is called base relation. In addition, we introduce the concept of an extended relation. DEFINITION 1. An extended relation S has base attributes and extended attributes. An extended attribute Ei(A1, ... Ae) is instan￾tiated to a relation with attributes A1, ... Ae. Given a tuple s in the relation S, s[Ei] is a relation with attributes A1, ... Ae. If t is a tuple in this nested relation, then t[Aj ] gives the value of attribute Aj in this relation. We will use Ei.Aj to refer to an attribute that is part of an extended attribute Ei or simply Aj when Ei is understood, and we call Aj an embedded attribute. Consequently, under our semantics, the notion of an attribute value has a broader meaning capturing scalar values as well as re￾lations. We consider that only base relations can be part of a tuple allowing one level of nesting. While our model and language could be generalized to arbitrary nesting, we have not seen a need for this generality in any of the practical recommendation scenarios we
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有