/ Модель

Характеристики

Контекст
514 токенов
Параметры
659 млн
Лицензия
CC BY 4.0
Архитектура
xlm-roberta · dense
Базовая модель
multilingual-e5-large-instruct
Библиотека
sentence-transformers
Опубликована
11 авг 2024

multiling-e5-large-instruct-claim-matching

ЭмбеддингиТекст → embedding6 профессий

Многоязычная модель эмбеддингов для поиска семантически совпадающих утверждений, в частности при автоматической проверке фактов.

114скачиваний за 30 дней0лайковвеса обновлены17 авг 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Sami92/multiling-e5-large-instruct-claim-matching — модель Sentence Transformers, дообученная на базе intfloat/multilingual-e5-large-instruct для поиска семантически одинаковых утверждений. Она кодирует предложения и абзацы в нормализованные плотные векторы размерностью 1024; сходство между текстами оценивается косинусной мерой. Основа архитектуры — XLM-RoBERTa, максимальная длина последовательности составляет 512 токенов.

Модель предназначена для сопоставления утверждений в автоматической проверке фактов: например, чтобы находить копии публикаций с дезинформацией или ранее проверенные утверждения. Обучающие данные содержат 51 106 пар текстов из Telegram-каналов, а разметка соответствия создавалась с помощью GPT-4o. В README сообщается о высокой точности классификации по порогу сходства, но F1 зависит от выбранного порога; для минимизации ложноположительных совпадений рекомендуется порог выше 0,91.

Модель принимает текст и возвращает векторы, пригодные для сравнения и поиска ближайших утверждений. Она дообучена на данных из немецкоязычных Telegram-каналов; перенос на другие языки и источники может потребовать проверки. Лицензия — CC BY 4.0.

Сценарии применения

  • поиск похожих утверждений в публикациях Telegram
  • выявление копий утверждений о дезинформации
  • поиск ранее проверенных утверждений для фактчекинга
  • ранжирование текстов по семантическому сходству
  • поиск близких предложений и абзацев в коллекции

Ограничения

Обучение и оценка проводились на данных Telegram из каналов, связанных с немецкими фактчекинговыми организациями, поэтому качество на других источниках и языках требует отдельной проверки. Выбор порога сходства влияет на баланс точности и полноты; разметка обучающих пар создавалась автоматически с помощью GPT-4o.

Для каких профессий подходит6

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

SentenceTransformer based on intfloat/multilingual-e5-large-instruct

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-large-instruct. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for claim matching. Claim matching is the task of finding semantically identical texts for a given query-text. It finds application in the context of automated fact-checking for which it is important to identify copies of the same (misinformation) claim or previously checked claims.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: intfloat/multilingual-e5-large-instruct
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

def embed_query(texts:list, model):
    return model.encode(sentences=texts, 
                prompt="Instruct: Retrieve semantically similar text.\nQuery: ",
                batch_size=32,
                show_progress_bar=True,
                normalize_embeddings=False,
                convert_to_numpy=True,
                device="cuda")
def embed_documents(texts:list, model):
    return model.encode(sentences=texts, 
                batch_size=1024,
                show_progress_bar=True,
                normalize_embeddings=False,
                convert_to_numpy=True,
                device="cuda")

# Download from the 🤗 Hub
model = SentenceTransformer("Sami92/multiling-e5-large-instruct-claim-matching")
# Run inference

queries = ['Die Pentagon-Mitarbeiter wechseln zum Überstundenmodus Internetnutzer stellten fest, dass es in der Gegend, in der sich die Abteilung befindet, einen starken Anstieg der Bestellungen für Pizzalieferungen gab und gleichzeitig die örtlichen Bars leer waren. Zuletzt geschah dies im April, kurz vor und nach dem iranischen Angriff auf Israel. Dann bemerkte The Sun die hohe Auslastung der Pizzerien von Papa Johns mit Bestellungen vom Pentagon. Unsere Website <URL> Unser Kanal auf Englisch <URL>',]
documents = [
    'Erinnern Sie sich an meinen Beitrag von vorhin über die massiven Cyberausfälle. Verbinden Sie das alles mit dem, was wir seit „Shot Heard Round the World“ am Samstag gesagt haben. BQQM BQQM BQQM BQQM 1776 1776 BRICS',
    'Heute sind offensichtlich ältere Flugzeuge am Himmel die entweder Turbinen Probleme haben oder schon elektrisch Fliegen... Die ganzen Lügen sind sooo offensichtlich das es schon weh tut sie bewusst zu ignorieren bzw nicht zu erkennen... Ihr wollt die Wahrheit <URL>',
]
query_embeddings = embed_documents(texts=queries, model=model)
doc_embeddings = embed_query(texts=documents, model=model)

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, doc_embeddings)

