Computer Cooking Contest September the 1 st 2008 ---The Taaable Team--- 2
3
4
5
6
Roadmap Roadmap Facts Facts Future Future work work CBR CBR engine engine Knowledge Knowledge Interface Interface acquisition 7 acquisition
Facts Facts 8
The Team 3 labs People trainees, PhD students, professors, ... 9
A CBR Web Application Case-Based Reasoning CBR Based Ontology engineering Knowledge intensive Information retrieval Easy to use Knowledge extraction Accessible Knowledge representation Knowledge acquisition Web oriented 10 Interface ergonomics
Architecture 11
Facts Facts CBR CBR engine engine 12
Knowledge representation Case base : a set of recipes Recipe R ex Index Idx(R ex ) Idx( R ex ) = banana ∧ ... ∧ Banana Butterfinger chocolate_chips ∧ a 1 ∧ a 2 ∧ Cake Language L : polynomial fragment of propositional logic Ontology O in L : set of axioms a ⇒ b banana ⇒ fruit ∈ O banana ⇒ food ∈ O Generalization cost associated to each axiom in O a 1 ∧ a 2 ∧ ... : closed world assumption on indexes 13
Knowledge representation Recipe R ex Index Idx(R ex ) Idx( R ex ) = banana ∧ ... ∧ Banana Butterfinger chocolate_chips ∧ a 1 ∧ a 2 ∧ Cake Query Q ex Query Q ex = chocolate ∧ Idx and Q are I want a cake with expressed in L fruit ∧ cake chocolate and fruits A recipe R answers the query Q if, given the ontology O Idx(R) ⇒ Q If ( banana ⇒ fruit, chocolate_chips ⇒ chocolate) ∈ O 14 then Idx(R ex ) ⇒ Q ex O
Retrieval principles Smooth classification of Q Strong classification of Q While strong classification fails Using hierarchy search techniques, ⇒ SP = next similarity path Find Idx(R) such that Idx(R) Q ⇒ Results: SP (if any) and Idx(R) such that Idx(R) Q In Taaable SP = ( a 1 b 1 ) o ... o ( a q b q ) ( a i b i ): substitution by generalisation, ( a i ⇒ b i ) ∈ O SP generated by increasing cost cost( SP )= ∑ cost( a i ⇒ b i ) i = 1..q cost( lemon ⇒ citrus ) 15 K (#RecipesWith( citrus ) – #RecipesWith( lemon ))
Example of retrieval result Elements of ontology chocolate_chips ⇒ chocolate almond ⇒ nut butter ⇒ butter_or_margarine pecan ⇒ nut margarine ⇒ butter_or_margarine ∧ ∧ Q = almond chocolate butter ∧ ∧ ∧ ∧ Idx(R) = chocolate_chips egg margarine pecan ∧ ∧ ∧ ∧ ∧ a 1 a 2 cream_cheese sugar vanilla ... almond nut butter butter_or_margarine SP = o 16 ∧ ∧ SP(Q) = nut chocolate butter_or_margarine
Adaptation principles 1. Substitution by generalizations from Idx(R) to SP(Q) margarine butter_or_margarine o ∧ AP 1 = o chocolate_chips chocolate pecan nut 2. AP 2 = SP -1 o butter_or_margarine butter AP 2 = nuts nuts nut almond 3. Composition of AP1 and AP2 and simplification of the result AP = o margarine butter_or_margarine o chocolate chocolate_chips pecan nut 17 Following the adaptation path: left to users
Facts Facts CBR CBR engine engine Knowledge Knowledge acquisition 18 acquisition
Towards a cooking ontology Knowledge modelling Cooking Ingredient ... DishType Action DishMoment Ustensil DishOrigin 19
Towards a cooking ontology Cooking Ingredient ... DishType Action DishMoment Ustensil DishOrigin 20
Four hierarchies Size: 10 Size: 60 DishType DishMoment BakedGood Sweet Pancake Pizza Dessert MainDish Snack Cake Tiramisu Muffin Size: 4000 IngredientType Size: 68 DishOrigin Fruit BakingMix FatAndOil Mediterranean Europe Asia Oil PancakeMix Italia OliveOil 21
Four hierarchies - linked Size: 10 Size: 60 DishType DishMoment BakedGood Sweet Pancake Pizza Dessert MainDish Snack Cake Tiramisu Muffin Size: 4000 IngredientType Size: 68 DishOrigin Fruit BakingMix FatAndOil Mediterranean Europe Asia Oil PancakeMix Italia OliveOil 22
Four hierarchies - linked Size: 10 Size: 60 DishType DishMoment BakedGood Sweet Pancake Pizza Dessert MainDish Snack Cake Tiramisu Muffin Size: 4000 IngredientType Size: 68 DishOrigin Fruit BakingMix FatAndOil Mediterranean Europe Asia Oil PancakeMix Italia OliveOil 23
Four hierarchies - linked Size: 10 Size: 60 DishType DishMoment BakedGood Sweet Pancake Pizza Dessert MainDish Snack Cake Tiramisu Muffin Size: 4000 IngredientType IngredientType Size: 68 DishOrigin Fruit BakingMix FatAndOil Mediterranean Europe Asia Oil PancakeMix Italia OliveOil 24
Recipe annotation Ingredients DishType DishMoment DishOrigin Banana Butterfinger Cake flour cake dessert ? egg baked-good Semi-automatic annotation banana sweet External ressources ... 25 Recipesource: http://www.recipesource.com/
Ingredient annotation Quantity Unit IngredientType Modifier <IN>1 ½ c sugar</IN> 1 1/2 c granulated sugar Annotation by Controlled-indexing 8000 lexical variants Cooking Thesaurus 26 Cook's Thesaurus: http://www.foodsubs.com
Ingredient annotation Quantity Unit IngredientType Modifier <IN>2 c mashed ripe bananas (about 5) </IN> 2 c banana mashed, ripe Not recognized: “about 5” 27 Cook's Thesaurus: http://www.foodsubs.com
Type annotation Goal: at least one dish moment and one dish type Methodology: controlled-indexing and manual validation Source: recipesource 28 Recipesource: http://www.recipesource.com/
Type annotation 1 . From the 2. Categories folder available in hierarchie of recipesource recipesource b. Manual validation 3. Terms 4. Association 5. Additionnal recognized in rules annotation the title a. Help! 29
Facts Facts CBR CBR engine engine Knowledge Knowledge Interface Interface acquisition 30 acquisition
Easy to use 31
Consistency validation 32
Advanced features 33
Result display features 34
Adapted recipe 35
Facts Facts Future Future work work CBR CBR engine engine Knowledge Knowledge Interface Interface acquisition 36 acquisition
Test and evaluation Knowledge acquisition process % of ingredient identification % of correctly typed recipes with each method 37
Test and evaluation Knowledge acquisition process % of ingredient identification % of correctly typed recipes with each method CBR engine Response time (not relevant) ?? 38
Test and evaluation Knowledge acquisition process % of ingredient identification % of correctly typed recipes with each method CBR engine Response time (not relevant) ?? How to evaluate Taaable? Computer Cooking Contest 39
Taaable, a CCC participant Knowledge base of the cooking domain + = Ad-hoc CBR engine + Web Interface Compulsory task Negation challenge Menu challenge (quick and dirty) Best costume challenge 40
Ongoing work Recipe sharing tool Debug Web Interactive annotation interface interface Interactive knowledge acquisition tool Increase customization parameters CBR Integrate an existing inference engine? engine Code optimization Improve the knowledge representation features Knowledge Improve existing knowledge base base Time 41 We leave that for the CCC 2 (or 3) !
42
Recommend
More recommend