Edit model card

AlignScoreCS

A MultiTask multilingual model is developed to assess factual consistency in context-claim pairs across various Natural Language Understanding (NLU) tasks, including Summarization, Question Answering (QA), Semantic Textual Similarity (STS), Paraphrase, Fact Verification (FV), and Natural Language Inference (NLI). AlignScoreCS is fine-tuned on a vast multi-task dataset consisting of 7 million documents, encompassing these NLU tasks in both Czech and English languages. Its multilingual pre-training enables its potential utilization in various other languages. The architecture is capable of processing tasks using regression, binary classification, or ternary classification, although for evaluation purposes, we recommend employing the AlignScore function.

This work is influenced by its English counterpart AlignScore: Evaluating Factual Consistency with a Unified Alignment Function. However, we employed homogeneous batches instead of heterogeneous ones during training and utilized three distinct architectures sharing a single encoder. This setup allows for the independent use of each architecture with its classification head.

Evaluation

As in the paper AlignScore, we use their AlignScore function which chunk context into roughly 350 tokens and splits claim into sentences each context chunk is evaluated against each claim sentence and aggregated one consistency score

AlignScoreCS model is built on three XLM-RoBERTa architectures sharing one encoder

MultiTask multilingual model for assessing facticity in various NLU tasks in Czech and English language. We followed the initial paper AlignScore https://arxiv.org/abs/2305.16739. We trained a model using a shared architecture of checkpoint xlm-roberta-large xlm-roberta with three linear layers for regression, binary classification and ternary classification.

Usage

  # Assuming you copied the attached Files_and_versions/AlignScore.py file for ease of use in transformers.
  from AlignScoreCS import AlignScoreCS
  alignScoreCS = AlignScoreCS.from_pretrained("krotima1/AlignScoreCS")
  # put the model to cuda to accelerate
  print(alignScoreCS.score(context="This is context", claim="This is claim"))

Results

Training datasets

The following table shows datasets that has been utilized for training the model. We translated these english datasets to Czech using seamLessM4t.

NLP Task Dataset Training Task Context (n words) Claim (n words) Sample Count
NLI SNLI 3-way 10 13 Cs: 500k
En: 550k
MultiNLI 3-way 16 20 Cs: 393k
En: 393k
Adversarial NLI 3-way 48 54 Cs: 163k
En: 163k
DocNLI 2-way 97 285 Cs: 200k
En: 942k
Fact Verification NLI-style FEVER 3-way 48 50 Cs: 208k
En: 208k
Vitamin C 3-way 23 25 Cs: 371k
En: 371k
Paraphrase QQP 2-way 9 11 Cs: 162k
En: 364k
PAWS 2-way - 18 Cs: -
En: 707k
PAWS labeled 2-way 18 - Cs: 49k
En: -
PAWS unlabeled 2-way 18 - Cs: 487k
En: -
STS SICK reg - 10 Cs: -
En: 4k
STS Benchmark reg - 10 Cs: -
En: 6k
Free-N1 reg 18 - Cs: 20k
En: -
QA SQuAD v2 2-way 105 119 Cs: 130k
En: 130k
RACE 2-way 266 273 Cs: 200k
En: 351k
Information Retrieval MS MARCO 2-way 49 56 Cs: 200k
En: 5M
Summarization WikiHow 2-way 434 508 Cs: 157k
En: 157k
SumAug 2-way - - Cs: -
En: -
Downloads last month
0