스페인어를위한 바르셀로나 슈퍼 컴퓨팅 센터 (BSC)의 공식 저장소 생물 의학 및 임상 사기 언어 모델.
우리는 생체 의학 및 임상 영역에서 스페인 NLP 응용 프로그램의 개발을 장려하기 위해 Apache License 2.0에 따라 최고의 모델을 발표했습니다.
우리는 두 가지 모델을 교육하고 다음 링크에서 Huggingface 'Models Hub에서 사용할 수 있도록합니다.
또한 Longformer 버전은 임상 코딩과 같은 더 큰 상황이 필요한 작업을 수행 할 수 있도록 교육을 받았습니다. 사용 된 Corpora는 아래와 동일합니다. Hugginface에서도 모델을 찾을 수 있습니다.
우리는 NER (Nead Entity Recognition) 작업에 대한 모델을 미세 조정하고 다음 링크에서 Huggingface 'Models Hub에서 최고의 모델을 사용할 수 있습니다.
Training Corpora는 스페인어로 된 여러 생물 의학 코퍼라로 구성되어 있으며 공개적으로 이용 가능한 Corpora 및 Crawlers에서 수집했으며 278k 이상의 임상 문서 및 메모에서 수집 한 실제 임상 코퍼스로 구성됩니다. 임상 언어의 특유성을 유지하는 동안 고품질 훈련 코퍼스를 얻기 위해, 청소 파이프 라인은 생물 의학 코퍼라에만 적용되어 임상 코퍼스를 깨지게 유지했습니다. 기본적으로 사용 된 청소 작업은 다음과 같습니다.
그런 다음 생물 의학적 코포라가 연결되고 생물 의학 코포 라 (Corpora) 사이의 추가 전 세계 중복환이 적용되었습니다. 결과는 약 91m 토큰의 임상 코퍼스 와 약 963m 토큰의 생물 의학 코퍼스 입니다. 결국, 임상 코퍼스는 청소 된 생물 의학 코퍼스에 연결되어 1B 이상의 토큰으로 구성된 스페인의 중간 크기의 생물 의학-임상 코퍼스가 생성됩니다. 아래 표는 개별 청소 된 Corpora의 몇 가지 기본 통계를 보여줍니다.
| 이름 | 아뇨. 토큰 | 설명 |
|---|---|---|
| 의료 크롤러 | 903,558,136 | 스페인 생물 의학 및 건강 영역에 속하는 3,000 개 이상의 URL의 크롤러. |
| 임상 사례 기타. | 102,855,267 | 의료 내용의 기타, 본질적으로 임상 사례. 임상 사례 보고서는 의료 실무자가 환자 사례를 공유하며 임상 메모 나 문서와 다릅니다. |
| EHR 문서 | 95,267,20 | 총 91m의 토큰에 대한 퇴원 보고서, 임상 과정 노트 및 X- 레이 보고서를 포함한 278k 이상의 임상 문서 수집. https://huggingface.co/plantl--gob-es/longformer-base-4096-biomedical-clinical-es |
| Scielo | 60,007,289 | 스페인어로 작성된 출판물은 2017 년 스페인 Scielo 서버에서 기어 다녔습니다. |
| barr2_background | 24,516,442 | 다양한 임상 분야의 스페인 임상 사례 연구 섹션을 포함하는 생의학 약어 인식 및 해결 (BAR2). |
| wikipedia_life_sciences | 13,890,501 | Wikipedia 기사는 최대 5 개의 하위 범주까지 "Ciencias_de_la_vida"범주에서 시작하여 Wikipedia API Python 라이브러리와 함께 04/01/2021을 크롤링했습니다. 그런 다음 동일한 기사에 대한 여러 링크가 버려져 내용을 반복하지 않도록합니다. |
| 특허 | 13,463,387 | 스페인 의료 도메인의 Google 특허 (스페인어). 특허의 JSON 파일에 대한 허용 된 코드 (의료 도메인)는 "A61B", "A61C", "A61F", "A61H", "A61K", "A61M", "A61M", "A61B", "A61P"입니다. |
| Emea | 5,377,448 | 유럽 의약 기관의 PDF 문서로 제작 된 Parallel Corpora에서 추출한 스페인 측 문서. |
| mespen_medline | 4,166,077 | 생의학 과학 문헌으로 구성된 스페인-영어 평행 코퍼스에서 추출한 스페인 측 기사. 병렬 자원의 수집은 MedlinePlus 소스에서 집계됩니다. |
| PubMed | 1,858,966 | PubMed Repository의 공개 액세스 기사는 2017 년에 크롤링되었습니다. |
이 모델은 Pharmaconer, Cantemist 및 Ictusnet과 같은 세 가지 임상 NER 데이터 세트를 사용하여 명명 된 엔티티 인식 (NER) 작업에 미세 조정되었습니다. 우리는 NER 작업을 바이오 태깅 스키마와 함께 표준 선형 레이어를 사용하여 토큰 분류 문제로 해결했습니다. 우리는 우리의 모델을 일반 도메인 스페인 Roberta-Base-BNE, 스페인 MBERT, 도메인 별 영어 모델 BioBert 및 지속적인 사전 훈련, Mbert-Galén, XLM-R-Galén 및 Beto-Galén을 기반으로하는 3 가지 도메인 별 모델을 지원하는 일반 도메인 다국어 모델과 비교했습니다. 아래 표는 얻은 F1 점수를 보여줍니다.
| 작업/모델 | bsc-bio-es | BSC-BIO-EHR-ES | XLM-R-Galén | 베토-갈레 | Mbert-Galén | Mbert | Biobert | Roberta-Base-Bne |
|---|---|---|---|---|---|---|---|---|
| 약사 | 0.8907 | 0.8913 | 0.8754 | 0.8537 | 0.8594 | 0.8671 | 0.8545 | 0.8474 |
| 칸테미스트 | 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 |
다음 예는 Pharmaconer 데이터 세트에서 미세 조정 된 BSC-BIO-EHR-ES 모델을 엔티티를 예측하는 방법을 보여줍니다.
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}
]
먼저 프로젝트를 복제하십시오.
git clone https://github.com/PlanTL-GOB-ES/lm-biomedical-clinical-es/blob/master/README.md
파이썬 가상 환경을 설정하고 활성화하십시오
python3.8 -m venv venv; source venv/bin/activate
프로젝트 기본 폴더에서 다음 줄을 실행하는 가상 환경에 필요한 모든 Python 패키지를 설치하십시오. pip install -r requirements.txt .
마지막으로 프로젝트 기본 폴더에서 다음 명령을 실행하십시오 : bash ner.sh [MODEL_NAME] [DATASET_NAME] [SEED]
[MODEL_NAME] : Huggingface '모델 이름을 사용하려는 사기 모델의 이름.[DATASET_NAME] : huggingface 'ner 데이터 세트의 데이터 세트 이름을 사용할 ner 데이터 세트 이름. 사용하려는 데이터 세트에 따라 "Plantl-Gob-ES/Cantemist-Ner"및 "Plantl-Gob-ES/Pharmaconer"에서 선택할 수 있습니다.[SEED] : 사용하려는 씨앗. 이것은 동일한 결과를 재현 할 수 있습니다. ner.sh 스크립트는 선형 분류 헤드를 적용하는 NER 작업에 대한 사전 취사 언어 모델을 미세 조정합니다. 기본적으로, 모든 시대의 개발 세트에 대한 평가와 함께 10 개의 에포크에 대한 미세 조정 실행. 개발 세트에서 최상의 성능을 달성하는 모델은 최종 모델로 선택되고 테스트 세트에서 평가됩니다. 가장 잘 훈련 된 모델은 체크 포인트 폴더 및 Tensorboard 데이터 ( tb 디렉토리 내부)와 함께 유형 ./output/model-$model_name/dataset-$dataset_name/seed-$seed 출력 경로에있는 유형의 출력 경로에 저장됩니다.
예를 들어, 약사 데이터 세트에서 BSC-Bio-EHR-ES Language Model을 미세 조정하려면 명령을 실행하십시오.
bash ner.sh PlanTL-GOB-ES/bsc-bio-ehr-es PlanTL-GOB-ES/pharmaconer 42
이 모델을 사용하는 경우 우리의 작업을 인용하십시오.
@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.",
}
이 프로젝트는 Apache 라이센스, 버전 2.0에 따라 라이센스가 부여됩니다.
저작권 (C) 2021 사무국 DEDIASACIón e Inteligencia 인공 (SEDIA)
이 작업은 Plan-TL의 틀 내에서 스페인 주 사무국이 디지털화 및 인공 지능 (SEDIA)에 의해 자금을 지원 받았다.
이 저장소에 발표 된 모델은 일반적인 목적을위한 것이며 제 3 자에게 제공됩니다. 이 모델에는 편향 및/또는 다른 바람직하지 않은 왜곡이있을 수 있습니다.
제 3 자, 이러한 모델을 사용하거나 이러한 모델을 기반으로 한 시스템을 사용하는 다른 당사자에게 시스템 및/또는 서비스를 제공하거나 모델의 사용자가되면, 사용으로 인해 발생하는 위험을 완화하는 것은 그들의 책임이며, 어떤 경우에도 인공 지능 사용에 관한 규제를 포함하여 적용 가능한 규정을 준수해야합니다.
어떠한 경우에도 모델의 소유자 (SEDIA - 디지털화 및 인공 지능을위한 주 사무국) 또는 제작자 (BSC - 바르셀로나 슈퍼 컴퓨팅 센터)는이 모델의 제 3자가 사용한 결과에 대해 책임을지지 않습니다.
los modelos publicados en este repositorio tienen una finalidad generalista y esán a lisposición de terceros. Estos Modelos Pueden Tener Sesgos y/u otro tipo de pistorsiones indeseables.
Cuando Terceros desplieguen o Proporcionen sistemas y/o servicios aTras 부분 usando alguno de estos modelos (o utilizando sistemas basados en estos modelos) o se conviertan en usuarios de los modelos, deben tener ener en cuenta que es su ros res res r res r res r res r res r res r res res res res res res res res res res res res res rese. y, en todo caso, cumplir con la normativa inspolable, incluyendo la normativa en materia de uso de inteligencia 인공.
En Ningún Caso El Propietario de los Modelos (Sedia - Sedia - Digitalización e Inteligencia 인공) Ni El Creador (BSC - Barcelona SuperComputing Center) Serán Resportables de los ros ros ros ros resivados del uso que quer terceros de ostos modelos.