遇见数据集

food-safety

收藏
github2026-08-03 更新2026-08-04 收录
官方服务:

资源简介:

餐厅菜单披露信息的开放数据集,涵盖14种欧盟过敏原组和Menuella声明,包含代码、图标和6种语言的标签,由稳定的语义键标识。

An open dataset for restaurant menu disclosure information, encompassing 14 EU allergen groups and Menuella declarations, with codes, icons, and six-language labels identified by stable semantic keys.

创建时间:
2026-08-02
原始信息汇总

数据集详情:@menuella/food-safety

数据集概述

这是一个开放式的餐厅菜单披露(Restaurant Menu Disclosures) 数据集,涵盖欧盟14类过敏原组(EU allergen groups)和 Menuella 标准声明(Menuella Declarations),提供代码、图标及6种语言的标签,并以稳定的语义键(semantic keys)作为唯一标识。其核心理念是“存储语义键,渲染代码,绝不要反过来”。

核心标准

数据集的词汇表由五个部分组成:

  • Menuella 过敏原键:28个语义键,覆盖欧盟14个过敏原组
  • Menuella 声明:22个键,涵盖添加剂、饮料声明、警告和产品指示
  • Menuella 代码:用于菜单图例的短代码,例如 WHEAT 对应 A6
  • Menuella 图标:15个实心图形,每组一个
  • Menuella 翻译:6种语言的本地化标签

数据结构

模块 结构文件 条目数量 来源
过敏原(Allergens) data/allergens.json 28个键 / 14个组 EU 法规 1169/2011 附件 II(LMIV)
Menuella 声明 data/declarations.json 22个键 Menuella 标准

过敏原:28个键而非14组

  • 法律规定的14组中,“谷物”(CEREALS)和“坚果”(TREE_NUTS)不能仅以组名声明,需具体列出成员:
    • CEREALS 拆分为 8 个具体谷物:黑麦、大麦、二粒小麦、单粒小麦、斯佩耳特小麦、小麦、燕麦、卡姆小麦
    • TREE_NUTS 拆分为 8 种具体坚果:夏威夷果、杏仁、巴西坚果、碧根果、开心果、核桃、腰果、榛子
    • 其余 12 组各对应 1 个键:甲壳类、蛋类、鱼类、花生、大豆、牛奶、芹菜、芥末、芝麻、亚硫酸盐、羽扇豆、软体动物
  • 数据结构中 groupisMember 字段维护分组关系,declaration 为组级声明语句,每组渲染一次,成员列于其下。

Menuella 声明

22个声明键覆盖添加剂声明、饮料声明、强制警告及其他产品特定指示,通过 category 字段区分为 ADDITIVEBEVERAGEWARNINGPRODUCT 四类。该词汇受德国餐厅菜单实践的启发并进行泛化,其设计目标是可移植性和一致性,不代表任何国家的官方法律术语。

语言支持

支持6种语言,每种语言下28个过敏原和22个声明均完整包含名称、描述及(过敏原的)组级声明语句:

代码 语言
de 德语
en 英语
es 西班牙语
fr 法语
it 意大利语
tr 土耳其语

设计原则

  • 语义键而非代码:所有条目使用稳定语义键(如 WHEATSESAMENITRITE_CURING_SALT)标识,绝不使用数字或字母作为身份。菜单上的短代码(如 A6)在不同印刷商或地区间并不标准化,因此仅作为渲染约定,与数据身份分离。
  • 多语言中立:数据集不包含特定国家的法律术语,同一组键可用于维也纳、里昂或都柏林的菜单,代码中无需按国家分支。
  • 版本稳定性:键和 canonicalKey 值被保证永不重命名或重用,是稳定标识符。

明确排除的内容

  • 代码作为标识符(代码仅用于渲染)
  • 原料到键的映射关系(该映射属于策展范畴,需自行构建或使用 Menuella 服务)
  • 偏好、生活方式和口味词汇(如素食、清真、辣度)
  • 营养价值和原产地信息
  • 工业/包装标签规则
  • 制造商特定标签
  • 运行时代码、解析器或服务器

安装与使用

数据集以多语言包形式发布,支持 npm、NuGet、Dart、Python、PHP、Rust、Ruby、Go、Swift、Gradle 等生态。一个数据集、一个版本、从一个标签发布。

版本管理

采用保守的语义化版本控制:

  • 主版本(MAJOR):破坏性架构变更(尽可能避免)
  • 次版本(MINOR):新语言、新模块、新条目
  • 补丁版本(PATCH):翻译修正、错别字修正、描述澄清

生产环境建议锁定主版本。

许可

采用 MIT 许可证,允许使用、分叉并嵌入商业产品。若将文件嵌入自有仓库,需保留许可证副本或注明出处;通过 npm 安装则无需额外操作。

