Task: Named Entity Recognition
    Model: DistilBERT
    Lang: IT
  
 

Model description

This is a DistilBERT [1] cased model for the Italian language, fine-tuned for Named Entity Recognition (Person, Location, Organization and Miscellanea classes) on the WikiNER dataset [2], using DistilBERT-ITALIAN (distilbert-base-italian-cased) as a pre-trained model.

This is a cased DistilBERT model. If you are looking for a more accurate (but heavier) cased model, you can refer to: https://huggingface.co/osiria/bert-italian-cased-ner

If you are looking for an uncased model, you can refer to: https://huggingface.co/osiria/bert-italian-uncased-ner

Training and Performances

The model is trained to perform entity recognition over 4 classes: PER (persons), LOC (locations), ORG (organizations), MISC (miscellanea, mainly events, products and services). It has been fine-tuned for Named Entity Recognition, using the WikiNER Italian dataset plus an additional custom dataset of manually annotated Wikipedia paragraphs. The WikiNER dataset has been splitted in 102.352 training instances and 25.588 test instances.

The performances on the test set are reported in the following table:

Recall Precision F1
91.49 91.62 91.54

The metrics have been computed at the token level and then macro-averaged over the 4 classes.

Then, since WikiNER is an automatically annotated (silver standard) dataset, which sometimes contains imperfect annotations, an additional fine-tuning on ~3.500 manually annotated paragraphs has been performed.

Quick usage

from transformers import DistilBertTokenizerFast, DistilBertForTokenClassification

tokenizer = DistilBertTokenizerFast.from_pretrained("osiria/distilbert-italian-cased-ner")
model = DistilBertForTokenClassification.from_pretrained("osiria/distilbert-italian-cased-ner")

from transformers import pipeline
ner = pipeline("ner", model = model, tokenizer = tokenizer, aggregation_strategy="first")

ner("Mi chiamo Marco Rossi, vivo a Roma e lavoro per l'Agenzia Spaziale Italiana nella missione Prisma")

[{'entity_group': 'PER',
  'score': 0.9958186,
  'word': 'Marco Rossi',
  'start': 10,
  'end': 21},
 {'entity_group': 'LOC',
  'score': 0.9933206,
  'word': 'Roma',
  'start': 30,
  'end': 34},
 {'entity_group': 'ORG',
  'score': 0.99841493,
  'word': 'Agenzia Spaziale Italiana',
  'start': 50,
  'end': 75},
 {'entity_group': 'MISC',
  'score': 0.6150316,
  'word': 'Prisma',
  'start': 91,
  'end': 97}]

You can also try the model online using this web app: https://huggingface.co/spaces/osiria/distilbert-italian-cased-ner

References

[1] https://arxiv.org/abs/1910.01108

[2] https://www.sciencedirect.com/science/article/pii/S0004370212000276

Limitations

This model is mainly trained on Wikipedia, so it's particularly suitable for natively digital text from the world wide web, written in a correct and fluent form (like wikis, web pages, news, etc.). However, it may show limitations when it comes to chaotic text, containing errors and slang expressions (like social media posts) or when it comes to domain-specific text (like medical, financial or legal content).

License

The model is released under Apache-2.0 license

Downloads last month
1,022
Safetensors
Model size
66.6M params
Tensor type
F32
Β·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Space using osiria/distilbert-italian-cased-ner 1

Collection including osiria/distilbert-italian-cased-ner