ShayDuane commited on
Commit
760b3ca
·
1 Parent(s): 2f8de09

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +19 -1
README.md CHANGED
@@ -30,6 +30,22 @@ from transformers import (
30
  AutoTokenizer,
31
  )
32
  import jieba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  def segment(align_preds, words):
34
  pred_data = []
35
  for idx, pred in enumerate(align_preds):
@@ -56,12 +72,14 @@ 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囊下曲安奈德注药术,并行左眼视网膜激光凝固术。已多次于我科行左眼玻璃体腔药物注射术。治疗后视力有提高。
 
30
  AutoTokenizer,
31
  )
32
  import jieba
33
+
34
+ def align_space(words, words_remove_space, align_preds):
35
+
36
+ origin_labels = []
37
+
38
+ no_space_idx = 0
39
+
40
+ for i, word in enumerate(words):
41
+ if word == ' ':
42
+ origin_labels.append(1)
43
+ if word == words_remove_space[no_space_idx]:
44
+ origin_labels.append(align_preds[no_space_idx])
45
+ no_space_idx += 1
46
+ return origin_labels
47
+
48
+
49
  def segment(align_preds, words):
50
  pred_data = []
51
  for idx, pred in enumerate(align_preds):
 
72
  model = AutoModelForTokenClassification.from_pretrained('path', trust_remote_code=True).cuda()
73
  model.eval()
74
  emr_data = "患者2年前无明显诱因出现左眼视力下降,无眼胀、眼痛,不伴畏光、流泪、异物感,无头疼、恶心、呕吐、头晕、头痛等症状,2014年于我院行左眼球后TENON囊下曲安奈德注药术,并行左眼视网膜激光凝固术。已多次于我科行左眼玻璃体腔药物注射术。治疗后视力有提高。近一周患者再次感视力下降,于2017年12月14日复查OCT提示左眼黄斑水肿明显。建议再次手术治疗。现为求进一步手术治疗,于2018年03月12日收入我院。患者自发病以来,神志清,精神可,饮食可,睡眠可,二便如常,体重无明显变化。无流感样症状。"
75
+ words = list(jieba.cut(emr_data, cut_all=False
76
+ words_remove_space = [i for i in words if i != ' ']
77
  inputs = tokenizer(words, return_tensors="pt", is_split_into_words=True, ).to("cuda")
78
  logits = model(**inputs).logits.squeeze(0)
79
  preds = logits.argmax(-1)
80
  preds = [p.item() for p, w in zip(preds, inputs.word_ids()) if w != None]
81
  align_preds = align_words(preds, inputs.word_ids())
82
+ preds_with_space = align_space(words, words_remove_space, align_preds)
83
  segmentation_data = segment(align_preds, words)
84
  print(segmentation_data)
85
  #[SEP]患者2年前无明显诱因出现左眼视力下降,无眼胀、眼痛,不伴畏光、流泪、异物感,无头疼、恶心、呕吐、头晕、头痛等症状,2014年于我院行左眼球后TENON囊下曲安奈德注药术,并行左眼视网膜激光凝固术。已多次于我科行左眼玻璃体腔药物注射术。治疗后视力有提高。