soldni commited on
Commit
9d0bbec
1 Parent(s): 2ce0e0f

more colors

Browse files
Files changed (1) hide show
  1. app.py +46 -2
app.py CHANGED
@@ -1,4 +1,5 @@
1
  from io import StringIO
 
2
 
3
  import gradio as gr
4
  import pandas as pd
@@ -9,6 +10,7 @@ nlp = spacy.load('en_core_web_sm')
9
 
10
  HTML_RED = '<span style="background-color: rgba(255, 0, 0, 0.2)">{t}</span>'
11
  HTML_GRN = '<span style="background-color: rgba(0, 255, 0, 0.3)">{t}</span>'
 
12
  HTML_BLU = '<span style="background-color: rgba(0, 0, 255, 0.2)">{t}</span>'
13
  HTML_PLN = '<span>{t}</span>'
14
  TABLE_CSS = '''
@@ -22,6 +24,7 @@ table, th, td {
22
  }
23
  '''
24
 
 
25
  def colorize(file_obj):
26
  with open(file_obj.name, 'r') as f:
27
  raw = f.read()
@@ -37,9 +40,26 @@ def colorize(file_obj):
37
  row[1]['model summary A'],
38
  row[1]['model summary B']
39
  ))
40
- tokens_gold = {token.lemma_.lower() for token in gold}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  table_content.append(
42
- [id_, gold.text] +
43
  [
44
  ''.join(
45
  (
@@ -88,6 +108,30 @@ def main():
88
  )
89
  run = gr.Button(label='Run')
90
  with gr.TabItem("Visualization"):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  viz = gr.HTML(label='Upload a csv file to start.')
92
  run.click(colorize, data, viz)
93
 
 
1
  from io import StringIO
2
+ import itertools
3
 
4
  import gradio as gr
5
  import pandas as pd
 
10
 
11
  HTML_RED = '<span style="background-color: rgba(255, 0, 0, 0.2)">{t}</span>'
12
  HTML_GRN = '<span style="background-color: rgba(0, 255, 0, 0.3)">{t}</span>'
13
+ HTML_YLW = '<span style="background-color: rgba(255, 255, 0, 0.3)">{t}</span>'
14
  HTML_BLU = '<span style="background-color: rgba(0, 0, 255, 0.2)">{t}</span>'
15
  HTML_PLN = '<span>{t}</span>'
16
  TABLE_CSS = '''
 
24
  }
25
  '''
26
 
27
+
28
  def colorize(file_obj):
29
  with open(file_obj.name, 'r') as f:
30
  raw = f.read()
 
40
  row[1]['model summary A'],
41
  row[1]['model summary B']
42
  ))
43
+ tokens_gold = {token.lemma_.lower(): 0 for token in gold}
44
+ for token in itertools.chain(genA, genB):
45
+ if token.lemma_.lower() in tokens_gold:
46
+ tokens_gold[token.lemma_.lower()] += 1
47
+
48
+ gold_text = ''.join([
49
+ (
50
+ HTML_PLN.format(t=token.text)
51
+ if token.pos_ not in {'NOUN', 'PROPN', 'VERB'}
52
+ else (
53
+ (
54
+ HTML_BLU if tokens_gold[token.lemma_.lower()] > 0
55
+ else HTML_YLW
56
+ ).format(t=token.text)
57
+ )
58
+ ) + token.whitespace_
59
+ for token in gold
60
+ ])
61
  table_content.append(
62
+ [id_, gold_text] +
63
  [
64
  ''.join(
65
  (
 
108
  )
109
  run = gr.Button(label='Run')
110
  with gr.TabItem("Visualization"):
111
+ gr.HTML(
112
+ ''.join(
113
+ (
114
+ "<b>Explanation of colors:</b>",
115
+ "<br><ul>",
116
+ "<li><b>",
117
+ HTML_RED.format(t='Red'),
118
+ "</b>: word is in generated, but not in gold.</li>",
119
+ "<li><b>",
120
+ HTML_GRN.format(t='Green'),
121
+ "</b>: word is in generated summary and gold.</li>",
122
+ "<li><b>",
123
+ HTML_YLW.format(t='Yellow'),
124
+ "</b>: word is in gold, but not in generated.</li>",
125
+ "<li><b>",
126
+ HTML_BLU.format(t='Blue'),
127
+ "</b>: word is in gold and in generated.</li>",
128
+ "</ul>",
129
+ "<br>",
130
+ "<b>Important</b>: Only nouns, verbs and proper ",
131
+ "nouns are colored.</b>"
132
+ )
133
+ )
134
+ )
135
  viz = gr.HTML(label='Upload a csv file to start.')
136
  run.click(colorize, data, viz)
137