Evaluation

Metrics

Binary Classification

MetricValue
cosine_accuracy0.9758
cosine_accuracy_threshold0.9067
cosine_f10.4887
cosine_f1_threshold0.9035
cosine_precision0.6736
cosine_recall0.3834
cosine_ap0.5012
dot_accuracy0.9758
dot_accuracy_threshold0.9067
dot_f10.4887
dot_f1_threshold0.9035
dot_precision0.6736
dot_recall0.3834
dot_ap0.5012
manhattan_accuracy0.975
manhattan_accuracy_threshold11.0116
manhattan_f10.4921
manhattan_f1_threshold11.2187
manhattan_precision0.6563
manhattan_recall0.3936
manhattan_ap0.4936
euclidean_accuracy0.9758
euclidean_accuracy_threshold0.432
euclidean_f10.4887
euclidean_f1_threshold0.4394
euclidean_precision0.6736
euclidean_recall0.3834
euclidean_ap0.5012
max_accuracy0.9758
max_accuracy_threshold11.0116
max_f10.4921
max_f1_threshold11.2187
max_precision0.6736
max_recall0.3936
max_ap0.5012

The following figure depicts f1, recall, and precision on the test data for different thresholds.

The following figure depicts how well matches and mismatches in the test data are separated by the model. For results with a minimum of false positives, a threshold higher than 0.91 is recommended. For the optimal F1 score, the right treshold is 0.9050.

Training Details

Training Dataset

The model was trained on a weakly annotated dataset. The data was taken from Telegram. More specifically from a set of about 200 channels that have been subject to a fact-check from either Correctiv, dpa, Faktenfuchs or AFP.

Weak annotation was performed using GPT-4o. The model was prompted to find semantically identical posts using this prompt. For non-matches the cosine similarity was reduced by 1.2 for training and for matches it was frozen to 0.98.

