veil.overlap_resolver¶
Classes
|
Resolve overlaps between spans coming from multiple detectors using priorities only. |
- class veil.overlap_resolver.OverlapResolver(config)[source]¶
Bases:
objectResolve overlaps between spans coming from multiple detectors using priorities only.
Selection order: 1) Lower numeric priority value first (0 is highest), per canonical entity type and detector 2) Earlier hierarchy position (smaller number wins), when provided 3) Only spans of the SAME canonical entity type are considered conflicting. Cross-type overlaps are allowed. 4) If a conflict remains after (1) and (2) for the same type, break ties deterministically by:
higher confidence first; then longer span; then earlier start; otherwise keep the existing selection
- Parameters:
config (OverlapResolverConfig)
- resolve(*, component_keys_in_order, component_to_spans, component_to_priority, component_to_hierarchy=None)[source]¶
- Parameters:
component_keys_in_order (List[str])
component_to_spans (Dict[str, List[Span]])
component_to_priority (Dict[str, Dict[str, int]])
component_to_hierarchy (Dict[str, int] | None)
- Return type:
List[Span]