CoolFace
Modelpublic

classla/multilingual-IPTC-news-topic-classifier

sourceHugging Facecc-by-sa-4.0updated 10mo agoView on Hugging Face
21likes17kdownloads
Model Card

Multilingual IPTC Media Topic Classifier

News topic classification model based on `xlm-roberta-large` and fine-tuned on a news corpus in 4 languages (Croatian, Slovenian, Catalan and Greek), annotated with the top-level IPTC Media Topic NewsCodes labels. The development and evaluation of the model is described in the paper LLM Teacher-Student Framework for Text Classification With No Manually Annotated Data: A Case Study in IPTC News Topic Classification (Kuzman and Ljubešić, 2025).

The model can be used for classification into topic labels from the IPTC NewsCodes schema and can be applied to any news text in a language, supported by the xlm-roberta-large.

Based on a manually-annotated test set (in Croatian, Slovenian, Catalan and Greek), the model achieves macro-F1 score of 0.746, micro-F1 score of 0.734, and accuracy of 0.734, and outperforms the GPT-4o model (version gpt-4o-2024-05-13) used in a zero-shot setting. If we use only labels that are predicted with a confidence score equal or higher than 0.90, the model achieves micro-F1 and macro-F1 of 0.80.

Intended use and limitations

For reliable results, the classifier should be applied to documents of sufficient length (the rule of thumb is at least 75 words).

Use example:

python
from transformers import pipeline

# Load a multi-class classification pipeline - if the model runs on CPU, comment out "device"
classifier = pipeline("text-classification", model="classla/multilingual-IPTC-news-topic-classifier", device=0, max_length=512, truncation=True)

# Example texts to classify
texts = [
    """Slovenian handball team makes it to Paris Olympics semifinal Lille, 8 August - Slovenia defeated Norway 33:28 in the Olympic men's handball tournament in Lille late on Wednesday to advance to the semifinal where they will face Denmark on Friday evening. This is the best result the team has so far achieved at the Olympic Games and one of the best performances in the history of Slovenia's team sports squads.""",
	"""Moment dog sparks house fire after chewing power bank An indoor monitoring camera shows the moment a dog unintentionally caused a house fire after chewing on a portable lithium-ion battery power bank. In the video released by Tulsa Fire Department in Oklahoma, two dogs and a cat can be seen in the living room before a spark started the fire that spread within minutes. Tulsa Fire Department public information officer Andy Little said the pets escaped through a dog door, and according to local media the family was also evacuated safely. "Had there not been a dog door, they very well could have passed away," he told CBS affiliate KOTV."""]

# Classify the texts
results = classifier(texts)

# Output the results
for result in results:
    print(result)

## Output
## {'label': 'sport', 'score': 0.9985264539718628}
## {'label': 'disaster, accident and emergency incident', 'score': 0.9957459568977356}

The code for massive corpora annotation with topic labels is available here.

IPTC Media Topic categories

The classifier uses the top-level of the IPTC Media Topic NewsCodes schema, consisting of 17 labels.

List of labels

labels_list=['education', 'human interest', 'society', 'sport', 'crime, law and justice',
'disaster, accident and emergency incident', 'arts, culture, entertainment and media', 'politics',
'economy, business and finance', 'lifestyle and leisure', 'science and technology',
'health', 'labour', 'religion', 'weather', 'environment', 'conflict, war and peace'],

labels_map={0: 'education', 1: 'human interest', 2: 'society', 3: 'sport', 4: 'crime, law and justice',
5: 'disaster, accident and emergency incident', 6: 'arts, culture, entertainment and media',
7: 'politics', 8: 'economy, business and finance', 9: 'lifestyle and leisure', 10: 'science and technology',
11: 'health', 12: 'labour', 13: 'religion', 14: 'weather', 15: 'environment', 16: 'conflict, war and peace'}

Description of labels

The descriptions of the labels are based on the descriptions provided in the IPTC Media Topic NewsCodes schema and enriched with information which specific subtopics belong to the top-level topics, based on the IPTC Media Topic label hierarchy.