Unnamed Dataset

  • Size: 51,106 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 41 tokensmean: 154.84 tokensmax: 322 tokensmin: 32 tokensmean: 133.5 tokensmax: 339 tokensmin: -1.65mean: nanmax: 1.0
  • Samples:
    sentence1sentence2score
    Instruct: Retrieve semantically similar text.Query: AfD-Chefin Weidel verurteilt Verbot von COMPACT-Magazin NICHT (!) Was ist das für eine Stellungnahme? Der Angriff auf COMPACT ist ein Frontalangriff auf die Presse- und Meinungsfreiheit in diesem Land. Und muss entschieden verurteilt werden. Doch ausgerechnet AfD-Frontfrau Alice Weidel kommt mit einer handzahmen Alibi-Erklärung daher, spricht von einem „unguten Zeichen“ und will „kritisch begleiten“. Was es jetzt von der Bundestags-AfD braucht, ist parlamentarischer Druck, z.B. mit einer Sondersitzung des Innenausschusses. Faeser muss sich dafür verantworten, COMPACT verboten zu haben. Und dafür braucht es keine Alibi-Erklärungen, sondern knallharte Offensive. Schließlich plakatiert die AfD - ebenso, wie es der COMPACT-Leitspruch war - "Mut zur Wahrheit." Und nicht "Wir kuschen vor Faeser und Haldenwang". Übrigens: Björn Höcke hat das Verbot mit deutlichen Worten scharf verurteilt und geht zum Gegenangriff über. Dieser Mann hat es verstanden. FREIE SACHSEN: Folgt uns! Paul Klemm: „COMPACT-Verbot ist Anschlag auf den gesamten Widerstand“ Die Journalisten des Compact Magazins betrachten das Verbot ihrer Zeitschrift nicht nur als Attacke gegen sich selbst. Im Gegenteil: Nancy Faeser ziele mit ihrem Versuch auf die gesamte Systemopposition in Deutschland. Das sagt jedenfalls der bisherige TV-Chef von Compact, Paul Klemm, gegenüber AUF1. Die AUF1-Sondersendung „Tag 2 COMPACT-Verbot: So kann es jeden treffen!“ von gestern sehen Sie hier: -1.518102343739742
    Instruct: Retrieve semantically similar text.Query: vier Monate vor der allerersten Impfung RKI-Protokoll vom 17. August 2020 - mehr als 4 Monate bevor die erste Impfdosis gespritzt wurde "...wichtiger offener Punkt" RKI-LEAK Pressekonferenz 23.07.2024 🫵 Möge die gesamte Republik mit dem Finger auf Regierungs-Journalisten zeigen! ‼ Karl Lauterbach hat geringes Risiko von Covid absichtlich vor Impfpflicht-Abstimmung nicht kommuniziert Zwei Tage nach erstem Lockdown konnte man Massnahmen schon nicht mehr begründen Komplette Pressekonferenz Österreich: ÖRR berichtet über RKI-Files! "Die Pandemie der Ungeimpften" - Österreich Edition RKI-Files zum Download: Server 1 / Server 2 / Server 3 / Server 4 / Server 5 / Server 6 Danke Bernd Reiser auf telegram auf substack auf youtube auf odyssee auf Twitter .‼ Corona: Nächste Impf-Lüge von Lauterbach aufgedeckt Gegen den Rat des Robert-Koch-Institutes (RKI) hat Bundesgesundheitsminister Karl Lauterbach (SPD) die Deutschen über die Wirkung der Corona-Impfung in Bezug auf Long Covid belogen. Wie aus den jetzt von der Journalistin Aya Velázquez veröffentlichten E-Mails des RKI hervorgeht, hatte der Experten-Rat keine verläßliche Wirkung der Vakzine gegen Long Covid erkannt. Vielmehr hatte er auf Bitten Lauterbachs, diese These wissenschaftlich zu untermauern, im Juli ausdrücklich davon abgeraten, eine solche Behauptung aufzustellen. Zunächst hieß es noch zurückhaltend, aber eindeutig, »die Evidenzlage ist bislang nicht klar«. Link zum Artikel0.998
    Instruct: Retrieve semantically similar text.Query: "Kommunen und Sozialverbände fordern Hilfen für Hitzeschutz Hitzewellen werden durch den Klimawandel immer wahrscheinlicher. Kommunen müssen sich deshalb besser gegen extreme Temperaturen schützen. Es fehlt aber das Geld dafür." ------- Es fehlt mittlerweile das Geld für Hitzeschutz... QuelleHeute in Großweitzschen: Die Zukunft unserer Kinder sollte nicht von einer wirtschaftlichen Entwicklung abhängig sein. Die Gemeindeverwaltung Großweitzschen planen die Kindertagesstätte ,,Wirbelwind"in Westewitz zu schließen. Wir müssen die kleinen Dorf-Kitas erhalten. Daher braucht es mehr Flexibilität im starren Kita-System und Geld vom Land, um die Dorf-Kitas zu erhalten. So entlasten wir unsere Gemeinden und schaffen es, dass junge Familien aufs Land ziehen. Mehr Infos gibt es auch hier: Kommt alle heute, den 16.07.2024 in den Versammlungsraum Gallschütz Nr. 13! Gemeinsam versuchen wir diese Entscheidung abzuwenden. Folgt uns bei Telegram, denn wir vernetzen und informieren den Widerstand! Hier geht's zum Kanal: ₂, ! Übersicht Termine einsenden Ländergruppen Alle Spazis Der Kanal, der den Regierenden und Mitmach-Tätern Beine macht !-0.5582272769313432
  • Loss: AnglELoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_angle_sim"
    }
    

Evaluation Dataset

Evaluation was performed on a dataset from the same Telegram channels as the training data. Again, GPT-4o was used to identify matching claims. However, for the test data, trained annotators validated the results and mismatches that were classified as matches by GPT-4o were removed. A ratio of 1:30 was chosen. In other words, for 1 match there are 30 mismatches. This is supposed to reflect a realistic scenario in which there are much more posts that are not identical to a query-post.

