Epicure: Multidimensional Flavor Structure in Food Ingredient Embeddings
Abstract
A chef's intuition about flavor, texture, and cultural identity represents tacit knowledge that is difficult to articulate yet central to culinary practice. We show that this knowledge is already encoded in FlavorGraph's 300-dimensional ingredient embeddings, trained on recipe cooccurrence and food chemistry, and that it can be systematically recovered. An LLM-augmented curation pipeline consolidates 6,653 raw FlavorGraph ingredients into 1,032 canonical entries, substantially strengthening the recoverable structure. We identify at least fifteen independently classifiable dimensions spanning taste, texture, geography, food processing, and culture.
Figures & tables
| Stage | Input | Output | Key technique |
| Raw FlavorGraph | 6,653 | — | 300D GNN embeddings |
| Step 1: Simplification | 6,653 | 4,800 | LLM + Jaccard clustering |
| Step 2: Refinement | 4,800 | 2,100 | LLM classification |
| Step 3: Ultra-refinement | 2,100 | 1,400 | Domain-specific rules |
| Step 4: Manual QC | 1,400 | 1,050 | Streamlit editor |
| Step 5: Consolidation | 1,050 | 1,032 | ID reassignment |
| Cohort | Inclusion rule | Used in | |
|---|---|---|---|
| Curated (all) | After curation pipeline | 1,032 | Secs. 3.1 – 3.4 |
| Raw (all) | All selected FlavorGraph nodes | 6,653 | LLM tagging (Sec. 2.2 ) |
| Raw (categorized) | Raw nodes with back-projected categories | 4,804 | Raw-vs-curated comparison (Sec. 3.7 ) |
| Curated savoury | Curated, flavor profile = savoury | 589 | Culture analysis (Sec. 3.6 ) |
| Raw savoury | Raw (categorized), flavor = savoury | 2,916 | Culture analysis (Sec. 3.6 ) |
| USDA matched | Curated, matched to USDA | 712 | Chemical validation (Sec. 3.5 ) |
| Dimension | Curated | Raw | |||
|---|---|---|---|---|---|
| Scoville heat | 57 | 0.757 | 0.20 † | 0.522 | 0.235 |
| Climate latitude | 509 | 0.572 | 0.48 | 0.418 | 0.154 |
| Umami | 1,032 | 0.499 | 0.48 | 0.390 | 0.110 |
| Salty | 1,032 | 0.400 | 0.38 | 0.252 | 0.148 |
| Sweet | 1,032 | 0.387 | 0.37 | 0.363 | 0.024 |
| NOVA processing | 1,032 | 0.374 | 0.35 | 0.386 | 0.012 |
| Direct binary | Ordinal | ||||
|---|---|---|---|---|---|
| Taste | Cur. | Raw | Cur. | Raw | |
| Bitter | 0.91 | 0.58 | 0.64 | 0.03 | 0.04 |
| Sour | 0.84 | 0.58 | 0.62 | 0.02 | 0.00 |
| Sweet | Salty | Sour | Bitter | Umami | |
|---|---|---|---|---|---|
| Sweet | 1.00 | 0.42 | 0.40 | 0.16 | 0.45 |
| Salty | 1.00 | 0.33 | 0.22 | 0.60 | |
| Sour | 1.00 | 0.01 | 0.30 | ||
| Bitter | 1.00 | 0.32 | |||
| Umami | 1.00 |
| Binary | ||||
|---|---|---|---|---|
| Dimension | Cur. | Raw | ||
| Hardness | 1.26 | 0.84 | 0.59 | 0.67 |
| Moisture | 1.17 | 1.00 | 0.63 | 0.54 |
| Fattiness | 1.02 | 0.83 | 0.48 | 0.54 |
| Crunchiness | 0.93 | 0.66 | 0.48 | 0.45 |
| Chewiness | 0.79 | 0.60 | 0.52 | 0.27 |
| Dimension | Chemical proxy | Source | LLM | Cur. | Raw | ||
|---|---|---|---|---|---|---|---|
| Sweet | Total sugars (g/100 g) | USDA | 0.39 | 416 | 0.409 | 0.402 | 0.01 |
| Sweet | Total sugars (mg/100 g) | FooDB | 0.39 | 430 | 0.402 | 0.384 | 0.02 |
| Salty | Sodium (mg/100 g) | USDA | 0.40 | 684 | 0.286 | 0.164 | 0.12 |
| Umami | L-Glutamic acid (mg/100 g) | FooDB | 0.50 | 494 | 0.242 | 0.159 | 0.08 |
| Moisture | Water (g/100 g) | USDA | 0.38 | 712 | 0.397 | 0.292 | 0.11 |
| Nutrient | Cur. | Raw | ||||
|---|---|---|---|---|---|---|
| Protein (g/100 g) | 712 | 0.473 | 0.40 | 0.304 | 0.17 | |
| Carbohydrates (g/100 g) | 712 | 0.471 | 0.42 | 0.339 | 0.13 | |
| Energy (kcal/100 g) | 712 | 0.469 | 0.40 | 0.308 | 0.16 | |
| Dietary fiber (g/100 g) | 670 | 0.443 | 0.37 | 0.272 | 0.17 | |
| Total fat (g/100 g) | 712 | 0.441 | 0.34 | 0.214 | 0.23 |
| Dimension | Subset | Cur. | Raw | Training compounds | ||
|---|---|---|---|---|---|---|
| Total sugars | Hub | 156 | 0.461 | 0.359 | None (sucrose, glucose, fructose absent) | |
| Non-hub | 274 | 0.373 | 0.387 | |||
| Glutamic acid | Hub | 194 | 0.305 | 0.216 | L-glutamic acid (1 compound) | |
| Non-hub | 300 | 0.186 | 0.158 | |||
| Protein | Hub | 279 | 0.466 | 0.228 | 12 amino acids (0.5% of edges) | |
| Non-hub | 433 | 0.475 | 0.309 |
| Cuisine | Curated | Raw | Raw (sub) | Sub 95% CI | |
| South Asian | 27 | 0.502 | 0.380 | 0.386 | [0.293, 0.515] |
| East Asian | 44 | 0.432 | 0.371 | 0.371 | [0.289, 0.485] |
| Southeast Asian | 24 | 0.419 | 0.327 | 0.332 | [0.266, 0.416] |
| Latin American | 44 | 0.400 | 0.313 | 0.313 | [0.264, 0.365] |
| Japanese | 46 | 0.391 | 0.331 | 0.328 | [0.278, 0.379] |
| Mediterranean | 106 | 0.288 | 0.242 | 0.242 | [0.222, 0.264] |
| Purity | Lift | ||||||
|---|---|---|---|---|---|---|---|
| Cuisine | Cur. | Raw | Raw (sub) | Cur. | Raw | Raw (sub) | |
| South Asian | 27 | 0.589 | 0.376 | 0.227 | 12.8 | 21.9 | 13.4 |
| East Asian | 44 | 0.466 | 0.299 | 0.237 | 6.2 | 11.9 | 9.7 |
| Japanese | 46 | 0.539 | 0.412 | 0.277 | 6.9 | 14.0 | 9.4 |
| Latin American | 44 | 0.475 | 0.316 | 0.236 | 6.4 | 8.2 | 6.1 |
| Mediterranean | 106 | 0.458 | 0.389 | 0.308 | 2.5 | 2.9 | 2.3 |
| Umami ∗∗∗ | Salty ∗∗∗ | Sour ∗∗∗ | Scoville ∗∗∗ | Latitude ∗∗∗ | NOVA ∗∗ | Sweet | Bitter ∗∗∗ | |
|---|---|---|---|---|---|---|---|---|
| Japanese | 0.45 | 0.09 | 0.20 | 0.00 | 0.09 | 0.15 | 0.20 | 0.18 |
| East Asian | 0.24 | 0.13 | 0.26 | 0.13 | 0.12 | 0.24 | 0.25 | 0.09 |
| SE Asian | 0.14 | 0.12 | 0.16 | 0.20 | 0.27 | 0.24 | 0.18 | 0.07 |
| South Asian | 0.02 | 0.00 | 0.24 | 0.01 | 0.35 | 0.30 | 0.16 | 0.31 |
| Latin American | 0.01 | 0.11 | 0.01 | 0.01 | 0.30 | 0.24 | 0.21 | 0.16 |
| Mediterranean | 0.05 | 0.07 | 0.04 | 0.00 | 0.05 | 0.22 | 0.16 | 0.09 |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Parameter | Values tested | Rationale |
|---|---|---|
| n_neighbors | 15, 32 , 50, 100 | Controls local vs. global structure |
| min_dist | 0.001, 0.004 , 0.01, 0.05 | Controls cluster tightness |
| metric | cosine (fixed) | Matches embedding similarity metric |
| n_components | 3 (fixed) | 3D visualization |
| Ordinal taste | SHU | NOVA | Texture | Binary taste | Binary texture | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ingredient | Sw | Sa | Um | Hard | Moist | Sour | Bitter | Hard | Crunch | Moist | Fatty | Chewy | Cuisines | FP | ||
| sugar | vh | n | n | 0 | 2 | hard | dry | no | no | no | no | no | no | no | – | sw |
| soy sauce | n | h | h | 0 | 3 | liquid | v.wet | no | no | no | no | yes | no | no | Jp,EA,SEA | sv |
| miso paste | l | h | h | 0 | 3 | gel | wet | no | no | no | no | yes | no | no | Jp | sv |
| cayenne | n | n | n | 40k | 1 | soft | dry | no | no | no | no | no | no | no | – | sv |
| wasabi | l | n | l | 0 | 1 | gel | wet | no | no | no | no | yes | no | no | Jp | sv |
Knowledge Representation
Knowledge representation studies how to encode facts, concepts, rules, context, and uncertainty so machines can interpret and reason over them.
See all 126 papers