Update README.md
Browse files
README.md
CHANGED
@@ -20,4 +20,51 @@ DeBERTa-V2-710M-Chinese fine tuned in custom datasets
|
|
20 |
- accuracy 99.92%
|
21 |
- precision 88.83%
|
22 |
- recall 89.98%
|
23 |
-
- f1 89.40%
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
- accuracy 99.92%
|
21 |
- precision 88.83%
|
22 |
- recall 89.98%
|
23 |
+
- f1 89.40%
|
24 |
+
|
25 |
+
# BEST PRACTICES
|
26 |
+
|
27 |
+
```
|
28 |
+
from transformers import (
|
29 |
+
AutoModelForTokenClassification,
|
30 |
+
AutoTokenizer,
|
31 |
+
)
|
32 |
+
import jieba
|
33 |
+
def segment(align_preds, words):
|
34 |
+
pred_data = []
|
35 |
+
for idx, pred in enumerate(align_preds):
|
36 |
+
if pred !=0 and pred != 2:
|
37 |
+
pred_data.append(words[idx])
|
38 |
+
else:
|
39 |
+
pred_data.append("[SEP]")
|
40 |
+
pred_data.append(words[idx])
|
41 |
+
data = "".join(pred_data)
|
42 |
+
return data
|
43 |
+
|
44 |
+
def align_words(preds, words_ids):
|
45 |
+
pred_res = []
|
46 |
+
word_ids = [w for w in words_ids if w != None]
|
47 |
+
previous_word_idx = None
|
48 |
+
for idx, word_id in enumerate(word_ids):
|
49 |
+
if word_id != previous_word_idx:
|
50 |
+
pred_res.append(preds[idx])
|
51 |
+
else:
|
52 |
+
continue
|
53 |
+
previous_word_idx = word_id
|
54 |
+
return pred_res
|
55 |
+
tokenizer = AutoTokenizer.from_pretrained('path', trust_remote_code=True)
|
56 |
+
model = AutoModelForTokenClassification.from_pretrained('path', trust_remote_code=True).cuda()
|
57 |
+
model.eval()
|
58 |
+
emr_data = "患者2年前无明显诱因出现左眼视力下降,无眼胀、眼痛,不伴畏光、流泪、异物感,无头疼、恶心、呕吐、头晕、头痛等症状,2014年于我院行左眼球后TENON囊下曲安奈德注药术,并行左眼视网膜激光凝固术。已多次于我科行左眼玻璃体腔药物注射术。治疗后视力有提高。近一周患者再次感视力下降,于2017年12月14日复查OCT提示左眼黄斑水肿明显。建议再次手术治疗。现为求进一步手术治疗,于2018年03月12日收入我院。患者自发病以来,神志清,精神可,饮食可,睡眠可,二便如常,体重无明显变化。无流感样症状。"
|
59 |
+
words = list(jieba.cut(emr_data, cut_all=False))
|
60 |
+
inputs = tokenizer(words, return_tensors="pt", is_split_into_words=True, ).to("cuda")
|
61 |
+
logits = model(**inputs).logits.squeeze(0)
|
62 |
+
preds = logits.argmax(-1)
|
63 |
+
preds = [p.item() for p, w in zip(preds, inputs.word_ids()) if w != None]
|
64 |
+
align_preds = align_words(preds, inputs.word_ids())
|
65 |
+
segmentation_data = segment(align_preds, words)
|
66 |
+
print(segmentation_data)
|
67 |
+
#[SEP]患者2年前无明显诱因出现左眼视力下降,无眼胀、眼痛,不伴畏光、流泪、异物感,无头疼、恶心、呕吐、头晕、头痛等症状,2014年于我院行左眼球后TENON囊下曲安奈德注药术,并行左眼视网膜激光凝固术。已多次于我科行左眼玻璃体腔药物注射术。治疗后视力有提高。
|
68 |
+
#[SEP]近一周患者再次感视力下降,于2017年12月14日复查OCT提示左眼黄斑水肿明显。建议再次手术治疗。现为求进一步手术治疗,于2018年03月12日收入我院。
|
69 |
+
#[SEP]患者自发病以来,神志清,精神可,饮食可,睡眠可,二便如常,体重无明显变化。无流感样症状。
|
70 |
+
```
|