/ Модель

Характеристики

Контекст
512 токенов
Лицензия
MIT
Архитектура
distilbert · dense
Библиотека
transformers
Опубликована
29 апр 2025

distilbert-medication-ner

Разметка токеновТекст → label3 профессии

Дообученная DistilBERT-модель выделяет названия лекарств, дозировки, способы введения, бренды и количества в текстовых описаниях препаратов.

42скачиваний за 30 дней1лайквеса обновлены12 мая 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

jackleejm разработал модель на основе distilbert-base-cased, дообучив её для распознавания именованных сущностей в строках с описанием лекарств. Она выделяет пять типов сущностей: DRUG (препарат), DOSAGE (дозировка), ROUTE (способ введения), BRAND (торговая марка) и QUANTITY (количество). Модель рассчитана на разбор записей вроде «Ibuprofen 100 MG Oral Tablet» и составных описаний препаратов.

Модель использует архитектуру DistilBERT для классификации токенов и принимает текст. В README указаны точность 0,998, полнота 0,983 и F1 0,991 на ограниченных вручную размеченных наборах из 309 обучающих и 335 оценочных примеров. Контекст составляет 512 токенов. Модель выпущена под лицензией MIT.

Сценарии применения

  • извлечение названий препаратов из строк лекарственных назначений
  • распознавание дозировок лекарств в описаниях
  • извлечение способа введения препарата
  • выделение торговых марок лекарств
  • извлечение количества препарата из медицинских записей

Ограничения

Модель обучалась на синтетических данных и ограниченных вручную размеченных наборах; приведённые метрики могут не переноситься на другие форматы и распределения медицинских текстов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

distilbert-medication-ner

This model is a fine-tuned version of distilbert-base-cased on synthetically generated medication data by Synthea.

More details on how this model was trained can be found on GitHub.

Model Description

A fine-tuned NER model developed to handle 5 specific entities (i.e. DRUG, DOSAGE, ROUTE, BRAND, QUANTITY) when processing medication strings such as:

  • Ibuprofen 100 MG Oral Tablet
  • 1 ML medroxyprogesterone acetate 150 MG/ML Injection
  • Acetaminophen 325 MG / Oxycodone Hydrochloride 10 MG Oral Tablet [Percocet]

The model was trained and evaluated on limited manually annotated datasets (i.e. train_n_samples=309, eval_n_samples=335), achieved the following evaluation metrics:

  • Precision: 0.998
  • Recall: 0.983
  • F1: 0.991

Usage

  1. Load model:
from transformers import AutoTokenizer, AutoModelForTokenClassification

model_name = "jackleejm/distilbert-medication-ner"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForTokenClassification.from_pretrained(model_name)
  1. Setup a pipeline and run inferences:
from transformers import pipeline

ner_pipeline = pipeline(
  task="token-classification",
  model=model,
  tokenizer=tokenizer,
  aggregation_strategy="simple",
  device_map="auto",
)

input = ["Acetaminophen 325 MG Oral Tablet"]
results = ner_pipeline(input)

print(results)

# Outputs
[
  [
    {
      "word": "Acetaminophen",
      "score": np.float32(0.99948627),
      "entity_group": "DRUG",
      "start": 0,
      "end": 13
    },
    {
      "word": "325 MG",
      "score": np.float32(0.99882394),
      "entity_group": "DOSAGE",
      "start": 14,
      "end": 20
    },
    {
      "word": "Oral Tablet",
      "score": np.float32(0.9994621),
      "entity_group": "ROUTE",
      "start": 21,
      "end": 32
    }
  ]
]

Training Procedure

Training Hyperparameters

  • learning_rate: 2e-5
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 20
  • weight_decay: 0.01
  • evaluation_strategy: "steps"
  • eval_steps: 50
  • load_best_model_at_end: True
  • metric_for_best_model: "f1"

Framework versions

  • Transformers 4.49.0
  • Pytorch 2.6.0
  • Datasets 3.3.2
  • Tokenizers 0.21.0

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · token-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
DistilBertForTokenClassification
Ревизия весов
c91e1a0

0 моделей