| """ |
| Source: https://github.com/ZurichNLP/recognizing-semantic-differences |
| MIT License |
| Copyright (c) 2023 University of Zurich |
| """ |
|
|
| from typing import List |
|
|
| from tqdm import tqdm |
|
|
| from recognizers.utils import DifferenceSample |
|
|
|
|
| class DifferenceRecognizer: |
|
|
| def __str__(self): |
| raise NotImplemented |
|
|
| def predict(self, |
| a: str, |
| b: str, |
| **kwargs, |
| ) -> DifferenceSample: |
| raise NotImplemented |
|
|
| def predict_all(self, |
| a: List[str], |
| b: List[str], |
| **kwargs, |
| ) -> List[DifferenceSample]: |
| assert len(a) == len(b) |
| predictions = [] |
| for i in tqdm(list(range(len(a)))): |
| prediction = self.predict(a[i], b[i], **kwargs) |
| predictions.append(prediction) |
| return predictions |
|
|