|
--- |
|
license: mit |
|
language: |
|
- it |
|
widget: |
|
- text: "Mi chiamo Marco Rossi, vivo a Roma e lavoro per l'Agenzia Spaziale Italiana" |
|
example_title: "Example 1" |
|
--- |
|
|
|
-------------------------------------------------------------------------------------------------- |
|
|
|
<body> |
|
<span class="vertical-text" style="background-color:lightgreen;border-radius: 3px;padding: 3px;">β</span> |
|
<br> |
|
<span class="vertical-text" style="background-color:orange;border-radius: 3px;padding: 3px;">ββββTask: Named Entity Recognition</span> |
|
<br> |
|
<span class="vertical-text" style="background-color:lightblue;border-radius: 3px;padding: 3px;">ββββModel: MiniLM</span> |
|
<br> |
|
<span class="vertical-text" style="background-color:tomato;border-radius: 3px;padding: 3px;">ββββLang: IT</span> |
|
<br> |
|
<span class="vertical-text" style="background-color:lightgrey;border-radius: 3px;padding: 3px;">ββ</span> |
|
<br> |
|
<span class="vertical-text" style="background-color:#CF9FFF;border-radius: 3px;padding: 3px;">β</span> |
|
</body> |
|
|
|
-------------------------------------------------------------------------------------------------- |
|
|
|
<h3>Model description</h3> |
|
|
|
This is a <b>MiniLMv2</b> <b>[1]</b> cased model for the <b>Italian</b> language, fine-tuned for <b>Named Entity Recognition</b> (<b>Person</b>, <b>Location</b>, <b>Organization</b> and <b>Miscellanea</b> classes) on the [WikiNER](https://figshare.com/articles/dataset/Learning_multilingual_named_entity_recognition_from_Wikipedia/5462500) dataset <b>[2]</b>, using [minilm-l6-h384-italian-cased](https://huggingface.co/osiria/minilm-l6-h384-italian-cased) as a pre-trained model. |
|
|
|
|
|
<h3>Training and Performances</h3> |
|
|
|
The model is trained to perform entity recognition over 4 classes: <b>PER</b> (persons), <b>LOC</b> (locations), <b>ORG</b> (organizations), <b>MISC</b> (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, and the model has been trained for 1 epoch with a constant learning rate of 1e-5. |
|
|
|
The performances on the test set are reported in the following table: |
|
|
|
| Recall | Precision | F1 | |
|
| ------ | ------ | ------ | |
|
| 80.84 | 85.32 | 82.85 | |
|
|
|
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. |
|
|
|
<h3>Quick usage</h3> |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForTokenClassification |
|
import string |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("osiria/minilm-l6-h384-italian-cased-ner") |
|
model = AutoModelForTokenClassification.from_pretrained("osiria/minilm-l6-h384-italian-cased-ner") |
|
|
|
from transformers import pipeline |
|
ner = pipeline("ner", model = model, tokenizer = tokenizer, aggregation_strategy="simple") |
|
|
|
text = "Mi chiamo Marco Rossi, vivo a Roma e lavoro per l'Agenzia Spaziale Italiana, dove mi occupo del controllo del satellite Prisma" |
|
for p in string.punctuation: |
|
text = text.replace(p, " " + p + " ") |
|
|
|
ner(text) |
|
|
|
[{'entity_group': 'PER', |
|
'score': 0.8044705, |
|
'word': 'Marco Rossi', |
|
'start': 10, |
|
'end': 21}, |
|
{'entity_group': 'LOC', |
|
'score': 0.8467228, |
|
'word': 'Roma', |
|
'start': 32, |
|
'end': 36}, |
|
{'entity_group': 'ORG', |
|
'score': 0.72725743, |
|
'word': 'Agenzia Spaziale Italiana', |
|
'start': 54, |
|
'end': 79}, |
|
{'entity_group': 'MISC', |
|
'score': 0.7243446, |
|
'word': 'Prisma', |
|
'start': 126, |
|
'end': 132}] |
|
``` |
|
|
|
You can also try the model online using this web app: https://huggingface.co/spaces/osiria/minilm-l6-h384-italian-cased-ner |
|
|
|
<h3>References</h3> |
|
|
|
[1] https://arxiv.org/abs/2012.15828 |
|
|
|
[2] https://www.sciencedirect.com/science/article/pii/S0004370212000276 |
|
|
|
<h3>Limitations</h3> |
|
|
|
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). |
|
|
|
<h3>License</h3> |
|
|
|
The model is released under <b>MIT</b> license |
|
|
|
|