IMG_20170606_125123 Discarded exoskeletons of a spiny lobster
IMG_20160604_160640 Cooking with Chef Watson, the IBM AI
Natural Language Processing Day was an offshoot of Austin Data Day. The latter is dedicated to data science in general, but there was enough interest in Natural Language Processing that the organizers of the Data Day set aside an entire day to Natural Language Processing.
One of the most accessible presentations was given by the IBM's Dan Tecuci. He gave a presentation "Cooking With Chef Watson", which was about training IBM's Watson, an artificial intelligence, to create recipes -- and not just any, but edible ones. For that, IBM researchers trained Watson to read existing recipes, and remix them in new and meaningful ways.
There are many challenges in that. No wonder one of the early recipes produced by Watson said: "Thaw the goat. Skewer the tequilla." Watson had to be taught, as the slide says, what actions are appropriate in the given context, and what verbs to use to describe them.
The problem is illustrated in this slide. Let's say, the recipe says:
"Mix sriracha, red wine, tamari achiote paste, minced garlic..."
-- Are sriracha, red wine, tamari achiote paste, garlic "mix-able"?
-- Is chicken "stir-able"? Under what conditions?
"Skewer the tequila"
"Heat the oil" vs "melt the oil"
It is not only a language problem, but a knowledge problem.
The AI has to have general knowledge about things, which is usually not stated in the recipes. E.g. is onion a solid? Of the verb-noun combinations that don't appear in recipes, which are impossible (e.g. "grate cottage cheese")? How do you deal with ambiguity in phrases like "sprinkle the salt" vs "sprinkle the chicken"? You need to teach the AI what ingredients can be sprinkled, and what ingredients make sense to be sprinkled on.