LabelDescription
disaster, accident and emergency incidentMan-made or natural events resulting in injuries, death or damage, e.g., explosions, transport accidents, famine, drowning, natural disasters, emergency planning and response.
human interestNews about life and behavior of royalty and celebrities, news about obtaining awards, ceremonies (graduation, wedding, funeral, celebration of launching something), birthdays and anniversaries, and news about silly or stupid human errors.
politicsNews about local, regional, national and international exercise of power, including news about election, fundamental rights, government, non-governmental organisations, political crises, non-violent international relations, public employees, government policies.
educationAll aspects of furthering knowledge, formally or informally, including news about schools, curricula, grading, remote learning, teachers and students.
crime, law and justiceNews about committed crime and illegal activities, the system of courts, law and law enforcement (e.g., judges, lawyers, trials, punishments of offenders).
economy, business and financeNews about companies, products and services, any kind of industries, national economy, international trading, banks, (crypto)currency, business and trade societies, economic trends and indicators (inflation, employment statistics, GDP, mortgages, ...), international economic institutions, utilities (electricity, heating, waste management, water supply).
conflict, war and peaceNews about terrorism, wars, wars victims, cyber warfare, civil unrest (demonstrations, riots, rebellions), peace talks and other peace activities.
arts, culture, entertainment and mediaNews about cinema, dance, fashion, hairstyle, jewellery, festivals, literature, music, theatre, TV shows, painting, photography, woodworking, art exhibitions, libraries and museums, language, cultural heritage, news media, radio and television, social media, influencers, and disinformation.
labourNews about employment, employment legislation, employees and employers, commuting, parental leave, volunteering, wages, social security, labour market, retirement, unemployment, unions.
weatherNews about weather forecasts, weather phenomena and weather warning.
religionNews about religions, cults, religious conflicts, relations between religion and government, churches, religious holidays and festivals, religious leaders and rituals, and religious texts.
societyNews about social interactions (e.g., networking), demographic analyses, population census, discrimination, efforts for inclusion and equity, emigration and immigration, communities of people and minorities (LGBTQ, older people, children, indigenous people, etc.), homelessness, poverty, societal problems (addictions, bullying), ethical issues (suicide, euthanasia, sexual behavior) and social services and charity, relationships (dating, divorce, marriage), family (family planning, adoption, abortion, contraception, pregnancy, parenting).
healthNews about diseases, injuries, mental health problems, health treatments, diets, vaccines, drugs, government health care, hospitals, medical staff, health insurance.
environmentNews about climate change, energy saving, sustainability, pollution, population growth, natural resources, forests, mountains, bodies of water, ecosystem, animals, flowers and plants.
lifestyle and leisureNews about hobbies, clubs and societies, games, lottery, enthusiasm about food or drinks, car/motorcycle lovers, public holidays, leisure venues (amusement parks, cafes, bars, restaurants, etc.), exercise and fitness, outdoor recreational activities (e.g., fishing, hunting), travel and tourism, mental well-being, parties, maintaining and decorating house and garden.
science and technologyNews about natural sciences and social sciences, mathematics, technology and engineering, scientific institutions, scientific research, scientific publications and innovation.
sportNews about sports that can be executed in competitions, e.g., basketball, football, swimming, athletics, chess, dog racing, diving, golf, gymnastics, martial arts, climbing, etc.; sport achievements, sport events, sport organisation, sport venues (stadiums, gymnasiums, ...), referees, coaches, sport clubs, drug use in sport.

Training data

The model was fine-tuned on the training split of the EMMediaTopic 1.0 dataset consisting of 15,000 news in four languages (Croatian, Slovenian, Catalan and Greek). The news texts were extracted from the MaCoCu-Genre web corpora based on the "News" genre label, predicted with the X-GENRE classifier. The training dataset was automatically annotated with the IPTC Media Topic labels by the GPT-4o model (yielding 0.72 micro-F1 and 0.73 macro-F1 on the test dataset).

The code for the development and evaluation of the model is available on this GitHub repository.

Label distribution in the training dataset:

