JasonTPhillipsJr commited on
Commit
3577a57
·
verified ·
1 Parent(s): 816ee9a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -8
app.py CHANGED
@@ -8,6 +8,19 @@ nlp = spacy.load("./models/en_core_web_sm")
8
  st.title("SpaGAN Demo")
9
  st.write("Enter a text, and the system will highlight the geo-entities within it.")
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  user_input = st.text_area("Input Text", height=200)
12
 
13
  # Process the text when the button is clicked
@@ -16,19 +29,18 @@ if st.button("Highlight Geo-Entities"):
16
  # Process the text using spaCy
17
  doc = nlp(user_input)
18
 
19
- # Highlight geo-entities
20
  highlighted_text = user_input
21
  for ent in reversed(doc.ents):
22
- if ent.label_ in ['FAC', 'ORG', 'LOC', 'GPE']: # GPE = Geopolitical Entity, LOC = Location
 
23
  highlighted_text = (
24
  highlighted_text[:ent.start_char] +
25
- f"**:green[{ent.text}]**" +
26
  highlighted_text[ent.end_char:]
27
  )
28
 
29
- # Display the highlighted text
30
- st.markdown(highlighted_text)
31
  else:
32
- st.error("Please enter some text.")
33
-
34
- st.write("Note: The model identifies and highlights geo-entities.")
 
8
  st.title("SpaGAN Demo")
9
  st.write("Enter a text, and the system will highlight the geo-entities within it.")
10
 
11
+ # Define a color map for different entity types
12
+ COLOR_MAP = {
13
+ 'FAC': 'red', # Facilities (e.g., buildings, airports)
14
+ 'ORG': 'blue', # Organizations (e.g., companies, institutions)
15
+ 'LOC': 'purple', # Locations (e.g., mountain ranges, water bodies)
16
+ 'GPE': 'green' # Geopolitical Entities (e.g., countries, cities)
17
+ }
18
+
19
+ # Display the color key
20
+ st.write("**Color Key:**")
21
+ for label, color in COLOR_MAP.items():
22
+ st.markdown(f"- **{label}**: <span style='color:{color}'>{color}</span>", unsafe_allow_html=True)
23
+
24
  user_input = st.text_area("Input Text", height=200)
25
 
26
  # Process the text when the button is clicked
 
29
  # Process the text using spaCy
30
  doc = nlp(user_input)
31
 
32
+ # Highlight geo-entities with different colors
33
  highlighted_text = user_input
34
  for ent in reversed(doc.ents):
35
+ if ent.label_ in COLOR_MAP:
36
+ color = COLOR_MAP[ent.label_]
37
  highlighted_text = (
38
  highlighted_text[:ent.start_char] +
39
+ f"<span style='color:{color}; font-weight:bold'>{ent.text}</span>" +
40
  highlighted_text[ent.end_char:]
41
  )
42
 
43
+ # Display the highlighted text with HTML support
44
+ st.markdown(highlighted_text, unsafe_allow_html=True)
45
  else:
46
+ st.error("Please enter some text.")