В настоящее время я использую преобразователи предложений, чтобы найти сходство между двумя предложениями, и у меня есть помеченные данные либо 1, либо 0 (похожие, не похожие). После обучения моей собственной модели я могу оценить производительность модели на наборе данных разработки/тестирования, как показано ниже.
dev_samples = []
for index, row in df.iterrows():
input_example = InputExample(texts=[row['Sent_1'], row['Sent_2']], label=row['Label_0_1'])
dev_samples.append(input_example)
model = SentenceTransformer(bi_encoder_model_save_path)
dev_evaluator = BinaryClassificationEvaluator.from_input_examples(dev_samples, name = "dev_sample")
# CSV file with performance result is exported in the model folder
dev_evaluator(model, output_path=f'''{cwd}''')
В приведенном выше примере я использую BinaryClassificationEvaluator.from_input_examples(dev_samples, name = "dev_sample")
Результат сохраняется в файл csv с определенными столбцами, такими как:
Как я могу идентифицировать или извлечь неправильно классифицированные ярлыки в матрицу путаницы? Должен ли я рассчитать оценку, используя encode()
каждого входного примера, и определить, если оценка > 50, она похожа (1) и меньше, она непохожа (0)
https://www.sbert.net/docs/usage/semantic_textual_similarity.html