labelscountproportion
sport23000.153333
arts, culture, entertainment and media21170.141133
politics20180.134533
economy, business and finance16700.111333
human interest11520.0768
education9900.066
crime, law and justice8840.0589333
health6750.045
disaster, accident and emergency incident6100.0406667
society4810.0320667
environment4720.0314667
lifestyle and leisure3460.0230667
science and technology3400.0226667
conflict, war and peace3110.0207333
labour2880.0192
religion2580.0172
weather880.00586667

Performance

The model was evaluated on a manually-annotated test set in four languages (Croatian, Slovenian, Catalan and Greek), consisting of 1,129 instances. The test set contains similar amounts of texts from the four languages and is more or less balanced across labels.

The model was shown to achieve micro-F1 score of 0.734, and macro-F1 score of 0.746. The results for the entire test set and per language:

Micro-F1Macro-F1AccuracyNo. of instances
All (combined)0.7342780.7458640.7342781129
Croatian0.7285220.7337250.728522291
Catalan0.7153560.7223040.715356267
Slovenian0.7588650.7647840.758865282
Greek0.7335640.7471290.733564289

Performance per label:

precisionrecallf1-scoresupport
arts, culture, entertainment and media0.6021510.8750.71337664
conflict, war and peace0.6111110.9166670.73333336
crime, law and justice0.8615380.8115940.83582169
disaster, accident and emergency incident0.6911760.8867920.7768653
economy, business and finance0.7792210.5084750.615385118
education0.8474580.7352940.78740268
environment0.5890410.7543860.66153857
health0.796610.796610.7966159
human interest0.5522390.6727270.60655755
labour0.8550720.8309860.84285771
lifestyle and leisure0.7735850.4767440.58992886
politics0.5681820.7352940.64102668
religion0.8421050.9411760.88888951
science and technology0.6376810.80.70967755
society0.9180330.50.647399112
sport0.8243240.9682540.89051163
weather0.9534880.9318180.94252944

For downstream tasks, we advise you to use only labels that were predicted with confidence score higher or equal to 0.90 which further improves the performance.

When we remove instances predicted with lower confidence (229 instances - 20%), the model yields micro-F1 of 0.798 and macro-F1 of 0.80.

Micro-F1Macro-F1Accuracy
All (combined)0.7977770.8024030.797777
Croatian0.7735040.7720840.773504
Catalan0.8112240.8068850.811224
Slovenian0.8050850.8044910.805085
Greek0.8034190.8095980.803419

Fine-tuning hyperparameters

Fine-tuning was performed with simpletransformers. Beforehand, a brief hyperparameter optimization was performed and the presumed optimal hyperparameters are:

python
model_args = ClassificationArgs()

model_args ={
             "num_train_epochs": 5,
             "learning_rate": 8e-06,
             "train_batch_size": 32,
             "max_seq_length": 512,
             }   
      

Citation

If you use the model, please cite this paper and the model itself:

@ARTICLE{10900365,
  author={Kuzman, Taja and Ljubešić, Nikola},
  journal={IEEE Access}, 
  title={LLM Teacher-Student Framework for Text Classification With No Manually Annotated Data: A Case Study in IPTC News Topic Classification}, 
  year={2025},
  volume={},
  number={},
  pages={1-1},
  keywords={Data models;Annotations;Media;Manuals;Multilingual;Computational modeling;Training;Training data;Transformers;Text categorization;Multilingual text classification;IPTC;large language models;LLMs;news topic;topic classification;training data preparation;data annotation},
  doi={10.1109/ACCESS.2025.3544814}}

@misc{iptc_topic_model,
	author       = { Kuzman, Taja and Ljube{\v s}i{\'c}, Nikola },
	title        = {{ Multilingual IPTC News Topic Classifier}},
	year         = 2025,
	url          = { https://huggingface.co/classla/multilingual-IPTC-news-topic-classifier },
	doi          = { 10.57967/hf/4709 },
	publisher    = { Hugging Face }
}

Funding

This work was supported by the Slovenian Research and Innovation Agency research project Embeddings-based techniques for Media Monitoring Applications (L2-50070, co-funded by the Kliping d.o.o. agency).