Downloads · 30 days
108
3% of all-time downloads
Sami92/multiling-e5-large-instruct-claim-matching
multiling-e5-large-instruct-claim-matching is a sentence similarity model from Sami92. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as cc-by-4.0.
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…
Downloads · 30 days
108
3% of all-time downloads
All-time downloads
4K
Public
Parameters
560M
2.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.2 GB · 99%
From the Hugging Face model README
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.
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()
)
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)
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
| Metric | Value |
|---|---|
| cosine_accuracy | 0.9758 |
| cosine_accuracy_threshold | 0.9067 |
| cosine_f1 | 0.4887 |
| cosine_f1_threshold | 0.9035 |
| cosine_precision | 0.6736 |
| cosine_recall | 0.3834 |
| cosine_ap | 0.5012 |
| dot_accuracy | 0.9758 |
| dot_accuracy_threshold | 0.9067 |
| dot_f1 | 0.4887 |
| dot_f1_threshold | 0.9035 |
| dot_precision | 0.6736 |
| dot_recall | 0.3834 |
| dot_ap | 0.5012 |
| manhattan_accuracy | 0.975 |
| manhattan_accuracy_threshold | 11.0116 |
| manhattan_f1 | 0.4921 |
| manhattan_f1_threshold | 11.2187 |
| manhattan_precision | 0.6563 |
| manhattan_recall | 0.3936 |
| manhattan_ap | 0.4936 |
| euclidean_accuracy | 0.9758 |
| euclidean_accuracy_threshold | 0.432 |
| euclidean_f1 | 0.4887 |
| euclidean_f1_threshold | 0.4394 |
| euclidean_precision | 0.6736 |
| euclidean_recall | 0.3834 |
| euclidean_ap | 0.5012 |
| max_accuracy | 0.9758 |
| max_accuracy_threshold | 11.0116 |
| max_f1 | 0.4921 |
| max_f1_threshold | 11.2187 |
| max_precision | 0.6736 |
| max_recall | 0.3936 |
| max_ap | 0.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.

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.
| sentence1 | sentence2 | score | |
|---|---|---|---|
| type | string | string | float |
| details | <ul><li>min: 41 tokens</li><li>mean: 154.84 tokens</li><li>max: 322 tokens</li></ul> | <ul><li>min: 32 tokens</li><li>mean: 133.5 tokens</li><li>max: 339 tokens</li></ul> | <ul><li>min: -1.65</li><li>mean: nan</li><li>max: 1.0</li></ul> |
| sentence1 | sentence2 | score |
|---|---|---|
| <code>Instruct: Retrieve semantically similar text.<br>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! <URL></code> | <code>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: <URL></code> | <code>-1.518102343739742</code> |
| <code>Instruct: Retrieve semantically similar text.<br>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 .</code> | <code>‼ 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 Artikel</code> | <code>0.998</code> |
| <code>Instruct: Retrieve semantically similar text.<br>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... Quelle</code> | <code>Heute 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: <URL> 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: <URL> ₂, ! Übersicht Termine einsenden Ländergruppen Alle Spazis Der Kanal, der den Regierenden und Mitmach-Tätern Beine macht !</code> | <code>-0.5582272769313432</code> |
{
"scale": 20.0,
"similarity_fct": "pairwise_angle_sim"
}
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.
| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | int |
| details | <ul><li>min: 41 tokens</li><li>mean: 129.21 tokens</li><li>max: 391 tokens</li></ul> | <ul><li>min: 30 tokens</li><li>mean: 123.46 tokens</li><li>max: 379 tokens</li></ul> | <ul><li>0: ~96.50%</li><li>1: ~3.50%</li></ul> |
| sentence1 | sentence2 | label |
|---|---|---|
| <code>Instruct: Retrieve semantically similar text.<br>Query: Дорогие подписчики и гости канала! У человека назначенного президентом России и похожего на Владимира Путина обострилось хроническое заболевание почек. В связи с этим под угрозой планы проведения и посещения "Путиным" мероприятий, и совещаний в ближайшие дни.</code> | <code>Ядерную дубину попова показали на канале Россия 1 Качественная графика , современный дизайн. Да и попов внушительно устрашающий . Подпишись сегодня и узнаешь, что будет завтра В ЧАТ СЮДА🪓</code> | <code>0</code> |
| <code>Instruct: Retrieve semantically similar text.<br>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. <URL></code> | <code>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 <URL> Denk selbst und informiere Dich</code> | <code>0</code> |
| <code>Instruct: Retrieve semantically similar text.<br>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.</code> | <code>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 .</code> | <code>0</code> |
{
"scale": 20.0,
"similarity_fct": "pairwise_angle_sim"
}
eval_strategy: stepsper_device_eval_batch_size: 16gradient_accumulation_steps: 8learning_rate: 2e-05num_train_epochs: 2warmup_ratio: 0.1fp16: Truepush_to_hub: Truehub_model_id: Sami92/multiling-e5-large-instruct-claim-matchingpush_to_hub_model_id: multiling-e5-large-instruct-claim-matchingoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 8eval_accumulation_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 2max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Trueresume_from_checkpoint: Nonehub_model_id: Sami92/multiling-e5-large-instruct-claim-matchinghub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: multiling-e5-large-instruct-claim-matchingpush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | loss | FineTuned_8_max_ap |
|---|---|---|---|---|
| 0 | 0 | - | - | 0.4155 |
| 0.1252 | 100 | 3.1911 | 0.3698 | 0.4095 |
| 0.2504 | 200 | 3.0285 | 0.3700 | 0.4180 |
| 0.3756 | 300 | 2.9879 | 0.3623 | 0.3774 |
| 0.5009 | 400 | 2.9907 | 0.3641 | 0.4271 |
| 0.6261 | 500 | 2.9632 | 0.3441 | 0.4599 |
| 0.7513 | 600 | 2.9207 | 0.3323 | 0.4447 |
| 0.8765 | 700 | 2.9043 | 0.3271 | 0.5012 |
@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",
}
@misc{li2023angleoptimized,
title={AnglE-optimized Text Embeddings},
author={Xianming Li and Jing Li},
year={2023},
eprint={2309.12871},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->