@soulcraft/brainy 0.51.2 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,158 @@
1
+ import { ICognitionAugmentation, AugmentationResponse } from '../types/augmentations.js';
2
+ /**
3
+ * Configuration options for the Intelligent Verb Scoring augmentation
4
+ */
5
+ export interface IVerbScoringConfig {
6
+ /** Enable semantic proximity scoring based on entity embeddings */
7
+ enableSemanticScoring: boolean;
8
+ /** Enable frequency-based weight amplification */
9
+ enableFrequencyAmplification: boolean;
10
+ /** Enable temporal decay for weights */
11
+ enableTemporalDecay: boolean;
12
+ /** Decay rate per day for temporal scoring (0-1) */
13
+ temporalDecayRate: number;
14
+ /** Minimum weight threshold */
15
+ minWeight: number;
16
+ /** Maximum weight threshold */
17
+ maxWeight: number;
18
+ /** Base confidence score for new relationships */
19
+ baseConfidence: number;
20
+ /** Learning rate for adaptive scoring (0-1) */
21
+ learningRate: number;
22
+ }
23
+ /**
24
+ * Default configuration for the Intelligent Verb Scoring augmentation
25
+ */
26
+ export declare const DEFAULT_VERB_SCORING_CONFIG: IVerbScoringConfig;
27
+ /**
28
+ * Relationship statistics for learning and adaptation
29
+ */
30
+ interface RelationshipStats {
31
+ count: number;
32
+ totalWeight: number;
33
+ averageWeight: number;
34
+ lastSeen: Date;
35
+ firstSeen: Date;
36
+ semanticSimilarity?: number;
37
+ }
38
+ /**
39
+ * Intelligent Verb Scoring Cognition Augmentation
40
+ *
41
+ * Automatically generates intelligent weight and confidence scores for verb relationships
42
+ * using semantic analysis, frequency patterns, and temporal factors.
43
+ */
44
+ export declare class IntelligentVerbScoring implements ICognitionAugmentation {
45
+ readonly name = "intelligent-verb-scoring";
46
+ readonly description = "Automatically generates intelligent weight and confidence scores for verb relationships";
47
+ enabled: boolean;
48
+ private config;
49
+ private relationshipStats;
50
+ private brainyInstance;
51
+ private isInitialized;
52
+ constructor(config?: Partial<IVerbScoringConfig>);
53
+ initialize(): Promise<void>;
54
+ shutDown(): Promise<void>;
55
+ getStatus(): Promise<'active' | 'inactive' | 'error'>;
56
+ /**
57
+ * Set reference to the BrainyData instance for accessing graph data
58
+ */
59
+ setBrainyInstance(instance: any): void;
60
+ /**
61
+ * Main reasoning method for generating intelligent verb scores
62
+ */
63
+ reason(query: string, context?: Record<string, unknown>): AugmentationResponse<{
64
+ inference: string;
65
+ confidence: number;
66
+ }>;
67
+ infer(dataSubset: Record<string, unknown>): AugmentationResponse<Record<string, unknown>>;
68
+ executeLogic(ruleId: string, input: Record<string, unknown>): AugmentationResponse<boolean>;
69
+ /**
70
+ * Generate intelligent weight and confidence scores for a verb relationship
71
+ *
72
+ * @param sourceId - ID of the source entity
73
+ * @param targetId - ID of the target entity
74
+ * @param verbType - Type of the relationship
75
+ * @param existingWeight - Existing weight if any
76
+ * @param metadata - Additional metadata about the relationship
77
+ * @returns Computed weight and confidence scores
78
+ */
79
+ computeVerbScores(sourceId: string, targetId: string, verbType: string, existingWeight?: number, metadata?: any): Promise<{
80
+ weight: number;
81
+ confidence: number;
82
+ reasoning: string[];
83
+ }>;
84
+ /**
85
+ * Calculate semantic similarity between two entities using their embeddings
86
+ */
87
+ private calculateSemanticScore;
88
+ /**
89
+ * Calculate frequency-based boost for repeated relationships
90
+ */
91
+ private calculateFrequencyBoost;
92
+ /**
93
+ * Calculate temporal decay factor based on recency
94
+ */
95
+ private calculateTemporalFactor;
96
+ /**
97
+ * Calculate learning-based adjustment using historical patterns
98
+ */
99
+ private calculateLearningAdjustment;
100
+ /**
101
+ * Update relationship statistics for learning
102
+ */
103
+ private updateRelationshipStats;
104
+ /**
105
+ * Blend two scores using a weighted average
106
+ */
107
+ private blendScores;
108
+ /**
109
+ * Get current configuration
110
+ */
111
+ getConfig(): IVerbScoringConfig;
112
+ /**
113
+ * Update configuration
114
+ */
115
+ updateConfig(newConfig: Partial<IVerbScoringConfig>): void;
116
+ /**
117
+ * Get relationship statistics (for debugging/monitoring)
118
+ */
119
+ getRelationshipStats(): Map<string, RelationshipStats>;
120
+ /**
121
+ * Clear relationship statistics
122
+ */
123
+ clearStats(): void;
124
+ /**
125
+ * Provide feedback to improve future scoring
126
+ * This allows the system to learn from user corrections or validation
127
+ *
128
+ * @param sourceId - Source entity ID
129
+ * @param targetId - Target entity ID
130
+ * @param verbType - Relationship type
131
+ * @param feedbackWeight - The corrected/validated weight (0-1)
132
+ * @param feedbackConfidence - The corrected/validated confidence (0-1)
133
+ * @param feedbackType - Type of feedback ('correction', 'validation', 'enhancement')
134
+ */
135
+ provideFeedback(sourceId: string, targetId: string, verbType: string, feedbackWeight: number, feedbackConfidence?: number, feedbackType?: 'correction' | 'validation' | 'enhancement'): Promise<void>;
136
+ /**
137
+ * Get learning statistics for monitoring and debugging
138
+ */
139
+ getLearningStats(): {
140
+ totalRelationships: number;
141
+ averageConfidence: number;
142
+ feedbackCount: number;
143
+ topRelationships: Array<{
144
+ relationship: string;
145
+ count: number;
146
+ averageWeight: number;
147
+ }>;
148
+ };
149
+ /**
150
+ * Export learning data for backup or analysis
151
+ */
152
+ exportLearningData(): string;
153
+ /**
154
+ * Import learning data from backup
155
+ */
156
+ importLearningData(jsonData: string): void;
157
+ }
158
+ export {};
@@ -0,0 +1,377 @@
1
+ import { cosineDistance } from '../utils/distance.js';
2
+ /**
3
+ * Default configuration for the Intelligent Verb Scoring augmentation
4
+ */
5
+ export const DEFAULT_VERB_SCORING_CONFIG = {
6
+ enableSemanticScoring: true,
7
+ enableFrequencyAmplification: true,
8
+ enableTemporalDecay: true,
9
+ temporalDecayRate: 0.01, // 1% decay per day
10
+ minWeight: 0.1,
11
+ maxWeight: 1.0,
12
+ baseConfidence: 0.5,
13
+ learningRate: 0.1
14
+ };
15
+ /**
16
+ * Intelligent Verb Scoring Cognition Augmentation
17
+ *
18
+ * Automatically generates intelligent weight and confidence scores for verb relationships
19
+ * using semantic analysis, frequency patterns, and temporal factors.
20
+ */
21
+ export class IntelligentVerbScoring {
22
+ constructor(config = {}) {
23
+ this.name = 'intelligent-verb-scoring';
24
+ this.description = 'Automatically generates intelligent weight and confidence scores for verb relationships';
25
+ this.enabled = false; // Off by default as requested
26
+ this.relationshipStats = new Map();
27
+ this.isInitialized = false;
28
+ this.config = { ...DEFAULT_VERB_SCORING_CONFIG, ...config };
29
+ }
30
+ async initialize() {
31
+ if (this.isInitialized)
32
+ return;
33
+ this.isInitialized = true;
34
+ }
35
+ async shutDown() {
36
+ this.relationshipStats.clear();
37
+ this.isInitialized = false;
38
+ }
39
+ async getStatus() {
40
+ return this.enabled && this.isInitialized ? 'active' : 'inactive';
41
+ }
42
+ /**
43
+ * Set reference to the BrainyData instance for accessing graph data
44
+ */
45
+ setBrainyInstance(instance) {
46
+ this.brainyInstance = instance;
47
+ }
48
+ /**
49
+ * Main reasoning method for generating intelligent verb scores
50
+ */
51
+ reason(query, context) {
52
+ if (!this.enabled) {
53
+ return {
54
+ success: false,
55
+ data: { inference: 'Augmentation is disabled', confidence: 0 },
56
+ error: 'Intelligent verb scoring is disabled'
57
+ };
58
+ }
59
+ return {
60
+ success: true,
61
+ data: {
62
+ inference: 'Intelligent verb scoring active',
63
+ confidence: 1.0
64
+ }
65
+ };
66
+ }
67
+ infer(dataSubset) {
68
+ return {
69
+ success: true,
70
+ data: dataSubset
71
+ };
72
+ }
73
+ executeLogic(ruleId, input) {
74
+ return {
75
+ success: true,
76
+ data: true
77
+ };
78
+ }
79
+ /**
80
+ * Generate intelligent weight and confidence scores for a verb relationship
81
+ *
82
+ * @param sourceId - ID of the source entity
83
+ * @param targetId - ID of the target entity
84
+ * @param verbType - Type of the relationship
85
+ * @param existingWeight - Existing weight if any
86
+ * @param metadata - Additional metadata about the relationship
87
+ * @returns Computed weight and confidence scores
88
+ */
89
+ async computeVerbScores(sourceId, targetId, verbType, existingWeight, metadata) {
90
+ if (!this.enabled || !this.brainyInstance) {
91
+ return {
92
+ weight: existingWeight ?? 0.5,
93
+ confidence: this.config.baseConfidence,
94
+ reasoning: ['Intelligent scoring disabled']
95
+ };
96
+ }
97
+ const reasoning = [];
98
+ let weight = existingWeight ?? 0.5;
99
+ let confidence = this.config.baseConfidence;
100
+ try {
101
+ // Get relationship key for statistics
102
+ const relationKey = `${sourceId}-${verbType}-${targetId}`;
103
+ // Update relationship statistics
104
+ this.updateRelationshipStats(relationKey, weight, metadata);
105
+ // Apply semantic scoring if enabled
106
+ if (this.config.enableSemanticScoring) {
107
+ const semanticScore = await this.calculateSemanticScore(sourceId, targetId);
108
+ if (semanticScore !== null) {
109
+ weight = this.blendScores(weight, semanticScore, 0.3);
110
+ confidence = Math.min(confidence + semanticScore * 0.2, 1.0);
111
+ reasoning.push(`Semantic similarity: ${semanticScore.toFixed(3)}`);
112
+ }
113
+ }
114
+ // Apply frequency amplification if enabled
115
+ if (this.config.enableFrequencyAmplification) {
116
+ const frequencyBoost = this.calculateFrequencyBoost(relationKey);
117
+ weight = this.blendScores(weight, frequencyBoost, 0.2);
118
+ if (frequencyBoost > 0.5) {
119
+ confidence = Math.min(confidence + 0.1, 1.0);
120
+ reasoning.push(`Frequency boost: ${frequencyBoost.toFixed(3)}`);
121
+ }
122
+ }
123
+ // Apply temporal decay if enabled
124
+ if (this.config.enableTemporalDecay) {
125
+ const temporalFactor = this.calculateTemporalFactor(relationKey);
126
+ weight *= temporalFactor;
127
+ reasoning.push(`Temporal factor: ${temporalFactor.toFixed(3)}`);
128
+ }
129
+ // Apply learning adjustments
130
+ const learningAdjustment = this.calculateLearningAdjustment(relationKey);
131
+ weight = this.blendScores(weight, learningAdjustment, this.config.learningRate);
132
+ // Clamp values to configured bounds
133
+ weight = Math.max(this.config.minWeight, Math.min(this.config.maxWeight, weight));
134
+ confidence = Math.max(0, Math.min(1, confidence));
135
+ reasoning.push(`Final weight: ${weight.toFixed(3)}, confidence: ${confidence.toFixed(3)}`);
136
+ return { weight, confidence, reasoning };
137
+ }
138
+ catch (error) {
139
+ console.warn('Error computing verb scores:', error);
140
+ return {
141
+ weight: existingWeight ?? 0.5,
142
+ confidence: this.config.baseConfidence,
143
+ reasoning: [`Error in scoring: ${error}`]
144
+ };
145
+ }
146
+ }
147
+ /**
148
+ * Calculate semantic similarity between two entities using their embeddings
149
+ */
150
+ async calculateSemanticScore(sourceId, targetId) {
151
+ try {
152
+ if (!this.brainyInstance?.storage)
153
+ return null;
154
+ // Get noun embeddings from storage
155
+ const sourceNoun = await this.brainyInstance.storage.getNoun(sourceId);
156
+ const targetNoun = await this.brainyInstance.storage.getNoun(targetId);
157
+ if (!sourceNoun?.vector || !targetNoun?.vector)
158
+ return null;
159
+ // Calculate cosine similarity (1 - distance)
160
+ const distance = cosineDistance(sourceNoun.vector, targetNoun.vector);
161
+ return Math.max(0, 1 - distance);
162
+ }
163
+ catch (error) {
164
+ console.warn('Error calculating semantic score:', error);
165
+ return null;
166
+ }
167
+ }
168
+ /**
169
+ * Calculate frequency-based boost for repeated relationships
170
+ */
171
+ calculateFrequencyBoost(relationKey) {
172
+ const stats = this.relationshipStats.get(relationKey);
173
+ if (!stats || stats.count <= 1)
174
+ return 0.5;
175
+ // Logarithmic scaling: more occurrences = higher weight, but with diminishing returns
176
+ const boost = Math.log(stats.count + 1) / Math.log(10); // Log base 10
177
+ return Math.min(boost, 1.0);
178
+ }
179
+ /**
180
+ * Calculate temporal decay factor based on recency
181
+ */
182
+ calculateTemporalFactor(relationKey) {
183
+ const stats = this.relationshipStats.get(relationKey);
184
+ if (!stats)
185
+ return 1.0;
186
+ const daysSinceLastSeen = (Date.now() - stats.lastSeen.getTime()) / (1000 * 60 * 60 * 24);
187
+ const decayFactor = Math.exp(-this.config.temporalDecayRate * daysSinceLastSeen);
188
+ return Math.max(0.1, decayFactor); // Minimum 10% of original weight
189
+ }
190
+ /**
191
+ * Calculate learning-based adjustment using historical patterns
192
+ */
193
+ calculateLearningAdjustment(relationKey) {
194
+ const stats = this.relationshipStats.get(relationKey);
195
+ if (!stats || stats.count <= 1)
196
+ return 0.5;
197
+ // Use moving average of weights as learned baseline
198
+ return Math.max(0, Math.min(1, stats.averageWeight));
199
+ }
200
+ /**
201
+ * Update relationship statistics for learning
202
+ */
203
+ updateRelationshipStats(relationKey, weight, metadata) {
204
+ const now = new Date();
205
+ const existing = this.relationshipStats.get(relationKey);
206
+ if (existing) {
207
+ // Update existing stats
208
+ existing.count++;
209
+ existing.totalWeight += weight;
210
+ existing.averageWeight = existing.totalWeight / existing.count;
211
+ existing.lastSeen = now;
212
+ }
213
+ else {
214
+ // Create new stats entry
215
+ this.relationshipStats.set(relationKey, {
216
+ count: 1,
217
+ totalWeight: weight,
218
+ averageWeight: weight,
219
+ lastSeen: now,
220
+ firstSeen: now
221
+ });
222
+ }
223
+ }
224
+ /**
225
+ * Blend two scores using a weighted average
226
+ */
227
+ blendScores(score1, score2, weight2) {
228
+ const weight1 = 1 - weight2;
229
+ return score1 * weight1 + score2 * weight2;
230
+ }
231
+ /**
232
+ * Get current configuration
233
+ */
234
+ getConfig() {
235
+ return { ...this.config };
236
+ }
237
+ /**
238
+ * Update configuration
239
+ */
240
+ updateConfig(newConfig) {
241
+ this.config = { ...this.config, ...newConfig };
242
+ }
243
+ /**
244
+ * Get relationship statistics (for debugging/monitoring)
245
+ */
246
+ getRelationshipStats() {
247
+ return new Map(this.relationshipStats);
248
+ }
249
+ /**
250
+ * Clear relationship statistics
251
+ */
252
+ clearStats() {
253
+ this.relationshipStats.clear();
254
+ }
255
+ /**
256
+ * Provide feedback to improve future scoring
257
+ * This allows the system to learn from user corrections or validation
258
+ *
259
+ * @param sourceId - Source entity ID
260
+ * @param targetId - Target entity ID
261
+ * @param verbType - Relationship type
262
+ * @param feedbackWeight - The corrected/validated weight (0-1)
263
+ * @param feedbackConfidence - The corrected/validated confidence (0-1)
264
+ * @param feedbackType - Type of feedback ('correction', 'validation', 'enhancement')
265
+ */
266
+ async provideFeedback(sourceId, targetId, verbType, feedbackWeight, feedbackConfidence, feedbackType = 'correction') {
267
+ if (!this.enabled)
268
+ return;
269
+ const relationKey = `${sourceId}-${verbType}-${targetId}`;
270
+ const existing = this.relationshipStats.get(relationKey);
271
+ if (existing) {
272
+ // Apply feedback with learning rate
273
+ const newWeight = existing.averageWeight * (1 - this.config.learningRate) +
274
+ feedbackWeight * this.config.learningRate;
275
+ // Update the running average with feedback
276
+ existing.totalWeight = (existing.totalWeight * existing.count + feedbackWeight) / (existing.count + 1);
277
+ existing.averageWeight = existing.totalWeight / existing.count;
278
+ existing.count += 1;
279
+ existing.lastSeen = new Date();
280
+ if (this.brainyInstance?.loggingConfig?.verbose) {
281
+ console.log(`Feedback applied for ${relationKey}: ${feedbackType}, ` +
282
+ `old weight: ${existing.averageWeight.toFixed(3)}, ` +
283
+ `feedback: ${feedbackWeight.toFixed(3)}, ` +
284
+ `new weight: ${newWeight.toFixed(3)}`);
285
+ }
286
+ }
287
+ else {
288
+ // Create new entry with feedback as initial data
289
+ this.relationshipStats.set(relationKey, {
290
+ count: 1,
291
+ totalWeight: feedbackWeight,
292
+ averageWeight: feedbackWeight,
293
+ lastSeen: new Date(),
294
+ firstSeen: new Date()
295
+ });
296
+ }
297
+ }
298
+ /**
299
+ * Get learning statistics for monitoring and debugging
300
+ */
301
+ getLearningStats() {
302
+ const relationships = Array.from(this.relationshipStats.entries());
303
+ const totalRelationships = relationships.length;
304
+ const feedbackCount = relationships.reduce((sum, [, stats]) => sum + stats.count, 0);
305
+ // Calculate average confidence (approximated from weight patterns)
306
+ const averageWeight = relationships.reduce((sum, [, stats]) => sum + stats.averageWeight, 0) / totalRelationships || 0;
307
+ const averageConfidence = Math.min(averageWeight + 0.2, 1.0); // Heuristic: confidence typically higher than weight
308
+ // Get top relationships by count
309
+ const topRelationships = relationships
310
+ .map(([key, stats]) => ({
311
+ relationship: key,
312
+ count: stats.count,
313
+ averageWeight: stats.averageWeight
314
+ }))
315
+ .sort((a, b) => b.count - a.count)
316
+ .slice(0, 10);
317
+ return {
318
+ totalRelationships,
319
+ averageConfidence,
320
+ feedbackCount,
321
+ topRelationships
322
+ };
323
+ }
324
+ /**
325
+ * Export learning data for backup or analysis
326
+ */
327
+ exportLearningData() {
328
+ const data = {
329
+ config: this.config,
330
+ stats: Array.from(this.relationshipStats.entries()).map(([key, stats]) => ({
331
+ relationship: key,
332
+ ...stats,
333
+ firstSeen: stats.firstSeen.toISOString(),
334
+ lastSeen: stats.lastSeen.toISOString()
335
+ })),
336
+ exportedAt: new Date().toISOString(),
337
+ version: '1.0'
338
+ };
339
+ return JSON.stringify(data, null, 2);
340
+ }
341
+ /**
342
+ * Import learning data from backup
343
+ */
344
+ importLearningData(jsonData) {
345
+ try {
346
+ const data = JSON.parse(jsonData);
347
+ if (data.version !== '1.0') {
348
+ console.warn('Learning data version mismatch, importing anyway');
349
+ }
350
+ // Update configuration if provided
351
+ if (data.config) {
352
+ this.config = { ...this.config, ...data.config };
353
+ }
354
+ // Import relationship statistics
355
+ if (data.stats && Array.isArray(data.stats)) {
356
+ for (const stat of data.stats) {
357
+ if (stat.relationship) {
358
+ this.relationshipStats.set(stat.relationship, {
359
+ count: stat.count || 1,
360
+ totalWeight: stat.totalWeight || stat.averageWeight || 0.5,
361
+ averageWeight: stat.averageWeight || 0.5,
362
+ firstSeen: new Date(stat.firstSeen || Date.now()),
363
+ lastSeen: new Date(stat.lastSeen || Date.now()),
364
+ semanticSimilarity: stat.semanticSimilarity
365
+ });
366
+ }
367
+ }
368
+ }
369
+ console.log(`Imported learning data: ${this.relationshipStats.size} relationships`);
370
+ }
371
+ catch (error) {
372
+ console.error('Failed to import learning data:', error);
373
+ throw new Error(`Failed to import learning data: ${error}`);
374
+ }
375
+ }
376
+ }
377
+ //# sourceMappingURL=intelligentVerbScoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intelligentVerbScoring.js","sourceRoot":"","sources":["../../src/augmentations/intelligentVerbScoring.ts"],"names":[],"mappings":"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"}
@@ -288,6 +288,58 @@ export interface BrainyDataConfig {
288
288
  prefetchStrategy?: 'conservative' | 'moderate' | 'aggressive';
289
289
  };
