SCODEL: Shared Canonical Ontology Definitions for Food Entity Linking and Ontology-Grounded Recipe Knowledge Graphs
Organizations: Department of Computer Science, The University of Manchester, United Kingdom
Abstract
Identifying recipe entities and linking them to ontology concepts is fundamental for semantic recipe understanding. However, food mentions in recipes are often ambiguous, context-dependent, and lexically diverse, making ontology entity linking (EL) challenging. We propose SCODEL, a streamlined, model-agnostic approach based on a central idea: contextual food mentions and ontology concepts that refer to the same entity should learn the same canonical ontology-oriented definition. SCODEL uses these shared definitions as a semantic normalisation layer, providing complementary semantic information to existing EL models without requiring a new linking architecture. We further introduce ReciLinkD, the first benchmark for contextual food ontology entity linking in recipes. Experiments show that SCODEL consistently improves three modular EL models (ReFinED, GSM-EL, and BLINK): SCODEL x BLINK achieves the highest Hit@1 on seen concepts (88.33%), while SCODEL x GSM-EL achieves the highest Hit@1 on unseen concepts (83.15%), outperforming the strongest large language model (LLM) based EL baseline in each setting. Experiments on a biomedical ontology benchmark further demonstrate that SCODEL generalises beyond the food domain. Finally, we use SCODEL to ground food mentions at scale and construct an ontology-grounded recipe knowledge graph, demonstrating its utility for ontology-aware recipe retrieval and corpus-level food analysis.
Figures & tables
| Method | Supervised (Seen) | Zero-Shot (Unseen) | AVG | ||||||
| Hit@1 | Hit@5 | MRR | H-Acc | Hit@1 | Hit@5 | MRR | H-Acc | Hit@1 | |
| LLM4EL | 63.29 | 88.33 | 73.90 | 66.89 | 63.72 | 90.21 | 74.92 | 71.05 | 63.51 |
| LLMAEL | 85.25 | 94.51 | 89.61 | 86.28 | 80.71 | 94.70 | 86.47 | 81.52 | 82.98 |
| LLM Rerank@10 | 82.68 | 89.88 | 85.97 | 83.70 | 83.02 | 92.80 | 87.19 | 83.83 | 82.85 |
| LLM Rerank@50 | 81.13 | 88.51 | 84.52 | 81.65 | 80.43 | 90.35 | 84.87 | 81.39 | 80.78 |
| Lexical Matching | 52.66 | 73.93 | 61.62 | 54.15 | 56.79 | 75.27 | 65.81 | 57.99 | 54.73 |
| Method | Hit@1 | Hit@5 | MRR |
|---|---|---|---|
| ReFinED Baseline | 62.75 | 77.36 | 68.96 |
| LLM4EL | 63.00 | 81.10 | – |
| LLMAEL | 69.97 | 85.73 | 77.08 |
| SCODEL | 72.45 | 87.87 | 79.35 |
| Training Strategy | Hit@1 | MRR |
|---|---|---|
| ReFinED Baseline | 81.82 | 85.42 |
| Mention Def. Learning Only | 81.65 | 86.85 |
| Ontology Def. Learning Only | 82.68 | 86.68 |
| SCODEL | 85.08 | 89.11 |
| Definition Generator | Hit@1 | MRR |
|---|---|---|
| ReFinED Baseline | 81.82 | 85.42 |
| Frozen Mistral-7B | 82.16 | 87.46 |
| Frozen GPT-5.1-2025-11-13 | 82.50 | 86.93 |
| SCODEL (Mistral-7B) | 85.08 | 89.11 |
| Method | Def. Generator | Hit@1 | MRR |
|---|---|---|---|
| Single | Llama-3-8B | 82.33 | 86.43 |
| Mistral-7B | 85.08 | 89.11 | |
| Qwen2.5-7B | 83.88 | 87.94 | |
| Ensemble | Hard Voting | 85.42 | 90.16 |
| Soft Voting | 86.11 | 90.59 |
| Mention with Context | Gold Concept | Predicted Concept |
|---|---|---|
| Add the dairy milk to the sauce and stir until smooth. | animal milk ( FOODON_02010013 ) | cow milk ( FOODON_03307455 ) |
| Toss the salad with fresh snap peas before serving. | pea ( FOODON_03301300 ) | sugar snap pea plant ( FOODON_03412467 ) |
| Garnish with sliced cherry tomatoes before serving. | tomato ( FOODON_03301453 ) | sweet cherry ( FOODON_03311457 ) |
| Roast the baby potatoes until golden and tender. | potato ( FOODON_03301449 ) | red bliss potato ( FOODON_03307121 ) |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Metric | Value |
| Unique manually selected food mentions | 4,500 |
| Unique manually linked food mentions | 3,979 |
| Unique unlinked food mentions | 521 |
| Unique FoodOn food concepts | 979 |
| Rows with synonyms | 2,023 |
| Rows with superclasses | 2,970 |
| Training Definition Source | Hit@1 | MRR |
|---|---|---|
| ReFinED Baseline | 81.82 | 85.42 |
| OpenAI GPT-5.1-2025-11-13 | 84.91 | 89.06 |
| Claude Sonnet 5 | 84.05 | 88.28 |
| Qwen3-235B | 83.36 | 88.07 |
| Human Annotated | 85.08 | 89.11 |
| Metric | Mistral-7B | SCODEL |
|---|---|---|
| Hit@1 | 27.62 | 46.31 |
| Hit@5 | 51.63 | 70.84 |
| Hit@10 | 64.67 | 78.73 |
| MRR | 39.92 | 57.72 |
| Gold Sim. | 0.6771 | 0.8312 |
| Global Margin | 0.3148 | 0.3595 |
| Model Family | Parameters | Hit@1 | MRR |
|---|---|---|---|
| LLaMA-3 | 1B | 81.82 | 85.60 |
| LLaMA-3 | 3B | 83.53 | 87.12 |
| LLaMA-3 | 8B | 82.33 | 86.43 |
| LLaMA-3 | 70B | 84.91 | 88.72 |
| Entity Linking Model | Hit@1 | Hit@5 | MRR |
|---|---|---|---|
| ReFinED | 85.25 | 94.51 | 89.61 |
| GSM-EL | 81.81 | 93.65 | 87.06 |
| BLINK | 85.22 | 93.82 | 89.60 |
| Annotator Pair | F1 (%) | Cohen’s |
|---|---|---|
| A–B | 85.49 | 0.7178 |
| A–C | 90.56 | 0.7254 |
| A–D | 91.31 | 0.7404 |
| B–C | 89.53 | 0.7219 |
| B–D | 88.68 | 0.7203 |
| C–D | 92.43 | 0.7258 |
| Manual Evaluation Outcome | Count | Perc. |
|---|---|---|
| Correct and retained | 11,580 | 57.90% |
| Correct unsuitable food mention | 7,226 | 36.13% |
| Incorrect FoodOn prediction | 2,194 | 10.97% |
| Source | Mention–Concept Pairs |
|---|---|
| ReciLinkD | 3,979 |
| ReciLinkD Expansion | 11,580 |
| Combined resource | 15,559 |
| Vocabulary Expansion | Count |
| Original verified food mention names | 15,559 |
| FoodOn concept labels | 979 |
| Names from FoodOn concept synonyms | 253 |
| Singular/plural name variants | 16,738 |
| Final expanded vocabulary | 33,529 |
| Statistic | Value |
|---|---|
| ReciFine recipes considered | 2,206,253 |
| Unique food mentions matched to vocabulary | 19,504 |
| Recipes grounded to food mentions | 2,062,103 |
| Knowledge Graph Statistic | Value |
|---|---|
| ReciFine recipes considered | 2,206,253 |
| Grounded recipe nodes | 2,062,103 |
| Grounded food mention nodes | 14,177,860 |
| Directly grounded FoodOn concepts | 979 |
| Inherited FoodOn concepts | 2,209 |
| Recipe mention edges | 14,177,860 |
| Annotator Pair | Agreement | Cohen’s |
|---|---|---|
| Human 1 – Human 2 | 88.95% | 0.76 |
| Human 1 – GPT-5.6-Sol | 82.00% | 0.64 |
| Human 2 – GPT-5.6-Sol | 80.50% | 0.61 |
| Query | Lexical | Semantic | Ontology | ||||||
|---|---|---|---|---|---|---|---|---|---|
| P | R | F1 | P | R | F1 | P | R | F1 | |
| Fruit | 86.67 | 4.34 | 8.26 | 91.26 | 10.46 | 18.76 | 71.77 | 76.08 | 73.87 |
| Vegetable | 85.11 | 3.45 | 6.64 | 96.19 | 8.72 | 15.99 | 82.06 | 18.57 | 30.28 |
| Legume | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 60.37 | 52.11 | 55.93 |
| Meat | 80.25 | 20.93 | 33.21 | 85.64 | 26.89 | 40.93 | 94.76 | 34.94 | 51.06 |
| Pork | 91.49 | 21.83 | 35.25 | 91.49 | 21.83 | 35.25 | 88.24 | 15.23 | 25.97 |
| FoodOn Category | Recipes | Prevalence |
|---|---|---|
| Plant food product | 1,744,295 | 84.59% |
| Animal food product | 1,510,986 | 73.27% |
| Vegetable food product | 1,297,374 | 62.92% |
| Dairy food product | 1,046,656 | 50.76% |
| Fruit | 978,283 | 47.44% |
| Condiment food product | 939,353 | 45.55% |
| Category A | Category B | Recipes | Proportion |
|---|---|---|---|
| Plant food product | Animal food product | 1,303,624 | 74.74% |
| Animal food product | Vegetable food product | 969,055 | 64.13% |
| Plant food product | Dairy food product | 917,684 | 52.61% |
| Vegetable food product | Fruit | 891,116 | 68.69% |
| Plant food product | Condiment food product | 831,885 | 47.69% |
| Animal food product | Condiment food product | 746,545 | 49.41% |
| Setting | Value |
|---|---|
| Models | GPT-5.1-2025-11-13, Claude Sonnet 5, Qwen3-235B |
| Input | Aligned mention–concept pair |
| Output | Shared canonical definition |
| Parameter updates | None |
| Setting | Value |
|---|---|
| Base models | LLaMA-3-8B, Mistral-7B, Qwen2.5-7B |
| Finetuning method | LoRA (Unsloth) |
| LoRA rank ( ) | 16 |
| LoRA alpha | 16 |
| LoRA dropout | 0 |
| LoRA bias | None |
| Setting | Value |
|---|---|
| Decoding | Sampling |
| Temperature | 0.7 |
| Top- | 0.9 |
| Maximum new tokens | 1024 |
| Statistic | Train | Seen | Unseen |
| Food mentions | 2,660 | 583 | 736 |
| Unique ontology concepts | 803 | 255 | 176 |
| Mean mention–concept pair Jaro similarity | 0.788 | 0.758 | 0.794 |
| Exact pair match (%) | 18.98 | 11.84 | 18.61 |
| Mean food mention token length | 1.81 | 1.83 | 1.79 |
Entity Linking
Entity linking maps mentions of people, places, products, and concepts to the corresponding entries in a knowledge base.
See all 25 papers