File size: 695 Bytes
6835659
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from __future__ import annotations

from typing import Dict, List


def human_alignment_score(human_criteria: Dict[str, bool]) -> float:
    """
    Simple proxy score: % of human criteria satisfied.
    """
    values = list(human_criteria.values())
    return sum(values) / len(values)


def compare_human_vs_msci(results: List[Dict]):
    diffs = []

    for result in results:
        human_score = human_alignment_score(result["human"])
        diffs.append(
            {
                "id": result["id"],
                "human_score": human_score,
                "msci": result["msci"],
                "delta": result["msci"] - human_score,
            }
        )

    return diffs