manuelcaccone's picture
Update README.md
190a195 verified
---
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!
[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white)](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!
[![Open in Spaces](https://img.shields.io/badge/🤗-Open%20in%20Spaces-blue?style=for-the-badge)](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?
[![LinkedIn](https://img.shields.io/badge/Let's_Connect_on_LinkedIn!-blue?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/manuel-caccone-42872141/)
</div>
---
*Part of the actuarial open-source education initiative—bringing AI tools to the actuarial community!*