Как строится база данных продуктов Nutrola: от данных USDA до 12 миллионов проверенных записей
Каждый подсчет калорий в Nutrola имеет свои корни. Узнайте, как именно создается, проверяется и поддерживается база данных продуктов — и почему от этого зависит точность.
Когда вы ищете "куриная грудка на гриле" в приложении для отслеживания калорий и видите "165 калорий на 100 грамм", эта цифра не появилась из ниоткуда. Кто-то ее измерил. Кто-то проверил. Кто-то решил, что она достаточно точна, чтобы показать миллионам пользователей, принимающим решения о здоровье на основе этих данных.
Качество базы данных продуктов — это невидимый фундамент, на котором строится каждое приложение для отслеживания калорий. Если база данных ошибочна, то все, что на ней основано, тоже будет неверным: ваша ежедневная сумма калорий, разбивка по макроэлементам, недельные тренды, рекомендации вашего тренера и, в конечном итоге, ваши результаты. Тем не менее, большинство пользователей никогда не задумываются о том, откуда берутся эти цифры, а большинство приложений не объясняют это.
В этой статье подробно описывается, как строится база данных продуктов Nutrola, начиная с ее основ на правительственных данных и заканчивая 12 миллионами проверенных записей, которые она содержит сегодня. Также объясняется, почему качество баз данных так сильно варьируется между приложениями и что это значит для точности вашего отслеживания.
Основа: USDA FoodData Central
Каждая серьезная база данных о питании начинается с Министерства сельского хозяйства США. USDA измеряет питательную ценность продуктов с 1890-х годов, а их современная база данных, FoodData Central, представляет собой наиболее полное и строго проверенное собрание данных о составе продуктов в мире.
FoodData Central содержит несколько наборов данных. SR Legacy предоставляет подробные профили питательных веществ для примерно 7600 распространенных продуктов, каждый из которых является результатом лабораторного анализа, а не оценки. Продукты физически закупаются, готовятся в соответствии со стандартизированными протоколами и анализируются с использованием проверенных методов аналитической химии. Foundation Foods — это более новый и детализированный набор, который предоставляет данные о вариативности, размерах выборок и метаданные о сорте, породе, происхождении и времени сбора. FNDDS охватывает смешанные блюда и рецепты, как они обычно потребляются, с данными о размере порции, связанными с домашними мерами. Branded Foods содержит данные о упакованных продуктах, полученные через партнерство с Label Insight (теперь NielsenIQ).
Nutrola использует все четыре набора данных, нормализует их до единой схемы и перекрестно проверяет записи для устранения несоответствий. Когда SR Legacy и Foundation Foods содержат данные для одного и того же продукта, приоритет отдается значениям Foundation Foods, так как они основаны на более свежих анализах.
Эта основа USDA предоставляет примерно 400 000 уникальных записей о продуктах. Это хорошая отправная точка, но для современного приложения для отслеживания калорий этого недостаточно. Большинство людей не едят "Курица, бройлер, грудка, мясо только, приготовленное, жареное". Они едят сэндвич Chick-fil-A, замороженное блюдо Trader Joe's или домашнее блюдо по рецепту, который их бабушка привезла из другой страны. Чтобы охватить весь спектр того, что на самом деле едят люди, необходимо выйти далеко за пределы государственных данных.
Добавление данных о брендах
Слой данных о брендах представляет собой крупнейшее расширение базы данных. Упакованные продукты с этикетками о питательной ценности составляют значительную часть типичного рациона в США и других развитых странах, и пользователи ожидают найти свои конкретные продукты при поиске.
Nutrola получает данные о брендах через несколько каналов.
Прямые партнерства с производителями обеспечивают данные о брендах самого высокого качества. Когда производитель делится данными о питательной ценности напрямую, они получены из тех же лабораторных анализов, которые использовались для создания панели питательной ценности. Nutrola поддерживает соглашения о передаче данных с сотнями производителей продуктов.
Интеграция баз данных штрих-кодов охватывает длинный хвост продуктов через открытые базы данных штрих-кодов, государственные реестры этикеток продуктов и коммерческих поставщиков данных. Когда пользователь сканирует незнакомый штрих-код, система инициирует процесс проверки, прежде чем запись станет доступной для всех пользователей.
Сканирование этикеток и OCR создает записи на основе физических панелей питательной ценности. Каждая запись, полученная с помощью OCR, проходит проверку, которая ищет распространенные ошибки извлечения: неверно прочитанные десятичные точки, перепутанные цифры и значения вне правдоподобных диапазонов.
Периодические циклы обновления обеспечивают актуальность данных о брендах. Производители регулярно реформулируют продукты. Nutrola проводит квартальные циклы обновления для продуктов с высоким объемом и ежегодные обновления для более широкого каталога, помечая записи, где значения изменились.
Этот слой данных о брендах добавляет примерно 1,5 миллиона записей в базу данных, каждая из которых связана с конкретными штрих-кодами UPC/EAN и идентификаторами продуктов.
Записи, предоставленные пользователями, и проблема точности
Большинство крупных баз данных для отслеживания калорий сильно полагаются на краудсорсинговые данные — записи, отправленные пользователями, которые вручную вводят информацию о питательной ценности с этикеток, рецептов или своих собственных оценок. Этот подход быстро масштабируется. Однако он также является крупнейшим источником ошибок в базе данных в индустрии отслеживания питания.
Проблемы с краудсорсинговыми данными о продуктах хорошо задокументированы. Обзор 2020 года, опубликованный в Nutrients автором Evenepoel и др., показал уровень ошибок от 15 до 25 процентов в значениях макронутриентов в краудсорсинговых базах данных о питании. Типы ошибок включают следующее.
Ошибки ввода данных. Пользователь вводит 52 грамма белка вместо 5,2 грамма. Ошибка с десятичной точкой, из-за которой порция йогурта кажется содержащей столько же белка, сколько целая куриная грудка. Эти ошибки распространены, поскольку ручной ввод данных по своей природе подвержен ошибкам, и большинство краудсорсинговых систем не имеют механизма для их обнаружения до того, как запись станет доступной.
Дублирующие и противоречивые записи. Если вы ищете "банан" в крупной краудсорсинговой базе данных, вы можете найти тридцать записей с разными значениями калорий. Некоторые указывают на маленький банан, некоторые на средний, некоторые на большой. Некоторые включают вес кожуры, некоторые — нет. Некоторые точные, некоторые — совершенно неверные. Пользователь остается в неведении, какая запись правильная, и у него нет надежного способа это определить.
Устаревшая информация о продуктах. Пользователь отправляет данные о гранола-баре в 2022 году. Производитель реформулирует продукт в 2024 году, уменьшая содержание сахара и увеличивая клетчатку. Старая запись остается в базе данных бесконечно, возвращая неверные значения для всех, кто ее выбирает.
Оценка вместо измерения. Некоторые записи, отправленные пользователями, не основаны на данных с этикеток, а на личной оценке пользователя о питательной ценности продукта. Эти записи могут отклоняться от фактических значений на 50 процентов и более.
Несогласованные размеры порций. Одна запись для "рис, приготовленный" использует порцию 100 грамм. Другая использует одну чашку. Третья использует "одну порцию", не определяя, что это значит. Пользователи, выбирающие между этими записями, могут не заметить несоответствия в размере порции, что приводит к ошибкам, которые накапливаются в течение приемов пищи.
Nutrola принимает записи, предоставленные пользователями, поскольку они необходимы для охвата всего разнообразия продуктов, которые едят люди, включая региональные блюда, специфические для ресторанов продукты и домашние рецепты, которые отсутствуют в официальных базах данных. Однако каждая запись, предоставленная пользователем, проходит через процесс проверки, прежде чем станет доступной для широкой аудитории. Запись сразу же доступна для использования создателем, но не отображается для других пользователей, пока не будет проверена.
Процесс проверки
Каждая запись о продукте в Nutrola, независимо от источника, проходит через многоступенчатый процесс проверки, прежде чем попасть в общую базу данных.
Этап 1: Автоматические проверки правдоподобия. Алгоритм проверяет представленные значения питательных веществ на соответствие известным ограничениям. Калории должны соответствовать заявленным макронутриентам (белки, углеводы, жиры) в пределах определенной допустимости. Система Атватера предоставляет коэффициенты преобразования: 4 калории на грамм белка, 4 калории на грамм углеводов, 9 калорий на грамм жира и 7 калорий на грамм алкоголя. Если пользователь отправляет запись, утверждающую, что в ней 200 калорий, 30 граммов белка, 20 граммов углеводов и 15 граммов жира, рассчитанное значение калорий составляет 335, а не 200. Запись помечается для проверки.
Этот этап также проверяет на правдоподобность значения в рамках категорий продуктов. Запись о фрукте, утверждающая, что в ней 40 граммов жира на порцию, запись о овощах, утверждающая, что в ней 60 граммов белка на 100 граммов, или любая запись, где один макронутриент превышает общий вес порции, автоматически помечаются. Эти проверки выявляют большинство ошибок ввода данных, включая ошибки с десятичными точками и путаницу с единицами измерения.
Этап 2: Сопоставление перекрестных ссылок. Система сравнивает представленную запись с существующими записями для тех же или схожих продуктов. Если в базе данных USDA есть эталонная запись для "сыра чеддер", а пользователь отправляет запись о бренде сыра чеддер с калорийными значениями на 40 процентов ниже, чем в эталонной записи USDA, запись помечается для ручной проверки. Небольшие отклонения ожидаемы, поскольку бренды различаются. Большие отклонения указывают на вероятные ошибки.
Этап 3: Проверка диетологом. Записи, которые проходят автоматические проверки, но попадают в категории высокой важности, такие как основные продукты, популярные запросы или записи с пограничными оценками правдоподобия, направляются в очередь на проверку диетологом. Команда зарегистрированных диетологов и пищевых ученых Nutrola проверяет эти записи на соответствие авторитетным источникам, сопоставляя значения с веб-сайтами производителей, государственными базами данных из нескольких стран и опубликованными таблицами состава продуктов.
Этап 4: Общественное согласие. Для записей, которые находятся в базе данных уже некоторое время, паттерны использования предоставляют дополнительный сигнал качества. Если многие пользователи выбирают запись и никто не сообщает о ее неточности, это положительный сигнал. Если пользователи часто выбирают запись, а затем немедленно редактируют значения, это может указывать на наличие ошибок в оригинальной записи. Эти поведенческие сигналы возвращаются в процесс проверки, поднимая потенциально проблемные записи для повторного рассмотрения.
Процесс проверки диетологом
Человеческий слой проверки отделяет проверенную базу данных от краудсорсинговой. Автоматические проверки выявляют очевидные ошибки, но тонкие неточности требуют человеческого суждения.
Команда проверки диетологов Nutrola работает по приоритетной системе. Продукты приоритизируются для проверки на основе объема поиска, вероятности ошибок и питательной значимости. Ошибка в подсчете калорий воды (которая должна быть нулевой) не имеет практических последствий. Ошибка в подсчете калорий оливкового масла, одного из самых калорийных распространенных продуктов, может сбить с толку ежедневный подсчет пользователя на сотни калорий.
Процесс проверки одной записи включает в себя определение самого авторитетного источника (данные лабораторий USDA для сырьевых товаров, данные производителей для брендированных продуктов, опубликованная информация о питании для блюд из ресторанов), сопоставление всех заявленных питательных веществ с этим источником, оценку точности размера порции и проверку метаданных поиска, чтобы пользователи могли действительно найти запись.
Сложная запись, такая как традиционное региональное блюдо без стандартизированного рецепта, может потребовать 30 минут или более исследований. Простые проверки брендированных продуктов занимают менее минуты. Команда приоритизирует записи с высоким воздействием, сосредотачивая время проверки там, где это приносит наибольшее улучшение в общей точности базы данных.
Как ошибки выявляются и исправляются
Ни одна база данных из 12 миллионов записей не может быть безошибочной. Цель состоит не в совершенстве, а в систематическом снижении ошибок со временем, а также в быстром исправлении ошибок, когда они выявлены.
Nutrola использует несколько механизмов обнаружения ошибок, работающих параллельно.
Сообщение от пользователей. Каждая запись о продукте в приложении включает опцию "Сообщить о проблеме". Пользователи могут пометить записи как содержащие неверные калории, неправильные макроэлементы, устаревшую информацию, неверные размеры порций или другие проблемы. Сообщения сортируются по объему и серьезности. Одно сообщение о записи с низким объемом попадает в стандартную очередь проверки. Множественные сообщения о записи с высоким объемом вызывают немедленную проверку.
Автоматическое обнаружение аномалий. Статистические модели мониторят базу данных на предмет записей, которые значительно отклоняются от норм своей категории продуктов. Если средняя калорийность всех записей о сырах в базе данных составляет 350 калорий на 100 граммов, запись о сыре, утверждающая, что в ней 35 калорий на 100 граммов, автоматически помечается. Эти модели работают непрерывно и выявляют ошибки, которые отдельные пользователи могут не заметить или не сообщить.
Проверка по сканированию штрих-кодов. Когда пользователи сканируют штрих-код продукта, возвращенные данные сравниваются с самыми последними данными производителя. Если производитель обновил свою информацию о питательной ценности, а запись в базе данных еще не была обновлена, несоответствие вызывает процесс обновления.
Сопоставление с другими базами данных. Nutrola периодически сопоставляет свои записи с обновленными выпусками базы данных USDA, международными базами данных о составе продуктов и данными партнеров. Записи, которые отклонились от своих эталонных источников, помечаются для проверки и исправления.
Аудиты консистентности питательных веществ. Периодические аудиты проверяют случайные выборки в каждой категории продуктов на предмет внутренней согласованности. Эти аудиты выявили кластеры ошибок, такие как партии импортированных записей, где значения клетчатки были перепутаны со значениями сахара из-за ошибок сопоставления столбцов.
Когда ошибка подтверждается, исправление применяется немедленно и распространяется на всех пользователей. Пользователи, которые недавно зарегистрировали затронутый продукт, получают уведомление, позволяющее им пересмотреть и скорректировать свои записи.
Региональные базы данных о продуктах для международной кухни
База данных, построенная исключительно на американских данных, недостаточна для глобальной аудитории. Пользователь в Японии, ищущий "онигири", нуждается в точных результатах. Пользователь в Индии, ищущий "дал махкани", нуждается в записи, которая отражает реальные методы приготовления и ингредиенты, используемые в индийских кухнях, а не адаптацию, сделанную для американских ресторанов.
Nutrola включает данные о составе продуктов из государственных баз данных более чем 30 стран и регионов.
Европа: Сеть EuroFIR координирует данные между европейскими странами. Национальные базы данных из Великобритании (McCance и Widdowson), Германии (Bundeslebensmittelschluessel) и Франции (CIQUAL) предоставляют записи о региональных продуктах и местных брендированных товарах.
Восточная Азия: Стандартные таблицы состава продуктов Японии, Национальная база данных о составе продуктов Южной Кореи и Таблицы состава продуктов Китая вносят тысячи записей о специфических для региона продуктах, включая варианты, зависящие от способа приготовления. Разница между вареным рисом и жареным рисом, между сырым тофу и жареным тофу не является тривиальной, и эти базы данных фиксируют эти различия.
Южная Азия: Национальный институт питания Индии предоставляет данные о продуктах, уникальных для субконтинента, включая региональные зерна, блюда из бобовых и молочные продукты, такие как панир и гхи, с питательными профилями, отличными от их западных аналогов.
Латинская Америка и Ближний Восток/Африка: Таблицы состава продуктов из Бразилии (TACO), Мексики (BDCA) и региональные базы данных из Ближнего Востока и Африки вносят данные о таких основных продуктах, как тефф, инджера, блюда на основе тахини и региональные приготовления, отсутствующие в североамериканских базах данных.
Интеграция этих источников не является простой импортом данных. Разные страны используют разные аналитические методы, определения питательных веществ и конвенции по размерам порций. "Чаша" составляет 240 мл в США, 200 мл в Японии и 250 мл в Австралии. Команда по обработке данных Nutrola поддерживает уровень нормализации, который преобразует все входящие международные данные в единый стандарт: метрические единицы, стандартизированные определения питательных веществ и унифицированные коды классификации продуктов.
Сравнение источников базы данных
Следующая таблица подводит итоги характеристикам каждого основного источника, который вносит вклад в базу данных продуктов Nutrola.
| Источник | Записи | Точность | Охват | Частота обновления | Ограничения |
|---|---|---|---|---|---|
| USDA FoodData Central | ~400,000 | Очень высокая (лабораторный анализ) | Сильная для сырьевых товаров и брендированных продуктов США | Ежегодные основные выпуски, текущие обновления | Ограниченные международные продукты, ограниченные ресторанные позиции |
| Этикетки производителей | ~1,500,000 | Высокая (регулируемая, проверяемая FDA) | Отличная для упакованных товаров | Варьируется по производителю; квартальное обновление в Nutrola | Охватывает только упакованные продукты, допускается 20% вариация FDA |
| Международные государственные базы данных | ~2,000,000 | Высокая (лабораторный анализ, варьируется по стране) | Отличная для региональных продуктов | Ежегодно или реже | Несогласованные стандарты между странами, некоторые устаревшие |
| Краудсорсинговые (предоставленные пользователями) | ~6,000,000 | Переменная (уровень ошибок 15-25% до проверки) | Самый широкий охват, включая нишевые товары | Непрерывно | Требует процесса проверки; необработанные данные ненадежны |
| Проверенные диетологами | ~2,100,000 | Очень высокая (перекрестная проверка, ручная проверка) | Приоритизируется по объему поиска | Непрерывная приоритетная проверка | Ресурсоемкая, не может охватить каждую запись |
Эти источники не являются взаимоисключающими. У одного и того же продукта могут быть данные из нескольких источников. Когда возникают конфликты, иерархия разрешения такова: данные лабораторий USDA или эквивалентные государственные данные в первую очередь, данные производителей во вторую, проверенные диетологами данные в третью и проверенные краудсорсинговые данные в четвертую. Эта иерархия обеспечивает приоритетность наиболее строго проверенных данных.
Почему точность важнее размера
Некоторые конкурирующие приложения рекламируют размеры баз данных в 15, 20 или даже 30 миллионов записей. Размер без качества не имеет смысла и может быть активно вредным.
База данных с 30 миллионами записей и уровнем ошибок 20 процентов содержит 6 миллионов неверных записей. Пользователь, который регистрирует одну из этих записей, теперь отслеживает неточные данные с полной уверенностью в их правильности. Ошибка накапливается: если запись о завтраке завышает содержание белка на 10 граммов, и вы едите ее пять раз в неделю, вы верите, что потребили на 200 граммов больше белка в месяц, чем на самом деле. Если вы уменьшаете потребление белка в других местах на основе этих данных, последствия реальны.
Вот почему Nutrola приоритизирует количество проверенных записей над сырым количеством записей. Запись, которая не существует, нейтральна. Запись, которая существует, но неверна, активно вредна.
Как база данных растет
База данных не статична. Она постоянно растет через несколько каналов. Автоматизированные системы мониторят запросы на сканирование штрих-кодов, выявляя продукты, которые пользователи ищут, но которые еще не существуют, и приоритизируют товары с высоким спросом для добавления. Пользовательские отправления добавляют региональные блюда, ресторанные позиции и домашние рецепты, которые не охвачены ни одной официальной базой данных. Партнерства с производителями обеспечивают, что когда крупная сеть запускает новый элемент меню, данные о питательной ценности доступны в день запуска. Периодические выпуски USDA и международные базы данных также включаются по мере их появления.
Часто задаваемые вопросы
Насколько точна база данных продуктов Nutrola по сравнению с другими приложениями?
Проверенные записи Nutrola имеют среднюю точность в пределах 5 процентов от лабораторно измеренных значений для макронутриентов, основанную на внутренних проверках, сравнивающих записи с независимыми аналитическими данными. Непроверенные краудсорсинговые базы данных обычно показывают уровень ошибок от 15 до 25 процентов. Разница заключается в процессе проверки, который каждая запись должна пройти, прежде чем стать доступной для широкой аудитории.
Что происходит, когда я сканирую штрих-код, и продукт не найден?
Приложение предлагает вам ввести информацию о питательной ценности с этикетки. Ваша запись немедленно становится доступной для вашего использования, затем проходит процесс проверки, прежде чем стать доступной для других пользователей. Продукты с высоким спросом приоритизируются для быстрой проверки.
Как часто обновляется база данных?
Непрерывно. Записи, предоставленные пользователями, обрабатываются ежедневно. Данные о брендированных продуктах обновляются ежеквартально для товаров с высоким объемом. Выпуски USDA и международные данные включаются в течение двух недель после публикации. Исправления ошибок обычно применяются в течение 24-48 часов после подтверждения.
Могу ли я доверять подсчету калорий для ресторанных блюд?
Для крупных сетей, которые публикуют официальные данные о питательной ценности, записи получены напрямую и так же точны, как и собственные измерения сети. Для независимых ресторанов записи основаны на оценках рецептов с более широкой маржей неопределенности. Nutrola помечает записи ресторанов индикатором уверенности, чтобы вы могли видеть, поступают ли данные из официального источника или являются оценкой.
Почему Nutrola иногда показывает разные значения, чем на этикетке моего продукта?
Три распространенные причины: производитель мог реформулировать продукт, определения размеров порций могут различаться, или правила округления питательной ценности создают небольшие несоответствия (обычно в пределах 5-10 калорий). Сообщение о несоответствии через приложение инициирует обновление.
Как Nutrola обрабатывает домашние рецепты?
Вы создаете пользовательские записи рецептов, комбинируя записи отдельных ингредиентов из проверенной базы данных, скорректированные по порциям. Поскольку записи ингредиентов проверены, основной источник ошибки — это измерение порции, а не плохие данные.
Что отличает базу данных Nutrola от открытых альтернатив?
Открытые базы данных, такие как Open Food Facts, предоставляют ценную информацию, но работают без систематической проверки. Записи отправляются волонтерами и публикуются без проверок правдоподобия или проверки диетологами. Nutrola использует открытые данные как один из входных данных среди многих, подвергая все импортированные записи тому же процессу проверки, что и любые другие источники.
Постоянная работа
Создание базы данных о продуктах — это не проект с финишной чертой. Продукты меняются. Новые товары запускаются. Старые продукты реформулируются или снимаются с производства. Аналитические методы улучшаются.
12 миллионов записей в базе данных Nutrola сегодня не будут такими же через год. Некоторые будут обновлены, некоторые удалены, и сотни тысяч новых записей будут добавлены. Процесс проверки выявит ошибки, которые могли ускользнуть в предыдущих итерациях. Команда проверки диетологов будет постепенно увеличивать долю записей, которые имеют подтвержденную уверенность.
Никто не загружает приложение для отслеживания калорий, потому что ему интересно нормализовать данные о составе продуктов. Но каждый точный подсчет калорий, каждая надежная разбивка по макроэлементам, каждый достоверный ежедневный итог зависит от правильной работы этой инфраструктуры, невидимо, за каждым результатом поиска. Когда вы регистрируете свой обед и цифры верны, это не случайность. Это результат системы, построенной специально для того, чтобы гарантировать их правильность.
Готовы трансформировать отслеживание питания?
Присоединяйтесь к тысячам тех, кто изменил свой путь к здоровью с Nutrola!