Manually checked Telegram Dataset

  • Size: 18,355 evaluation samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2label
    typestringstringint
    detailsmin: 41 tokensmean: 129.21 tokensmax: 391 tokensmin: 30 tokensmean: 123.46 tokensmax: 379 tokens0: ~96.50%1: ~3.50%
  • Samples:
    sentence1sentence2label
    Instruct: Retrieve semantically similar text.Query: Дорогие подписчики и гости канала! У человека назначенного президентом России и похожего на Владимира Путина обострилось хроническое заболевание почек. В связи с этим под угрозой планы проведения и посещения "Путиным" мероприятий, и совещаний в ближайшие дни.Ядерную дубину попова показали на канале Россия 1 Качественная графика , современный дизайн. Да и попов внушительно устрашающий . Подпишись сегодня и узнаешь, что будет завтра В ЧАТ СЮДА🪓0
    Instruct: Retrieve semantically similar text.Query: An alle Maskenbefürworter Schaut Euch dieses Video an, und entscheidet selbst wie Ihr mit Eurer Gesundheit umgehen wollt ! Hier wird die CO2 Konzentration unter der Maske gemessen. Das mit den Masken, sozusagen wie einfach es ist Double hinzustellen und die Leute zu verarschen, zu belügen und zu betrügen, zeigte uns schon Stefan Raab. Wahrheit macht frei und Freiheit macht wahr Denk selbst und informiere Dich0
    Instruct: Retrieve semantically similar text.Query: Elementares Bor in flüssiger und ionischer Form ~ hochdosiert mit 3 mg~ Elementares Bor enthält konzentrierte Mineraltropfen (CMD), ein besonderes Meerwasserkonzentrat mit vollem Spektrum an Mineralstoffen und Spurenelementen. Fast vollständig von Natrium befreit, wird es durch Sonnenenergie natürlich konzentriert und mit zusätzlichem Bor in Form von Natriumborat ergänzt. leicht resorbierbar durch die gelöste, ionische Form Meerwasserkonzentrat aus dem Großen Salzsee in Utah, Vereinigte Staaten ideal dosierbar mit Opti-Dose-Tropfer Besonderheiten des Herstellers Vitals: erfüllt höchste Qualitätsanforderungen (ISO 22000) verwendet hochwertige Rohstoffe Nahrungsergänzungsmittel seit 1988 Die bio-apo lebt die ganzheitliche Philosophie schon seit über 25 Jahren. Elementares Bor empfehle ich dir hier Mit dem Code "vital15" schenken wir dir 15% Rabatt.Beitrag zu 10 : 05 Ich esse sehr viele Früchte und Zucker , wie meine Grosseltern auch getan haben . Trotzdem hatte Niemand von uns Diabetes . Meine Schwester ist allergisch auf Fruchtzucker und isst auch sonst selten Süsses . Trotzdem hat sie Probleme mit zu hohen Zuckerwerten ! Impfungen und Fertignahrung sind die Hauptursache . Denkt immer daran , dass wir in jedem Bereich angelogen werden . Vitamine wurden auch nie isoliert und diese "Vitaminpräparate" sind Chemie und sehr schädlich , was sich erst Jahre später bemerkbar macht . Übrigens war die Pharmalobby , die schrieb , dass zu wenig Vitamine in Früchte und Gemüse enthalten sei . Damit "Vitaminmittel" überhaupt verkauft werden , muss man ja ein Mangel haben .0
  • Loss: AnglELoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_angle_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 8
  • learning_rate: 2e-05
  • num_train_epochs: 2
  • warmup_ratio: 0.1
  • fp16: True
  • push_to_hub: True
  • hub_model_id: Sami92/multiling-e5-large-instruct-claim-matching
  • push_to_hub_model_id: multiling-e5-large-instruct-claim-matching

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 8
  • eval_accumulation_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 2
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: True
  • resume_from_checkpoint: None
  • hub_model_id: Sami92/multiling-e5-large-instruct-claim-matching
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: multiling-e5-large-instruct-claim-matching
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining LosslossFineTuned_8_max_ap
00--0.4155
0.12521003.19110.36980.4095
0.25042003.02850.37000.4180
0.37563002.98790.36230.3774
0.50094002.99070.36410.4271
0.62615002.96320.34410.4599
0.75136002.92070.33230.4447
0.87657002.90430.32710.5012

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.3.1+cu121
  • Accelerate: 0.32.0
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

AnglELoss

@misc{li2023angleoptimized,
    title={AnglE-optimized Text Embeddings}, 
    author={Xianming Li and Jing Li},
    year={2023},
    eprint={2309.12871},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
506bc27

0 моделей