# A Hybrid Recommender System for HCI Design Pattern Recommendations
## 2 Related Work
### Critics and Synthesis
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Work** & **Domain** & \begin{tabular}{c} **Problem Input** \\ **Format** \\ \end{tabular} & \begin{tabular}{c} **Recommendation** \\ **Method** \\ \end{tabular} & \begin{tabular}{c} **Degree of** \\ **Automation** \\ \end{tabular} & \
\begin{tabular}{c} **Similarity** \\ **Approach** \\ \end{tabular} &
\begin{tabular}{c} **Knowledge** \\ **Support** \\ \end{tabular} \\ \hline
[17] &
\begin{tabular}{c} Software design \\ patterns \\ \end{tabular} & Full-text & Text-based & Automatic & Syntactic (CS) & \(-\) \\
[18] &
\begin{tabular}{c} Software design \\ patterns \\ \end{tabular} & Full-text & Text-based & Automatic & ntactic (CS) & \(-\) \\
[19] & \
\begin{tabular}{c} Software design \\ patterns \\ \end{tabular} & Questionnaire & Question-based &
\begin{tabular}{c} Semi- \\ automatic \\ \end{tabular} & \(-\) & \(-\) \\
[20] & SOA design & Questionnaire & Ontology-based &
\begin{tabular}{c} Semi- \\ automatic \\ \end{tabular} & \(-\) & \(+\) \\
[21] &
\begin{tabular}{c} Software design \\ patterns \\ \end{tabular} & Full-text & Ontology-based & x & \(-\) & \(+\) \\
[22] & \begin{tabular}{c} Software design \\ patterns \\ \end{tabular} & Full-text & Text-based, & \begin{tabular}{c} Semi- \\ automatic \\ \end{tabular} & Syntactic (CS) & \(-\) \\ Our work & \
\begin{tabular}{c} HCI design \\ patterns \\ \end{tabular} & Full-text, Keywords &
\begin{tabular}{c} Text-based, \\ Ontology-based \\ \end{tabular} & Automatic & Semantic & \(+\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Comparison of the proposed work with existing design pattern recommendation systems. tion technique and, accordingly, the recommendation results. Other works are based on semi-automatic recommendation strategies. For instance, recommendations require the intervention of users to answer questionnaires [19]. Another work [20] invites users to select the appropriate design pattern category to get the recommended SOA patterns. This makes their methods rather semi-automatic. Alternatively, we propose a fully automatic recommender system that does not require any human intervention to retrieve HCI design patterns. The use of ontology-based techniques can enhance the overall quality of recommender systems. However, limited research in this area has taken place in recommending design patterns. Existing ontology-based approaches [20; 21] extract design patterns by means of queries, which are not sufficient for getting the appropriate ontology instances. On the contrary, we propose to improve ontology-based techniques by expanding ontology with inference rules together with SPARQL queries, allowing relevant design patterns to be deduced from the ontology model. Apart from queries, we consider the use of inference rules to enhance ontology's capabilities for revealing implicit knowledge and filtering the obtained recommendation results that better fit with the given design problem. To address the gap within the existing research, this work proposes a novel recommender system that follows a hybrid method. This method combines text-based and ontology-based techniques to provide an automatic recommendation of relevant HCI design patterns. More specifically, the text-based technique uses NLP methods and semantic similarity measures, while the ontology-based technique relies on an ontology of HCI design patterns enriched with a set of SPARQL queries and inference rules.