def matrix(self, has_annotation: Optional[bool] = None) -> np.ndarray:
        """Returns the weak label matrix, or optionally just a part of it.

        Args:
            has_annotation: If True, return only the part of the matrix that has a corresponding annotation.
                If False, return only the part of the matrix that has NOT a corresponding annotation.
                By default, we return the whole weak label matrix.

        Returns:
            The weak label matrix, or optionally just a part of it.
        """
        matrix = self._matrix if self._extended_matrix is None else self._extended_matrix

        if has_annotation is True:
            return matrix[self._annotation != self._label2int[None]]
        if has_annotation is False:
            return matrix[self._annotation == self._label2int[None]]

        return matrix
Returns the weak label matrix, or optionally just a part of it.

        Args:
            has_annotation: If True, return only the part of the matrix that has a corresponding annotation.
                If False, return only the part of the matrix that has NOT a corresponding annotation.
                By default, we return the whole weak label matrix.

        Returns:
            The weak label matrix, or optionally just a part of it.
        
argilla-v1/src/argilla_v1/labeling/text_classification/weak_labels.py