diff --git a/30_Thesis/sections/00_introduction.tex b/30_Thesis/sections/00_introduction.tex index 0e8e708..5ce5e17 100644 --- a/30_Thesis/sections/00_introduction.tex +++ b/30_Thesis/sections/00_introduction.tex @@ -24,7 +24,7 @@ To support groups in their decision making product configuration can be used. It There does not exists much research on recommendation for group configuration, however it is comprised of two different areas of research, recommenders for groups and recommenders for configuration. -The existing literature on recommenders for groups is extensive with many different approaches and domains \cite{delicResearchMethodsGroup2016, chenInterfaceInteractionDesign2011, atasItemRecommendationUsing2017, jamesonRecommendationGroups2007, chenEmpatheticonsDesigningEmotion2014, liuCGSPAComprehensiveGroup2019}. \citeauthor{felfernigGroupRecommenderSystems2018} give an overview about basic approaches \cite{felfernigGroupRecommenderSystems2018}. +The existing literature on recommenders for groups is extensive with many different approaches and domains \cite{delicResearchMethodsGroup2016, chenInterfaceInteractionDesign2011, atasItemRecommendationUsing2017, jamesonRecommendationGroups2007, chenEmpatheticonsDesigningEmotion2014, liuCGSPAComprehensiveGroup2019}. \citeauthor{felfernigGroupRecommenderSystems2018} \cite{felfernigGroupRecommenderSystems2018} give an overview about basic approaches. In the area of product configuration research about recommender systems is undertaken as well \cite{pereiraFeatureBasedPersonalizedRecommender2016, scholzConfigurationbasedRecommenderSystem2017, scholzEffectsDecisionSpace2017}. Group configuration is a more specialized sub field of configuration therefore less attention has been directed towards it and because of that there has not been much research on recommenders that are for group recommendation in a configuration setting. diff --git a/30_Thesis/sections/10_foundations.tex b/30_Thesis/sections/10_foundations.tex index 2aef95e..e060da2 100644 --- a/30_Thesis/sections/10_foundations.tex +++ b/30_Thesis/sections/10_foundations.tex @@ -62,7 +62,7 @@ a users \emph{utility function} that maps a domain value to a utility value and & 1 <= i <= n . \end{split} \end{equation} -\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s approach, which this thesis extends, is to treat the group configuration the same as one shared configuration and to sync the selection of attributes across clients \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}. +\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s \cite{raabKollaborativeProduktkonfigurationEchtzeit2019} approach, which this thesis extends, is to treat the group configuration the same as one shared configuration and to sync the selection of attributes across clients. \section{Recommender System} \label{sec:Foundations:RecommenderSystem} diff --git a/30_Thesis/sections/40_concept.tex b/30_Thesis/sections/40_concept.tex index f4aafad..a50c8f2 100644 --- a/30_Thesis/sections/40_concept.tex +++ b/30_Thesis/sections/40_concept.tex @@ -88,7 +88,7 @@ The used characteristics and attributes are shown in \autoref{fig:Concept:Forest \section{Solution Generation} \label{sec:Concept:SolutionGeneration} -Given an unfinished configuration and preferences of all group members, rate a finished configuration on how well it reflects the configuration state and preferences. This Use this to choose the best finished configuration out of a list to recommend. +Given an unfinished configuration and preferences of all group members, rate a finished configuration on how well it reflects the configuration state and preferences. Use this to choose the best finished configuration out of a list to recommend. \subsection{Generating a Recommendation} @@ -131,7 +131,7 @@ An example group configuration scoring function is $score_{group}$ with \end{split} \end{equation} -This thesis will use multiple scoring functions. Among those are ones for least misery, average and multiplicative. Average and multiplicative yield good results among the studies presented by \citeauthor{Masthoff2015}. Strategies can also be combined, one example here is average without misery \cite{Masthoff2015}. +This thesis will use multiple scoring functions. Among those are ones for least misery, average and multiplicative. Average and multiplicative yield good results among the studies presented by \citeauthor{Masthoff2015} \cite{Masthoff2015}. Strategies can also be combined, one example here is average without misery. \end{samepage} \subsubsection{Preference Scoring} diff --git a/30_Thesis/sections/50_design_and_implementation.tex b/30_Thesis/sections/50_design_and_implementation.tex index 9e1e4ab..7981ec1 100644 --- a/30_Thesis/sections/50_design_and_implementation.tex +++ b/30_Thesis/sections/50_design_and_implementation.tex @@ -22,7 +22,7 @@ \section{CAS Group-Configurator} \label{sec:DesignImplementation:GroupConfigurator} -\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s extends CAS Merlin Configurator in his thesis to allow simultaneous configuration. The extended architecture is shown in \autoref{fig:DesignImplementation:CollaborativeConfiguratorMerlin}. +\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s \cite{raabKollaborativeProduktkonfigurationEchtzeit2019} extends CAS Merlin Configurator in his thesis to allow simultaneous configuration. The extended architecture is shown in \autoref{fig:DesignImplementation:CollaborativeConfiguratorMerlin}. He only makes changes to M.Customer which is renamed to M.Collab-Customer and introduces a new component M.Collab. \begin{description} @@ -41,7 +41,7 @@ He only makes changes to M.Customer which is renamed to M.Collab-Customer and in \section{Extended Configurator} \label{sec:DesignImplementation:ExtendedConfigurator} -Extending \citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} work a module called M.Recommender is added. Its aim is to provide a recommendation server that holds all the data needed for recommendations. M.Collab and M.Collab-Customer have to be modified to allow taking in preferences and to show recommendations. The recommender engine is set up to be in a separate system which allows the easier replacement and the usage of different technologies. The extended architecture is shown in \autoref{fig:DesignImplementation:RecommenderForCollaborativeConfiguratorMerlin}. +Extending \citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} \cite{raabKollaborativeProduktkonfigurationEchtzeit2019} work a module called M.Recommender is added. Its aim is to provide a recommendation server that holds all the data needed for recommendations. M.Collab and M.Collab-Customer have to be modified to allow taking in preferences and to show recommendations. The recommender engine is set up to be in a separate system which allows the easier replacement and the usage of different technologies. The extended architecture is shown in \autoref{fig:DesignImplementation:RecommenderForCollaborativeConfiguratorMerlin}. \begin{description} \item[M.Recommender] is a new system that will get queried from M.Collab for recommendations, when the configuration changes. M.Recommender will return recommendations which then can be presented to users by M.Collab-Customer. diff --git a/30_Thesis/sections/65_related_work.tex b/30_Thesis/sections/65_related_work.tex index e73e9cd..2326703 100644 --- a/30_Thesis/sections/65_related_work.tex +++ b/30_Thesis/sections/65_related_work.tex @@ -5,33 +5,33 @@ \label{sec:Related_Work:GroupRecommender} \begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont] - \item[\citeauthor{choudharyMulticriteriaGroupRecommender2020}] propose a multi-criteria group recommender system \cite{choudharyMulticriteriaGroupRecommender2020}. An analytical hierarchy process is used to learn priorities for film features like story, action, direction and to then make a number of best recommendations for a group of users. Their approach works well for film selection and they observe that it is easier to make recommendations for homogenous groups than for random groups. Also small groups receive better recommendations compared to large ones. + \item[\citeauthor{choudharyMulticriteriaGroupRecommender2020} \cite{choudharyMulticriteriaGroupRecommender2020}] propose a multi-criteria group recommender system. An analytical hierarchy process is used to learn priorities for film features like story, action, direction and to then make a number of best recommendations for a group of users. Their approach works well for film selection and they observe that it is easier to make recommendations for homogenous groups than for random groups. Also small groups receive better recommendations compared to large ones. - \item[\citeauthor{chenInterfaceInteractionDesign2011}] looks at interface and interaction designs that supports the overall group and does not only consider each user individually. Chen designs a music recommendation system \emph{GroupFun} with a focus on groups that tries to enhance mutual awareness and transparency. \citeauthor{chenInterfaceInteractionDesign2011}'s assessment is that this work is still in a preliminary stage\cite{chenInterfaceInteractionDesign2011}. Further work in that area was conducted by \citeauthor{chenEmpatheticonsDesigningEmotion2014} looking at emotional awareness in groups and how that can be visualised in a user interface \cite{chenEmpatheticonsDesigningEmotion2014}. + \item[\citeauthor{chenInterfaceInteractionDesign2011} \cite{chenInterfaceInteractionDesign2011}] looks at interface and interaction designs that supports the overall group and does not only consider each user individually. Chen designs a music recommendation system \emph{GroupFun} with a focus on groups that tries to enhance mutual awareness and transparency. \citeauthor{chenInterfaceInteractionDesign2011}'s assessment is that this work is still in a preliminary stage. Further work in that area was conducted by \citeauthor{chenEmpatheticonsDesigningEmotion2014} \cite{chenEmpatheticonsDesigningEmotion2014} looking at emotional awareness in groups and how that can be visualised in a user interface. \end{description} \section{Group-Based Configuration} \label{sec:Related_Work:GroupBasedConfiguration} \begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont] - \item[\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}] builds a collaborative configurator based on the CAS Merlin Configurator. Here groups of people are able to simultaneously configure a product \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}. If there are any conflicts, a conflict resolution process is started. However the prototype only allows a majority voting approach and does not provide any further group decision support. Also this process only starts upon the selection of an invalid state that gives alternatives. + \item[\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}] builds a collaborative configurator based on the CAS Merlin Configurator. Here groups of people are able to simultaneously configure a product. If there are any conflicts, a conflict resolution process is started. However the prototype only allows a majority voting approach and does not provide any further group decision support. Also this process only starts upon the selection of an invalid state that gives alternatives. - \item[\citeauthor{felferningGroupBasedConfiguration2016}] introduce basic definitions of group based configuration task, show what conflicts can occur, how to deal with inconsistencies in preferences among group members and how to integrate different decision heuristics into this process \cite{felferningGroupBasedConfiguration2016}. + \item[\citeauthor{felferningGroupBasedConfiguration2016} \cite{felferningGroupBasedConfiguration2016}] introduce basic definitions of group based configuration task, show what conflicts can occur, how to deal with inconsistencies in preferences among group members and how to integrate different decision heuristics into this process. - \item[\citeauthor{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}] implement a web based simultaneous group-based configuration system that uses constraint programming \cite{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}. Hereby each user configures according to their own preferences and the system proposes a configuration according to different strategies. These strategies are maximization of selections (which means finding the solution with the largest number of features selected), minimizing conflicting selections (which means to minimize the inclusion of features that have conflicts) and to prioritize decisions from some users. + \item[\citeauthor{velasquez-guevaraMultiSPLOTSupportingMultiuser2018} \cite{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}] implement a web based simultaneous group-based configuration system that uses constraint programming . Hereby each user configures according to their own preferences and the system proposes a configuration according to different strategies. These strategies are maximization of selections (which means finding the solution with the largest number of features selected), minimizing conflicting selections (which means to minimize the inclusion of features that have conflicts) and to prioritize decisions from some users. \end{description} \section{Recommender Systems for Configuration} \label{sec:Related_Work:RecommenderSystemsForConfiguration} \begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont] - \item[\citeauthor{rubinshteynEntwicklungHybridenRecommender2018}] looks at different approaches to recommendation and implements a prototype with CAS Merlin Configurator which uses a hybrid recommender system \cite{rubinshteynEntwicklungHybridenRecommender2018}. His prototype combines constraint-based filtering with collaborative filtering and achieves better results in terms of precision than non-hybrid systems using collaborative filtering and constraint-based recommendation. In terms of recall his hybrid does not surpass the high numbers of constraint-based recommendation but improves upon collaborative-filtering. + \item[\citeauthor{rubinshteynEntwicklungHybridenRecommender2018} \cite{rubinshteynEntwicklungHybridenRecommender2018}] looks at different approaches to recommendation and implements a prototype with CAS Merlin Configurator which uses a hybrid recommender system. His prototype combines constraint-based filtering with collaborative filtering and achieves better results in terms of precision than non-hybrid systems using collaborative filtering and constraint-based recommendation. In terms of recall his hybrid does not surpass the high numbers of constraint-based recommendation but improves upon collaborative-filtering. - \item [\citeauthor{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}] uses a constraint based recommender that uses fuzzy logic to relax constraints and thereby reducing the amount of times where the recommender is unable to make recommendations \cite{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}. With his approach a product manager has direct influence on the recommendations. Rules for recommendations hereby are not automatically learned but only manually created and relate to predefined user interest categories. + \item [\citeauthor{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017} \cite{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}] uses a constraint based recommender that uses fuzzy logic to relax constraints and thereby reducing the amount of times where the recommender is unable to make recommendations. With his approach a product manager has direct influence on the recommendations. Rules for recommendations hereby are not automatically learned but only manually created and relate to predefined user interest categories. - \item [\citeauthor{ullmannEntwurfUndUmsetzung2017}] implements a recommendation engine that is able to estimate customer budgets, a k-nearest neighbour classifier for finding a base configuration and non-negative matrix factorization combined with nearest neighbour to find configurations for specific users \cite{ullmannEntwurfUndUmsetzung2017}. \par + \item [\citeauthor{ullmannEntwurfUndUmsetzung2017} \cite{ullmannEntwurfUndUmsetzung2017}] implements a recommendation engine that is able to estimate customer budgets, a k-nearest neighbour classifier for finding a base configuration and non-negative matrix factorization combined with nearest neighbour to find configurations for specific users. \par - \item[\citeauthor{wetzelPersonalisierterUndLernender2017}] combines collaborative filtering and click-stream analysis \cite{wetzelPersonalisierterUndLernender2017}. For collaborative filtering he implements three filtering algorithms: k-nearest neighbour, weighted majority voting and non-negative matrix factorization. Collaborative filtering is used to find configurations that are similar to the current configuration. Click-stream analysis is done by using n-grams and the Smith-Waterman algorithm. \citeauthor{wetzelPersonalisierterUndLernender2017} also tries to use click-stream data in combination with Markov chains to give recommendations on how configuration options should be ordered in a configuration form but click-streams do not yield any improvements in terms of accuracy and recall. + \item[\citeauthor{wetzelPersonalisierterUndLernender2017} \cite{wetzelPersonalisierterUndLernender2017}] combines collaborative filtering and click-stream analysis. For collaborative filtering he implements three filtering algorithms: k-nearest neighbour, weighted majority voting and non-negative matrix factorization. Collaborative filtering is used to find configurations that are similar to the current configuration. Click-stream analysis is done by using n-grams and the Smith-Waterman algorithm. \citeauthor{wetzelPersonalisierterUndLernender2017} also tries to use click-stream data in combination with Markov chains to give recommendations on how configuration options should be ordered in a configuration form but click-streams do not yield any improvements in terms of accuracy and recall. - \item[\citeauthor{falknerRecommendationTechnologiesConfigurable2011}] provide an overview of recommendation approaches for configuration to improve usability of configuration systems \cite{falknerRecommendationTechnologiesConfigurable2011}. They look at feature recommender to recommend which features in a configuration would be useful to have and at value recommender for these features. Additionally they discuss approaches for ranking and recommending explanations for inconsistencies between customers requirements and product rules however they do not provide any recommendations and point towards further needed research. + \item[\citeauthor{falknerRecommendationTechnologiesConfigurable2011} \cite{falknerRecommendationTechnologiesConfigurable2011}] provide an overview of recommendation approaches for configuration to improve usability of configuration systems. They look at feature recommender to recommend which features in a configuration would be useful to have and at value recommender for these features. Additionally they discuss approaches for ranking and recommending explanations for inconsistencies between customers requirements and product rules however they do not provide any recommendations and point towards further needed research. \end{description}