aminghias commited on
Commit
9ce8688
1 Parent(s): 8cefec3

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +81 -0
app.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+
4
+
5
+ from transformers import pipeline
6
+
7
+ # model_name="aminghias/distilbert-base-uncased-finetuned-imdb"
8
+
9
+ # mask_filler = pipeline(
10
+ # "fill-mask", model=model_name
11
+ # )
12
+
13
+ pipe = pipeline("fill-mask", model="aminghias/Clinical-BERT-finetuned ")
14
+ pipe2 = pipeline("fill-mask", model="emilyalsentzer/Bio_ClinicalBERT")
15
+ pipe3= pipeline("fill-mask", model="medicalai/ClinicalBERT")
16
+
17
+
18
+
19
+
20
+
21
+ def predict(text):
22
+
23
+ pred1 = pipe(text)
24
+ pred2 = pipe2(text)
25
+ pred3= pipe3(text)
26
+
27
+ df_sum=pd.DataFrame(pred1)
28
+
29
+ df_sum
30
+ df_sum2=pd.DataFrame(pred2)
31
+
32
+ df_sum2
33
+
34
+ df_sum3= pd.DataFrame(pred3)
35
+
36
+ # # join the two dataframes on token do outer join
37
+
38
+ df_join=pd.merge(df_sum,df_sum2,on='token_str',how='outer')
39
+ df_join=pd.merge(df_sum3,df_join,on='token_str',how='outer')
40
+
41
+ df_join
42
+ df_join['sum_sequence']=df_join['sequence_x'].fillna(df_join['sequence_y'])
43
+ df_join['sum_sequence']=df_join['sum_sequence'].fillna(df_join['sequence'])
44
+ df_join=df_join.fillna(0)
45
+ df_join['score_sum']=(df_join['score_x']+df_join['score_y']+df_join['score'])/3
46
+
47
+ df_join=df_join.sort_values(by='score_sum',ascending=False)
48
+ df_join=df_join.reset_index(drop=True)
49
+ # df_join=df_join.dropna()
50
+ # df_join=df_join.fillna(0)
51
+ df=df_join.copy()
52
+ df_join=df_join[['score_sum','token_str','sum_sequence']]
53
+
54
+ # gr.Interface(fn=lambda: df_join, inputs=None, outputs=gr.Dataframe(headers=df_join.columns)).launch()
55
+
56
+ # print(df_join)
57
+ # df_join['sum_sequence'][0]
58
+ return (df['sum_sequence'][0],df_join)
59
+
60
+
61
+ # return (pipe(text)[0]['sequence'],pipe2(text)[0]['sequence'])
62
+
63
+ demo = gr.Interface(
64
+ fn=predict,
65
+ inputs='text',
66
+ # outputs='text',
67
+ outputs=['text','text'],
68
+ # outputs='text','text',
69
+
70
+ # outputs=gr.Dataframe(headers=['title', 'author', 'text']), allow_flagging='never')
71
+
72
+ title="Filling Missing Clinincal/Medical Data ",
73
+ examples=[ ['The high blood pressure was due to [MASK] which is critical.'],
74
+ ['The [MASK] caused headace and dizziness.']
75
+ ],
76
+ description="This application fills any missing words in the medical domain",
77
+ # fn=lambda: df, inputs=None, outputs=gr.Dataframe(headers=df_join.columns)
78
+ # fn = infer, inputs = inputs, outputs = outputs, examples = [[df_join.head()]]
79
+ )
80
+
81
+ demo.launch()