implement suggestions for foundations chapter

This commit is contained in:
hannes.kuchelmeister
2019-12-12 15:29:03 +01:00
parent c5e13b7f4b
commit 9063cadf8a
2 changed files with 70 additions and 4 deletions

View File

@@ -790,6 +790,23 @@
title = {{{INTELLIREQ}}: {{Intelligent Techniques}} for {{Software Requirements Engineering}}} title = {{{INTELLIREQ}}: {{Intelligent Techniques}} for {{Software Requirements Engineering}}}
} }
@incollection{ningComprehensiveSurveyNeighborhoodBased2015,
abstract = {Among collaborative recommendation approaches, methods based on nearest-neighbors still enjoy a huge amount of popularity, due to their simplicity, their efficiency, and their ability to produce accurate and personalized recommendations. This chapter presents a comprehensive survey of neighborhood-based methods for the item recommendation problem. In particular, the main benefits of such methods, as well as their principal characteristics, are described. Furthermore, this document addresses the essential decisions that are required while implementing a neighborhood-based recommender system, and gives practical information on how to make such decisions. Finally, the problems of sparsity and limited coverage, often observed in large commercial recommender systems, are discussed, and some solutions to overcome these problems are presented.},
author = {Ning, Xia and Desrosiers, Christian and Karypis, George},
booktitle = {Recommender {{Systems Handbook}}},
date = {2015},
doi = {10.1007/978-1-4899-7637-6_2},
editor = {Ricci, Francesco and Rokach, Lior and Shapira, Bracha},
file = {C\:\\Users\\Hannes.Kuchelmeister\\Zotero\\storage\\D6HDEGBT\\Ning et al_2015_A Comprehensive Survey of Neighborhood-Based Recommendation Methods.pdf},
isbn = {978-1-4899-7637-6},
keywords = {Diffusion Kernel,Recommendation Approach,Recommender System,Side Information,Similarity Weight},
langid = {english},
location = {{Boston, MA}},
pages = {37-76},
publisher = {{Springer US}},
title = {A {{Comprehensive Survey}} of {{Neighborhood}}-{{Based Recommendation Methods}}}
}
@inproceedings{offermannOutlineDesignScience2009, @inproceedings{offermannOutlineDesignScience2009,
abstract = {Discussions about the body of knowledge of information systems, including the research domain, relevant perspectives and methods have been going on for a long time. Many researchers vote for a combination of research perspectives and their respective research methodologies; rigour and relevance as requirements in design science are generally accepted. What has been lacking is a formalisation of a detailed research process for design science that takes into account all requirements. We have developed such a research process, building on top of existing processes and findings from design research. The process combines qualitative and quantitative research and references well-known research methods. Publication possibilities and self-contained work packages are recommended. Case studies using the process are presented and discussed.}, abstract = {Discussions about the body of knowledge of information systems, including the research domain, relevant perspectives and methods have been going on for a long time. Many researchers vote for a combination of research perspectives and their respective research methodologies; rigour and relevance as requirements in design science are generally accepted. What has been lacking is a formalisation of a detailed research process for design science that takes into account all requirements. We have developed such a research process, building on top of existing processes and findings from design research. The process combines qualitative and quantitative research and references well-known research methods. Publication possibilities and self-contained work packages are recommended. Case studies using the process are presented and discussed.},
author = {Offermann, Philipp and Levina, Olga and Sch\"onherr, Marten and Bub, Udo}, author = {Offermann, Philipp and Levina, Olga and Sch\"onherr, Marten and Bub, Udo},

View File

@@ -1,7 +1,7 @@
\chapter{Foundations} \chapter{Foundations}
\label{ch:Foundations} \label{ch:Foundations}
\todo[author=Robert, inline]{Zu den Definitionen in der Foundation Section noch etwas Text schreiben.} Since this thesis focuses on recommender systems to support group decisions in the context of group based configuration it is important to define what we mean by these terms. This chapter describes foundations that sow what a recommender system is, approaches that can be taken and how it is possible to build with these approaches a group recommender. Additionally configuration and group configuration are defined. In group decisions biases can have an effect of the groups decision making ability and some of these are presented here to consider their effect on group decisions.
\section{Recommender System} \section{Recommender System}
\label{sec:Foundations:RecommenderSystem} \label{sec:Foundations:RecommenderSystem}
@@ -10,27 +10,76 @@ A recommender system is a system that gives individualized recommendations to us
There are several approaches to recommender systems presented in \cite{felfernigGroupRecommenderSystems2018}, these are: collaborative filtering, content-based filtering, critiquing-based filtering, constraint-based, hybrid recommendation. There are several approaches to recommender systems presented in \cite{felfernigGroupRecommenderSystems2018}, these are: collaborative filtering, content-based filtering, critiquing-based filtering, constraint-based, hybrid recommendation.
\begin{table}
\centering
\begin{tabular}{ l | c | c | c | c | c }
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
John & 5 & 1 & & 2 & 2 \\
Lucy & 1 & 5 & 2 & 5 & 5 \\
Eric & 2 & ? & 3 & 5 & 4 \\
Diane & 4 & 3 & 5 & 3 & \\
\end{tabular}
\caption{An example showing users ratings for movies by \citeauthor{ningComprehensiveSurveyNeighborhoodBased2015} \cite{ningComprehensiveSurveyNeighborhoodBased2015}.}
\label{tab:Foundations:RecommenderSystem:MoviePreferences}
\end{table}
\subsection{Collaborative Filtering} \subsection{Collaborative Filtering}
In collaborative filtering a users rating for unknown items is predicted by finding similar users who have rated it. Their rating is used as prediction In collaborative filtering a users rating for unknown items is predicted by finding similar users who have rated it. Their rating is used as prediction
\cite[~ pp. 7, 8]{felfernigDecisionTasksBasic2018}. \cite[~ pp. 7, 8]{felfernigDecisionTasksBasic2018}.
Collaborative Filtering can not only be done using users, it can also be item-based. Hereby the similarity between items is used for a recommendation and not similar users \cite{ricciRecommenderSystemsHandbook2015}. In the context of configuration the similarity to other historic configurations can be used which makes it an item based approach. Collaborative Filtering can not only be done using users, it can also be item-based. Hereby the similarity between items is used for a recommendation and not similar users \cite{ricciRecommenderSystemsHandbook2015}. In the context of configuration the similarity to other historic configurations can be used which makes it an item based approach.
Table \ref{tab:Foundations:RecommenderSystem:MoviePreferences} shows an example rating matrix. A simple user-based way to calculate rating would be now to use a k-nearest neighbour (kNN) algorithm and then take the average of those ratings. Using this method with $k := 2$ and euclidean distance our closest neighbours are \textit{Lucy} and \textit{Diane} therefore giving us a predicted rating of $4$. If we use item based illustration instead, we will try to find similar items based on the users rating. An example of similar items here would be \textit{Forest Gump} and \textit{Wall-E} as John and Lucy each have given them the sane rating and Eric's rating is off by one. Using again kNN with $k := 2$ we find that \textit{Forest Gump} and \textit{Wall-E} are the most similar to \textit{Titanic} thereby having a predicted rating of $4.5$.
However this simple similarity and prediction function does not take into account different distances. For example Lucy's ratings are more similar compared to Eric's than Diane's but Diane's and Lucy's rating is valued the same amount.
\subsection{Content-Based Filtering} \subsection{Content-Based Filtering}
Items and users are assigned to categories. Based on consumption and rating of items a user will have implicit ratings for categories. Predictions are now made based on a categories of the new item \cite[~ pp. 10, 11]{felfernigDecisionTasksBasic2018}. Items and users are assigned to categories. Based on consumption and rating of items a user will have implicit ratings for categories. Predictions are now made based on a categories of the new item \cite[~ pp. 10, 11]{felfernigDecisionTasksBasic2018}.
Using our example from Table \ref{tab:Foundations:RecommenderSystem:MoviePreferences} and using an additional category matrix (see Table \ref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}) we can derive a rating matrix per category (using the average rating of the user of each movie contained in this category). The result can be seen in Table \ref{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}. To predict Eric's rating of Titanic we now can use the categories of \textit{Titanic} and average out Eric's implicit rating per category. Titanic is only in the category romance and as Eric's rating of \textit{Forest Gump} is $5$ the prediction is a rating of $5$. Categories don't have to be the genre, they could be any kind of data about a movie.
\begin{table}
\centering
\begin{tabular}{ l | c | c | c | c | c }
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
Action & x & & x & & \\
Sci-Fi & x & & & & \\
Thriller & & & x & & \\
Romance & & x & & x & \\
Family & & & & x & x \\
\end{tabular}
\caption{Showing example categories for movies in Table \ref{tab:Foundations:RecommenderSystem:MoviePreferences}.}
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}
\end{table}
\begin{table}
\centering
\begin{tabular}{ l | c | c | c | c | c }
& Action & Sci-Fi & Thriller & Romance & Family \\ \hline
John & 5 & 5 & & 1.5 & 2 \\
Lucy & 1.5 & 1 & 2 & 5 & 5 \\
Eric & 2.5 & 2 & 3 & 5 & 4.5 \\
Diane & 4.5 & 4 & 5 & 3 & 3 \\
\end{tabular}
\caption{User profiles generated from categories and rating from Tables \ref{tab:Foundations:RecommenderSystem:MoviePreferences} and \ref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}.}
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}
\end{table}
\subsection{Critiquing-Based Recommendation} \subsection{Critiquing-Based Recommendation}
Items are recommended and a user can then critique on attributes of the recommendation. Based on that a similar item which does not have those critiques can be recommended. User preferences are implicitly collected this way \cite{knijnenburgEachHisOwn2011}. Items are recommended and a user can then critique on attributes of the recommendation. Based on that a similar item which does not have those critiques can be recommended. User preferences are implicitly collected this way \cite{knijnenburgEachHisOwn2011}.
With a critique based approach Eric sees a suggestion of watching \textit{The Island} and its attributes. He then can say that he finds this movie has too much action. The critique based recommender will now present a movie that has similar attributes as \textit{The Island} but with less action. For example \textit{Titanic} could be the next suggestion.
\subsection{Constraint-Based Recommendation} \subsection{Constraint-Based Recommendation}
Hereby filter rules are defined which filter out items that don't fulfil specified rules. A user models their requirements with these rules and thereby gets a list of recommended items \cite[~ p. 12]{felfernigDecisionTasksBasic2018} Hereby filter rules are defined which filter out items that don't fulfil specified rules. A user models their requirements with these rules and thereby gets a list of recommended items. This approach requires deep knowledge about a product because it needs a detailed description of features \cite[~ p. 12]{felfernigDecisionTasksBasic2018}.
Our movie example (see Table \ref{tab:Foundations:RecommenderSystem:MoviePreferences}) needs have additional information for example about plot structure, pacing, length and other attributes of the movie. Now the user could give as filter, that the movie should be no longer than 120 minutes, be categorized as action or thriller and have a fast pacing. The system will only recommend movies that fit into these categories.
\subsection{Hybrid Recommendation} \subsection{Hybrid Recommendation}
A hybrid recommender combines different recommendation approaches to use the strengths of each individual one and to reduce effects of weaknesses \cite{burkeHybridRecommenderSystems2002}. A hybrid recommender combines different recommendation approaches to use the strengths of each individual one and to reduce effects of weaknesses \cite{burkeHybridRecommenderSystems2002}.
\todo[inline]{add more detailed description of recommendation systems - do they need historicle data which conditions for usage are needed, strengths and weaknesses}
\section{Group Recommender System} \section{Group Recommender System}
A group recommender system is a recommender system aimed at making recommendations for a group instead of a single user. To make recommendations group members preferences have to be aggregated. This can be done by either aggregating single user recommendations or by merging preferences of each user into a group preference model. Based on this model recommendation strategies as described in \ref{sec:Foundations:RecommenderSystem} can be used to generate recommendations \cite{jamesonRecommendationGroups2007}. A group recommender system is a recommender system aimed at making recommendations for a group instead of a single user. To make recommendations group members preferences have to be aggregated. This can be done by either aggregating single user recommendations or by merging preferences of each user into a group preference model. Based on this model recommendation strategies as described in \ref{sec:Foundations:RecommenderSystem} can be used to generate recommendations \cite{jamesonRecommendationGroups2007}.