Язык Wolfram Language

Расширенный доступ к базе знаний Wolfram Knowledgebase

Aнализ ингредиентов рецептов приготовления блюд

База знаний Wolfram Knowledgebase содержит разнообразную информацию о свойствах продуктов питания. Мощные возможности использования естественного языка ресурса Interpreter позволяет легко рассчитать калории для кулинарного рецепта. Для начала, импортируем список ингредиентов для блинчиков из объекта облачной системы файлов, CloudObject.

In[1]:=
Click for copyable input
(data = Import[ CloudObject[ "https://www.wolframcloud.com/objects/e6537987-b050-4f39-9032-\ 69788e001041"], "TSV"]) // TextGrid[#, Dividers -> All] &
Out[1]=

Воспользуемся гибкими возможностями интерпретатора, Interpreter, для того, чтобы преобразовать информацию об ингрeдиентах в вычисляемую семантическую информацию о продовольственных продуктах и количественных объектах класса Quantity.

In[2]:=
Click for copyable input
ingredients = Interpreter[ CompoundElement[{"Food", "ComputedQuantity" | Restricted["Quantity", "Servings"]}]]@ Reverse[data, {2}]
Out[2]=

Сформируем экземпляры сущностей (ингредиентов) и рассчитаем общее содержание калорий в данном рецепте.

In[3]:=
Click for copyable input
EntityValue[EntityGroup[EntityInstance @@@ ingredients], EntityProperty["Food", "AbsoluteTotalCaloriesContent"]]
Out[3]=

Теперь суммируем все ингредиенты и содержащиеся в них калории.

код на языке Wolfram Language целиком
In[4]:=
Click for copyable input
TextGrid[Transpose[ Append[Transpose[ingredients], EntityValue[EntityInstance @@@ ingredients, EntityProperty["Food", "AbsoluteTotalCaloriesContent"]]]], Dividers -> All, Alignment -> {{Left, Center, Right}, Automatic}] // TraditionalForm
Out[4]//TraditionalForm=

Родственные примеры

de en es fr ja ko pt-br zh