Nucha commited on
Commit
53e75d7
·
verified ·
1 Parent(s): 5481c65

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -59,27 +59,31 @@ def categorize_entities(entities):
59
  return hskill, sskill
60
 
61
  def highlight_entities(text, hskill, sskill):
 
62
  all_entities = sorted(hskill + sskill, key=lambda e: e["start"]) # เรียงตามตำแหน่งเริ่มต้น
63
 
64
  last_idx = 0
65
- highlighted_text = ""
66
 
67
  for entity in all_entities:
68
  start, end, word, entity_type = entity["start"], entity["end"], entity["word"], entity["entity"]
69
  color = ENTITY_COLORS["hskill"] if entity in hskill else ENTITY_COLORS["sskill"]
70
 
71
  # เพิ่มข้อความก่อน Entity
72
- highlighted_text += text[last_idx:start]
73
-
74
- # เพิ่ม Entity แบบมีไฮไลต์
75
- highlighted_text += f'<span style="background-color: {color}; padding: 2px 5px; border-radius: 5px;">[{word}] ({entity_type.upper()})</span>'
76
-
 
 
 
77
  last_idx = end # อัปเดตตำแหน่งล่าสุด
78
 
79
  # เพิ่มข้อความที่เหลือหลังจาก Entity สุดท้าย
80
- highlighted_text += text[last_idx:]
81
 
82
- return f'<div style="font-size:16px; line-height:1.6;">{highlighted_text}</div>'
83
 
84
 
85
  # UI ด้วย Streamlit
 
59
  return hskill, sskill
60
 
61
  def highlight_entities(text, hskill, sskill):
62
+ # ฟังก์ชันสร้าง Named Entity Annotation แสดงแบบ Tagging
63
  all_entities = sorted(hskill + sskill, key=lambda e: e["start"]) # เรียงตามตำแหน่งเริ่มต้น
64
 
65
  last_idx = 0
66
+ annotated_text = ""
67
 
68
  for entity in all_entities:
69
  start, end, word, entity_type = entity["start"], entity["end"], entity["word"], entity["entity"]
70
  color = ENTITY_COLORS["hskill"] if entity in hskill else ENTITY_COLORS["sskill"]
71
 
72
  # เพิ่มข้อความก่อน Entity
73
+ annotated_text += text[last_idx:start]
74
+
75
+ # เพิ่ม Entity แบบมีไฮไลต์และ Tagging
76
+ annotated_text += f'''
77
+ <span style="background-color: {color}; padding: 3px 6px; border-radius: 5px; font-weight: bold;">
78
+ {word} <span style="background: white; color: black; font-size: 12px; padding: 1px 4px; border-radius: 3px;">{entity_type.upper()}</span>
79
+ </span>
80
+ '''
81
  last_idx = end # อัปเดตตำแหน่งล่าสุด
82
 
83
  # เพิ่มข้อความที่เหลือหลังจาก Entity สุดท้าย
84
+ annotated_text += text[last_idx:]
85
 
86
+ return f'<div style="font-size:16px; line-height:1.6;">{annotated_text}</div>'
87
 
88
 
89
  # UI ด้วย Streamlit