搜集汇总
数据集介绍
food-safety 数据集图片
构建方式
该数据集基于欧盟法规(EU) No. 1169/2011附件II(LMIV)构建,涵盖14个欧盟过敏原组别,但针对法规中不得单独声明为组别的谷物和树坚果类进行了细化,将其拆分为具体成员,形成28个语义键。同时,数据集还包含由Menuella标准定义的22个声明键,覆盖添加剂、饮品声明、警告及产品指示等类别。每个条目均以稳定的语义键(如WHEAT、SESAME)作为唯一标识,并附带多种语言的标签、图标和编码,确保跨区域的一致性和可移植性。
特点
该数据集的核心特点在于其“键非编码”的设计哲学,即使用稳定语义键进行数据存储,而将用于菜单印刷的代码(如A6)作为独立的渲染约定。这一设计避免了因印刷商或地区差异导致的编码歧义,确保数据的长久可用性。此外,数据集支持6种语言(德、英、西、法、意、土),且每种语言下所有条目均完整翻译。其声明词汇表虽受德国餐厅菜单实践启发,但经过泛化设计,不局限于任何国家的法律术语,具有高度的可移植性和通用性。
使用方法
该数据集以多语言包形式发布,支持npm、NuGet、Dart、Python等多种包管理器安装。使用时,开发者需先解析应用当前的语言环境,然后调用相应函数(如getDisclosures)获取指定语言的过敏原和声明数据。数据以JSON格式提供,可通过导入codes.json等文件获取代码映射。该数据集不负责从配料映射到过敏原,此功能需自行实现或使用配套工具。版本控制遵循保守的SemVer规范,确保键的稳定性,便于长期集成。
背景与挑战
背景概述
food-safety数据集由Menuella团队于近年创建,旨在为餐厅菜单提供标准化的过敏原和食品添加剂披露词汇。该数据集基于欧盟法规1169/2011(LMIV)附录II,将14个欧盟过敏原组细化为28个稳定的语义键,并扩展了22个Menuella声明键,覆盖添加剂、饮料声明、警告和产品指示。其核心理念是“存储键,渲染代码”,即使用稳定语义键作为唯一标识,而将代码(如A6、11)视为可变的渲染约定,从而避免因地区或印刷商不同导致的标识混乱。数据集支持6种语言,通过npm、NuGet、PyPI等多种包管理器分发,已被广泛应用于餐饮软件、AI代理和Google商业资料等场景,推动了菜单披露信息的标准化和互操作性。
当前挑战
food-safety数据集面临的挑战包括:其一,欧盟法规虽列出14个过敏原组,但要求具体指明谷物和坚果种类,故数据集需扩展为28个键,增加了数据结构的复杂度;其二,各成员国对添加剂和食品声明的编码不统一,如数字代码在不同菜单中含义各异,该数据集无法一一映射所有国家法规,只能提供通用词汇,用户需自行对接本地法律;其三,构建过程中需确保多语言翻译的准确性和全面性,目前仅覆盖6种语言,尚缺更多语种;其四,数据集明确排除成分到键的映射、营养信息和工业包装标签等,这些遗漏虽为设计选择,但可能限制其在某些场景下的应用;其五,维护法规合规性是一大挑战,所有涉及过敏原和法律术语的条目必须附带引证,且需随法规更新而保持同步。
常用场景
经典使用场景
该数据集的核心应用场景在于为餐厅菜单的过敏原披露提供一套标准化的语义标识体系。通过将欧盟法规规定的14类过敏原群组细化为28个稳定的语义键,并辅以22个Menuella声明键,数据集实现了跨语言、跨区域的统一表达。开发者可借助其多语言包(涵盖德、英、西、法、意、土六种语言)及配套的图标与代码映射,在餐饮管理软件、外卖平台或点餐系统中便捷地呈现合规的过敏原信息,从而确保消费者在维也纳、里昂或都柏林等地获得一致且清晰的菜单披露体验。
实际应用
在实际产业应用中,该数据集已成为多语言菜单合规披露的关键基础设施。其多平台分发包(npm、NuGet、PyPI等)使各类餐饮软件能够以极低的集成成本获取一致的过敏原与添加剂词汇表。典型场景包括:餐厅管理系统自动生成印刷菜单图例、在线订餐平台动态展示过敏原标签,以及食品科技公司构建基于AI的菜品过敏原识别功能。数据集的设计原则——仅存储语义键,渲染时再映射为具体代码——有效推动了餐饮行业数据管理向高持久性与强可移植性的方向演进。
衍生相关工作
该数据集的价值已衍生了若干重要工作。其设计哲学启发了开源社区对‘语义键优先’数据标准的探讨,并催生了配套的辅助工具与生态,如计划中的`food-safety-js`(提供格式化与校验功能)及`food-safety-detect`(基于AI的自动过敏原检测)。此外,数据集对EU法规的精确映射与文档化(`docs/legal-references.md`)已成为其他法规类数据集的参考范本,而其在多语言翻译与验证流程上的实践,也为跨语言数据的质量保障树立了行业标杆。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务