The field of artificial intelligence has received increasing attention as it has the potential to improve different domains, for example the hospitality industry [1] , [2] . As robots are envisioned to become more present in our everyday lives, there is a growing interest to use service robots. Also, as we started realising with the COVID-19 pandemic, there is an accelerated need of service robots to minimise human to human transmission in such scenarios [3] . Service robots are becoming more present. Precisely, service robots should be capable of adapting to users' preferences, by understanding their needs to provide a more personal interaction [4] . For example, robots in restaurants, or specifically coffee shops, would greatly enhance customer satisfaction with a more personalised experience [5] . Witnessing this, an important challenge to address would be the deployment of an intelligent coffee recommender system 1 on a humanoid robot in a coffee shop, as illustrated in Figure 1 .
Recommendation systems are increasingly being used [6] . In the hospitality industry, recommendation systems are being used to recommend healthy food options [7] or the perfect bottle of wine [8] . Their strengths lie in their ability to perceive customers' food desires and recommend suggestions from computational analysis of users' interaction and related past information. Specifically, an intelligent recommender system builds a personalised experience when given specific characteristics. For example, in a coffee shop, the humancentred recommendation of coffee beans would rely on coffee bean qualities (subjective features) and coffee bean properties (objective characteristics).
Although recommender systems have gained popularity in the hospitality domain [7] , [9] , to the best of our knowledge, no coffee recommender system exists, and even more so, one which can be integrated with a robot. Hence, we aim to build a coffee recommendation system which suggests beans when the user expresses his or her subjective preferences. In this paper, we contribute to this by formulating the coffee bean recommendation problem as a multi-target regression problem. In future work, we plan on carrying human-agent interaction experiments and here we give an overview of how the overall system would work on a humanoid robot and propose the integration of this for a coffee recommender system. Beyond the recommendation itself, other factors (such as the modality) influence the user's overall experience. We envision that the use of an embodied agent to deliver the coffee bean choice would enhance the overall perception of the recommendation.
In this paper, we present a computational model for a coffee bean recommendation engine (Section III), extending our work presented in [10] . Precisely, we show how given a list of Fig. 1 . An illustration of how our coffee bean recommendation system would be deployed in a coffee shop. The humanoid robot, Pepper, invites the user to input his or her coffee preferences. Using our proposed recommendation system, Pepper suggests the perfect coffee blend for the customer.
objective features (species, country of origin, region, variety, colour, category one and two defects, processing method, moisture) we can predict subjective traits (uniformity, sweetness, balance, body, flavour, acidity, aftertaste, aroma) using regression methods such as random forests (RFs), support vector regression (SVR) and multi-layer perceptron (MLP), to automate the coffee review process. Then, we also show that by using the nearest neighbour method, input data given by users can be compared to both predicted and available subjective components to recommend the most favourable coffee. Our computational model is evaluated on the Coffee Quality Institute database, comprising digitised reviews from arabica and robusta coffee beans (Section IV). Given this computational model, we explain qualitatively how this would be embodied on a real robot in a coffee shop to improve overall experience and provide a more tailored user experience.
There has been several research efforts to improve user experience in gastronomy, both from the machine learning and robotics communities. Since coffee is such a staple beverage in our everyday lives and it has been shown that coffee provides several health benefits [11] , numerous attempts have been made to improve its quality. Goyal et al. illustrated how an artificial neural network (ANN) model can predict shelf life of roasted coffee flavoured drinks, given data samples from 50 observations (colour, appearance, flavour, viscosity, sediment) [12] . The best result achieved was with a MLP with a single hidden layer of 12 neurons. Ribeiro et al. used partial least squares regression to show how the chemometric analysis of coffee beverage sensory data with the respective chromatographic profiles of volatile roasted coffee compounds can predict acidity, bitterness, flavour, cleanliness, body, and overall quality [13] . Their results were congruent with the mean score of human coffee experts. The data used for our work is more similar to the one by Goyal et al. [12] rather than by Ribeiro et al. [13] due to the dataset we had available.
The quality of coffee can also be improved by using computer vision techniques. This field has seen remarkable progress with the introduction of neural networks, specifically to address the challenge of classifying coffee beans' roast level. Different roast levels, from light to dark, give different preservation of the coffee bean's natural aroma and flavour. As a result, there has been efforts to standardise this process. One of the works used a backpropagation neural network and obtained an accuracy of 97.5% [14] . The colour of coffee beans also illustrates their roast level. Morais de Oliveira et al. have focused on classifying coffee beans based on their colour. They combined ANNs with a Bayes classifier to reach 100% accuracy in classifying the beans into four colour groups [15] . Our research effort differs from these as we do not use machine learning models to monitor the quality of the coffee beans, but more as a tool for recommendation.
Recommender systems have received an increasing surge of attention, due to their attractive benefits of assisting the user during decision making when overloaded with information [16] . Considering how important food choices are at this day and age, it is remarkable that only a small number efforts have been put towards deploying more gastronomy-related recommender systems. Tran et al. [7] give an overview of different systems and methods for recommending healthy food. The methods ranged from collaborative filtering to content and constraint-based recommendations. These systems focus on adapting recommendations to individuals, when considering users' food preferences and nutritional needs, or alternatively focus more on healthy contributions for group scenarios. With respect to beverage recommendation, most efforts have revolved around recommending wine [9] . Although this is The predictions, together with user input fed into the robot's tablet, are compared to obtain the coffee suggestion. In turn, this is given by the robot. beneficial to consumers, considering the similarities in their respective smells and flavours [17] , coffee recommender systems are vital to aide consumers in their choices. Our work aims to address this open gap.
When it comes to robot deployment, current systems adapt the behaviour of the agent towards users' preferences through crowdsourcing and collaborative filtering to learn and predict task preferences, such as prioritising tidying-up tasks when given a scene [18] . Service robots are also being used as baristas for remembering previous orders [19] or to show neutral, entertaining, and emphatic behaviours when suggesting drinks and taking orders from customers [20] . There have also been research efforts to develop a service robot in a bar setting [21] , [22] depicting social behaviours in response to states, affects, and when dealing with uncertainty of the customers during interaction. However, these works fail to address the personalisation problem from a multi-user perspective and in reality the user experience would be greatly improved if the robot relies on a recommender system that also takes into account users with similar preferences.
In this paper, we bridge insights from these fields to address the real-world challenge of personalised coffee bean recommendation. Our work thus mainly focuses on how machine learning can be used to recommend coffee beans and how a robot would be used to deploy the system in the real world.
III. METHODOLOGY Our work addresses the challenge of tailoring the choice of coffee to the user's preferences. To do so, we propose a computational model (Section III-A) which relies on supervised and unsupervised learning techniques. An overview of our solution is illustrated in Figure 2 . The user inputs his or her coffee likings through the tablet on the robot, which uses the recommender system to return the coffee suggestion. In Section III-B, we explain how we implemented this idea, the important role which the robot plays in such a scenario, and how we would deploy this in the real world.
Given that the coffee review process is expensive and requires expert domain knowledge, it is essential to consider that a portion of the coffee beans available in the market at a certain time might not yet have been reviewed. The unavailability of official reviews is indeed a practical concern in the coffee industry, as it occurs every time a novel blend is introduced or in case of local and niche products. Nevertheless, with the goal of providing the user with the best experience, a recommender system should also be able to suggest unreviewed coffee in case the expected coffee qualities (those that would result from an actual review process) match the user's preferences. With these premises, we aim for a system supporting this functionality in the context of an informative and authoritative dataset that we can use for coffee recommendation.
1) Dataset and pre-processing: The Coffee Quality Institute (CQI) is a nonprofit organization working internationally to improve the quality of coffee and the lives of the people who produce it. CQI provides training and technical assistance to coffee producers and other individuals in the supply chain to increase the value, volume and sustainability of high quality coffee production. CQI also works toward building institutional capacity in coffee producing countries by creating systems and infrastructure that encourage a focus on quality that leads to higher farmer incomes.
The dataset considered for of our system is based on the Coffee Quality Institute database 2 . More precisely, a previously scraped version of the coffee quality dataset added to this repository 3 was used. This dataset comprises 1340 digitised reviews from 1312 arabica and 28 robusta coffee beans. For each review, the dataset shows 44 features divided into quality measures given by reviewers on a 1-10 scale, beans metadata and farms metadata. The 44 features were cleaned and divided into objective and subjective features. Two feature selection strategies were adopted: (i) univariate feature selection, identifying the most optimal features using univariate statistical tests; (ii) tree-based feature selection to compute feature importance. From our analysis, the altitude attributes were discarded as they did not contribute significantly to the regression model. Finally, by inspecting the correlation between the selected features (Figure 3) , we ended up with 17 attributes. These are species, country of origin, region, variety, color, category one defects, category two defects, 2 All credits to Coffee Quality Institute for the data. 3 Link to the repository: https://github.com/jldbc/coffee-quality-database processing method, moisture illustrated in Table I , with their characterisation into objective features (coffee properties) and aroma, flavour, body, sweetness, acidity, balance, uniformity, aftertaste for subjective features (coffee qualities).
For each feature, we give a brief description to understand the dataset, as shown in Table I , in objective feature we have:
• Species indicates the kind of the coffee beans. The values of this feature are arabica or robusta; • CountryOfOrigin indicates the country of origin of beans; • Region indicates the region of the country of origin; • Variety indicates the variety of coffee. • Color indicates the color of the greens. • CategoryOneDefects and CategoryTwoDefects indicates the major and the minor defects in the beans. • ProcessingMethod indicates the method whereby the beans were handled and processed; • Moisture indicates the moisture percentage given by a green analysis. Instead, for subjective features the system calculates scores, as human reviewers do, to quantify in a range of 1-10 a quality measure for each feature considered. The terms to convey subjective features are self-explanatory.
2) Subjective features prediction and recommender system: To simulate the realistic scenario mentioned before, we randomly select a subset of observations from the dataset and assume their subjective features to be unknown. As illustrated in Figure 2 , this partition is thus intended to represent unreviewed coffee. We use regression methods to predict the subjective features given the objective ones from the isolated observations. This step corresponds to automating the review process of coffee beans on those coffee beans for which only the objective features are available. Since the predicted subjective features are in the (0, 10] range interval, we experimented with three different models that are suitable for multi-target regression, i.e., RFs, SVR and a MLP. A thorough evaluation of these models to find the best one for our application will be presented in Section IV-A, where the average RMSE for each attribute was selected as the metric for evaluation.
Following the prediction step, both the predicted and the human-elaborated subjective features of the coffee beans in our dataset are combined together in the recommendation space. Using a simple yet effective approach -the k-nearest neighbour (kNN), our model recommends coffee beans by matching users' preferences in the recommendation space.
Our coffee bean recommender system would be deployed on a humanoid robot such as Pepper 4 . Using a graphical user interface with visual sliders on Pepper's tablet, the user would choose how they would like their coffee, with varying degrees of sweetness and acidity, different aromas, flavours and aftertastes. After passing these through the coffee bean recommendation model discussed in the previous section, a list of coffee recommendations would be shown on Pepper's tablet. In reality, our system would also work on a tablet, and integration with the robot is not strictly necessary for the actual implementation. However, using a robot to complete such a task is important to enhance the user experience by introducing a service robot to help customers in a more natural way. Perspectives and analyses on implementing humanoid robot applications as interactive systems for customer engagement have been significantly tested in different scenarios such as the hospitality industry [23] . It has been repeatedly shown that human engagement tends to be more evident when an anthropomorphic robot interacts with the customer [24] . One such study has shown that people interacting with an emphatic robot showed a higher attention to the task amongst people who interacted with a static robot (or non-engaging devices) [24] . Here, the authors believe that an emphatic robot creates an affective bond between the robot and the user, which keeps the user engaged for a longer period of time. These results motivated our choice for using a robot instead of a tablet to deploy our coffee bean recommendation system.
To validate our approach, we propose an experimental setup where we evaluated different stages of the overall system. We carried out quantitative experiments on the subjective features prediction model and the overall recommendation system.
The first stage comprises the regression model for predicting the subjective features. As outlined in the previous section, RF, SVR and MLP were used as regression models for comparison. The results for each regressor are cross validated (with 10folds) using the RMSE as performance metric (the lower the better). For the RF, twenty decision trees were generated. For the SVR, a radial basis was used as kernel, with the penalty and gamma parameters having different values for each subjective feature. We used random search as the hyperparameter optimisation strategy to find the optimal architecture and configuration of our MLP. The resulting model consists of three fully connected hidden layers with 256 neurons each, and rectified linear units [25] as activation function. We also used a dropout mask [26] between successive layers to prevent overfitting and improve the generalisation capabilities of the model. The MLP was trained to minimise the RMSE of the model's predictions with the Adam optimiser [27] .
As illustrated by Table IV -B, the average RMSE for the RF across all attributes was 0.3562. For the best MLP configuration, the average RMSE achieved was 0.3580. With the SVR, an average RMSE across all attributes of 0.3750 was obtained. As the lowest RMSE attained was for the RF, this was chosen as the best model for our system.
To evaluate the recommender system as a whole, we measured the accuracy of the recommendations. In particular, we fitted a kernel density estimator on the subjective features of our dataset from which we sampled 100 new observations in order to simulate users' inputs from Pepper. First, we run the kNN to identify the k most similar coffee beans to the users' inputs. Since we expect our system to be deployed in a transductive setting, where the quality measures of some coffee beans are not available, we repeat the same procedure on a processed version of the full dataset. This is realised by considering a partition of it as unknown, so that we can use the regression model to obtain the subjective features needed by the kNN algorithm. In this way, we can compare the coffee recommendations from the kNN by using the full dataset (i.e. the groundtruth) with those obtained by considering a partition from the predictions, to see how the latter ones diverge from the former. This allows to compute a measure of recommendation accuracy as the cardinality of the intersection between the recommendations from the full dataset and those from the dataset with predicted features. More formally, given a user's input u = [u 1 , u 2 , . . . , u 8 ] where u i is a subjective feature in Table I , we denote the groundtruth recommendations from the kNN on the full dataset D as rec ground (u, D f ull ) = [r 1 , r 2 , . . . , r k ], and the recommendations from the kNN on the dataset with m×|D| (0 ≤ m ≤ 1) observations with unknown subjective features as rec pred (u, D m ) = [p 1 , p 2 , . . . , p k ]. The recommendation accuracy for the user input u is computed as:
rec acc(u) = |rec ground ∩ rec pred | k
As reported in Table IV -B, we tested different values of m, and used cross-validation to obtain a more reliable estimate of the recommendation accuracy. This ensures that our results are not biased by the dataset partitioning.
In our work, we proposed a coffee bean recommendation system which to the best of our knowledge has not been addressed before. Whilst human coffee connoisseurs excel at such a task, modelling this recommender trait using artificial intelligence is non-trivial. We showed how supervised and unsupervised models can be applied for coffee bean recommendation. The aim of this work is to define regression models which can be used to predict subjective attributes, given objective ones. Using the random forests model, we obtained a RMSE of 0.3562. We also combined this with the k-nearest neighbours method to identify the most similar coffee beans to the users' inputs. In conjunction, we proposed an overview of how our model can be deployed on a service robot. As future work, we plan to deploy our model on a real robot and study how users would interact with the system.
Specifically, an exciting research direction would be to study the role the robot would play to improve human-robot interaction and whether using a personalised coffee bean recommendation system would encourage return customers. Moreover, given the COVID-19 pandemic we have been experiencing, we would be interested to study whether using humanoid robots versus humans to recommend coffee would attract more customers as they would perceive the environment to be safer with less human interaction. We believe our presented work is a promising step in the direction of having service robots providing more personalised human-robot interaction.