AI-For-Beginners/translations/it/lessons/5-NLP/19-NER/lab
localizeflow[bot] 0a8996b7d7 chore(i18n): sync translations with latest source changes (final snapshot) 2026-01-30 01:46:13 +00:00
..
README.md chore(i18n): sync translations with latest source changes (final snapshot) 2026-01-30 01:46:13 +00:00

README.md

NER

Compito del laboratorio tratto dal Curriculum AI for Beginners.

Compito

In questo laboratorio, devi addestrare un modello di riconoscimento di entità nominate (NER) per termini medici.

Il Dataset

Per addestrare un modello NER, abbiamo bisogno di un dataset etichettato correttamente con entità mediche. Il dataset BC5CDR contiene entità etichettate di malattie e sostanze chimiche tratte da oltre 1500 articoli. Puoi scaricare il dataset registrandoti sul loro sito web.

Il dataset BC5CDR si presenta così:

6794356|t|Tricuspid valve regurgitation and lithium carbonate toxicity in a newborn infant.
6794356|a|A newborn with massive tricuspid regurgitation, atrial flutter, congestive heart failure, and a high serum lithium level is described. This is the first patient to initially manifest tricuspid regurgitation and atrial flutter, and the 11th described patient with cardiac disease among infants exposed to lithium compounds in the first trimester of pregnancy. Sixty-three percent of these infants had tricuspid valve involvement. Lithium carbonate may be a factor in the increasing incidence of congenital heart disease when taken during early pregnancy. It also causes neurologic depression, cyanosis, and cardiac arrhythmia when consumed prior to delivery.
6794356	0	29	Tricuspid valve regurgitation	Disease	D014262
6794356	34	51	lithium carbonate	Chemical	D016651
6794356	52	60	toxicity	Disease	D064420
...

In questo dataset, ci sono il titolo e l'abstract dell'articolo nelle prime due righe, seguiti dalle singole entità con le posizioni di inizio e fine all'interno del blocco titolo+abstract. Oltre al tipo di entità, viene fornito l'ID ontologico di questa entità all'interno di una specifica ontologia medica.

Dovrai scrivere del codice Python per convertire questi dati nel formato BIO.

La Rete

Un primo tentativo di NER può essere fatto utilizzando una rete LSTM, come nell'esempio che hai visto durante la lezione. Tuttavia, nei compiti di NLP, l'architettura transformer, e in particolare i modelli linguistici BERT, mostrano risultati molto migliori. I modelli BERT pre-addestrati comprendono la struttura generale di una lingua e possono essere ottimizzati per compiti specifici con dataset relativamente piccoli e costi computazionali contenuti.

Poiché intendiamo applicare il NER a uno scenario medico, ha senso utilizzare un modello BERT addestrato su testi medici. Microsoft Research ha rilasciato un modello pre-addestrato chiamato [PubMedBERT][PubMedBERT] ([pubblicazione][PubMedBERT-Pub]), ottimizzato utilizzando testi dal repository PubMed.

Lo standard de facto per l'addestramento di modelli transformer è la libreria Hugging Face Transformers. Contiene anche un repository di modelli pre-addestrati mantenuti dalla comunità, incluso PubMedBERT. Per caricare e utilizzare questo modello, bastano poche righe di codice:

model_name = "microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract"
classes = ... # number of classes: 2*entities+1
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = BertForTokenClassification.from_pretrained(model_name, classes)

Questo ci fornisce il model stesso, costruito per il compito di classificazione dei token utilizzando un numero di classes classi, oltre all'oggetto tokenizer che può suddividere il testo di input in token. Dovrai convertire il dataset nel formato BIO, tenendo conto della tokenizzazione di PubMedBERT. Puoi utilizzare questo frammento di codice Python come ispirazione.

Conclusione

Questo compito è molto vicino a quello reale che potresti affrontare se desideri ottenere maggiori informazioni da grandi volumi di testi in linguaggio naturale. Nel nostro caso, possiamo applicare il nostro modello addestrato al dataset di articoli relativi al COVID e vedere quali informazioni possiamo ricavare. Questo post sul blog e questo articolo descrivono le ricerche che possono essere condotte su questo corpus di articoli utilizzando il NER.

Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.