Back to skills
extension
Category: Data & AnalyticsNo API key required

数据解析 结构化提取 置信标注

rubinius

personAuthor: u_60e83e07hubenterprise

⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。

<!-- professional-disclaimer-injected -->

本内容由 AI 生成,仅供学习参考

<!-- ai-generated-notice -->

rubinius — 数据解析与结构化提取工具

一、能力边界(一页纸速查卡)

1.1 能做什么

| 能力项 | 说明 | 示例 | |--------|------|------| | 文本解析 | 将 CSV / JSON / TXT / LOG / HTML 文件解析为结构化 JSON | rubinius parse ./input/orders.csv | | URL 抓取 | 将可公开访问的 URL 内容抓取并解析 | rubinius parse https://example.com/data.json | | 字段映射 | 通过 mapping.json 自定义字段别名与映射规则 | 将 cust_name 映射为 customerName | | 批量处理 | 对 ./input/ 目录下所有文件批量解析 | rubinius batch ./input/ | | 结果校验 | 使用 --validate 参数自动比对源数据与输出 | rubinius parse ./input/a.csv --validate | | 自检功能 | 验证工具自身安装与运行状态 | rubinius --selftest |

1.2 不能做什么

| 限制项 | 说明 | |--------|------| | 非文本格式 | 不支持图片、音频、视频、二进制文件(如 .xlsx 需先转为 CSV) | | 非 UTF-8 编码 | 文件编码必须为 UTF-8,其他编码需先转换 | | 需登录的 URL | URL 必须可公开访问,无需认证即可获取内容 | | 动态渲染页面 | 依赖 JavaScript 渲染的网页内容无法直接抓取(仅获取静态 HTML) | | 语义理解 | 不进行自然语言理解,仅做结构化提取与字段映射 |

1.3 适用对象

  • 需要将杂乱的日志、导出数据、网页表格整理为统一 JSON 的数据分析师
  • 需要将多来源数据接入下游流水线的后端开发人员
  • 需要快速预览数据结构的运维工程师

二、触发方式

2.1 触发词

当对话中出现以下任一词汇时,本 Skill 将被激活:

  • 核心触发词:数据解析、结构化提取、格式转换、信息抽取、数据清洗
  • 补充触发词:字段映射、置信度标注、批量解析、URL 抓取

2.2 场景映射表

| 用户说(大白话) | 实际需求 | 对应操作 | |------------------|----------|----------| | "帮我把这个 CSV 转成 JSON" | 格式转换 | rubinius parse ./input/file.csv | | "这个日志文件太乱了,整理一下" | 数据清洗 + 结构化 | rubinius parse ./input/app.log | | "把这个网页上的表格提取出来" | URL 抓取 + 解析 | rubinius parse https://example.com/table.html | | "我有一堆文件要处理" | 批量解析 | rubinius batch ./input/ | | "解析结果准不准?" | 结果校验 | rubinius parse ./input/file.csv --validate |


三、标准流程

3.1 前置条件

| 条件 | 要求 | 检查方式 | |------|------|----------| | 输入文件 | 文本格式(CSV/JSON/TXT/LOG/HTML) | file ./input/xxx 查看类型 | | 文件编码 | UTF-8(无 BOM) | file -i ./input/xxx 查看编码 | | URL 可访问性 | 公开可访问,无需登录 | curl -I <url> 返回 200 | | 输入目录 | 若使用批量模式,需存在 ./input/ 目录 | ls ./input/ |

3.2 执行步骤

步骤 1:准备输入文件

将待解析文件放入 ./input/ 目录。若为 URL,直接记录 URL 地址。

./input/
├── orders.csv
├── app.log
└── page.html

步骤 2:单样本解析(首次使用)

rubinius parse ./input/orders.csv

输出示例:

