Generazione di Spiegazioni in Linguaggio Naturale per Food Recommender Systems
1. UNIVERSITÀ DEGLI STUDI DI BARI “ALDO MORO”
Corso di Laurea in Informatica e Tecnologie
per la Produzione del Software
Tesi di Laurea
Tecniche di Spiegazione in Linguaggio
Naturale per Food Recommender Systems
Relatore
Dott. Cataldo MUSTO
Laureando
Andrea MONTEMURRO
1
2. Recommender Systems
Sistemi di Information Filtering, che forniscono dei
suggerimenti personalizzati agli utenti.
2
Item Utente
suggerimento
3. Elementi di una raccomandazione
• Utenti
Persone interessate a ricevere nuovi articoli e
che interagiscono con il sistema per esplorare i
prodotti nella piattaforma.
• Items
Prodotti disponibili nel Recommender System:
ricette, film, brani musicali, ecc.
3
5. Problema
• La maggior parte dei Food Recommender Systems suggeriscono le ricette in base alla
popolarità.
– Le ricette popolari in genere sono le più gustose, ma le meno sane [*].
* [Christoph Trattner, Dominik Moesslang, and David Elsweiler. 2018. On the predictability of the popularity of online recipes. EPJ Data Science 7, 1 (2018)]
5
6. Obiettivo
Indirizzare l’utente verso le scelte più sane.
Come?
Aggiungendo delle spiegazioni che:
• Permettono all’utente di comprendere meglio le caratteristiche dell’item
suggerito[*];
• Migliorano l’esperienza dell’utente in termini di fiducia e persuasività verso il
sistema [*].
* [Caro-Martinez, M., Jimenez-Diaz, G., & Recio-Garcia, J. A. (2018). A theoretical model of explanations in recommender systems. ICCBR 2018,
52]
6
9. Com’è stato progettato il sistema?
• Il sistema funziona attraverso il servizio Recommender [*] e il servizio
Explanations, progettato in quattro moduli logici.
* [Musto, C., Trattner C., Starke, A. and Semeraro, G. (2020). Towards a Knowledge-aware Food Recommender System Exploiting Holistic User
Models. In Proceedings of ACM UMAP 2020]
9
10. Modulo Background Knowledge
• Il sistema prevede la catalogazione di
rischi e benefici per la salute sotto
forma di stringhe per alcuni
macronutrienti, insieme all’assunzione
giornaliera di riferimento (in grammi).
• I macronutrienti sono zuccheri,
carboidrati, proteine, grassi, grassi
saturi, fibre, colesterolo e sodio.
10
11. Tipologie di spiegazione progettate
Sono stati implementati diversi stili di spiegazione per quattro tipologie:
• Uno stile per la tipologia basata sulla popolarità delle ricette;
• Uno stile per la tipologia basata sulle preferenze dell’utente;
• Quattro stili per la tipologia basata sulle caratteristiche delle ricette;
• Uno stile per la tipologia basata sulle caratteristiche dell’utente.
11
12. Spiegazioni presentate nel sistema
1. «Description»
2. «Popularity»
3. «Food Goals»
4. «User Lifestyle»
5. «Food Features»
6. «Health Risks»
7. «Health Benefits»
• Ogni* stile di spiegazione può essere
per un confronto tra due ricette.
*eccetto «Description»
12
13. Spiegazione «Description»
• Lo stile di spiegazione «Description» è
lo stile basato sulla descrizione generica
delle ricette.
• Esempio: «Spaghetti Cacio and
Pepper are one of the strong dishes of
the Roman tradition: grated pecorino
and peppercorns, a quick and tasty
recipe!
The past of vegetables is a genuine
and healthy dish, a perfect winter
comfort food. A way for children to eat
vegetables.»
13
14. Spiegazione «Popularity»
• Lo stile di spiegazione «Popularity» è
costruito confrontando la popolarità
delle due ricette.
• Esempio: «Spaghetti Cacio and
Pepper is more popular than
Vegetable Past in the community. »
14
15. Spiegazione «Food Goals»
• Confronta la quantità di calorie della
ricetta A e della ricetta B e in base
all'obiettivo dell'utente suggerendo la
ricetta migliore in termini di calorie. Se
l'utente non ha obiettivi (perdere peso
o aumentare di peso), l'output sarà solo
il confronto della quantità di calorie.
• Esempio: «Spaghetti Cacio and
Pepper has more calories (491 Kcal)
than Vegetable past (462 Kcal). It can
help you reaching your goal of gaining
weight. »
15
16. Spiegazione «User Lifestyle»
• Confronta il livello di salubrità della
ricetta A e della ricetta B e suggerisce la
ricetta migliore in base allo stile di vita
dell’utente.
• Esempio: «Vegetable past is healthier
than Spaghetti Cacio and Pepper (in
according to FSA guidelines) and can
help you to improve your lifestyle. »
16
17. Spiegazione «Food Features»
• Confronta le quantità dei nutrienti
delle due ricette per metterli a
confronto.
• Esempio: «Spaghetti Cacio and
Pepper has an higher amount of
saturated fats (8,7 gr) and a lower
amount of fibers (2,3 gr) than
Vegetable past (saturated fats 4,55 gr,
fibers 7,3 gr).»
17
18. Spiegazione «Health Risks»
• Confronta le quantità dei nutrienti
delle due ricette, aggiungendo anche
rischi per la salute. Inoltre c’è anche un
confronto delle calorie delle ricette.
• Esempio: ««Spaghetti Cacio and
Pepper has an higher amount of
saturated fats (8,7 gr) and a lower
amount of fibers (2,3 gr) than
Vegetable past (saturated fats 4,55 gr,
fibers 7,3 gr). Intake too much
saturated fats can increase the risk of
heart diseases. Moreover, Spaghetti
Cacio and Pepper has more calories
(491 Kcal) than Vegetable past (462
Kcal).»
18
19. Spiegazione «Health Benefits»
• Confronta le quantità dei nutrienti
delle due ricette, aggiungendo anche
benefici per la salute. Inoltre c’è anche
un confronto delle calorie delle ricette.
• Esempio: «Vegetable pasta has a
lower amount of sodium (0,807 gr) and
a higher amount of sugars (7,8 gr) than
Spaghetti Cacio and Pepper (sodium
1,39 gr, sugars 2,5 gr). A correct daily
intake of sodium can reduce
nausea/vomiting. Furthermore,
Spaghetti Cacio and Pepper has more
calories (491 Kcal) than Vegetable past
(462 Kcal).»
19
23. Domande di ricerca
1. Le spiegazioni cambiano i comportamenti degli utenti nel loro processo
decisionale?
2. Le spiegazioni inducono gli utenti a fare cambiamenti di scelta?
23
24. Com’è stato condotto l’esperimento?
• Dataset composto da 4659 ricette
• Durata 14 giorni
• Diffuso attraverso piattaforme social
• Campione di 117 utenti
24
25. Questionario iniziale
L’utente compila un questionario con le
sue:
• Caratteristiche fisiche (altezza, peso);
• Caratteristiche mentali (umore,
stress);
• Caratteristiche personali (età,
occupazione, ore di sonno, ecc.);
• Preferenze (abilità in cucina, tempo a
disposizione per la preparazione,
obiettivo della dieta, ecc.).
25
26. Raccomandazione «Olistica» e «Popolare»
L’ utente può scegliere tra:
1. Ricetta «Olistica», fornita
dal Recommender
applicando le regole per
personalizzare il
suggerimento;
2. Ricetta «Popolare», fornita
dal Recommender sulla base
del punteggio di
popolarità.
26
Le ricette olistiche sono le più sane. [*]
* [Musto, C., Trattner C., Starke, A. and Semeraro, G. (2020). Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Models. In
Proceedings of ACM UMAP 2020]
28. Raccomandazione con Spiegazione
All’utente è riproposta la stessa
raccomandazione accompagnata
da una spiegazione e può:
1. Confermare la sua scelta
precedente;
2. Cambiare la sua scelta
precedente;
• Lo stile di spiegazione da
mostrare è scelto in maniera
casuale.
28
29. Questionario post Spiegazione
L’utente motiva perché ha cambiato
o no la sua scelta dopo aver letto la
Spiegazione in linguaggio naturale
relativa alla raccomandazione.
29
30. Metriche di valutazione
1. Preferenza personale
2. Gusto
3. Salubrità
4. Obiettivo dieta
5. Preparazione
6. Comprensione delle caratteristiche*
*solo per questionario post-spiegazione
30
31. Primi, Secondi e Dessert
L’utente ripete la procedura per la scelta di
1. Primi
2. Secondi
3. Dessert
31
33. Scelte prima della spiegazione
Gli utenti hanno preferito principalmente le raccomandazioni «Popolari».
33
0%
10%
20%
30%
40%
50%
60%
Olistico Popolare Nessuno
34. Motivazioni delle scelte
Scelte motivate soprattutto per sapore della ricetta e preferenza personale.
34
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
PREFERENZA
SAPORE
SALUBRITA'
OBIETTIVO
PREPARAZIONE
35. Scelte dopo la spiegazione
Gli utenti hanno preferito principalmente le raccomandazioni «Olistiche».
35
0%
10%
20%
30%
40%
50%
60%
Olistico Popolare Nessuno
36. Confronto delle scelte
Dal confronto delle percentuali si evince
che l’utente ha preferito scegliere le ricette
«olistiche» dopo aver letto le spiegazioni.
• L’incremento delle scelte «olistiche» è
del +9%.
36
0%
10%
20%
30%
40%
50%
60%
Senza Spiegazione Con Spiegazione
Scelte «olistiche»
37. Perché l’utente ha cambiato scelta?
Metrica «Salute»
• Gli utenti hanno motivato la scelta post-
spiegazione mediamente con mezza stella
in più per la metrica della salute.
Metrica «Obiettivo alimentare»
• Gli utenti ritengono migliori le scelte post-
spiegazione anche rispetto al loro obiettivo
alimentare (2,92 vs. 3,26).
37
3 3.2 3.4 3.6 3.8 4
Senza
Spiegazione
Con Spiegazione
2.7 2.8 2.9 3 3.1 3.2 3.3
Senza Spiegazione
Con Spiegazione
38. Come sono cambiate le scelte?
38
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
Switch Olistici • FoodFeatures:
«Spaghetti Cacio and Pepper has an
higher amount of saturated fats (8,7 gr) and
a lower amount of fibers (2,3 gr) than
Vegetable past (saturated fats 4,55 gr,
fibers 7,3 gr).»
• HealthRisks:
« Spaghetti Cacio and Pepper has an
higher amount of saturated fats (8,7 gr) and
a lower amount of fibers (2,3 gr) than
Vegetable past (saturated fats 4,55 gr,
fibers 7,3 gr). Intake too much saturated
fats can increase the risk of heart diseases.
Moreover, Spaghetti Cacio and Pepper has
more calories (491 Kcal) than Vegetable past
(462 Kcal). »
40. Domanda di ricerca 1
Le spiegazioni cambiano i comportamenti degli utenti nel loro processo decisionale?
• La presenza delle spiegazioni nelle raccomandazioni cambia il comportamento
dell’utente.
• Gli utenti a cui è somministrata una spiegazione preferiscono maggiormente
ricette personalizzate.
40
41. Domanda di ricerca 2
Le spiegazioni inducono gli utenti a fare cambiamenti di scelta?
• Gli utenti sono portati a cambiare dopo che gli viene presentata una spiegazione.
• Le spiegazioni più efficaci sono quelle che dettagliano i nutrienti delle ricette e
collegano queste informazioni ai rischi/benefici per la salute.
• Dopo aver letto le spiegazioni gli utenti preferiscono fare scelte più sane.
41