SYMBOL INDEX (157 symbols across 11 files) FILE: examples/example_no_loader.py function word2features (line 8) | def word2features(sent, i): function sent2features (line 56) | def sent2features(sent): function sent2labels (line 60) | def sent2labels(sent): function sent2tokens (line 64) | def sent2tokens(sent): function main (line 68) | def main(): FILE: src/nervaluate/entities.py class Entity (line 6) | class Entity: method __eq__ (line 13) | def __eq__(self, other: object) -> bool: method __hash__ (line 18) | def __hash__(self) -> int: class EvaluationResult (line 23) | class EvaluationResult: method compute_metrics (line 37) | def compute_metrics(self, partial_or_type: bool = False) -> None: class EvaluationIndices (line 55) | class EvaluationIndices: method __post_init__ (line 64) | def __post_init__(self) -> None: FILE: src/nervaluate/evaluator.py class Evaluator (line 17) | class Evaluator: method __init__ (line 20) | def __init__( method _setup_loaders (line 39) | def _setup_loaders(self) -> None: method _setup_evaluation_strategies (line 43) | def _setup_evaluation_strategies(self) -> None: method _load_data (line 52) | def _load_data(self, true: Any, pred: Any, loader: str) -> None: method evaluate (line 85) | def evaluate(self) -> Dict[str, Any]: method _merge_results (line 151) | def _merge_results( method _merge_indices (line 164) | def _merge_indices(target: EvaluationIndices, source: EvaluationIndice... method results_to_csv (line 172) | def results_to_csv( method summary_report (line 250) | def summary_report(self, mode: str = "overall", scenario: str = "stric... method summary_report_indices (line 341) | def summary_report_indices( # pylint: disable=too-many-branches FILE: src/nervaluate/loaders.py class DataLoader (line 7) | class DataLoader(ABC): method load (line 11) | def load(self, data: Any) -> List[List[Entity]]: class ConllLoader (line 15) | class ConllLoader(DataLoader): method load (line 18) | def load(self, data: str) -> List[List[Entity]]: # pylint: disable=to... class ListLoader (line 91) | class ListLoader(DataLoader): method load (line 94) | def load(self, data: List[List[str]]) -> List[List[Entity]]: # pylint... class DictLoader (line 154) | class DictLoader(DataLoader): method load (line 157) | def load(self, data: List[List[Dict[str, Any]]]) -> List[List[Entity]]: FILE: src/nervaluate/strategies.py class EvaluationStrategy (line 7) | class EvaluationStrategy(ABC): method __init__ (line 10) | def __init__(self, min_overlap_percentage: float = 1.0): method _calculate_overlap_percentage (line 22) | def _calculate_overlap_percentage(pred: Entity, true: Entity) -> float: method _calculate_boundaries_distance (line 45) | def _calculate_boundaries_distance(pred: Entity, true: Entity) -> float: method _has_sufficient_overlap (line 58) | def _has_sufficient_overlap(self, pred: Entity, true: Entity) -> bool: method evaluate (line 64) | def evaluate( class StrictEvaluation (line 70) | class StrictEvaluation(EvaluationStrategy): method evaluate (line 81) | def evaluate( class PartialEvaluation (line 130) | class PartialEvaluation(EvaluationStrategy): method evaluate (line 143) | def evaluate( class EntityTypeEvaluation (line 189) | class EntityTypeEvaluation(EvaluationStrategy): method evaluate (line 210) | def evaluate( class ExactEvaluation (line 266) | class ExactEvaluation(EvaluationStrategy): method evaluate (line 277) | def evaluate( FILE: src/nervaluate/utils.py function split_list (line 1) | def split_list(token: list[str], split_chars: list[str] | None = None) -... function conll_to_spans (line 28) | def conll_to_spans(doc: str) -> list[list[dict]]: function list_to_spans (line 53) | def list_to_spans(doc: list[list[str]]) -> list[list[dict]]: function collect_named_entities (line 66) | def collect_named_entities(tokens: list[str]) -> list[dict]: function find_overlap (line 110) | def find_overlap(true_range: range, pred_range: range) -> set: function clean_entities (line 134) | def clean_entities(ent: dict) -> dict: FILE: tests/test_entities.py function test_entity_equality (line 4) | def test_entity_equality(): function test_entity_hash (line 15) | def test_entity_hash(): function test_evaluation_result_compute_metrics (line 25) | def test_evaluation_result_compute_metrics(): function test_evaluation_result_zero_cases (line 40) | def test_evaluation_result_zero_cases(): FILE: tests/test_evaluator.py function sample_data (line 8) | def sample_data(): function test_evaluator_initialization (line 22) | def test_evaluator_initialization(sample_data): function test_evaluator_evaluation (line 32) | def test_evaluator_evaluation(sample_data): function test_evaluator_with_invalid_tags (line 53) | def test_evaluator_with_invalid_tags(sample_data): function test_partial_and_ent_type_metrics_use_partial_formula_after_merge (line 67) | def test_partial_and_ent_type_metrics_use_partial_formula_after_merge(): function test_evaluator_different_document_lengths (line 119) | def test_evaluator_different_document_lengths(): function test_results_to_csv (line 137) | def test_results_to_csv(sample_data, tmp_path): function test_evaluator_with_min_overlap_percentage (line 223) | def test_evaluator_with_min_overlap_percentage(): function test_evaluator_min_overlap_validation (line 249) | def test_evaluator_min_overlap_validation(): function test_evaluator_min_overlap_affects_all_strategies (line 267) | def test_evaluator_min_overlap_affects_all_strategies(): function test_evaluator_min_overlap_with_different_thresholds (line 307) | def test_evaluator_min_overlap_with_different_thresholds(): function test_evaluator_min_overlap_with_multiple_entities (line 345) | def test_evaluator_min_overlap_with_multiple_entities(): function test_evaluator_min_overlap_backward_compatibility (line 382) | def test_evaluator_min_overlap_backward_compatibility(): FILE: tests/test_loaders.py function test_conll_loader (line 6) | def test_conll_loader(): function test_list_loader (line 57) | def test_list_loader(): function test_dict_loader (line 116) | def test_dict_loader(): function test_loader_with_empty_input (line 172) | def test_loader_with_empty_input(): function test_loader_with_invalid_data (line 190) | def test_loader_with_invalid_data(): FILE: tests/test_strategies.py function create_entities_from_bio (line 7) | def create_entities_from_bio(bio_tags): function base_sequence (line 34) | def base_sequence(): function base_sequence_nested (line 40) | def base_sequence_nested(): class TestStrictEvaluation (line 57) | class TestStrictEvaluation: method test_perfect_match (line 60) | def test_perfect_match(self, base_sequence): method test_perfect_match_nested (line 79) | def test_perfect_match_nested(self, base_sequence_nested): method test_perfect_match_nested_reverse_order (line 97) | def test_perfect_match_nested_reverse_order(self, base_sequence_nested): method test_missed_entity (line 115) | def test_missed_entity(self, base_sequence): method test_missed_entity_nested (line 134) | def test_missed_entity_nested(self, base_sequence_nested): method test_wrong_label (line 153) | def test_wrong_label(self, base_sequence): method test_wrong_label_nested (line 172) | def test_wrong_label_nested(self, base_sequence_nested): method test_wrong_boundary (line 192) | def test_wrong_boundary(self, base_sequence): method test_wrong_boundary_nested (line 211) | def test_wrong_boundary_nested(self, base_sequence_nested): method test_extra_entity_nested (line 231) | def test_extra_entity_nested(self, base_sequence_nested): method test_wrong_boundary_and_label_nested (line 250) | def test_wrong_boundary_and_label_nested(self, base_sequence_nested): method test_shifted_boundary (line 270) | def test_shifted_boundary(self, base_sequence): method test_extra_entity (line 289) | def test_extra_entity(self, base_sequence): class TestEntityTypeEvaluation (line 309) | class TestEntityTypeEvaluation: method test_perfect_match (line 312) | def test_perfect_match(self, base_sequence): method test_perfect_match_nested (line 331) | def test_perfect_match_nested(self, base_sequence_nested): method test_perfect_match_nested_reverse_order (line 349) | def test_perfect_match_nested_reverse_order(self, base_sequence_nested): method test_missed_entity (line 367) | def test_missed_entity(self, base_sequence): method test_missed_entity_nested (line 386) | def test_missed_entity_nested(self, base_sequence_nested): method test_wrong_label (line 405) | def test_wrong_label(self, base_sequence): method test_wrong_label_nested (line 419) | def test_wrong_label_nested(self, base_sequence_nested): method test_wrong_boundary (line 439) | def test_wrong_boundary(self, base_sequence): method test_wrong_boundary_nested (line 458) | def test_wrong_boundary_nested(self, base_sequence_nested): method test_extra_entity_nested (line 478) | def test_extra_entity_nested(self, base_sequence_nested): method test_wrong_boundary_and_label_nested (line 497) | def test_wrong_boundary_and_label_nested(self, base_sequence_nested): method test_shifted_boundary (line 517) | def test_shifted_boundary(self, base_sequence): method test_extra_entity (line 536) | def test_extra_entity(self, base_sequence): class TestExactEvaluation (line 556) | class TestExactEvaluation: method test_perfect_match (line 559) | def test_perfect_match(self, base_sequence): method test_perfect_match_nested (line 578) | def test_perfect_match_nested(self, base_sequence_nested): method test_perfect_match_nested_reverse_order (line 596) | def test_perfect_match_nested_reverse_order(self, base_sequence_nested): method test_missed_entity (line 614) | def test_missed_entity(self, base_sequence): method test_missed_entity_nested (line 633) | def test_missed_entity_nested(self, base_sequence_nested): method test_wrong_label (line 652) | def test_wrong_label(self, base_sequence): method test_wrong_label_nested (line 671) | def test_wrong_label_nested(self, base_sequence_nested): method test_wrong_boundary (line 691) | def test_wrong_boundary(self, base_sequence): method test_wrong_boundary_nested (line 710) | def test_wrong_boundary_nested(self, base_sequence_nested): method test_extra_entity_nested (line 730) | def test_extra_entity_nested(self, base_sequence_nested): method test_wrong_boundary_and_label_nested (line 749) | def test_wrong_boundary_and_label_nested(self, base_sequence_nested): method test_shifted_boundary (line 769) | def test_shifted_boundary(self, base_sequence): method test_extra_entity (line 788) | def test_extra_entity(self, base_sequence): class TestPartialEvaluation (line 808) | class TestPartialEvaluation: method test_perfect_match (line 811) | def test_perfect_match(self, base_sequence): method test_perfect_match_nested (line 830) | def test_perfect_match_nested(self, base_sequence_nested): method test_perfect_match_nested_reverse_order (line 848) | def test_perfect_match_nested_reverse_order(self, base_sequence_nested): method test_missed_entity (line 866) | def test_missed_entity(self, base_sequence): method test_missed_entity_nested (line 885) | def test_missed_entity_nested(self, base_sequence_nested): method test_wrong_label (line 904) | def test_wrong_label(self, base_sequence): method test_wrong_label_nested (line 923) | def test_wrong_label_nested(self, base_sequence_nested): method test_wrong_boundary (line 943) | def test_wrong_boundary(self, base_sequence): method test_wrong_boundary_nested (line 962) | def test_wrong_boundary_nested(self, base_sequence_nested): method test_extra_entity_nested (line 982) | def test_extra_entity_nested(self, base_sequence_nested): method test_wrong_boundary_and_label_nested (line 1001) | def test_wrong_boundary_and_label_nested(self, base_sequence_nested): method test_shifted_boundary (line 1021) | def test_shifted_boundary(self, base_sequence): method test_extra_entity (line 1040) | def test_extra_entity(self, base_sequence): class TestSingleCharacterEntities (line 1060) | class TestSingleCharacterEntities: method test_single_token_entities_strict (line 1063) | def test_single_token_entities_strict(self): method test_single_token_entities_same_start_end (line 1080) | def test_single_token_entities_same_start_end(self): method test_single_token_entities_partial_evaluation (line 1097) | def test_single_token_entities_partial_evaluation(self): method test_single_token_entities_overlap_detection (line 1112) | def test_single_token_entities_overlap_detection(self): method test_single_token_adjacent_entities (line 1129) | def test_single_token_adjacent_entities(self): method test_single_token_missed_entity (line 1145) | def test_single_token_missed_entity(self): function test_minimum_overlap_percentage_validation (line 1162) | def test_minimum_overlap_percentage_validation(): function test_overlap_percentage_calculation (line 1181) | def test_overlap_percentage_calculation(): function test_has_sufficient_overlap (line 1207) | def test_has_sufficient_overlap(): function test_partial_evaluation_with_min_overlap (line 1237) | def test_partial_evaluation_with_min_overlap(): function test_strict_evaluation_with_min_overlap (line 1267) | def test_strict_evaluation_with_min_overlap(): function test_entity_type_evaluation_with_min_overlap (line 1292) | def test_entity_type_evaluation_with_min_overlap(): function test_exact_evaluation_with_min_overlap (line 1326) | def test_exact_evaluation_with_min_overlap(): function test_edge_cases_overlap_calculation (line 1360) | def test_edge_cases_overlap_calculation(): function test_multiple_entities_with_min_overlap (line 1383) | def test_multiple_entities_with_min_overlap(): FILE: tests/test_utils.py function test_list_to_spans (line 9) | def test_list_to_spans(): function test_list_to_spans_1 (line 31) | def test_list_to_spans_1(): function test_conll_to_spans (line 49) | def test_conll_to_spans(): function test_conll_to_spans_1 (line 78) | def test_conll_to_spans_1(): function test_split_list (line 96) | def test_split_list(): function test_collect_named_entities_same_type_in_sequence (line 104) | def test_collect_named_entities_same_type_in_sequence(): function test_collect_named_entities_sequence_has_only_one_entity (line 114) | def test_collect_named_entities_sequence_has_only_one_entity(): function test_collect_named_entities_entity_goes_until_last_token (line 121) | def test_collect_named_entities_entity_goes_until_last_token(): function test_collect_named_entities_no_entity (line 131) | def test_collect_named_entities_no_entity():