Skip to content
Snippets Groups Projects
interface.py 641 B
Newer Older
Michał Pogoda's avatar
Michał Pogoda committed
from typing import Dict, List, Tuple, Any
from abc import ABC, abstractmethod
class InputParser(ABC):
    @abstractmethod
    def parse(self, content: str) -> Tuple[str, List[Tuple[int, int, Any]]]:
Michał Pogoda's avatar
Michał Pogoda committed
        """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.
Michał Pogoda's avatar
Michał Pogoda committed

        Returns:
            Tuple[str, Dict[str, List[Tuple[int, int, Any]]]]: Text and annotations.
        """
        pass