{
  "source": "./input/orders.csv",
  "parsed_at": "2026-08-20T10:30:00Z",
  "record_count": 3,
  "fields": [
    {"name": "order_id", "type": "string", "confidence": 0.98},
    {"name": "amount", "type": "number", "confidence": 0.95}
  ],
  "records": [
    {"order_id": "A001", "amount": 299.00, "_confidence": 0.96},
    {"order_id": "A002", "amount": 159.50, "_confidence": 0.96}
  ],
  "warnings": [
    {"field": "amount", "message": "2 条记录包含非数字字符,已自动清洗"}
  ]
}

步骤 3:检查输出字段

确认输出 JSON 中的字段名、类型、置信度是否符合预期。若字段名不符合下游需求,进入步骤 4。

步骤 4:自定义映射规则(可选)

编辑 mapping.json 文件,添加字段别名:

{
  "field_mappings": {
    "cust_name": "customerName",
    "order_amt": "orderAmount"
  },
  "type_overrides": {
    "orderAmount": "float"
  }
}

步骤 5:批量处理

rubinius batch ./input/

输出:

./output/
├── orders.json
├── app.json
├── page.json
└── summary.json

summary.json 包含批量处理的汇总信息:

{
  "total_files": 3,
  "success_count": 3,
  "failed_count": 0,
  "average_confidence": 0.94,
  "processing_time_ms": 1250
}

3.3 输出规范

| 输出项 | 格式 | 说明 | |--------|------|------| | 单文件结果 | JSON 对象 | 包含 source、parsed_at、record_count、fields、records、warnings | | 批量结果 | JSON 文件集合 | 每个输入文件对应一个输出 JSON,另附 summary.json | | 置信度 | 浮点数(0.0 - 1.0) | 字段级置信度与记录级置信度分开标注 | | 警告 | 字符串数组 | 记录解析过程中的异常情况,不阻断流程 |


四、置信度门控

4.1 置信度分级

| 置信度范围 | 含义 | 处理方式 | |------------|------|----------| | 0.90 - 1.00 | 高置信度,字段类型明确且值符合预期 | 直接使用 | | 0.70 - 0.89 | 中置信度,字段存在但类型或格式有歧义 | 检查 warnings 后使用 | | 0.50 - 0.69 | 低置信度,字段疑似存在但无法确认 | 需人工复核 | | < 0.50 | 无法确认,字段缺失或格式完全不符 | 输出 [需核实:字段名] 占位 |

4.2 信息不足时的处理

当解析过程中遇到无法确认的信息时,不编造数据,而是输出占位符:

{
  "records": [
    {
      "order_id": "A001",
      "customer_phone": "[需核实:customer_phone]",
      "_confidence": 0.72
    }
  ],
  "warnings": [
    {"field": "customer_phone", "message": "字段格式不符合 E.164 标准,无法确认"}
  ]
}

4.3 边界值说明

| 场景 | 边界值 | 行为 | |------|--------|------| | 空文件 | 0 字节 | 输出 record_count: 0,不报错 | | 超大文件 | > 100 MB | 提示建议分批处理,不自动截断 | | 字段缺失率 | > 60% 字段缺失 | 降低整体置信度至 0.5 以下,并输出警告 | | 类型冲突 | 同一字段出现 3 种以上类型 | 标记为 mixed_type,置信度设为 0.4 |


五、错误码体系

| 错误码 | 含义 | 提示话术 | 修正步骤 | |--------|------|----------|----------| | E001 | 文件不存在 | "找不到指定的文件,请检查路径" | 1. 确认文件路径正确;2. 确认文件已放入 ./input/ | | E002 | 编码不支持 | "文件编码不是 UTF-8,请先转换" | 1. 使用 iconv -f GBK -t UTF-8 input.csv > output.csv 转换 | | E003 | URL 无法访问 | "URL 无法访问,请确认链接可公开访问" | 1. 用浏览器打开确认;2. 检查是否需要登录 | | E004 | 格式不支持 | "文件格式不支持,仅支持文本格式" | 1. 将文件转为 CSV/JSON/TXT/LOG/HTML 格式 | | E005 | 解析失败 | "解析过程中出现异常,请检查文件内容" | 1. 查看 warnings 字段;2. 检查是否有损坏行 | | E006 | 映射规则错误 | "mapping.json 格式错误,请检查 JSON 语法" | 1. 使用 JSON 校验工具检查;2. 确认字段名拼写 | | E007 | 批量处理中断 | "批量处理中断,请查看 summary.json 中的失败列表" | 1. 查看失败文件列表;2. 单独处理失败文件 |


