|
""" |
|
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 |
|
|