metric_evaluator
MetricEvaluator Objects
class MetricEvaluator()
Класс для вычисления метрик качества предсказаний модели.
Атрибуты: true_csv (pd.DataFrame): DataFrame с правильными ответами. pred_csv (pd.DataFrame): DataFrame с предсказаниями модели.
__init__
def __init__(true_file: str, prediction_file: str) -> None
Инициализирует экземпляр MetricEvaluator.
Аргументы: true_file (str): Путь к файлу с правильными ответами (CSV или TSV). prediction_file (str): Путь к файлу с предсказаниями модели (CSV или TSV).
Исключения: ValueError: Если данные в файлах не совместимы.
read_file
def read_file(file_path: str) -> pd.DataFrame
Читает файл с определением разделителя (CSV или TSV).
Аргументы: file_path (str): Путь к файлу.
Возвращает: pd.DataFrame: DataFrame с данными из файла.
Исключения: pd.errors.ParserError: Если файл не может быть прочитан как CSV или TSV.
validate_data
def validate_data() -> None
Проверяет совместимость данных в true_csv и pred_csv.
Исключения: ValueError: Если столбцы или количество строк не совпадают.
evaluate_item
def evaluate_item(pred_raw: str, gt_raw: str) -> Dict[str, float]
Выполняет полный цикл оценки одного объекта: парсинг, выравнивание полей и расчет метрик.
Аргументы: pred_raw (str): Сырой ответ модели. gt_raw (str): Эталонный ответ.
Возвращает: Dict[str, float]: Словарь со значениями всех метрик (включая StructuralFidelity).
Метрики:
- StructuralFidelity (валидность формата)
- CER (Character Error Rate)
- ANLS (Average Normalized Levenshtein Similarity)
- Field-level F1 (для JSON)
group_by_doc_question
def group_by_doc_question(df: pd.DataFrame) -> pd.DataFrame
Группирует данные по типу документа и типу вопроса.
Аргументы: df (pd.DataFrame): Исходный DataFrame.
Возвращает: pd.DataFrame: Сгруппированный DataFrame с метриками.
calculate_metrics_general
def calculate_metrics_general() -> dict
Вычисляет общие метрики по всему корпусу данных.
Возвращает: dict: Словарь с метриками WER, CER и BLEU.