def _compute_correct_incorrect(self, annotation: np.ndarray) -> Tuple[np.ndarray, np.ndarray]:
        """Helper method to compute the correctly and incorrectly predicted annotations by the rules"""
        # transform annotation to tensor
        annotation = np.repeat(annotation, len(self._rules), axis=0).reshape(self.matrix().shape)

        # correct, we don't want to count the "correct non predictions"
        correct = ((annotation == self.matrix()) & (self.matrix() == 1)).sum(2).sum(0)

        # incorrect, we don't want to count the "misses", since we focus on precision, not recall
        incorrect = ((annotation != self.matrix()) & (self.matrix() == 1) & (annotation != -1)).sum(2).sum(0)

        # add totals at the end
        return np.append(correct, correct.sum()), np.append(incorrect, incorrect.sum())
Helper method to compute the correctly and incorrectly predicted annotations by the rules
argilla-v1/src/argilla_v1/labeling/text_classification/weak_labels.py