290
290
  };
291
+ /**
292
+ * Intelligent verb scoring configuration
293
+ * Automatically generates weight and confidence scores for verb relationships
294
+ * Off by default - enable by setting enabled: true
295
+ */
296
+ intelligentVerbScoring?: {
297
+ /**
298
+ * Whether to enable intelligent verb scoring
299
+ * Default: false (off by default)
300
+ */
301
+ enabled?: boolean;
302
+ /**
303
+ * Enable semantic proximity scoring based on entity embeddings
304
+ * Default: true
305
+ */
306
+ enableSemanticScoring?: boolean;
307
+ /**
308
+ * Enable frequency-based weight amplification
309
+ * Default: true
310
+ */
311
+ enableFrequencyAmplification?: boolean;
312
+ /**
313
+ * Enable temporal decay for weights
314
+ * Default: true
315
+ */
316
+ enableTemporalDecay?: boolean;
317
+ /**
318
+ * Decay rate per day for temporal scoring (0-1)
319
+ * Default: 0.01 (1% decay per day)
320
+ */
321
+ temporalDecayRate?: number;
322
+ /**
323
+ * Minimum weight threshold
324
+ * Default: 0.1
325
+ */
326
+ minWeight?: number;
327
+ /**
328
+ * Maximum weight threshold
329
+ * Default: 1.0
330
+ */
331
+ maxWeight?: number;
332
+ /**
333
+ * Base confidence score for new relationships
334
+ * Default: 0.5
335
+ */
336
+ baseConfidence?: number;
337
+ /**
338
+ * Learning rate for adaptive scoring (0-1)
339
+ * Default: 0.1
340
+ */
341
+ learningRate?: number;
342
+ };
291
343
  }
