From 7768fba6f4118a630c22e77a317fd2339e662bb5 Mon Sep 17 00:00:00 2001 From: Bureaux Tao Date: Wed, 22 Dec 2021 16:46:49 +0800 Subject: [PATCH] dumplicate bug fix --- __pycache__/give_color.cpython-37.pyc | Bin 6308 -> 5581 bytes give_color.py | 89 ++++++++++++++------------ requirements.txt | 1 - 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/__pycache__/give_color.cpython-37.pyc b/__pycache__/give_color.cpython-37.pyc index 7b8c7f1f70eed38313fcfe9ea95a9b7060ab6aa3..d497ab3daa3a69882480ca24574c256a89f9eb1f 100644 GIT binary patch delta 2192 zcmb_dTW=dh6yDjj9eZOtz9n(mQUypaF*u4{Cn8lrsPNDr6c9y1SmhG314?V>vbIqk zT-mubNpWkJ6=@QZs7ZqZL5hluXvn1%eFFhMz~TWV*{uB(iDw=-GhQ1bgz5)&HD~5K zbG~!VoU@k|&o9rI&znp<16R%7qwc+?TV^L(zjdlDCKv>MjPX}ty-yEH*4{BJ zF_(0H-e2uE`b~bbzh=mR`Inh@jD8EYV#_E(%;39kF<6H=%wr=qpbXCAHP>gcmE(PwaLQRQosfb==|4P|b%5I0?Hp+HA zCOEKTBzOu98mR+&$$_I%2P*$n%C9Z)>nh~O=;_U0VD&hZ0_%Wf_GrLgUv&TE&)Cv?^W*5p^RtX;}AbiMPWSWoU z$&1;HvYOY#?m$;$0x=A~zY&)=()q1q?%KSvHKuG$w7Gn)Gd;n>?SwozkzZKOtqz0H z!RDwky>t*?&5b;i7jAo7+FTwOtu1ZTR2jaf%+H$MZJ zn@n^SHegl2x$*CbCYb?EZiFcJH$KTPCjjQxz66cDFhPUxax$Hd4pYSj|a4XwSwv<-{gfHlC4_Ys%-}$`8goZb-K$xECMcJBz!%(k?_O z-!B??yk!RJ z207yYSQF_K>9=PefEADG638O6FD;UjvxZb8HLcH{W-F-qA>KDUU$Z7(;p>UQ9;c(U};$Z*B_&p&K90>IG zbceAtYk!2Aq)U$HbWgy$5&BJ zIv-}jD9Vf?0Xad!XR_rg;3(jF_#+AMZz2d*Fs?A7Ey~W>_V$JS vtmuK^Ejt%IAvs)De=gWBL<0B)Qu)wj5Jsf0))+LbS)-3JCcR#I#p(YGWQwu2 literal 6308 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 diff --git a/give_color.py b/give_color.py index 26ec423..b139dd5 100644 --- a/give_color.py +++ b/give_color.py @@ -4,33 +4,22 @@ import re ## Finding = """ -左IV区淋巴结:1枚,直径2.5cm(1) -颏下:1枚,直径2cm(1) -左颊:部分上、下颌骨及颊部组织12*9*8cm,黏膜切面见一肿块6*3*2cm,灰白,界不清(1) -送检切缘:前内、前外、上内、上外、颊、翼内肌、翼外肌、腮腺、鼻底、鼻旁、鼻腔、软腭、舌根、颏突,均0.5cm -送检切缘:腮腺2,0.5cm -左颈大块:9*6*4cm,为肌肉、脂肪、血管,灰黄。 -右颈大块:10*8*4cm,一侧见一腺体4*3*2cm,灰黄分叶,余为脂肪血管。 -左I区: 1只直径1cm。 -左II区: 2只直径0.5-1cm。 -左III区: 4只直径0.8-1.3cm。 -左IV区: 3只直径1.2-1.8cm。 -左V区: 1只直径1cm。 -右I区: 3只直径1-3.5cm。 -右II区: 3只直径0.8-2cm。 -右III区: 4只直径0.5-1cm。 -右IV区: 4只直径0.5-1.2cm。 -右V区: 2只直径0.5-0.8cm。 +一带黏膜组织5*4*3cm,切面见一溃疡性肿块2.5*1.5*0.5cm,灰白界不清(1) +送检切缘:前、后、左、右、底、舌N、左舌、舌腹、右舌肌、下颌舌骨肌均0.5cm +另送: +左颈大块9*6*4cm,一侧见一腺体4*3*2cm,灰黄分叶,余为脂肪血管。 +I区: 3只直径1-1.5cm。 +II区: 4只直径0.5-1.5cm。 +III区: 12只直径0.4-1cm。 """ Conclusion = """ -“左颊”黏膜鳞状细胞癌,高-中分化,DOI>10mm -送检切缘:“腮腺”阳性(+)、“前内、前外、上内、上外、颊、翼内肌、翼外肌、鼻底、鼻旁、鼻腔、软腭、舌根、颏突、腮腺2”均阴性(-) -冰冻送检:“颏下淋巴结”1只内见鳞状细胞癌转移(+),侵犯至包膜外,“左IV区淋巴结”1只为软组织,伴出血 -“左颈大块”为软组织、“右颌下腺”轻度慢性炎 -送检淋巴结:“右I”1/3只有肿瘤转移(+),余及“左”“I”1只,“II”2只,“III”4只,“IV”3只,“V”1只,“右”“II”3只,“III”4只,“IV”4只,“V”2只均阴性(-) -免疫组化结果NI21-695 +“左口底”黏膜鳞状细胞癌,高-中分化,DOI≤5mm +送检切缘:“前、后、左、右、底、舌N、左舌、舌腹、右舌肌、下颌舌骨肌”均阴性(-) +“左颌下腺”轻度慢性炎 +送检淋巴结:“左”“I”3只,“II”4只,“III”12只均阴性(-) +北院分子结果(NM2021-0492):EGFR扩增探针 FISH(-) +北院免疫组化结果(NI2021-1029): AE1/AE3+ CKH+ CK5/6+ EGFR部分+ Ki67部分+ CD31- S-100- P16- -北院分子结果(NM2021-0316):EGFR扩增探针 FISH(未见明显扩增(-)) """ oral = Oral(Finding, Conclusion, verbose = False) @@ -151,12 +140,21 @@ def get_color(text, entity_list, replaced_word, ImmunohistochemistryContent, Mol # print(j) other.append(j.span()) - synonyms = list(set(synonyms)) - negative = list(set(negative)) - numeracal = list(set(numeracal)) - summary = list(set(summary)) - classification = list(set(classification)) - other = list(set(other)) + synonyms = sorted(list(set(synonyms))) + negative = sorted(list(set(negative))) + numeracal = sorted(list(set(numeracal))) + summary = sorted(list(set(summary))) + classification = sorted(list(set(classification))) + other = sorted(list(set(other))) + + # print("*****************") + remove_dumplicate(other) + remove_dumplicate(synonyms) + remove_dumplicate(negative) + remove_dumplicate(numeracal) + remove_dumplicate(summary) + remove_dumplicate(classification) + # print("*****************") return { '医学术语解析': other, @@ -168,6 +166,13 @@ def get_color(text, entity_list, replaced_word, ImmunohistochemistryContent, Mol } +def remove_dumplicate(l): + for i in range(len(l) - 1): + if l[i + 1][0] < l[i][1]: + l.pop(i + 1) + + + ## if __name__ == '__main__': @@ -182,17 +187,17 @@ if __name__ == '__main__': print("\n同义词判断:") for i in r1['同义词判断']: print(Finding[i[0]: i[1]], i[0], i[1]) - print("\n识别否定修饰词及其修饰对象:") - for i in r1['识别否定修饰词及其修饰对象']: + print("\n否定修饰解析:") + for i in r1['否定修饰解析']: print(Finding[i[0]: i[1]], i[0], i[1]) print("\n数值解析:") for i in r1['数值解析']: print(Finding[i[0]: i[1]], i[0], i[1]) - print("\n对可归纳总结的信息进行解析后归纳判断:") - for i in r1['对可归纳总结的信息进行解析后归纳判断']: + print("\n归纳解析:") + for i in r1['归纳解析']: print(Finding[i[0]: i[1]], i[0], i[1]) - print("\n对定义明确的分类变量进行赋值:") - for i in r1['对定义明确的分类变量进行赋值']: + print("\n分类变量解析:") + for i in r1['分类变量解析']: print(Finding[i[0]: i[1]], i[0], i[1]) print("\n*****************************************\n") @@ -207,17 +212,17 @@ if __name__ == '__main__': print("\n同义词判断:") for i in r2['同义词判断']: print(Conclusion[i[0]: i[1]], i[0], i[1], ) - print("\n识别否定修饰词及其修饰对象:") - for i in r2['识别否定修饰词及其修饰对象']: + print("\n否定修饰解析:") + for i in r2['否定修饰解析']: print(Conclusion[i[0]: i[1]], i[0], i[1]) print("\n数值解析:") for i in r2['数值解析']: print(Conclusion[i[0]: i[1]], i[0], i[1]) - print("\n对可归纳总结的信息进行解析后归纳判断:") - for i in r2['对可归纳总结的信息进行解析后归纳判断']: + print("\n归纳解析:") + for i in r2['归纳解析']: print(Conclusion[i[0]: i[1]], i[0], i[1]) - print("\n对定义明确的分类变量进行赋值:") - for i in r2['对定义明确的分类变量进行赋值']: + print("\n分类变量解析:") + for i in r2['分类变量解析']: print(Conclusion[i[0]: i[1]], i[0], i[1]) # ## diff --git a/requirements.txt b/requirements.txt index 73ce2bb..a32a4a9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -33,7 +33,6 @@ ipython-genutils==0.2.0 ipywidgets==7.6.5 itsdangerous==2.0.1 jedi==0.18.0 -Jinja2==1.2 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==7.0.3 -- 2.22.0