language:
- de
tags:
- summarization
- arxiv:2005.00661
- arxiv:2111.09525
- arxiv:2112.08542
- arxiv:2104.04302
- arxiv:2109.09209
license: mit
metrics:
- rouge
widget:
- src: >-
Als Reaktion auf die Brandserie wurde am Mittwoch bei der Kriminalpolizei
Würzburg eine Ermittlungskommission eingerichtet. Ich habe den Eindruck,
der Brandstifter wird dreister, kommentiert Rosalinde Schraud, die
Bürgermeisterin von Estenfeld, die Brandserie. Gerade die letzten beiden
Brandstiftungen seien ungewöhnlich gewesen, da sie mitten am Tag und an
frequentierten Straßen stattgefunden haben.Kommt der Brandstifter aus
Estenfeld?Norbert Walz ist das letzte Opfer des Brandstifters von
Estenfeld. Ein Unbekannter hat am Dienstagnachmittag sein Gartenhaus
angezündet.Was da in seinem Kopf herumgeht, was da passiert – das ist ja
unglaublich! Das kann schon jemand aus dem Ort sein, weil sich derjenige
auskennt.Norbert Walz aus Estenfeld.Dass es sich beim Brandstifter wohl um
einen Bürger ihrer Gemeinde handele, will die erste Bürgermeisterin von
Estenfeld, Rosalinde Schraud, nicht bestätigen: In der Bevölkerung gibt es
natürlich Spekulationen, an denen ich mich aber nicht beteiligen will.
Laut Schraud reagiert die Bürgerschaft mit vermehrter Aufmerksamkeit auf
die Brände: Man guckt mehr in die Nachbarschaft. Aufhören wird die
Brandserie wohl nicht, solange der Täter nicht gefasst wird.Es wäre nicht
ungewöhnlich, dass der Täter aus der Umgebung von Estenfeld stammt. Wir
bitten deshalb Zeugen, die sachdienliche Hinweise sowohl zu den Bränden
geben können, sich mit unserer Kriminalpolizei in Verbindung zu
setzen.Philipp Hümmer, Sprecher des Polizeipräsidiums UnterfrankenFür
Hinweise, die zur Ergreifung des Täters führen, hat das Bayerische
Landeskriminalamt eine Belohnung von 2.000 Euro ausgesetzt.
example_title: Example article
German news title gen
This is a model for the task of news headline generation in German.
While this task is very similar to summarization, there remain differences like length, structure, and language style, which cause state-of-the-art summarization models not to be suited best for headline generation and demand further fine tuning on this task.
For this model, mT5-base by Google is used as a foundation model.
The model is still work in progress
Dataset & preprocessing
The model was finetuned on a corpus of news articles from BR24 published between 2015 and 2021. The texts are in german language and cover a range of different news topics like politics, sports, and culture, with a focus on topics that are relevant to the people living in Bavaria (Germany).
In a preprocessing step, article-headline pairs matching any of the following criteria were filtered out:
- very short articles (number of words in text lower than 3x the number of words in the headline).
- articles with headlines containing only words that are not contained in the text (lemmatized and excluding stopwords).
- articles with headlines that are just the name of a known text format (e.g. "Das war der Tag" a format summarizing the most important topics of the day)
Further the prefix summarize:
was added to all articles to make use of the pretrained summarization capabilities of mT5.
After filtering the corpus contained 89098 article-headline pairs, of which 87306 were used for training, 902 for validation, and 890 for testing.
Training
After multiple test runs of finetuning the present model was further trained using the following parameters:
- foundation-model: mT5-base
- input_prefix: "summarize: "
- num_train_epochs: 10
- learning_rate: 5e-5
- warmup_ratio: 0.3
- lr_scheduler_type: constant_with_warmup
- per_device_train_batch_size: 3
- gradient_accumulation_steps: 2
- fp16: False
Every 5000 steps a checkpoint is stored and evaluated on the validation set. After the training, the checkpoint with the best cross-entropy loss on the validation set is saved as the final model.
Usage
Because the model was fine tuned on mT5, the usage is analogous to the T5 model (see docs). Another option for using the model for inference is the huggingface summarization pipeline.
In both cases the prefix summarize:
has to be added to the input texts.
Example: Direct model evaluation
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model_id = ""
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
text = "Als Reaktion auf die Brandserie wurde am Mittwoch bei der Kriminalpolizei Würzburg eine Ermittlungskommission eingerichtet. Ich habe den Eindruck, der Brandstifter wird dreister, kommentiert Rosalinde Schraud, die Bürgermeisterin von Estenfeld, die Brandserie. Gerade die letzten beiden Brandstiftungen seien ungewöhnlich gewesen, da sie mitten am Tag und an frequentierten Straßen stattgefunden haben.Kommt der Brandstifter aus Estenfeld?Norbert Walz ist das letzte Opfer des Brandstifters von Estenfeld. Ein Unbekannter hat am Dienstagnachmittag sein Gartenhaus angezündet.Was da in seinem Kopf herumgeht, was da passiert – das ist ja unglaublich! Das kann schon jemand aus dem Ort sein, weil sich derjenige auskennt.Norbert Walz aus Estenfeld.Dass es sich beim Brandstifter wohl um einen Bürger ihrer Gemeinde handele, will die erste Bürgermeisterin von Estenfeld, Rosalinde Schraud, nicht bestätigen: In der Bevölkerung gibt es natürlich Spekulationen, an denen ich mich aber nicht beteiligen will. Laut Schraud reagiert die Bürgerschaft mit vermehrter Aufmerksamkeit auf die Brände: Man guckt mehr in die Nachbarschaft. Aufhören wird die Brandserie wohl nicht, solange der Täter nicht gefasst wird.Es wäre nicht ungewöhnlich, dass der Täter aus der Umgebung von Estenfeld stammt. Wir bitten deshalb Zeugen, die sachdienliche Hinweise sowohl zu den Bränden geben können, sich mit unserer Kriminalpolizei in Verbindung zu setzen.Philipp Hümmer, Sprecher des Polizeipräsidiums UnterfrankenFür Hinweise, die zur Ergreifung des Täters führen, hat das Bayerische Landeskriminalamt eine Belohnung von 2.000 Euro ausgesetzt."
input_text = "summarize: " + text
input_ids = tokenizer(input_text, return_tensors="pt").input_ids
outputs = model.generate(input_ids)
generated_headline = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_headline)
Example: Model evaluation using huggingface pipeline
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, pipeline
model_id = ""
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
headline_generator = pipeline(
"summarization", model=model, tokenizer=tokenizer
)
text = "Als Reaktion auf die Brandserie wurde am Mittwoch bei der Kriminalpolizei Würzburg eine Ermittlungskommission eingerichtet. Ich habe den Eindruck, der Brandstifter wird dreister, kommentiert Rosalinde Schraud, die Bürgermeisterin von Estenfeld, die Brandserie. Gerade die letzten beiden Brandstiftungen seien ungewöhnlich gewesen, da sie mitten am Tag und an frequentierten Straßen stattgefunden haben.Kommt der Brandstifter aus Estenfeld?Norbert Walz ist das letzte Opfer des Brandstifters von Estenfeld. Ein Unbekannter hat am Dienstagnachmittag sein Gartenhaus angezündet.Was da in seinem Kopf herumgeht, was da passiert – das ist ja unglaublich! Das kann schon jemand aus dem Ort sein, weil sich derjenige auskennt.Norbert Walz aus Estenfeld.Dass es sich beim Brandstifter wohl um einen Bürger ihrer Gemeinde handele, will die erste Bürgermeisterin von Estenfeld, Rosalinde Schraud, nicht bestätigen: In der Bevölkerung gibt es natürlich Spekulationen, an denen ich mich aber nicht beteiligen will. Laut Schraud reagiert die Bürgerschaft mit vermehrter Aufmerksamkeit auf die Brände: Man guckt mehr in die Nachbarschaft. Aufhören wird die Brandserie wohl nicht, solange der Täter nicht gefasst wird.Es wäre nicht ungewöhnlich, dass der Täter aus der Umgebung von Estenfeld stammt. Wir bitten deshalb Zeugen, die sachdienliche Hinweise sowohl zu den Bränden geben können, sich mit unserer Kriminalpolizei in Verbindung zu setzen.Philipp Hümmer, Sprecher des Polizeipräsidiums UnterfrankenFür Hinweise, die zur Ergreifung des Täters führen, hat das Bayerische Landeskriminalamt eine Belohnung von 2.000 Euro ausgesetzt."
input_text = "summarize: " + text
generated_headline = headline_generator(input_text)[0]["summary_text"]
print(generated_headline)
Limitations
Like most state-of-the-art summarization models this model has issues with the factuality of the generated texts [^factuality]. It is therefore strongly advised having a human fact-check the generated headlines.
An analysis of possible biases reproduced by the present model, regardless of whether they originate from our finetuning or the underlying mT5 model, is beyond the scope of this work. We assume that biases exist within the model and an analysis will be a task for future work
As the model was trained on news articles from the time range 2015-2021, further biases and factual errors could emerge due to topic shifts in news articles and changes in the (e.g. political) situation.
Evaluation
The model was evaluated on a held-out test set consisting of 890 article-headline pairs.
For each model the headlines were generated using beam search with a beam width of 5.
Quantitative
model | Rouge1 | Rouge2 | RougeL | RougeLsum |
---|---|---|---|---|
T-Systems-onsite/mt5-small-sum-de-en-v2 | 0.107 | 0.0297 | 0.098 | 0.098 |
aiautomationlab/german-news-title-gen-mt5 | 0.3131 | 0.0873 | 0.1997 | 0.1997 |
For evaluating the factuality of the generated headlines concerning the input text, we use 3 state-of-the-art metrics for summary evaluation (the parameters were chosen according to the recommendations from the respective papers or GitHub repositories):
SummaC-CZ [^summac]
Yields a score between -1 and 1, representing the difference between entailment probability and contradiction probability (-1: the headline is not entailed in text and is completely contradicted by it, 1: the headline is fully entailed in text and not contradicted by it).Parameters:
model_name
: vitc
QAFactEval [^qafacteval]
Using Lerc Quip score, which is reported to perform best in the corresponding paper. The score yields a value between 0 and 5 representing the overlap between answers based on the headline and text to questions generated from the headline (0: no overlap, 5: perfect overlap).Parameters:
use_lerc_quip
: True
DAE (dependency arc entailment) [^dae]
Yields a binary value of either 0 or 1, representing whether all dependency arcs in the headline are entailed in the text (0: at least one dependency arc is not entailed, 1: all dependency arcs are entailed).Parameters:
- model checkpoint: DAE_xsum_human_best_ckpt
model_type
: model_typemax_seq_length
: 512
Each metric is calculated for all article-headline pairs in the test set and the respective mean score over the test set is reported.
model | SummacCZ | QAFactEval | DAE |
---|---|---|---|
T-Systems-onsite/mt5-small-sum-de-en-v2 | 0.6969 | 3.3023 | 0.8292 |
aiautomationlab/german-news-title-gen-mt5 | 0.4419 | 1.9265 | 0.7438 |
It can be observed that our model scores consistently lower than the T-Systems one. Following human evaluation, it seems that to match the structure and style specific to headlines the headline generation model has to be more abstractive than a model for summarization which leads to a higher frequency of hallucinations in the generated output.
Qualitative
A qualitative evaluation conducted by members of the BR AI + Automation Lab showed that the model succeeds in producing headlines that match the language and style of news headlines, but also confirms that there are issues with the factual consistency common to state-of-the-art summarization models.
Future work
Future work on this model will focus on generating headlines with higher factual consistency regarding the text. Ideas to achieve this goal include:
- Use of coreference resolution as additional preprocessing step for making the relations within the text more explicit to the model.
- Use of contrastive learning [^contrastive_learning]
- Use of different models for different news topics, as different topics seem to be prone to different types of errors, more specialized models may be able to improve performance.
- Use of factuality metric models for reranking beam search candidates in the generation step.
- Perform analysis of biases included in the model
[^factuality]: Maynez, Joshua, Shashi Narayan, Bernd Bohnet, and Ryan McDonald. “On Faithfulness and Factuality in Abstractive Summarization.” In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 1906–19. Online: Association for Computational Linguistics, 2020. https://doi.org/10.18653/v1/2020.acl-main.173.
[^summac]: Laban, Philippe, Tobias Schnabel, Paul N. Bennett, and Marti A. Hearst. “SummaC: Re-Visiting NLI-Based Models for Inconsistency Detection in Summarization.” Transactions of the Association for Computational Linguistics 10 (February 9, 2022): 163–77. https://doi.org/10.1162/tacl_a_00453.
Code: https://github.com/tingofurro/summac
[^qafacteval]: Fabbri, Alexander R., Chien-Sheng Wu, Wenhao Liu, and Caiming Xiong. “QAFactEval: Improved QA-Based Factual Consistency Evaluation for Summarization.” arXiv, April 29, 2022. https://doi.org/10.48550/arXiv.2112.08542.
Code: https://github.com/salesforce/QAFactEval
[^dae]: Goyal, Tanya, and Greg Durrett. “Annotating and Modeling Fine-Grained Factuality in Summarization.” arXiv, April 9, 2021. http://arxiv.org/abs/2104.04302.
Code: https://github.com/tagoyal/factuality-datasets
[^contrastive_learning]: Cao, Shuyang, and Lu Wang. “CLIFF: Contrastive Learning for Improving Faithfulness and Factuality in Abstractive Summarization.” In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, 6633–49. Online and Punta Cana, Dominican Republic: Association for Computational Linguistics, 2021. https://doi.org/10.18653/v1/2021.emnlp-main.532.