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
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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
- Evaluated with
BinaryClassificationEvaluator
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.
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
, andscore
- Approximate statistics based on the first 1000 samples:
sentence1 sentence2 score type string string float details - min: 41 tokens
- mean: 154.84 tokens
- max: 322 tokens
- min: 32 tokens
- mean: 133.5 tokens
- max: 339 tokens
- min: -1.65
- mean: nan
- max: 1.0
- Samples:
sentence1 sentence2 score 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 Artikel
0.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
, andlabel
- Approximate statistics based on the first 1000 samples:
sentence1 sentence2 label type string string int details - min: 41 tokens
- mean: 129.21 tokens
- max: 391 tokens
- min: 30 tokens
- mean: 123.46 tokens
- max: 379 tokens
- 0: ~96.50%
- 1: ~3.50%
- Samples:
sentence1 sentence2 label 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 Dich
0
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
: 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-matching
All Hyperparameters
Click to expand
overwrite_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
Training Logs
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 |
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}
}
- Downloads last month
- 598
Model tree for Sami92/multiling-e5-large-instruct-claim-matching
Base model
intfloat/multilingual-e5-large-instructEvaluation results
- Cosine Accuracy on FineTuned 8self-reported0.976
- Cosine Accuracy Threshold on FineTuned 8self-reported0.907
- Cosine F1 on FineTuned 8self-reported0.489
- Cosine F1 Threshold on FineTuned 8self-reported0.903
- Cosine Precision on FineTuned 8self-reported0.674
- Cosine Recall on FineTuned 8self-reported0.383
- Cosine Ap on FineTuned 8self-reported0.501
- Dot Accuracy on FineTuned 8self-reported0.976
- Dot Accuracy Threshold on FineTuned 8self-reported0.907
- Dot F1 on FineTuned 8self-reported0.489