Narayanan-Viswesh/IntelliDQS

GitHub: Narayanan-Viswesh/IntelliDQS

一个企业级智能数据质量评估平台,通过语义检测、机器学习、规则验证和行为分析融合生成可解释的数据质量得分。

Stars: 0 | Forks: 0

# IntelliDQS v2 ### 企业级数据质量评估平台 ## 概述 IntelliDQS (Intelligent Data Quality Scoring System) 是一个企业级的数据质量评估平台,旨在通过语义理解、机器学习、基于规则的验证、行为分析和可解释的证据融合来评估结构化数据集的质量。 与仅依赖预定义规则和统计分析的传统数据分析工具不同,IntelliDQS 首先识别**每一列代表什么**,然后动态选择最合适的验证策略,最终生成可解释的数据质量得分 (DQS)。 该平台专为银行、保险、医疗保健、金融、零售、ERP 系统和数据仓库等企业环境而设计。 # 问题陈述 现代组织严重依赖数据驱动的决策。然而,劣质数据会导致: - 错误的业务决策 - 法规合规性失败 - 糟糕的客户体验 - AI/ML 模型性能退化 - 运营效率低下 - 补救成本增加 传统的数据质量工具主要使用静态验证规则和通用的统计信息。这些方法: - 无法理解语义含义。 - 无法验证企业特定的标识符。 - 提供有限的可解释性。 - 不结合多种证据来源。 - 生成的通用质量报告业务价值有限。 IntelliDQS 通过将语义智能与多种验证策略相结合,生成可靠且可解释的数据质量得分,从而解决了这些挑战。 # 目标 IntelliDQS 的主要目标是: - 自动检测列语义。 - 应用最合适的验证策略。 - 支持多种验证方法。 - 生成可解释的数据质量得分。 - 在列级别和行级别识别数据质量问题。 - 生成可操作的修复建议。 - 扩展到企业级结构化数据集。 # 高层架构 ``` User │ ▼ Streamlit Dashboard │ ▼ Dataset Pipeline │ ▼ Dataset Quality Engine │ ┌────────────┴────────────┐ ▼ ▼ Column Quality Engine Dashboard Aggregation │ ▼ Semantic Detection │ ▼ Validation Strategy Selection │ ┌────┼─────────┬──────────┬─────────┐ ▼ ▼ ▼ ▼ ML Rules Behaviour Health │ └────────────┬────────────┘ ▼ Semantic Decision Engine ▼ Column Quality Score ▼ Dataset Quality Score ▼ Dashboard & Reports ``` # 系统工作流 ## 第 1 步 — 数据接入 支持的格式 通过仪表板接入 CSV 更改数据源(例如,从 CSV 更改为 Oracle)时,只需修改 `src/dashboard/app.py`。后端(`src/engines/dataset_quality_engine.py` 及所有下游组件)专门在 Pandas DataFrame 上运行,并且完全不在乎 DataFrame 是如何创建的。 ## 第 2 步 — 数据集评估 数据集质量引擎负责处理完整的数据集。 职责: - 遍历每一列。 - 调用列质量引擎。 - 汇总结果。 - 生成数据集级别的指标。 ## 第 3 步 — 列评估 每一列都独立通过以下 pipeline 进行处理。 ``` Column ↓ Semantic Detection ↓ Validation Strategy Selection ↓ ML Validation ↓ Rule Validation ↓ Behaviour Validation ↓ Health Assessment ↓ Cell Validation ↓ Evidence Fusion ↓ Column DQS ``` # 验证策略 ## 1. 机器学习验证 用于训练模型能提供更高准确率的语义类型。 支持的示例: - 姓名 - 电子邮件 - 电话 - PAN - Aadhaar - 地址 输出: - 预测结果 - 置信度 - 语义得分 ## 2. 基于规则的验证 用于确定性格式。 示例: - 正则表达式验证 - 允许的值 - Null 检查 - 唯一性 - 业务约束 - 跨列验证 ## 3. 行为验证 用于企业生成的标识符。 示例: - 客户 ID - 账号 - 员工 ID - 贷款编号 行为验证不是使用硬编码的规则,而是评估: - 长度一致性 - 前缀一致性 - 后缀一致性 - 字符分布 - 熵 - 序列行为 - 重复行为 - 列一致性 ## 4. 健康评估 无论语义类型如何,都适用于每一列。 指标包括: - 完整性 - 缺失值 - 重复值 - 一致性 - 总体列健康状况 # 语义决策引擎 IntelliDQS 没有依赖单一的验证器,而是结合了多个独立的评估。 输入: - 机器学习评估 - 规则评估 - 行为评估 - 健康评估 这些评估被融合为一个单独的、可解释的数据质量得分。 # 项目结构 ``` src/ ├── dashboard/ │ Streamlit frontend ├── pipeline/ │ Pipeline orchestration ├── engines/ │ Core inference engines ├── detection/ │ Semantic detection ├── features/ │ Feature engineering ├── validators/ │ Rule-based validation ├── behaviour_semantic/ │ Behaviour-based validation ├── aggregation/ │ Dataset aggregation ├── reporting/ │ Report generation ├── remediation/ │ Data correction guidance ├── reasoning/ │ Cross-column reasoning ├── knowledge/ │ Semantic dictionaries ├── reference_data/ │ Reference datasets ├── config/ │ Runtime configuration ├── registry/ │ Feature/model registries ├── output/ │ Export utilities ├── utils/ │ Shared utilities ``` # 核心组件 ## 仪表板 提供: - 数据集上传 - 配置 - 交互式可视化 - 报告导出 ## 数据集质量引擎 协调数据集级别的评估。 ## 列质量引擎 核心推理引擎,负责: - 语义理解 - 验证路由 - 证据收集 - 最终列评分 ## 语义检测 识别每一列的语义含义。 示例: - 电子邮件 - 电话 - 姓名 - PAN - Aadhaar - 日期 - 标识符 ## 特征工程 为受支持的语义类型提取 ML 特征。 ## 规则验证 执行确定性的验证规则。 ## 行为验证 使用统计行为而非固定模式来验证企业标识符。 ## 健康引擎 计算通用的数据质量指标。 ## 语义决策引擎 结合来自多种验证策略的证据。 生成最终的语义得分。 ## 报告引擎 生成: - 执行摘要报告 - 可解释性报告 - 仪表板摘要 - JSON - Excel - HTML # 输出 IntelliDQS 生成: ## 数据集级别 - 总体数据质量得分 - PII DQS - Non-PII DQS - 数据集健康状况 - 摘要统计信息 ## 列级别 - 语义类型 - 验证策略 - 语义得分 - 健康得分 - 最终 DQS - 置信度 - 问题 - 建议 ## 行级别 - 无效值 - 问题类型 - 建议修复 - 修复指南 # 技术 后端 - Python - Pandas - NumPy 机器学习 - LightGBM 前端 - Streamlit 配置 - JSON - YAML 报告 - HTML - Excel - JSON # 设计原则 该项目遵循以下原则: - 模块化架构 - 可解释 AI - 关注点分离 - 可扩展性 - 企业级可扩展性 - 可重用的验证框架 - 独立的验证策略 - 证据驱动的评分 # 仓库指南 贡献时: - 保持函数小巧且专注。 - 避免重复的逻辑。 - 每个引擎应只具有单一职责。 - 不要在引擎内部硬编码语义规则。 - 尽可能使用注册表和配置。 - 保持前端和后端的分离。 - 为新功能添加测试。 - 保持验证策略的独立性。 # 未来范围 未来潜在的功能增强包括: - 知识图谱验证 - 自适应规则学习 - 数据漂移检测 - 流式数据评估 - REST API 部署 - 分布式处理 - 实时监控 - 企业治理集成 # 许可证 本项目旨在用于学术研究和企业数据质量评估。 # 作者 作为企业数据质量评估平台开发,用于智能、可解释且可扩展的结构化数据质量评估。
标签:Apex, Kubernetes, 企业级平台, 数据校验, 数据治理, 数据质量评估, 机器学习, 逆向工具