Expand description
Task-Dataset-Backend Mapping System
This module provides a cohesive system for mapping:
- Tasks (NER, NED, Coreference, etc.) → Datasets
- Datasets → Backends that can evaluate them
- Backends → Tasks they support (via trait inspection)
§Design Philosophy
- Trait-based capabilities: Backend capabilities are determined by trait implementations
- Many-to-many relationships: A dataset can support multiple tasks, a backend can support multiple tasks
- Explicit capabilities: Each backend declares what tasks it supports via traits
- Dataset metadata: Each dataset declares what tasks it can evaluate
- Task requirements: Each task declares what datasets are suitable
§Trait-Based Capability Detection
Backends are queried for capabilities using trait bounds:
Model→ NER capabilityZeroShotNER→ Zero-shot NER capabilityRelationExtractor→ Relation extraction capabilityDiscontinuousNER→ Discontinuous NER capabilityCoreferenceResolver→ Coreference resolution capability
Structs§
- Task
Mapping - Comprehensive task-dataset-backend mapping.
Enums§
- Task
- Information extraction and NLP tasks supported by anno.
Traits§
- Coreference
Resolver Trait - Trait for coreference resolution algorithms.
- DiscontinuousNER
Trait - Support for discontinuous entity spans.
- Relation
Extractor Trait - Joint entity and relation extraction.
- Zero
ShotNER Trait - Zero-shot NER for open entity types.
Functions§
- backend_
tasks - Detect backend capabilities via trait inspection.
- dataset_
tasks - Tasks that a dataset supports for evaluation.
- detect_
backend_ capabilities - Runtime capability detection for a backend instance.
- detect_
backend_ capabilities_ by_ name - Capability detection using backend name (fallback when type_id isn’t available).
- get_
dataset_ tasks - Get all tasks that a dataset supports.
- get_
task_ backends - Get all backends that support a task.
- get_
task_ datasets - Get all datasets suitable for a task.
- task_
datasets - Mapping from tasks to suitable datasets.