|
--- |
|
library_name: transformers |
|
license: apache-2.0 |
|
base_model: answerdotai/ModernBERT-base |
|
tags: |
|
- actuarial |
|
- insurance |
|
- multilabel-classification |
|
- sentence-classification |
|
- skills-extraction |
|
- career-planning |
|
- modernbert |
|
- job-analysis |
|
datasets: |
|
- actuarial-jobs-7k |
|
language: |
|
- en |
|
metrics: |
|
- f1 |
|
- precision |
|
- recall |
|
model-index: |
|
- name: modernbert-actuarial-skills-classifier |
|
results: |
|
- task: |
|
type: text-classification |
|
name: Multi-Label Text Classification |
|
metrics: |
|
- type: f1_micro |
|
value: 0.6728 |
|
name: F1 Micro |
|
- type: f1_macro |
|
value: 0.1060 |
|
name: F1 Macro |
|
- type: precision_micro |
|
value: 0.7915 |
|
name: Precision Micro |
|
- type: recall_micro |
|
value: 0.5850 |
|
name: Recall Micro |
|
widget: |
|
- text: "I am looking for an entry-level actuarial position in life insurance pricing where I can apply my knowledge of mortality tables and statistical analysis. I have strong Python programming skills and experience with GLM models from my university projects. I am particularly interested in learning more about IFRS 17 implementation and would like to work with modern actuarial software like Prophet or MoSes." |
|
example_title: "Life Insurance Entry Level" |
|
- text: "I have three years of experience as a reserving actuary in property and casualty insurance, working primarily with workers compensation and general liability lines. I am proficient in R and SQL for data analysis and have built several predictive models using machine learning techniques. I am now seeking a senior analyst role where I can lead pricing projects and mentor junior actuaries, with a target salary range of at least 85000 dollars annually." |
|
example_title: "P&C Career Growth" |
|
- text: "After completing my actuarial exams up to ASA level, I want to transition into a health insurance role focusing on medical cost trend analysis and risk adjustment. I enjoy working with large datasets and have self-taught Python and SAS for healthcare analytics. My ideal position would involve building pricing models for group health products and I am hoping to find opportunities that offer around 70000 dollars per year as I build my specialization in this area." |
|
example_title: "Health Insurance Transition" |
|
- text: "I am a recent mathematics graduate passionate about pension actuarial work and retirement planning. I have limited professional experience but completed internships where I learned about defined benefit schemes, asset liability management, and regulatory compliance under Solvency II. I am eager to develop my Excel and VBA skills further and would consider positions starting at 40000 dollars minimum while I continue studying for my actuarial fellowship exams." |
|
example_title: "Pensions Graduate Role" |
|
- text: "As a data scientist looking to move into the actuarial field, I bring extensive experience with machine learning frameworks like TensorFlow and PyTorch, as well as strong programming abilities in Python and Scala. I am particularly interested in applying deep learning techniques to mortality forecasting and longevity risk modeling in life insurance. I am seeking roles that value innovation in actuarial modeling and offer competitive compensation of at least 95000 dollars given my technical background." |
|
example_title: "Data Science to Actuarial" |
|
inference: |
|
parameters: |
|
threshold: 0.5 |
|
top_k: 15 |
|
--- |
|
|
|
<div align="center"> |
|
<img src="./photo.png" width="150" height="150" style="border-radius: 50%; margin: 20px auto; display: block;"> |
|
|
|
# 👋 Connect with me on LinkedIn! |
|
|
|
[](https://www.linkedin.com/in/manuel-caccone-42872141/) |
|
|
|
**Manuel Caccone - Actuarial Data Scientist & Open Source Educator** |
|
|
|
*Let's discuss actuarial science, AI, and career development!* |
|
|
|
--- |
|
|
|
</div> |
|
|
|
<div align="center"> |
|
<img src="./Thumbnail.png" alt="Actuarial Skills Classifier" style="max-width: 800px; width: 100%; height: auto; border-radius: 10px; margin: 20px auto; display: block; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);"> |
|
</div> |
|
|
|
# 🎯 ModernBERT Actuarial Skills Classifier: Your Career Planning Assistant |
|
|
|
<div align="center"> |
|
|
|
### 🚀 Try It Now - Interactive Demo! |
|
|
|
[](https://huggingface.co/spaces/manuelcaccone/actuarial-skills-horoscope) |
|
|
|
**Discover the actuarial and programming skills you need—instantly.** |
|
|
|
Type any job description or career goal and watch relevant skills appear with confidence scores. |
|
Built on 7,000+ real actuarial job postings. |
|
|
|
--- |
|
|
|
</div> |
|
|
|
## 🚩 Model Description |
|
|
|
**ModernBERT-actuarial-skills-classifier** is a fine-tuned ModernBERT-base model trained on over 7,000 actuarial job postings, purpose-built to extract and identify actuarial competencies and technical skills from natural language descriptions. It powers career planning, skills gap analysis, and learning roadmap generation for actuarial professionals and students. |
|
|
|
--- |
|
|
|
## ✨ Key Features |
|
|
|
- 🎯 **Multi-Label Classification:** Identifies multiple relevant skills from a single description |
|
- 📚 **Career-Focused:** Trained on real job postings covering Life, P&C, Health, and Pensions |
|
- 🚀 **Instant Analysis:** Get results in under 1 second |
|
- 🔓 **Open Source:** Apache 2.0 License for educational and commercial use |
|
- 🌐 **Interactive Demo:** Full-featured Gradio Space with learning roadmaps and batch processing |
|
|
|
--- |
|
|
|
## 💡 Intended Use Cases |
|
|
|
- **Career Planning:** Students and early-career actuaries discovering required skills for target roles |
|
- **Job Analysis:** Extracting structured skill requirements from job descriptions |
|
- **Skills Gap Assessment:** Identifying learning priorities when changing specializations |
|
- **Market Research:** Analyzing trends in actuarial job requirements across industries |
|
- **Resume Optimization:** Matching your background to employer expectations |
|
|
|
### Examples |
|
|
|
``` |
|
Input: "I am looking for an entry-level actuarial position in life insurance pricing |
|
where I can apply my knowledge of mortality tables and statistical analysis. I have |
|
strong Python programming skills and experience with GLM models from my university |
|
projects. I am particularly interested in learning more about IFRS 17 implementation." |
|
|
|
Output: Life Insurance Pricing (92%), Python (88%), GLM Modeling (85%), |
|
Statistical Analysis (82%), Mortality Tables (78%), IFRS 17 (75%), |
|
Entry Level (71%), Excel (68%)... |
|
``` |
|
|
|
--- |
|
|
|
## 📂 Training Data |
|
|
|
- **Dataset Size:** 7,000+ real actuarial job postings |
|
- **Time Period:** 2023-2025 job market |
|
- **Coverage:** Life, P&C, Health, Pensions, Reinsurance, Consulting |
|
- **Labels:** 100+ unique skills covering actuarial domains, programming, tools, certifications, and soft skills |
|
- **Format:** Multi-label classification with manual validation by actuarial professionals |
|
|
|
--- |
|
|
|
## 📊 Training Statistics |
|
|
|
| Metric | Value | Notes | |
|
|--------------------|----------------|--------------------------------------------| |
|
| Epochs | 10 | Best model at epoch 7 | |
|
| Final F1 Micro | 0.6728 | Overall performance across all skills | |
|
| Final F1 Macro | 0.1060 | Average per skill (handles class imbalance)| |
|
| Precision Micro | 0.7915 | 79% of predictions are correct | |
|
| Recall Micro | 0.5850 | Captures 58% of relevant skills | |
|
| Hamming Loss | 0.0207 | Only 2% label error rate | |
|
| Training Loss | 0.0602 | Final validation loss | |
|
| Learning Rate | 2e-5 | With 10% warmup | |
|
| Batch Size | 16 | Effective (8 per device, 2 grad accum) | |
|
| Hardware | GPU | Mixed precision training (FP16) | |
|
|
|
--- |
|
|
|
## 🛠️ Dependencies |
|
|
|
``` |
|
transformers>=4.44.0 |
|
torch>=2.0.0 |
|
pandas |
|
numpy |
|
``` |
|
|
|
--- |
|
|
|
## ⚠️ Limitations & Ethics |
|
|
|
- **Domain-Specific:** Optimized for actuarial and insurance contexts only |
|
- **English Only:** Trained exclusively on English job postings |
|
- **Class Imbalance:** Rare skills may have lower prediction confidence |
|
- **Not Exhaustive:** Cannot predict skills not present in training data |
|
- **Career Guidance Only:** Not a substitute for professional career counseling |
|
- **Geographic Bias:** Primarily reflects US, UK, and EU job markets |
|
|
|
--- |
|
|
|
## 💻 Usage Example |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
import torch |
|
|
|
# Load model |
|
model_name = "manuelcaccone/modernbert-actuarial-skills-classifier" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
|
|
# Prepare text |
|
text = """I am a recent mathematics graduate passionate about pension actuarial work |
|
and retirement planning. I have limited professional experience but completed internships |
|
where I learned about defined benefit schemes and regulatory compliance. I am eager to |
|
develop my Excel skills further and would consider positions starting at 40000 dollars |
|
minimum while I continue studying for my actuarial exams.""" |
|
|
|
# Tokenize and predict |
|
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512) |
|
with torch.no_grad(): |
|
outputs = model(**inputs) |
|
probabilities = torch.sigmoid(outputs.logits) |
|
|
|
# Get predictions above threshold |
|
threshold = 0.5 |
|
predicted_indices = torch.where(probabilities[0] > threshold)[0] |
|
|
|
# Display results |
|
print("Predicted Skills:") |
|
for idx in predicted_indices: |
|
skill = model.config.id2label[idx.item()] |
|
confidence = probabilities[0][idx].item() |
|
print(f" {skill}: {confidence:.1%}") |
|
``` |
|
|
|
--- |
|
|
|
## 🌟 Related Resources |
|
|
|
This model is part of an actuarial AI ecosystem: |
|
|
|
- **Interactive Demo:** [Actuarial Skills Horoscope Space](https://huggingface.co/spaces/manuelcaccone/actuarial-skills-horoscope) |
|
- **Model Repository:** [modernbert-actuarial-skills-classifier](https://huggingface.co/manuelcaccone/modernbert-actuarial-skills-classifier) |
|
- **Base Model:** [ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base) |
|
|
|
--- |
|
|
|
## 👤 Author & Citation |
|
|
|
- **Creator:** Manuel Caccone (Actuarial Data Scientist & Open Source Educator) |
|
- [LinkedIn](https://www.linkedin.com/in/manuel-caccone-42872141/) · [[email protected]](mailto:[email protected]) |
|
|
|
```bibtex |
|
@model{caccone2025actuarialskills, |
|
title={ModernBERT Actuarial Skills Classifier: Career Planning with Multi-Label Classification}, |
|
author={Caccone, Manuel}, |
|
year={2025}, |
|
publisher={Hugging Face}, |
|
url={https://huggingface.co/manuelcaccone/modernbert-actuarial-skills-classifier}, |
|
note={Fine-tuned ModernBERT for actuarial skills extraction from job descriptions} |
|
} |
|
``` |
|
|
|
--- |
|
|
|
## 📜 License |
|
|
|
Apache 2.0 License — use, modify, and cite for ethical, research, educational, and commercial purposes. |
|
|
|
--- |
|
|
|
<div align="center"> |
|
|
|
### 🤝 Want to collaborate or discuss actuarial AI? |
|
|
|
[](https://www.linkedin.com/in/manuel-caccone-42872141/) |
|
|
|
</div> |
|
|
|
--- |
|
|
|
*Part of the actuarial open-source education initiative—bringing AI tools to the actuarial community!* |