Skip to main content

Module feedback

Module feedback 

Source
Expand description

Implicit Feedback Collection

Automatically captures user interaction signals to improve search quality. Unlike explicit feedback (“this was helpful”), implicit feedback is derived from natural usage patterns.

§Signal Types

SignalWhat It MeansLearning Impact
QueryUser searched for somethingRecords query patterns
ViewUser looked at a resultWeak positive signal
SelectUser chose this resultStrong positive signal
IgnoreResult shown but not viewedWeak negative signal
DwellTime spent on resultStrength of interest
FollowUpQuery after viewing resultIndicates gap or relation
CoAccessItems accessed togetherHidden relationship

§Example

use converge_knowledge::learning::FeedbackCollector;

let collector = FeedbackCollector::new();

// Start a session
let session = collector.start_session();

// Track a search
let query_id = collector.record_query(&session, "rust async patterns", &results);

// User views result #2
collector.record_view(&session, query_id, results[1].entry_id);

// User selects (clicks, copies, etc.) result #2
collector.record_select(&session, query_id, results[1].entry_id);

// Later, process accumulated feedback
let signals = collector.drain_signals();
learning_engine.apply_implicit_feedback(signals);

Structs§

FeedbackCollector
Collector for implicit feedback signals.
FeedbackConfig
Configuration for the feedback collector.
FeedbackProcessor
Process raw signals into learning updates.
FeedbackSignal
A captured feedback signal with context.
ProcessedFeedback
Processed feedback ready for the learning engine.
QueryId
Query identifier for tracking result interactions.
SessionId
Session identifier for grouping related interactions.

Enums§

SignalType
Type of implicit signal captured.