Kompetencer: Fine-grained Skill Classification in Danish Job Postings via Distant Supervision and Transfer Learning
If you use the code, data, guidelines, models from Kompetencer, please include the following reference:
@InProceedings{zhang-jensen-plank:2022:LREC,
author = {Zhang, Mike and Jensen, Kristian N{\o}rgaard and Plank, Barbara},
title = {Kompetencer: Fine-grained Skill Classification in Danish Job Postings via Distant Supervision and Transfer Learning},
booktitle = {Proceedings of the Language Resources and Evaluation Conference},
month = {June},
year = {2022},
address = {Marseille, France},
publisher = {European Language Resources Association},
pages = {436--447},
abstract = {Skill Classification (SC) is the task of classifying job competences from job postings. This work is the first in SC applied to Danish job vacancy data. We release the first Danish job posting dataset: *Kompetencer* (\_en\_: competences), annotated for nested spans of competences. To improve upon coarse-grained annotations, we make use of The European Skills, Competences, Qualifications and Occupations (ESCO; le Vrang et al., (2014)) taxonomy API to obtain fine-grained labels via distant supervision. We study two setups: The zero-shot and few-shot classification setting. We fine-tune English-based models and RemBERT (Chung et al., 2020) and compare them to in-language Danish models. Our results show RemBERT significantly outperforms all other models in both the zero-shot and the few-shot setting.},
url = {https://aclanthology.org/2022.lrec-1.46}
}
In data/
, you can find the skill and knowledge snippets with their distantly supervised labels (English train+dev+test)
and gold labels (Danish train+test).
[Note 15/04/2022]: Job postings are currently being de-identified according to GDPR regulations
[Note 30/05/2022]: Danish job postings annotated for skills and knowledge can be found here: https://drive.google.com/file/d/1LoGmoz1BKfEaBFXvyMhaTh2PPTYxNJR0/view?usp=sharing
Note: The data can now also be found in data/*
The data is structured in the conll
format:
Token <\t> Skill-tag <\t> Knowledge-tag
e.g.,
Python <\t> O <\t> B-Knowledge
...
The current weighted macro-F1 scores are hardcoded in the scripts, predictions can be found in predictions/
All models used in this paper can be found at: https://huggingface.co/jjzha
To install all the required packages run the following command
pip3 install --user requirements.txt
To finetune the models, you can run run.finetune.sh
To predict on the test set, you can run
python3 predict.py logs/esco.new.$MODEL.$PARAMETERS.$c/*/model.tar.gz data/ESCO/$TEST.tsv predictions/da_test/$MODEL/$c.out --device 0
Where you have to replace $*
for the correct variable. For example:
python3 predict.py logs/esco.new.dajobbert.da_classification.1/*/model.tar.gz data/ESCO/da_test.tsv predictions/da_test/dajobbert/1.out --device 0