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, 企业级平台, 数据校验, 数据治理, 数据质量评估, 机器学习, 逆向工具