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