Views
No views yet
ai-forever/ruBert-base on Russian clinical text.datasets/subgroups/group_P.csveaa1a9f6e52dba1c8167c8a5c40d1d455bc2e6072842e6cb6bc3c1c09fd67d4cml/build_subgroup_datasets.ipynb (iterative multi-label stratification by parse_id).P_OTHER for rare codes collapsed during dataset build).| metric | value |
|---|---|
| macro_f1 | 0.7660 |
| micro_f1 | 0.7414 |
| weighted_f1 | 0.7773 |
| subset_accuracy | 0.6053 |
| hit@1 | 0.9211 |
| hit@3 | 0.9474 |
| recall@3 | 0.9474 |
| mrr | 0.9430 |
metrics.json.*ДАТА*, *ГОРОД*, ...); model may behave differently on non-redacted input.label_map.json → rare_label_ids) for interface stability but will effectively never fire.1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4repo = "Dmitry43243242/icd10-ru-subgroup-p"
5tok = AutoTokenizer.from_pretrained(repo)
6mdl = AutoModelForSequenceClassification.from_pretrained(repo)
7mdl.eval()
8
9text = "жалобы пациента..."
10inp = tok(text, return_tensors="pt", truncation=True, max_length=512)
11with torch.no_grad():
12 probs = torch.sigmoid(mdl(**inp).logits)[0]
13preds = [mdl.config.id2label[i] for i, p in enumerate(probs.tolist()) if p >= 0.5]
14top3 = sorted(
15 [(mdl.config.id2label[i], p) for i, p in enumerate(probs.tolist())],
16 key=lambda x: -x[1],
17)[:3]
18print(preds, top3)ai-app ICD-10 classification pipeline. Upstream model: ai-forever/ruBert-base (ai-forever).