from abc import ABC, abstractmethod from typing import Any, List, Tuple class InputParser(ABC): @abstractmethod def parse(self, content: str) -> Tuple[str, List[Tuple[int, int, Any]]]: """Parse input string into text and annotations. Annotations are returned as a dictionary with channel name as a key and list of tuples. Eg.: "She has a cat" -> ("She has a cat", {"entities": [(0, 3, "She"), (8, 11, "cat")]}) Args: content (str): Input in raw form. Returns: Tuple[str, Dict[str, List[Tuple[int, int, Any]]]]: Text and annotations. """