semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
90 lines • 3.35 kB
TypeScript
import { SemanticContext } from '../core/shadow-semantics';
import { CIDLookupResult } from '../registry/cid-registry';
import { StatisticalMetrics } from '../inference/statistical-analyzer';
export interface ConfidenceComponents {
semanticTypeMatch: number;
statisticalSimilarity: number;
valuePatternMatch: number;
cardinalityAlignment: number;
domainCompatibility: number;
dataQualityScore: number;
normalizationEffectiveness: number;
}
export interface ConfidenceScore {
overall: number;
components: ConfidenceComponents;
factors: ConfidenceFactor[];
confidence_level: 'very_high' | 'high' | 'medium' | 'low' | 'very_low';
reliability: number;
explanation: string;
warnings: string[];
recommendations: string[];
}
export interface ConfidenceFactor {
factor: string;
impact: number;
weight: number;
evidence: string;
confidence: number;
}
export interface MatchEvidence {
leftValue: any;
rightValue: any;
normalizedLeft: string;
normalizedRight: string;
similarity: number;
matchType: 'exact' | 'normalized' | 'fuzzy';
semanticAlignment: number;
contextualRelevance: number;
}
export interface ConfidenceCalibrationData {
truePositives: number;
falsePositives: number;
trueNegatives: number;
falseNegatives: number;
precisionByConfidenceLevel: Record<string, number>;
recallByConfidenceLevel: Record<string, number>;
}
export declare class JoinConfidenceCalculator {
private calibrationData;
private weightingScheme;
constructor(weightingScheme?: Partial<ConfidenceWeightingScheme>);
calculateMatchConfidence(leftContext: SemanticContext | null, rightContext: SemanticContext | null, leftValues: any[], rightValues: any[], leftStats: StatisticalMetrics, rightStats: StatisticalMetrics, matchEvidence: MatchEvidence[], cidCompatibility?: {
left: CIDLookupResult[];
right: CIDLookupResult[];
}): ConfidenceScore;
private calculateConfidenceComponents;
private calculateSemanticTypeMatch;
private calculateStatisticalSimilarity;
private calculateValuePatternMatch;
private calculateCardinalityAlignment;
private calculateDomainCompatibility;
private calculateDataQualityScore;
private calculateNormalizationEffectiveness;
private generateConfidenceFactors;
private aggregateOverallConfidence;
private calculateReliability;
private classifyConfidenceLevel;
private generateExplanations;
private getSemanticTypeCompatibility;
private calculateDomainSimilarity;
private areDataTypesCompatible;
private calculateNumericRangeOverlap;
private calculateCIDRelatedness;
private calculateStringSimilarity;
private levenshteinDistance;
private calculateStandardDeviation;
updateCalibration(joinType: string, actualOutcome: boolean, predictedConfidence: number): void;
getCalibratedConfidence(joinType: string, rawConfidence: number): number;
}
interface ConfidenceWeightingScheme {
semanticTypeMatch: number;
statisticalSimilarity: number;
valuePatternMatch: number;
cardinalityAlignment: number;
domainCompatibility: number;
dataQualityScore: number;
normalizationEffectiveness: number;
}
export { ConfidenceWeightingScheme };
//# sourceMappingURL=join-confidence.d.ts.map