orangeorang commited on
Commit
27d81dc
·
verified ·
1 Parent(s): e9f046d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -9
app.py CHANGED
@@ -39,15 +39,17 @@ def extract_entities(text):
39
 
40
  # Fungsi untuk highlight teks dan menampilkan daftar entitas yang dikenali
41
  def highlight_text(text, entities):
42
- entities = sorted(entities, key=lambda x: text.lower().find(x["word"].lower()), reverse=True) # Urutkan dari belakang
 
43
 
44
- for ent in entities:
45
- word = ent["word"]
46
- pattern = re.compile(r'\b' + re.escape(word) + r'\b', re.IGNORECASE) # Pastikan hanya mengganti kata utuh
47
- text = pattern.sub(
48
- f"<span style='background-color: #ffcc80; color: black; padding: 2px; border-radius: 4px;'>{word}</span>",
49
- text
50
- )
 
51
 
52
  # Buat daftar entitas yang dikenali
53
  if entities:
@@ -58,7 +60,8 @@ def highlight_text(text, entities):
58
  else:
59
  entity_list = "<p><em>No medical entities detected.</em></p>"
60
 
61
- return text + "<br><br>" + entity_list
 
62
 
63
  # Fungsi chatbot dengan NER
64
  def chat_with_ner(message, history):
 
39
 
40
  # Fungsi untuk highlight teks dan menampilkan daftar entitas yang dikenali
41
  def highlight_text(text, entities):
42
+ words = text.split(' ') # Pisahkan teks menjadi daftar kata
43
+ entity_words = {ent["word"].lower(): ent for ent in entities} # Buat dict untuk lookup cepat
44
 
45
+ for i, word in enumerate(words):
46
+ clean_word = word.strip('.,!?()[]') # Hilangkan tanda baca di sekitar kata
47
+ lower_word = clean_word.lower()
48
+
49
+ if lower_word in entity_words:
50
+ words[i] = f"<span style='background-color: #ffcc80; color: black; padding: 2px; border-radius: 4px;'>{word}</span>"
51
+
52
+ highlighted_text = ' '.join(words) # Gabungkan kembali teks
53
 
54
  # Buat daftar entitas yang dikenali
55
  if entities:
 
60
  else:
61
  entity_list = "<p><em>No medical entities detected.</em></p>"
62
 
63
+ return highlighted_text + "<br><br>" + entity_list
64
+
65
 
66
  # Fungsi chatbot dengan NER
67
  def chat_with_ner(message, history):