Generating Personalized Recommendations in a Model-Based Product Configurator System - Short Paper Rosmary Stegmann1, Michael Koch1, Martin Lacher1, Thomas Leckner1, Volker Renneberg2 1
2
Department of Informatics, Technische Universität München [stegmann, kochm, lacher, leckner]@in.tum.de,
Department of Informatics, Universität der Bundeswehr München
[email protected] Abstract
Web-based product configurator tools become increasingly important as a means for customerdriven configuration of highly configurable products today and mass customization in the future. However, with more and more possibilities to select from, the configuration process becomes too complex and tedious for the customer. In this paper, we give an overview of our ideas and concepts for supporting customers by providing personalized recommendations in different stages of the configuration process. We briefly sketch our concept for an architecture of a model-based configurator system and discuss the filtering mechanisms we plan to employ for generating recommendations.
1 Introduction For decades, customers have only had the choice between predefined product variants. The goal of mass customization efforts today is complete personalization of products by adapting them to the individual customer [Piller, 2001; Pine, 1993]. In order to achieve this goal, customers can act as co-designers and configure their product in a product configurator system. In an application that allows only manual configuration, this is a highly complex task which can only be achieved by the customer with considerable effort. Moreover, customers often lack the required know-how in order to transfer their preferences into a product configuration containing detailed technical knowledge. To reduce the complexity experienced by the customer we propose to automatically generate personalized recommendations for configuration options based on the customer’s personal interests and preferences. In this paper, we first give an overview about important fields of application for product configurator tools and recommendation systems (Section 2). After this some
of our ideas concerning the generation of personalized recommendations within a configurator system are discussed (Section 3). Section 3.1 describes our configurator system architecture under the aspect of recommendation generation. Section 3.2 outlines recommendation granularities and the functioning of the filtering component. In Section 3.3, we describe our framework for combining different filtering algorithms in our configurator system.
2 Product Configuration and Recommendation Only in recent years, manufacturers have started to support their customers to find the best-suited product variant by web-based configurator tools [Ardissono et al., 2001; Sabin and Weigel, 1998]. There are many examples for product configurators with a research background as well as with a commercial background. We classify existing approaches into two classes: (1) the manufacturing model configurator approaches and (2) the marketing model configurator approaches. The manufacturing model configurator, such as [Tiihonen et al., 1998], has a technical focus and the configured product data can serve as input for the manufacturing process. The configuration of manufacturing models is extremely complex for the user. We claim that such a configuration approach is not suitable for customer-directed product configuration, as the customer would be overwhelmed with technical details. In contrast, the marketing model configurator merely models those aspects of the product which are supposed to be interesting for the customer during the process of configuration. The marketing model configurator is dominant in commercial solutions (e.g. web configurators of Dell, Audi, Adidas). However, in general, it only provides a simple choice of variants. We want to realize a compromise between both approaches, offering nearly all configuration choices of a manufacturing model without the full configuration complexity. This
reduction of complexity can be achieved through generation of recommendations. Recommender systems can already be found for different kinds of products, like music or books [Cunningham et al., 2000]. For instance, the recommender system on Amazon’s web site (www.amazon.com) suggests books to a customer based on other known preferred books of the customer [Sarwar et al., 2000]. Main techniques for the required filtering are contentbased filtering and collaborative filtering [Balbanovic and Shoham, 1997]: Content-based filtering is based on meta-data of the filtered objects. In an explicit query or by applying rules on customer profile information, it is specified which values the meta-data attributes of matching objects should have. In contrast to content-based filtering, collaborative filtering tries to find similar users and then recommends objects liked by one of these likeminded users [Good et al., 1999]. Both methods, content-based and collaborative filtering, have their pros and cons. For content-based filtering, manual or automatic indexing of information objects has to be performed to generate meta-data. Also special customer profile information has to be made available to be matched with the objects’ meta-information. The shortcoming of collaborative filtering is that it does not work well if only few products have been rated or only little information about customers is available. Furthermore, each specialized filtering method explores the user’s profile only partially. Therefore, employing only one single filtering method will leave important information about the customer unused. As a consequence, more recent approaches suggest a combination of filtering methods within the recommendation system, e.g. [Melville et al., 2002; Schein et al., 2002]. In the following chapter, we will discuss our ideas for an integrated filtering approach that tries to solve some of the problems mentioned above.
3 Personalized Recommendations in Mass Customization In our project we are taking a broad approach for designing a personalized configurator application for mass customization. Our system design is based on comprehensive models, like the product model, which is structured as a tree of components with partonomic (sub-component-of) relations between them and represents knowledge about restrictions and dependencies of the product in form of constraints (see [Janitza et. al., 2003] for more information on our product model). This product model focuses on the representation of customer-relevant product characteristics, however it does not include all technical details that are necessary for manufacturing of a product. With the term degree of freedom we describe those parts of the product model, which can be modified by the customer. A product configuration is the complete informational representation of a product, in which all degrees of freedom are set to a final value.
We also employ a customer profile model and implement a dynamic profile data acquisition method for importing profiles from other (web-)applications. For the overall process we suppose that the customer first gets a personalized recommendation of a product in form of a restricted product model, where degrees of freedom are limited to the customer’s scope of interest (see [Leckner and Lacher, 2003] for more details about the concept of restricted product models). Also the restricted product model includes an implicit recommendation of a product configuration in form of especially chosen default values for all degrees of freedom due to the customer’s profile. Then the customer can change this predefined product configuration interactively. Also during interactive configuration the customer can request recommendations for certain components or specific degrees of freedom. For implementing this personalization approach, different issues have to be addressed: product modelling, user modelling, acquisition of customer profiles, and filtering algorithms. In this paper we focus on the latter. In the following, we briefly describe the overall system architecture and then concentrate on the functionality of the Filtering Manager as a framework for embedding filtering algorithms. See [Leckner et al., 2003] and [Koch, 2002] for more information on product and customer model and on customer profile acquisition.
3.1
System Architecture
The central components of our system are the Configurator, the Community, the Filtering Manager, the Product Server and the Customer Profile Server (cf. Figure 1). The customer starts the product configuration process in the Configurator. For this purpose she gets a personalized recommendation of a product in form of a restricted product model. The recommendation is generated by the Filtering Manager, which controls the recommendation process and therefore needs access to the Product Server and the Customer Profile Server. If the customer’s profile does not include sufficient information for generating a personalized recommendation, the Customer Profile Server can use the customer profile model to acquire further data with dynamically generated personalized forms. Customer profiles are stored in a profile repository and can be accessed and modified by both system and customer. The Product Server stores and allows access to product model and product configurations, which have been prepared by the manufacturer or have been interactively created and/or bought by customers. Product models and configurations are the basis for a dynamically generated product catalogue that provides a personalized overview about available products and components to the customer. The Product Server also allows access to product knowledge, which is necessary for the Configurator to validate whether an actual configuration fulfils the restrictions of the respective product model.
Product Server Product Configurations
Configurator
Product Model
Filtering Manager
Web
Customer
Customer Profile Server
Customer Profiles
Customer Profile Model
Figure 1: System Architecture
3.2
Generating Recommendations
Recommendations can be given in different granularities and vary from simple limitations of degrees of freedom to the suggestion of a full product configuration. For the filtering algorithms we distinguish: (1) filters that only select one configuration from the available configurations in the product database, (2) filters that use the available sub-components in the database and choose the most appropriate ones to configure the requested object, and (3) filters which explicitly set the degrees of freedom of sub-components due to the individual preferences and needs of the customer. These recommendation types create results in different depths of personalization. The Filtering Manager takes as input: (1) the reference to a customer profile, (2) the actual product model the customer is working on, (3) the reference to a sub-tree of the model for which the customer requests a recommendation, and (4) a set of parameters for the control of the filtering calculation. From these input values and the general product model, product configurations, and customer profiles, the Filtering Manager generates a restricted product model of reduced complexity. This restricted product model is instantiated with default values. While the default values for all degrees of freedom provide a concrete recommendation for a product configuration, the restricted degrees of freedom also show some alternative values and/or selected degrees of freedom that might be regarded “second-best” for the customer. If none of the suggested values is appropriate, the customer can always choose from the complete product model that underlies all configurations. For generating recommendations different methods and algorithms, as described in Section 2, are common in today’s practice. In order to handle drawbacks of individual methods, the idea of the Filtering Manager is to integrate several algorithms. The combination of different filtering
algorithms, however, requires a generic framework that configures the filtering methods and enables the checking of recommendations against the product model constraints. In the following section we describe our ideas for such a framework.
3.3
A Framework for Filtering Algorithms
As it has been stated in the previous sections, each filtering method is specialized on specific algorithms and on exploring certain areas of the available information about a customer. For the generation of recommendations this has several effects. Most important, the number of attributes configured automatically is less than optimal and thus leaves more work to the customer. Second, the less customer information is involved, the more the quality of the recommendation suffers. Obviously combining filtering methods can improve recommendations. Fortunately, due to the complexity and hierarchical structure, our product model supports the use of more than one filter as it can easily be decomposed into several sub-parts where each of these parts can be configured by a specific filter. Unfortunately most of the current filter combination hybrids remain static, i.e. the combination (mostly content-based and collaborative filtering) is fixed. For example, in Fab [Balbanovic and Shoham, 1997] the filter combination sequence is unchangeable thus leaving no room for adjusting the recommendation process. Due to the product complexity and the user specific opinions about products and product parts we need a highly configurable combination method for applying more than just one filtering technique. By introducing a pipelined filter combination approach we try to overcome the disadvantages of current filtering hybrids. The idea is to combine several filtering methods as a sequence. For the recommendation generation a (possibly already restricted) product model will be piped
through this sequence. The output of one pipeline part will be input to the next one and the final output is again a restricted product model. The sequential activation of different parts of the pipeline guarantees that the individual filter results cannot be in conflict with each other and the final result is always a valid product model. While our pipeline allows a flexible combination of filtering methods in order to be adjustable to the user’s needs, its configuration obviously is a difficult task. There are two major problems: (1) How do we configure the pipeline with respect to the internal arrangement of filter modules? The so called “pipeline layout” is user specific, as for a certain user every product is viewed differently corresponding to her preferences and interests. Thus the pipeline layout is product and user specific, too. The solutions to this problem range from manual configuration over product centered preconfigured pipelines to user specific personalized pipeline layouts. (2) Additionally we have the problem of deciding which degree of freedom should be configured by which module of the pipeline. Though no large scale product model merging is necessary, recommendations have to be integrated into the already restricted product model. With conflicting values we face difficulties in determining what to recommend. More detailed information can be found in [Renneberg and Borghoff, 2003]. Currently the pipeline described here is simple with respect to layout, as it merely allows sequential order. For the future we plan to add loops and parallelism. Loops are interesting for finding a fix point in configuration, especially when the filtering method reuses configuration from a module further down the pipeline. Thus creating a loop with a number of methods allows the system to benefit from cross-dependencies between the restricted product model and the customer profile information. On the other hand, parallelism enables the system to generate two (partial) recommendations for the same part of the product, e.g. in the case of a solution where the used filtering methods are of equal priority to the user. The outcome of this process is again a restricted product model holding both alternatives.
4 Conclusions We have presented a new approach for generating personalized recommendations in a model-based product configurator system in the context of mass customization. A solution for the reduction of complexity, which is imposed on the customer during configuration, has been proposed by enhancing existing product configurators with personalized recommendations. We have given an overview of the field of configuration and recommendation, outlined important issues, and presented working areas we focus on. Our system architecture concept has briefly been sketched in order to show the embedding of a Filtering Manager component, which is capable of generating recommendations. The technical solution we chose in order to overcome drawbacks of specific filtering algorithms is based on the
combination of different algorithms in a generic pipelined framework. Though setting up such a framework requires some effort, it finally allows more flexibility than most current hybrid approaches, leading to a more personalized and fully user adjusted recommendation. Since the focus of our present work is on integrating the mentioned technologies into the new field of mass customization, we do not plan to conduct large-scale system evaluations in the near future. So far, we have implemented the product and profile models, a Product Model Editor, and a first prototype of the Configurator component. Currently, we are developing the Filtering Manager component with its pipelined framework. For future work, we plan to improve data acquisition techniques for the user profile in order to support the Filtering Manager with an increased amount of customer information. We also intend to embed the whole system in a virtual community space to allow direct recommendations and offer enhanced possibilities to gather profile information. Additionally, we plan to output textual explanations about why a recommendation was given.
Acknowledgments This work is funded by the German Research Foundation (Deutsche Forschungsgemeinschaft, DFG) as part of the program “SFB582: Marktnahe Produktion individualisierter Güter” (http://www.sfb582.de/).
References [Ardissono et al., 2001] L. Ardissono, A. Felfernig, G. Friedrich, D. Jannach, M. Zanker, and R. Schäfer. Intelligent interfaces for distributed web-based product and service configuration. In Proceeding of the First AsiaPacific Conference on Web Intelligence (WI-2001), Maebashi City, Japan, 2001. [Balbanovic and Shoham, 1997] M. Balbanovic and Y. Shoham. Fab – Content-Based, Collaborative Recommendation. Communications of the ACM, 40(3): 66-72, March 1997. [Cunningham et al., 2000] P. Cunningham, R. Bergmann, S. Schmitt, R. Traphöner, S. Breen, and B. Smyth. WEBSELL: Intelligent Sales Assistants for the World Wide Web. Technical Report TCD-CS-2000-42, Trinity College Dublin, Computer Science. [Good et al., 1999] N. Good, J.B. Schafer, J.A. Konstan, A. Borchers, B. Sarwar, J. Herlocker, and J. Riedl. Combining Collaborative Filtering with Personal Agents for Better Recommendations. GroupLens Research Project, In Proceedings of the Sixteenth National Conference on Artificial Intelligence, pages 439-446, USA. [Janitza et al., 2003] D. Janitza, M. Lacher, M. Maurer, U. Pulm, H. Rudolf. A product model for Mass Customization products. To appear in Proc. KES2003, Oxford,
UK, September 2003. [Koch, 2002] M. Koch. Globale Benutzerprofile und kundenindividuelle Produkte. Proc. Liechtensteinisches Wirtschaftsinformatik-Symposium 2002: Der Mensch im Netz – Ubiquitous Computing, B. Britzelmaier, S. Geberl, and S. Weinmann (eds.), Vaduz, Liechtenstein, June 2002, Teubner, Stuttgart, pages 137 – 146. [Leckner et al., 2003] T. Leckner, M. Koch, M. Lacher, and R. Stegmann. Personalization meets Mass Customization - Support for the Configuration and Design of Individualized Products. Proc. Intl. Conf. on Enterprise Information Systems (ICEIS2003), Angers, Frankreich, April 2003. [Leckner and Lacher, 2003] T. Leckner, M. Lacher. Simplifying configuration through customer oriented product models. To appear in Proc. Intl. Conf. on Engineering Design (ICED2003), Stockholm, Netherlands, Aug. 2003. [Melville et al., 2002] P. Melville, R. Mooney, and R. Nagarajan. Content-Boosted Collaborative Filtering for improved recommendations. In Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-02), July 2002 [Piller, 2001] F. Piller. Mass Customization. Ein wettbewerbsstrategisches Konzept im Informationszeitalter. Wiesbaden: Gabler Deutscher Universitäts-Verlag, 2001. [Pine, 1993] J. Pine. Mass Customization: The New Frontier in Business Competition. Boston: Harvard Business School Press, 1993. [Renneberg and Borghoff, 2003] V. Renneberg and U.M. Borghoff. Pipelined Filter Combination in Product Personalization. To appear in Proc. of 10th Intl. Conf. On Human-Computer Interaction 2003. [Sabin and Weigel, 1998] D. Sabin and R. Weigel. Product Configuration Frameworks – A Survey. IEEE Intelligent Systems & their applications, 13(4): 42-49. [Sarwar et al., 2000] B. Sarwar, G. Karypsis, J.A. Konstan, and J.T. Riedl. Application of Dimensionality Reduction in Recommender System -- A Case Study. In ACM WebKDD 2000 Web Mining for E-Commerce Workshop. [Schein et al., 2002] A. Schein, A. Popescul, L. Ungar, and D. Pennock. Methods and Metrics for Cold-Start Recommendations. In Proceedings of the 25th ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2002). [Tiihonen et al., 1998] J. Tiihonen, T. Lehtonen, T. Soininen, A. Pulkkinen, R. Solunen, and A. Riitahuhta.
Modeling configurable product families. In 4th WDK Workshop on Product Structuring, Delft University of Technology, Netherlands, 1998.