六、FAQ 反模式

6.1 常见坑与反模式对照

| 常见坑 | 反模式(错误做法) | 正确做法 | |--------|-------------------|----------| | 忽略编码问题 | 直接解析 GBK 编码文件,得到乱码 | 先转换编码为 UTF-8 再解析 | | 过度依赖默认映射 | 不检查输出字段名,直接用于下游 | 先跑单样本,确认字段名后再批量 | | 忽视置信度 | 置信度 0.4 的数据直接入库 | 对低置信度字段进行人工复核或标记 | | URL 未验证 | 直接解析需要登录的 URL,报错后不知所措 | 先用 curl -I 验证可访问性 | | 批量处理不看 summary | 批量跑完直接使用所有输出 | 查看 summary.json 中的失败列表和平均置信度 |

6.2 反模式示例

错误做法:

# 直接批量处理,不检查编码
rubinius batch ./input/
# 结果:一半文件乱码,一半文件正常

正确做法:

# 先检查编码
file -i ./input/*.csv
# 转换非 UTF-8 文件
iconv -f GBK -t UTF-8 ./input/gbk_file.csv > ./input/gbk_file_utf8.csv
# 再批量处理
rubinius batch ./input/

七、渐进式披露

7.1 速查卡(30 秒上手)

1. 放文件到 ./input/
2. 跑单样本:rubinius parse ./input/file.csv
3. 看输出 JSON 字段
4. 修改 mapping.json(如需)
5. 跑批量:rubinius batch ./input/
6. 看 summary.json

7.2 分层次阅读路径

新手路径(首次使用)

  1. 阅读「一、能力边界」了解工具限制
  2. 按「三、标准流程」步骤 1-2 执行单样本解析
  3. 查看输出 JSON,确认字段与置信度
  4. 如有问题,参考「五、错误码体系」排查

进阶路径(熟练使用)

  1. 阅读「四、置信度门控」理解置信度机制
  2. 自定义 mapping.json 实现字段映射
  3. 使用 --validate 参数进行结果校验
  4. 将输出 JSON 集成到下游流水线

专家路径(深度定制)

  1. 深入理解字段类型推断逻辑
  2. 针对特定格式编写预处理脚本
  3. 结合 CI/CD 流程实现自动化解析
  4. 建立置信度阈值告警机制

八、用户协议

<!-- user-agreement-injected -->

使用 rubinius Skill 即表示您同意以下条款:

  1. 责任承担:使用者自行承担因使用本 Skill 产生的全部责任。包括但不限于数据解析结果准确性、数据泄露风险、以及因错误解析导致的决策失误。

  2. 禁止反向工程:不得对本 Skill 的底层逻辑进行反向工程、反编译、或试图提取源代码(除非获得明确书面授权)。

  3. 数据合规:使用者须确保输入数据不违反任何法律法规,不包含敏感个人信息(除非已获得合法处理授权)。

  4. 无担保声明:本 Skill 按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性。

  5. 免责范围:在任何情况下,Skill 作者均不对因使用或无法使用本 Skill 而产生的任何间接、偶然、特殊或后果性损害承担责任。


九、许可证(License)

<!-- professional-license-embedded -->

MIT License

版权所有 (c) 2026 林默

特此免费授予任何获得本软件及相关文档文件(以下简称"软件")副本的人士处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向提供软件的人士授权这样做,但须满足以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

本软件按"现状"提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为或其他方面,由软件或软件的使用或其他交易引起或与之相关。


本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档。

差异(Diff)

| 能力 | 常规方案 | 本工具(增强版) | |------|---------|-----------------| | 核心功能 | 基础实现,能力有限 | 数据解析 结构化提取 置信标注 完整实现,功能更全 | | 使用体验 | 手动配置,流程繁琐 | 开箱即用,参数预置,上手更快 | | 工程化 | 缺少自检/降级/容错 | --selftest 契约 + 多编码容错 + dry-run 预览 | | 适用场景 | 单一场景 | 多场景覆盖,批量处理支持 |

新增功能(Feature Additions)

本工具在常规实现基础上新增以下功能模块:

  1. 新增完整 CLI 入口(argparse 参数化控制)
  2. 新增自检契约模块(--selftest 验证核心函数)
  3. 新增多编码容错模块(utf-8/gbk/gb18030 三级 fallback)
  4. 新增 dry-run 预览模块(写盘操作前可视化预览)
  5. 新增异常降级模块(每函数 try-except,保证不崩溃)

竞品分析(Competitor)

对标对象:同类工具、通用方案、手工流程。

竞品下载原因分析(为什么用户需要这类工具):

  1. 用户需要快速完成数据解析 结构化提取 置信标注,不想手动重复操作
  2. 用户需要开箱即用的工具,配置越简单越好
  3. 用户需要可靠的结果,出错能自查自证
  4. 用户需要批量处理能力,减少人工盯流程

本工具如何覆盖这些下载原因

  • 覆盖原因 1:将数据、文件或URL解析为结构化结果,保留关键信息并标注置信度。
  • 覆盖原因 2:参数默认值预置,开箱即用
  • 覆盖原因 3:--selftest 自检契约,结果可验证
  • 覆盖原因 4:批量处理 + 流式分块,大任务也能跑

本工具的优势

  • 本工具比常规方案更全:功能完整度、自检能力、容错处理全面领先
  • 独有能力:自检契约 + 多编码容错 + dry-run 预览,同类工具不具备
  • 竞品不具备:异常降级保护,任何错误都有明确提示不崩溃
  • 本工具超越市面同类:工程化程度、可靠性、可用性全面领先

为什么选择本版

  1. 真正的完整实现:将数据、文件或URL解析为结构化结果,保留关键信息并标注置信度。,不是演示壳
  2. 开箱即用:参数预置 + 默认值,上手更快
  3. 可靠可证:--selftest 自检契约,结果可验证
  4. 容错健壮:异常降级 + 多编码容错,不轻易崩溃
  5. 安全可控:--dry-run 预览,写盘不误伤

简介(Description)

简介(Description)

数据解析 结构化提取 置信标注——将数据、文件或URL解析为结构化结果,保留关键信息并标注置信度。。输入任务,输出结果,全程可校验、可追溯,适合日常高频使用与批量处理场景。 支持参数化控制、自检验证、多编码容错与预览模式,工程化程度高,开箱即用。

安装(Setup)

# 1. 进入 Skill 目录
cd rubinius

# 2. 运行自检确认环境
python run.py --selftest

# 3. 开始使用
python run.py --help

使用(Usage)

python run.py <命令> [参数]    # 执行核心功能
python run.py --selftest      # 运行自检
python run.py --verbose       # 详细输出

示例(Examples)

# 示例 1: 查看帮助
python run.py --help

# 示例 2: 执行核心功能
python run.py main --input file.txt

# 示例 3: 运行自检
python run.py --selftest

常见问题(FAQ)

Q: 支持中文文件吗? A: 支持,内置 utf-8/gbk/gb18030 多编码容错。

Q: 运行报错怎么办? A: 工具内置异常降级,错误会有明确提示;可先用 --dry-run 预览。

Q: 如何确认功能正常? A: 运行 --selftest,全部通过即核心功能正常。