def summary(
        self,
        normalize_by_coverage: bool = False,
        annotation: Optional[np.ndarray] = None,
    ) -> pd.DataFrame:
        """Returns a summary statistics for each rule:

        Args:
            normalize_by_coverage: Normalize the overlaps and conflicts by the respective coverage.
            annotation: An optional array holding the annotations.
                By default, we will use ``self.annotation(include_missing=True)``.

        Returns:
            The summary statistics for each rule in a pandas DataFrame.
        """
        raise NotImplementedError
Returns a summary statistics for each rule:

        Args:
            normalize_by_coverage: Normalize the overlaps and conflicts by the respective coverage.
            annotation: An optional array holding the annotations.
                By default, we will use ``self.annotation(include_missing=True)``.

        Returns:
            The summary statistics for each rule in a pandas DataFrame.
        
argilla-v1/src/argilla_v1/labeling/text_classification/weak_labels.py