manuelcaccone's picture
Update README.md
190a195 verified
metadata
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.106
            name: F1 Macro
          - type: precision_micro
            value: 0.7915
            name: Precision Micro
          - type: recall_micro
            value: 0.585
            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

πŸ‘‹ Connect with me on LinkedIn!

LinkedIn

Manuel Caccone - Actuarial Data Scientist & Open Source Educator

Let's discuss actuarial science, AI, and career development!


Actuarial Skills Classifier

🎯 ModernBERT Actuarial Skills Classifier: Your Career Planning Assistant

πŸš€ Try It Now - Interactive Demo!

Open in Spaces

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.


🚩 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

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:


πŸ‘€ Author & Citation

@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.


🀝 Want to collaborate or discuss actuarial AI?

LinkedIn


Part of the actuarial open-source education initiativeβ€”bringing AI tools to the actuarial community!