IvanTatarkin/ru-product-taxonomy
收藏资源简介:
Ru-ProductTaxonomy是一个用于单标签分类的文本数据集,基于Open Food Facts和Open Products Facts的公开产品卡片数据构建。数据集包含564,643个标注样本,分为31个产品类别,总大小约71 MB。每个样本包括id、text(产品名称、品牌、数量和类别标签)、label(如food.dairy.yogurt)、label_name_ru(俄语类别名称)、source(数据来源:off或opf)、lang_hint(语言提示:ru、en或unknown)和categories(标准化类别标签)。数据集经过过滤,排除了个人身份信息、酒精和成人内容,并采用自定义分类法进行标注。数据按90%/5%/5%的比例分为训练集、验证集和测试集,确保无重复数据泄露。该数据集旨在支持产品分类任务,评估指标为macro-F1,并提供基线模型如TF-IDF+逻辑回归或多语言Transformer。
--- 语言: - 俄语(ru) - 英语(en) 许可协议:其他(other) 任务类别: - 文本分类(text-classification) 标签: - 产品分类(product-classification) - 分类体系(taxonomy) - 开放食品数据集(Open Food Facts) - 开放产品数据集(Open Products Facts) 样本量区间: - 10万 < 样本量 < 100万 数据集信息: 特征字段: - 字段名:id,数据类型:字符串(string) - 字段名:text,数据类型:字符串(string) - 字段名:label,数据类型:字符串(string) - 字段名:label_name_ru,数据类型:字符串(string) - 字段名:source,数据类型:字符串(string) - 字段名:lang_hint,数据类型:字符串(string) - 字段名:categories,数据类型:字符串(string) 数据集划分: - 划分集名称:train(训练集),字节数:33500000,样本数:507897 - 划分集名称:validation(验证集),字节数:2100000,样本数:28296 - 划分集名称:test(测试集),字节数:2100000,样本数:28450 下载大小:71000000字节 数据集总大小:37700000字节 --- **564,643条标注样本 · 31个类别 · 归档文件约71 MB(格式为parquet + jsonl.gz)。 # Ru-ProductTaxonomy(俄语产品分类体系数据集) 本数据集为标注型商品卡片文本数据集,用于**单标签分类(single-label classification)**竞赛任务。 ## 任务说明 根据`text`字段预测对应`label`,即从31个层级化产品分类体系中选取的类别。 **评估指标:宏平均F1值(macro-F1)**。 **基准模型:词频-逆文档频率(TF-IDF) + 逻辑回归(LogisticRegression)** 或小型Transformer模型(`bert-base-multilingual-cased`)。 ## 字段说明 | 字段名 | 数据类型 | 字段说明 | |-------|----------|----------| | `id` | 字符串(string) | 基于`source`与`fingerprint`计算得到的SHA1哈希值 | | `text` | 字符串(string) | 商品名称、品牌、规格、分类标签 | | `label` | 字符串(string) | 产品类别标签,例如`food.dairy.yogurt` | | `label_name_ru` | 字符串(string) | 类别对应的人类可读俄语名称 | | `source` | 字符串(string) | 数据来源,取值为`off`或`opf` | | `lang_hint` | 字符串(string) | 语言提示,取值为`ru`(俄语)、`en`(英语)或`unknown`(未知),基于启发式规则生成 | | `categories` | 字符串(string) | 标准化后的`categories_tags`字段 | ## 数据集划分 - 训练集(train):占比90%,样本量507,897 - 验证集(validation):占比5%,样本量28,296 - 测试集(test):占比5%,样本量28,450 数据集划分基于`fingerprint`进行确定性划分,避免不同划分集合间出现样本重复泄露问题。 ## 数据来源与许可协议 本数据集的数据通过程序从公开网站采集(并非直接复用已有的第三方完整数据集): | 数据来源 | 数据获取方式 | 许可协议 | |--------|------------|--------| | [开放食品数据集(Open Food Facts)](https://world.openfoodfacts.org/) | 从官网官方导出文件中解析商品卡片 | ODbL + DbCL | | [开放产品数据集(Open Products Facts)](https://world.openproductsfacts.org/) | 同上 | ODbL + DbCL | 后续流程为自建分类体系、数据过滤、标注与数据集划分。本数据集**未包含**以下内容:图像、个人可识别信息(Personally Identifiable Information, PII)(`creator`、`url`、地址)、酒类及18禁内容。 ## 数据集独特性 本数据集并非开放食品/产品数据集的原始导出文件,且与现有Hugging Face(HF)、Kaggle平台上基于同类分类体系的公开数据集均不相同。 | 对比维度 | 开放食品/产品数据集原始数据 | Ru-ProductTaxonomy数据集 | |--------|--------------------------|--------------------------| | 字段数量 | 约200列 | 7个目标字段 | | 标签形式 | `categories_tags`(多标签) | 单个`label`,选自自建的31个类别 | | 样本规模 | 百万级样本量 | 经过滤后共564,000条样本 | | 敏感信息/酒类/图像 | 原始数据中存在 | 已全部剔除 | 本数据集的构建脚本位于代码仓库:`pipeline/taxonomy/v1.json`、`pipeline/build_dataset.py`(包含标签映射、PII正则过滤、单类别样本上限35,000条、基于`fingerprint`的去重、90/5/5的数据集划分规则)。 ## 数据集构建命令 bash python pipeline/build_dataset.py --off-csv-gz data_raw/off_food.csv.gz --opf-csv-gz data_raw/opf_all.csv.gz --out-dir data_processed ## 使用示例 python import pandas as pd df = pd.read_parquet("data/train.parquet") print(df.iloc[0][["text", "label", "label_name_ru"]])