292
344
  export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
293
345
  index: HNSWIndex | HNSWIndexOptimized;
@@ -321,6 +373,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
321
373
  private remoteServerConfig;
322
374
  private serverSearchConduit;
323
375
  private serverConnection;
376
+ private intelligentVerbScoring;
324
377
  private distributedConfig;
325
378
  private configManager;
326
379
  private partitioner;
@@ -406,6 +459,30 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
406
459
  * Apply changes using full scan method (fallback for storage adapters without change log support)
407
460
  */
408
461
  private applyChangesFromFullScan;
462
+ /**
463
+ * Provide feedback to the intelligent verb scoring system for learning
464
+ * This allows the system to learn from user corrections or validation
465
+ *
466
+ * @param sourceId - Source entity ID
467
+ * @param targetId - Target entity ID
468
+ * @param verbType - Relationship type
469
+ * @param feedbackWeight - The corrected/validated weight (0-1)
470
+ * @param feedbackConfidence - The corrected/validated confidence (0-1)
471
+ * @param feedbackType - Type of feedback ('correction', 'validation', 'enhancement')
472
+ */
473
+ provideFeedbackForVerbScoring(sourceId: string, targetId: string, verbType: string, feedbackWeight: number, feedbackConfidence?: number, feedbackType?: 'correction' | 'validation' | 'enhancement'): Promise<void>;
474
+ /**
475
+ * Get learning statistics from the intelligent verb scoring system
476
+ */
477
+ getVerbScoringStats(): any;
478
+ /**
479
+ * Export learning data from the intelligent verb scoring system
480
+ */
481
+ exportVerbScoringLearningData(): string | null;
482
+ /**
483
+ * Import learning data into the intelligent verb scoring system
484
+ */
485
+ importVerbScoringLearningData(jsonData: string): void;
409
486
  /**
410
487
  * Get the current augmentation name if available
411
488
  * This is used to auto-detect the service performing data operations