Incorporating health factors into food recommendation : experiments on real-world data from a weight-loss app

Abstract

Les systèmes de recommandation typiques tentent d'imiter les comportements passés des utilisateurs pour faire des recommandations futures. Par exemple, dans le domaine des recommandations alimentaires, ces algorithmes de recommandation apprennent généralement d'abord l'historique de consommation de l'utilisateur, puis recommandent les aliments que l'utilisateur préfère. Bien qu'il existe de nombreux systèmes de recommandation d'aliments proposés dans la littérature, la plupart d'entre eux sont généralement des applications directes des algorithmes de recommandation génériques sur des ensembles de données alimentaires. Nous pensons que pour le problème de la recommandation alimentaire, les connaissances spécifiques au domaine joueraient un rôle vital dans la réussite d'un recommandeur alimentaire. Cependant, la plupart des modèles existants n'intègrent pas ces connaissances. Pour résoudre ce problème, dans cet article, nous intégrons des facteurs liés à la santé (tels que l'IMC des utilisateurs, les changements de poids sous-jacents, les calories des aliments candidats et les variétés d'aliments) dans des modèles de recommandations alimentaires séquentielles pour les utilisateurs qui souhaitent mieux gérer leur alimentation et poids. Les changements de poids sous-jacents des utilisateurs sont également traités comme leurs objectifs ou leurs intentions (perdre, maintenir ou prendre du poids). Le modèle proposé devrait adapter en douceur le flux d'articles recommandé vers l'objectif des utilisateurs en tenant compte des préférences de consommation et des facteurs de santé antérieurs de l'utilisateur. Pour étudier les meilleures stratégies pour incorporer des facteurs de santé spécifiques à un domaine dans les recommandations alimentaires, dans cette étude, nous proposons deux approches de modélisation: la recommandation du prochain article et la recommandation du prochain panier. Ces deux méthodes prennent la séquence passée d'aliments (noms d'aliments et calories) consommés par un utilisateur comme entrée et produisent une liste classée d'aliments pour le prochain aliment (Next-item) ou le lendemain (Next-basket). En outre, les recommandations de base sont améliorées sur la base des approches de pointe de chaque approche de modélisation, qui sont respectivement GRU4Rec~\cite{GRU4Rec} et LSTM hiérarchique. Pour étudier l'impact des facteurs de santé et ajuster le modèle vers un objectif, nous construisons des sous-modèles spécifiques pour chaque groupe d'utilisateurs en fonction de l'IMC et de l'intention. À savoir, les utilisateurs sont regroupés en obèses, en surpoids, normaux, sous-pondérés selon l'IMC. Leurs données (par semaines) sont segmentées en semaines de perte/gain/maintien de poids en fonction du changement de poids au cours de la semaine. Cette dernière segmentation vise à saisir les habitudes de consommation alimentaire liées au poids, qui est traité comme l'intention sous-jacente de l'utilisateur. Un modèle général formé sur l'ensemble des données historiques mixtes devrait capturer les habitudes générales de consommation alimentaire de tous les utilisateurs, tandis qu'un sous-modèle formé sur l'ensemble spécifique de données pour l'IMC et l'intention capture celles des groupes ou semaines correspondants. Pour un utilisateur au sein d'un groupe d'IMC et avec l'intention de changer de poids, nous appliquons le sous-modèle spécifique, combiné avec le modèle général, pour la recommandation alimentaire. Nos modèles sont formés sur une grande quantité de données de comportement alimentaire d'utilisateurs réels à partir d'une application de gestion du poids, où nous pouvons observer la consommation alimentaire quotidienne et le poids corporel de plusieurs utilisateurs. Lorsque nous combinons le modèle complet général avec les modèles spécifiques à l'IMC et spécifiques à l'intention avec un coefficient approprié, nous observons des améliorations significatives par rapport aux performances du modèle général basé à la fois sur la recommandation de l'article suivant et sur la recommandation du panier suivant. De plus, les sous-modèles spécifiques à l'IMC et spécifiques à l'intention se sont avérés utiles, ce qui donne de meilleurs résultats que le modèle complet général, tandis que les sous-modèles spécifiques à l'IMC ont plus d'impact que le modèle spécifique à l'intention. En pratique, pour un utilisateur qui a l'intention de perdre du poids, le système peut appliquer le modèle de résultat Perte de poids (avec l'IMC correspondant) à l'utilisateur. Cela tend à ajuster en douceur le modèle général de recommandation vers cet objectif. En outre, le niveau d'ajustement pourrait être contrôlé par le coefficient de combinaison de modèles. En d'autres termes, avec un coefficient plus élevé, le sous-modèle spécifique aura un impact plus important sur la prédiction du classement final des aliments, ce qui implique que le système donnera la priorité à la réalisation de l'objectif de l'utilisateur plutôt qu'à l'imitation de ses habitudes alimentaires précédentes. Cette stratégie est plus efficace que de toujours recommander certains types d'aliments hypocaloriques, qui ne sont pas appréciés par l'utilisateur. L'intention est alignée sur le résultat de poids réel au lieu de l'intention indiquée par l'utilisateur. Ce dernier s'avère beaucoup moins performant dans nos expérimentations.Typical recommender systems try to mimic the past behaviors of users to make future recommendations. For example, in the food recommendation domain, those recommenders typically first learn the user’s previous consumption history and then recommend the foods the user prefers. Although there are lots of food recommender systems proposed in the literature, most of them are usually some direct applications of generic recommendation algorithms on food datasets. We argue that for the food recommendation problem, domain-specific knowledge would play a vital role in a successful food recommender. However, most existing models fail to incorporate such knowledge. To address this issue, in this paper, we incorporate health-related factors (such as users’ BMI, underlying weight changes, calories of the candidate food items, and food varieties) in sequential food recommendation models for users who want to better manage their body weight. The users' underlying weight changes are also as treated as their goals or intents (either losing, maintaining, or gaining weight). The proposed model is expected to smoothly adapt the recommended item stream toward the users’ goal by considering the user’s previous consumption preferences and health factors. To investigate the best strategies to incorporate domain-specific health factors into food recommenders, in this study, we propose two modeling approaches: Next-item Recommendation and Next-basket Recommendation. These two methods take the past sequence of foods (food names and calories) consumed by a user as the input and produce a ranked list of foods for the next one (Next-item) or the next day (Next-basket). Besides, the basic recommendations are improved based on the state-of-the-art approaches of each modeling approach, which are GRU4Rec~\cite{GRU4Rec} and hierarchical LSTM, respectively. To investigate the impact of health factors and tune the model toward a goal, we build specific sub-models for each group of users according to BMI and intent. Namely, users are grouped into Obese, Overweighted, Normal, Underweighted according to BMI. Their data (by weeks) are segmented into weight losing/gaining/maintaining weeks according to the weight change during the week. This latter segmentation aims to capture food consumption patterns related to weight outcome, which is treated as the user's underlying intent. A general model trained on the whole mixed historical data is expected to capture the general food consumption patterns of all the users, while a sub-model trained on the specific set of data for BMI and intent captures those of the corresponding groups or weeks. For a user within a BMI group and with the intent of weight change, we apply the specific sub-model, combined with the general model, for food recommendation. Our models are trained on a large amount of eating behavior data of real users from a weight management app, where we can observe the daily food consumption and the body weight of many users. When we combine the general full-model with the BMI-specific and intent-specific models with appropriate coefficient, we observe significant improvements compared with the performance of the general model based on both Next-item Recommendation and Next-basket Recommendation. Furthermore, both BMI-specific and intent-specific sub-models have been proved useful, which achieves better results than the general full-model, while BMI-specific sub-models are more impactful than the intent-specific model. In practice, for a user who intends to lose weight, the system can apply the Losing-weight outcome model (with the corresponding BMI) to the user. This tends to smoothly adjust the general recommendation model toward this goal. Besides, the adjustment level could be controlled by the coefficient of model combination. In other words, with a larger coefficient, the specific sub-model will have a greater impact on predicting the final food ranking list, implying that the system will prioritize achieving the user's goal over mimicking their previous eating habits. This strategy is more effective than always recommending some types of low-calorie foods, which are not liked by the user. The intent is aligned with the actual weight outcome instead of the indicated intention by the user. This latter turns out to be much less successful in our experiments

    Similar works

    Full text

    thumbnail-image