Update app.py
Browse files
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 |
-
|
|
|
43 |
|
44 |
-
for
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
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
|
|
|
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):
|