Offizielles Repository des Barcelona Supercomputing Center (BSC) Biomedizinische und klinische Sprachmodelle für Spanisch.
Wir haben unsere besten Modelle unter der Apache -Lizenz 2.0 veröffentlicht, um die Entwicklung spanischer NLP -Anwendungen in den biomedizinischen und klinischen Bereichen zu fördern.
Wir haben zwei Modelle trainiert und sie auf den folgenden Links auf Huggingface 'Models Hub verfügbar gemacht:
Darüber hinaus wurde eine Langformer -Version geschult, um mit Aufgaben arbeiten zu können, die größere Kontexte erfordern, wie z. B. klinische Codierung. Die verwendete Korpora ist die gleiche wie unten. Modell kann auch auf Hugginface gefunden werden:
Wir haben unsere Modelle für die NER-Aufgabe (benannte Entity Recognition) fein abgestimmt und die besten Modelle für den Hub der Huggingface-Modelle unter folgenden Links erstellt:
Die Ausbildungskorpora besteht aus mehreren biomedizinischen Korpora in Spanisch, der von öffentlich verfügbaren Korpora und Crawlern und einem klinischen Korpus der realen Welt aus mehr als 278.000 klinischen Dokumenten und Notizen gesammelt wurde. Um ein qualitativ hochwertiges Trainingskorpus zu erhalten, während die Eigenheiten der klinischen Sprache beibehalten werden, wurde eine Reinigungspipeline nur auf die biomedizinische Korpora angewendet, wodurch das klinische Korpus unrein ist. Im Wesentlichen sind die verwendeten Reinigungsvorgänge:
Anschließend sind die biomedizinischen Korpora verkettet und es wurde eine weitere globale Deduplizierung zwischen den biomedizinischen Korpora angewendet. Die Ergebnisse sind ein klinischer Korpus von etwa 91 m Token und ein biomedizinischer Korpus von etwa 963 m Token. Schließlich wird der klinische Korpus mit dem gereinigten biomedizinischen Korpus verkettet, was zu einem mittelgroßen biomedizinischen Corpus für Spanisch aus mehr als 1B-Token führt. Die folgende Tabelle zeigt einige grundlegende Statistiken der einzelnen gereinigten Korpora:
| Name | Nr. Tokens | Beschreibung |
|---|---|---|
| Medizinischer Kriechler | 903.558.136 | Crawler von mehr als 3.000 URLs, die zu spanischen biomedizinischen und gesundheitlichen Bereichen gehören. |
| Klinische Fälle Misc. | 102.855.267 | Eine Misserfolge von medizinischen Inhalten, im Wesentlichen klinische Fälle. Beachten Sie, dass ein klinischer Fallbericht eine wissenschaftliche Veröffentlichung ist, in der sich Ärztepraktiker Patientenverfahren teilen und sich von einem klinischen Hinweis oder einem klinischen Anmerkung oder einem Dokument unterscheiden. |
| EHR -Dokumente | 95,267,20 | Sammlung von mehr als 278.000 klinischen Dokumenten, einschließlich Entlassungsberichten, klinischen Kursnotizen und Röntgenberichten, für insgesamt 91 Mio. Token. https://huggingface.co/plantl-gob-es/longformer-base-4096-biomedical-clinical-es |
| Scielo | 60.007.289 | Veröffentlichungen, die in Spanisch geschrieben wurden, kroch 2017 vom spanischen Scielo -Server. |
| Barr2_background | 24.516.442 | Biomedizinische Abkürzungserkennung und -auflösung (Barr2) mit spanischen klinischen Fallstudienabschnitten aus einer Vielzahl klinischer Disziplinen. |
| Wikipedia_Life_Sciences | 13.890.501 | Wikipedia -Artikel 04.04.2021 mit der Wikipedia -API -Python -Bibliothek von der Kategorie "Ciencias_DE_LA_VIDA" bis maximal 5 Unterkategorien. Anschließend werden mehrere Links zu denselben Artikeln verworfen, um wiederholte Inhalte zu vermeiden. |
| Patente | 13.463.387 | Google Patent in medizinischer Domäne für Spanien (Spanisch). Die akzeptierten Codes (medizinische Domäne) für JSON -Dateien von Patenten sind: "A61B", "A61C", "A61F", "A61H", "A61K", "A61L", "A61M", "A61B", "A61P". |
| EMEA | 5,377.448 | Spanisch-Seiten-Dokumente, die aus parallelen Korporas aus PDF-Dokumenten der European Medicines Agency entnommen wurden. |
| mespen_medline | 4,166.077 | Spanisch-Seiten-Artikel, die aus einer Sammlung von spanisch-englisch-parallelen Korpus entstanden sind, bestehend aus biomedizinischer wissenschaftlicher Literatur. Die Sammlung paralleler Ressourcen wird aus der Quelle von MedlinePlus zusammengefasst. |
| PubMed | 1.858.966 | Open-Access-Artikel aus dem PubMed Repository Crawled im Jahr 2017. |
Die Modelle wurden in den Aufgaben der genannten Entitätserkennung (NER) unter Verwendung von drei klinischen NER-Datensätzen wie Pharmakoner, Cantemist und ICTUSNET abgestimmt. Wir haben die NER -Aufgabe als Token -Klassifizierungsproblem unter Verwendung einer linearen Standardschicht zusammen mit dem Bio -Tagging -Schema behandelt. Wir verglichen unsere Modelle mit dem spanischen General-Domain-Roberta-Base-BNE, dem mehrsprachigen Modell der allgemeinen Domäne, das den spanischen Mbert, den domänenspezifischen englischen Modell Biobert unterstützt, und drei domänenspezifische Modelle, die auf kontinuierlichen Voraussetzungen, Mbert-Galén, XLM-R-Galén und Beto-Galén basieren. Die folgende Tabelle zeigt die erhaltenen F1 -Ergebnisse:
| Aufgaben/Modelle | BSC-Bio-es | BSC-Bio-EHR-ES | XLM-R-Galén | Beto-Galén | Mbert-Galén | Mbert | Biobert | Roberta-Base-BNE |
|---|---|---|---|---|---|---|---|---|
| Pharmakoner | 0,8907 | 0,8913 | 0,8754 | 0,8537 | 0,8594 | 0,8671 | 0,8545 | 0,8474 |
| Cantemist | 0,8220 | 0,8340 | 0,8078 | 0,8153 | 0,8168 | 0,8116 | 0,8070 | 0,7875 |
| ICTUSNET | 0,8727 | 0,8756 | 0,8716 | 0,8498 | 0,8509 | 0,8631 | 0,8521 | 0,8677 |
Im folgenden Beispiel zeigen Sie, wie die Entitäten des BSC-Bio-EHR-E-E-E-ES-Modells vorhersagen, der auf dem Pharmakoner-Datensatz fein abgestimmt ist:
from transformers import AutoTokenizer , AutoModelForTokenClassification , pipeline
tokenizer = AutoTokenizer . from_pretrained ( "PlanTL-GOB-ES/bsc-bio-ehr-es-pharmaconer" )
model = AutoModelForTokenClassification . from_pretrained ( "PlanTL-GOB-ES/bsc-bio-ehr-es-pharmaconer" )
pipe = pipeline ( task = 'token-classification' , model = 'PlanTL-GOB-ES/bsc-bio-ehr-es-pharmaconer' )
sentence = 'Por el hallazgo de múltiples fracturas por estrés, se procedió a estudio en nuestras consultas, realizándose análisis con función renal, calcio sérico y urinario, calcio iónico, magnesio y PTH, que fueron normales.'
results = pipe ( sentence )
print ( results ) # Expected output with the predicted entities:
[
{'word': 'Ġcalcio', 'score': 0.9963880181312561, 'entity': 'B-NORMALIZABLES', 'index': 24, 'start': 137, 'end': 143}, {'word': 'Ġcalcio', 'score': 0.9965023398399353, 'entity': 'B-NORMALIZABLES', 'index': 29, 'start': 163, 'end': 169}, {'word': 'Ġmagnesio', 'score': 0.996299147605896, 'entity': 'B-NORMALIZABLES', 'index': 32, 'start': 178, 'end': 186}, {'word': 'ĠPTH', 'score': 0.9950509667396545, 'entity': 'B-PROTEINAS', 'index': 34, 'start': 189, 'end': 192}
]
Zunächst klonen Sie das Projekt:
git clone https://github.com/PlanTL-GOB-ES/lm-biomedical-clinical-es/blob/master/README.md
Richten Sie eine virtuelle Python -Umgebung ein und aktivieren Sie sie
python3.8 -m venv venv; source venv/bin/activate
Installieren Sie alle erforderlichen Python -Pakete in der virtuellen Umgebung, die die folgende Linie aus dem Projekt Hauptordner ausführen: pip install -r requirements.txt .
Führen Sie schließlich den folgenden Befehl im Projekt Hauptordner aus: bash ner.sh [MODEL_NAME] [DATASET_NAME] [SEED] , wo
[MODEL_NAME] : modellname des huggingface 'des vorbereiteten Modells, das Sie verwenden möchten.[DATASET_NAME] : Huggingface 'Datensatzname des zu verwendenden NER -Datensatzes. Kann abhängig von dem Datensatz, den Sie verwenden möchten, aus "Plantl-gob-es/cantemist-ner" und "pflanzl-gob-es/pharmakoner" ausgewählt werden.[SEED] : Der Samen, den Sie verwenden möchten. Dies ermöglicht es, dieselben Ergebnisse zu reproduzieren. Das ner.sh -Skript fein ein vorgezogenes Sprachmodell für die NER-Aufgabe, die einen linearen Klassifizierungskopf anwendet. Standardmäßig läuft der Feinabstimmung für 10 Epochen mit einer Bewertung der Entwicklung in jeder Epoche. Das Modell, das die beste Leistung am Entwicklungssatz erzielt, wird als endgültiges Modell ausgewählt und im Testsatz bewertet. Das am besten geschulte Modell wird in einem Ausgangspfad des Typs gespeichert ./output/model-$model_name/dataset-$dataset_name/seed-$seed zusammen mit den Checkpoints-Ordnern und den Tensorboard-Daten (innerhalb des tb Verzeichnisses).
Um das BSC-Bio-EHR-E-E-ES-Sprachmodell auf dem Pharmakoner-Datensatz beispielsweise zu optimieren, führen Sie den Befehl aus:
bash ner.sh PlanTL-GOB-ES/bsc-bio-ehr-es PlanTL-GOB-ES/pharmaconer 42
Wenn Sie diese Modelle verwenden, zitieren Sie bitte unsere Arbeit:
@inproceedings{carrino-etal-2022-pretrained,
title = "Pretrained Biomedical Language Models for Clinical {NLP} in {S}panish",
author = "Carrino, Casimiro Pio and
Llop, Joan and
P{`a}mies, Marc and
Guti{'e}rrez-Fandi{~n}o, Asier and
Armengol-Estap{'e}, Jordi and
Silveira-Ocampo, Joaqu{'i}n and
Valencia, Alfonso and
Gonzalez-Agirre, Aitor and
Villegas, Marta",
booktitle = "Proceedings of the 21st Workshop on Biomedical Language Processing",
month = may,
year = "2022",
address = "Dublin, Ireland",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2022.bionlp-1.19",
doi = "10.18653/v1/2022.bionlp-1.19",
pages = "193--199",
abstract = "This work presents the first large-scale biomedical Spanish language models trained from scratch, using large biomedical corpora consisting of a total of 1.1B tokens and an EHR corpus of 95M tokens. We compared them against general-domain and other domain-specific models for Spanish on three clinical NER tasks. As main results, our models are superior across the NER tasks, rendering them more convenient for clinical NLP applications. Furthermore, our findings indicate that when enough data is available, pre-training from scratch is better than continual pre-training when tested on clinical tasks, raising an exciting research question about which approach is optimal. Our models and fine-tuning scripts are publicly available at HuggingFace and GitHub.",
}
Dieses Projekt ist unter der Apache -Lizenz, Version 2.0, lizenziert
Copyright (c) 2021 Sekretarien de Estado de Digitalización e InteligiNcia Künstlich (Sedia)
Diese Arbeit wurde vom spanischen Staatssekretariat für Digitalisierung und künstliche Intelligenz (Sedia) im Rahmen des Plan-TL finanziert.
Die in diesem Repository veröffentlichten Modelle sind für einen Generalistenzweck bestimmt und stehen Dritten zur Verfügung. Diese Modelle können Voreingenommenheit und/oder andere unerwünschte Verzerrungen aufweisen.
Wenn Dritte, Bereitstellung oder Bereitstellung von Systemen und/oder Diensten für andere Parteien mithilfe eines dieser Modelle (oder mit Systemen basierend auf diesen Modellen) oder Nutzern der Modelle werden, sollten sie feststellen, dass es in ihrer Verantwortung liegt, die Risiken, die sich aus ihrer Verwendung ergeben, und in jedem Fall die geltenden Vorschriften, einschließlich Vorschriften für die Nutzung der künstlichen Intelligenz, einzuhalten.
In keiner Veranstaltung darf der Eigentümer der Modelle (Sedia - Staatssekretariat für Digitalisierung und künstliche Intelligenz) noch der Schöpfer (BSC - Barcelona Supercomputing Center) für die Ergebnisse haften, die sich aus der Verwendung von Dritten dieser Modelle ergeben.
Los modelos publicados en este repositorio tienen una Finalidad Generalista y están a Disposición de terceros. Estos modelos pudenen tener sesgos y/u otro tipo de entrytorsiones Inseavables.
Cuando terceros desplieguen o Proporcionen sistemas y/o servicios a otras partes usando alguno de estos modelos (o utilizando sistemas basados en estos modelos) o se Conviertan en uusuarios de los modelos, Deben Tener de cuenta de de de cuenta uenta uenta que es su su su su USO Y, En Todo Caso, Cumplir con la normativa günstig, inkluyendo la normativa en materia de uso de Inteligencia künstlich.
En Ningún Caso El Propietario de los modelos (Sedia - Sekretara de Estado de Digitalización e Inteligencia künstlich) Ni El Creador (BSC - Barcelona Supercomputing Center) Serán Responseables de Los Resultados Derivados del uso que Hagan Terceros de estos modelos modelos modelos modelos modelos modelos modelos modelos modelos modelos modelos modelos