如何构建全球最准确的食品数据库:Nutrola的营养数据内幕
深入了解Nutrola如何建立并维护一个受到200万用户信赖的营养数据库——涵盖数据来源、验证流程以及确保数据准确性的技术。
当你在卡路里追踪应用中记录一块鸡胸肉时,你是在信任这个数字是正确的。你相信某个地方有人准确地测量了这食物,正确地输入了数据,并且自那以后没有人对其进行篡改。
然而,这种信任常常是错误的。
大多数营养应用依赖于众包数据库,任何用户都可以提交数据。这导致了数据的混乱。你搜索“香蕉”,却发现47个条目,卡路里数差异巨大。你扫描条形码,得到的是三年前的数据,而那时制造商已经重新配方。你记录了一顿餐厅的饭菜,而这个条目是由一个随意猜测的人提交的。
在Nutrola,我们早早就决定,数据的准确性不是一个附加功能,而是基础。一切构建都依赖于数据的准确性。这就是我们如何建立一个受到超过200万用户信任的营养数据库的故事,以及我们每天保持其准确性的系统。
为什么大多数营养数据库存在问题
在解释我们与众不同的做法之前,了解标准方法为何失败是有帮助的。
众包问题
最受欢迎的卡路里追踪应用使用众包数据库。用户提交食品条目,其他用户使用这些数据,数据库自然增长。这种模式扩展迅速,这也是应用采用它的原因。但它引入了系统性错误,随着时间的推移不断累积。
以下是众包营养数据最常见的问题:
| 问题 | 发生方式 | 对用户的影响 |
|---|---|---|
| 重复条目 | 多个用户提交相同食品但数据不同 | 用户随机选择条目,结果不一致 |
| 过时信息 | 产品配方更新但旧条目仍然存在 | 卡路里和宏观营养素的计数可能偏差20-40% |
| 不正确的份量 | 用户以克为单位输入数据,而标签显示盎司,反之亦然 | 份量计算根本错误 |
| 缺失微量营养素 | 用户只输入卡路里,忽略维生素、矿物质、纤维 | 微量营养素追踪变得不可靠 |
| 区域差异 | 同一产品在不同国家有不同配方 | 一个国家的用户获取的是另一个国家的数据 |
| 虚假条目 | 用户输入近似或虚构的营养数据 | 无法区分真实数据与猜测 |
2024年《营养与饮食学会杂志》发表的一项研究发现,众包食品数据库的错误率在15%到30%之间。对于不常见的食品,错误率甚至超过40%。
这意味着,如果你每天都在认真记录饮食,你的实际摄入量可能偏差数百卡路里。对于那些试图保持300卡路里赤字以减肥的人来说,这样的误差可能完全抵消他们的进展。
过时数据问题
食品制造商不断更改配方和成分。一款去年含有20克蛋白质的蛋白棒,今天可能只有18克。一份350卡路里的冷冻餐,可能现在变成了380卡路里。包装更改,成分替换,份量调整。
大多数营养数据库没有捕捉这些变化的系统。原始条目在数据库中永远存在,慢慢地与现实脱节。
条形码扫描差距
条形码扫描是卡路里追踪应用中最受欢迎的功能之一。用户喜欢它,因为它似乎很准确——你扫描的是你正在吃的具体产品。但条形码数据库也存在问题。产品在不同地区共享条形码,而这些地区的配方可能不同。商店品牌在更换供应商时会重复使用条形码。许多产品根本不在数据库中,尤其是国际或特色食品。
Nutrola的做法:每一层都经过验证的数据
我们建立数据库的哲学截然不同:每一条营养数据都应可追溯到经过验证的来源,并且每个条目都应持续验证。
以下是实际操作的方式。
第一层:政府和机构来源
我们数据库的基础来自官方政府营养数据库。这些数据是营养数据的黄金标准,因为它们由经过培训的食品科学家使用标准化实验室方法生成。
我们的主要机构来源包括:
- USDA FoodData Central — 美国农业部维护着世界上最全面的实验室分析食品数据库,涵盖超过380,000个条目,包括原材料、品牌产品和餐厅食品。
- EFSA Comprehensive European Food Consumption Database — 欧洲食品安全局提供的营养数据考虑了欧洲食品配方和区域成分。
- Food Standards Australia New Zealand (FSANZ) — 涵盖澳大利亚和新西兰市场特定的产品和成分。
- Health Canada Canadian Nutrient File — 针对加拿大常见食品的实验室分析数据。
- National Institute of Health and Nutrition (Japan) — 提供在西方数据库中代表性不足的日本食品和成分的数据。
我们并不是简单地导入这些数据库就算完成。我们在不同来源之间标准化数据,解决冲突(当同一食品在多个数据库中出现且数值略有不同时),并将所有内容映射到一个统一的模式,考虑到份量、准备方法和区域差异。
第二层:制造商验证的产品数据
对于品牌和包装产品,我们与食品制造商和零售商保持直接的数据通道。当公司更新产品配方时,我们会收到更新的营养信息——通常是在它出现在商店货架之前。
这一层覆盖了来自47个国家的超过120万种品牌产品。每个条目包括:
- 完整的营养成分标签数据(不仅仅是卡路里和宏观营养素)
- 成分列表及过敏原标记
- 多种单位的份量信息
- 区域配方变体
- 产品状态(活跃、停产、重新配方)
当我们检测到配方变化时,我们会更新条目并标记,以便定期记录该产品的用户能够看到准确的数据。我们不会删除旧条目——我们会将其归档并标记时间戳,以确保历史记录的准确性。
第三层:人工智能驱动的数据验证
这是我们的方法与行业标准最显著的不同之处。我们使用机器学习模型持续验证数据库中的每个条目,捕捉人类审查可能遗漏的错误。
我们的验证系统检查:
统计异常值。 如果某个食品条目的卡路里或宏观营养素值超出其食品类别的预期范围,它会被标记进行审核。比如,100克鸡胸肉如果显示400卡路里,立刻会被捕捉到。
宏观与卡路里的匹配。 卡路里可以通过宏观营养素计算得出(每克蛋白质4卡路里,每克碳水化合物4卡路里,每克脂肪9卡路里,每克酒精7卡路里)。如果条目中声明的卡路里与从其宏观营养素计算得出的总和不匹配,就说明有问题。我们的系统可以捕捉到小至5%的差异。
跨来源验证。 当同一食品出现在多个来源数据库中时,我们会比较数值。显著的差异会触发我们的营养数据团队进行人工审核。
时间一致性。 如果某个品牌产品的营养数据突然变化而没有相应的制造商更新,它会被标记。这可以捕捉到数据库导入引入的错误或产品与相似产品混淆的情况。
用户行为信号。 当成千上万的用户记录同一食品时,他们的份量和频率模式会形成行为特征。如果一个新条目导致异常的记录模式(例如,人们不断调整份量),这表明默认的份量可能是错误的。
第四层:人类专家审核
技术可以捕捉大多数错误,但有些需要人类判断。我们的营养数据团队包括注册营养师和食品科学家,负责:
- 被AI验证系统标记的条目
- 复杂的食品,如多成分的餐厅餐点
- 在标准数据库中没有出现的区域性食品
- 用户报告的数据问题(我们认真对待每一个报告)
- 我们的模型尚未训练的新食品类别
每个经过人类审核的条目都会标记审核者的备注、修正来源和信心评分。这创建了一个审计轨迹,帮助我们随着时间的推移改善自动化系统。
我们数据库背后的技术基础设施
构建准确的数据只是挑战的一半。将其可靠地提供给超过200万用户需要基础设施,而大多数人对此并不在意。
实时同步架构
当我们更新一个食品条目时,变化需要迅速传达到每一个记录该食品的用户。我们使用事件驱动架构,数据库更新在几分钟内传播到用户设备。这意味着如果我们在下午2点纠正了一个热门食品的错误,下午2点05分打开Nutrola的用户将看到更正后的数据。
多语言食品匹配
食品名称在不同语言和地区之间差异巨大。在英国,“courgette”在美国被称为“zucchini”。冰岛的“Skyr”在其他地方通常被归类为酸奶。我们的搜索系统使用多语言食品本体,将等效食品映射到18种语言,以便用户无论如何都能找到他们想要的东西。
份量智能
原始营养数据通常以每100克为单位提供,但没有人会以100克为单位思考。人们更习惯于“一个把手”、“一杯”、“一个中等苹果”或“一片”。我们维护一个全面的份量数据库,将常见的份量描述映射到每种食品类别的克重。
这个系统也为Nutrola的AI照片识别提供支持。当你拍摄你的餐点时,我们的模型不仅估计你盘子上的食物是什么,还估算出有多少——并参考相同的经过验证的份量数据来计算营养成分。
我们如何处理最棘手的案例
有些食品确实很难提供准确的营养数据。以下是我们如何处理最具挑战性的类别。
餐厅和快餐餐点
连锁餐厅通常会发布营养信息,但独立餐厅则不会。对于连锁餐厅,我们保持直接关系以获取营养数据,并在菜单更改时更新。对于独立餐厅,我们采用基于食谱的估算方法:我们的系统将一道菜分解为其组成成分,根据标准餐厅准备方法估算数量,并计算总营养概况。
这并不完美,但比起其他选择(猜测或使用通用的“餐厅鸡肉三明治”条目),准确性显著提高。Nutrola的AI辅导也帮助用户理解不确定性:如果我们对餐厅餐点的营养数据信心不足,我们会告诉你。
自制和基于食谱的食品
当你在家做饭时,你的餐点营养概况取决于你的具体成分和数量。Nutrola通过我们的食谱构建器来处理这一点,允许你输入成分,并使用我们的经过验证的成分数据计算每份的营养分解。输出的准确性仅取决于输入的准确性,这就是为什么我们也支持基于照片的自制餐点记录。
国际和特色食品
许多营养应用对美国食品的偏见很重。如果你吃日本、印度、埃塞俄比亚或任何其他在西方数据库中代表性不足的美食,你通常会面临不完整或不准确的数据。我们在扩展国际食品覆盖方面投入了大量精力,与区域营养数据库、本地食品科学家和社区反馈合作,填补这些空白。
我们的数据库目前包括来自120多种美食的经过验证的条目,尤其在亚洲、拉丁美洲、中东和非洲食品类别中有较深的覆盖。
测量准确性:我们如何验证其有效性
关于准确性的声明如果没有测量是毫无意义的。以下是我们如何验证数据库质量。
内部基准测试
每个季度,我们的团队从数据库中随机选择500个条目,并与最新的实验室分析或政府数据库值进行比较。我们跟踪卡路里、蛋白质、碳水化合物、脂肪和纤维的平均绝对误差。我们当前的基准是:97.4%的准确性,针对经过政府或制造商验证的来源。
用户准确性研究
我们与大学营养项目合作,将Nutrola记录的饮食日记与称重食品记录(营养研究的黄金标准)进行比较。这些研究持续显示,Nutrola用户的实际摄入量与真实摄入量的对齐程度高于其他流行追踪应用的用户。
错误率跟踪
我们跟踪每月的数据修正数量,占总数据库条目的百分比。我们当前的错误率为0.03%——这意味着在任何给定的月份,99.97%的条目无需修正。作为对比,众包数据库的每月错误发现率通常为2-5%。
| 指标 | Nutrola | 行业平均(众包) |
|---|---|---|
| 与实验室分析的准确性 | 97.4% | 70-85% |
| 每月错误率 | 0.03% | 2-5% |
| 完整微量营养素数据的条目 | 89% | 30-45% |
| 更新重新配方产品的平均时间 | 48小时 | 6-18个月 |
| 重复条目率 | < 0.1% | 15-30% |
这对你意味着什么
如果你读到这里,可能会想:“我只想记录我的食物。为什么我需要关心数据库架构?”
这就是为什么它很重要:你基于追踪数据做出的每一个营养决策,只有在数据本身准确的情况下才有意义。
如果你的应用显示你今天摄入了1800卡路里,但实际数字是2100,你的300卡路里赤字就不存在了。如果你的应用显示你达到了150克蛋白质,但实际数字是125克,你的增肌计划就会受到影响。如果你的应用追踪你的钠摄入量为2000毫克,但实际上是2800毫克,你的血压管理策略就存在盲点。
准确的数据不是可有可无的。它是一个有效营养计划与一个看似有效但实际上无效的计划之间的区别。
在Nutrola,这是我们对自己的标准。不是因为这很简单——这确实是营养技术中最困难的技术挑战之一——而是因为我们的用户基于我们展示的数字做出真实的健康决策。这些数字必须是正确的。
接下来会发生什么
我们持续投资于我们的数据库基础设施。我们正在努力的一些内容包括:
- 扩展实验室合作,直接分析在现有数据库中代表性不足的食品
- 改进我们的AI验证模型,利用我们不断增长的用户基础的新训练数据
- 建立更深入的制造商集成,以更快捕捉产品变化
- 开发区域性食品数据库,以满足现有营养数据有限的市场
- 增强我们的食谱分析引擎,更好地估算复杂多成分餐点的营养
目标始终没有改变:为每位Nutrola用户提供他们所吃食物的最准确图景,以便他们能够做出明智的健康决策。
常见问题
Nutrola的数据库中有多少种食品?
Nutrola的数据库包含超过300万条经过验证的食品条目,包括原材料、来自47个国家的品牌产品、主要连锁餐厅的餐点和常见的自制菜肴。每个条目都链接到经过验证的来源,并通过我们的AI质量控制系统持续验证。
Nutrola的数据库准确性与其他应用相比如何?
独立基准测试显示,Nutrola在与实验室分析的比较中达到了97.4%的准确性,而使用众包数据库的应用行业平均为70-85%。关键区别在于我们的多层验证过程,它在错误到达用户之前捕捉到错误,而不是依赖用户报告。
当食品产品更改其配方或配方时会发生什么?
Nutrola与食品制造商保持直接的数据通道,并监控产品数据库以获取变化。当检测到重新配方时,我们通常在48小时内更新条目。旧的营养数据会被归档,以确保你的历史食品记录在你食用原始配方时保持准确。
我可以报告数据库中的错误吗?
可以。Nutrola中的每个食品条目都包括“报告问题”选项。报告直接发送到我们的营养数据团队进行审核,通常在24小时内进行修正。我们认真对待每一个报告,因为用户反馈是我们最宝贵的质量信号之一。
Nutrola是否涵盖国际和区域性食品?
Nutrola包括来自120多种美食的经过验证的营养数据。我们从区域政府营养数据库、本地食品科学机构以及在某些情况下直接的实验室分析中获取数据。如果你经常食用某种特定美食的食品,认为其代表性不足,我们鼓励你与我们联系——扩展我们的覆盖范围是我们持续的优先事项。
为什么不同的卡路里追踪应用对同一食品显示不同的数字?
不同的应用使用不同的数据来源。依赖众包数据的应用可能会对同一食品有多个条目,准确性各异。Nutrola使用经过验证的来源(政府数据库、制造商数据、实验室分析),并通过AI和人类审核验证每个条目,这就是为什么我们的数字一致且可靠。