pub fn combine_and_reconstruct_probabilities(
all_fine_keys: &[String],
fine_to_coarse: &IndexMap<String, String>,
coarse_probs: &IndexMap<String, f64>,
evaluated_fine_probs: &IndexMap<String, f64>,
coarse_alpha: f64,
) -> Result<IndexMap<String, f64>>Expand description
第 1 パス (大分類) 確率と第 2 パス (細分類) 確率を減衰周辺化結合し、全候補空間の確率分布を復元する。
§アルゴリズム
- 各細分類候補 $F_k$ に対し、所属する親大分類 $C_j$ の確率 $P(C_j)$ を取得する。
- 減衰べき乗指数 $\alpha$ を用いて不確実性を伝播させた結合スコアを算出: $$S(F_k) = P(C_j)^\alpha \cdot P(F_k \mid C_j)$$
- 第 2 パスに含まれる全候補で正規化 (周辺化)。
- 評価対象外となった除外クラスタの候補には
0.0を設定し、全体の確率和を 1.0 に正規化する。
§引数
all_fine_keys: 全細分類キーの完全リスト (順序維持)。fine_to_coarse: 細分類キーから親大分類キーへの逆引きマップ。coarse_probs: 大分類キーとその確率のマッピング。evaluated_fine_probs: 第 2 パスで実際に評価された細分類キーとその確率 (温度補正後)。coarse_alpha: 大分類確率の減衰指数 ($\alpha \in [0.8, 1.0]$)。
§戻り値
全細分類キーに対応する確率マップ (IndexMap<String, f64>)。総和は厳密に 1.0 となる。