Skip to main content

additive_multi_task_multi

Function additive_multi_task_multi 

Source
pub fn additive_multi_task_multi<I, L>(
    weighted_lists: &[(L, f32)],
    config: AdditiveMultiTaskConfig,
) -> Vec<(I, f32)>
where I: Clone + Eq + Hash, L: AsRef<[(I, f32)]>,
Expand description

Additive multi-task fusion for 3+ weighted lists.

§Arguments

  • weighted_lists - Slice of (list, weight) pairs. Each list is normalized independently, then combined using weighted sum.

§Example

use rankops::{additive_multi_task_multi, AdditiveMultiTaskConfig};

let task1 = vec![("d1", 0.9), ("d2", 0.7)];
let task2 = vec![("d1", 0.8), ("d2", 0.6)];
let task3 = vec![("d1", 0.5), ("d2", 0.4)];

let weighted = vec![
    (&task1[..], 1.0),
    (&task2[..], 2.0),
    (&task3[..], 0.5),
];

let config = AdditiveMultiTaskConfig::default();
let fused = additive_multi_task_multi(&weighted, config);