Commit
·
9df3a2f
1
Parent(s):
2dac3ae
app
Browse files
app.py
CHANGED
@@ -16,6 +16,29 @@ ner_pipeline = pipeline(
|
|
16 |
)
|
17 |
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
# Helper function to align entities correctly and debug tokenization
|
20 |
def prepare_entities_for_highlight(text, results):
|
21 |
entities = []
|
@@ -45,7 +68,7 @@ def prepare_entities_for_highlight(text, results):
|
|
45 |
# Sort entities by their start position
|
46 |
entities = sorted(entities, key=lambda x: x["start"])
|
47 |
|
48 |
-
return
|
49 |
|
50 |
|
51 |
# Function to process the sentence and extract entities
|
@@ -64,7 +87,7 @@ def ner_app_interface():
|
|
64 |
input_sentence = gr.Textbox(
|
65 |
lines=5, label="Input Sentence", placeholder="Enter a sentence for NER..."
|
66 |
)
|
67 |
-
output_entities = gr.
|
68 |
|
69 |
# Interface definition
|
70 |
interface = gr.Interface(
|
|
|
16 |
)
|
17 |
|
18 |
|
19 |
+
def format_entities_as_html(entities):
|
20 |
+
excluded_keys = {"start", "end", "index", "word"} # Keys to exclude from the output
|
21 |
+
html_output = "<ul>"
|
22 |
+
|
23 |
+
for entity in entities:
|
24 |
+
html_output += "<li>"
|
25 |
+
|
26 |
+
# Dynamically add all fields except the excluded ones
|
27 |
+
for key, value in entity.items():
|
28 |
+
if key not in excluded_keys:
|
29 |
+
if isinstance(value, float): # Format score if it's a float
|
30 |
+
html_output += (
|
31 |
+
f"<strong>{key.capitalize()}:</strong> {value:.2f}<br>"
|
32 |
+
)
|
33 |
+
else:
|
34 |
+
html_output += f"<strong>{key.capitalize()}:</strong> {value}<br>"
|
35 |
+
|
36 |
+
html_output += "</li>"
|
37 |
+
|
38 |
+
html_output += "</ul>"
|
39 |
+
return html_output
|
40 |
+
|
41 |
+
|
42 |
# Helper function to align entities correctly and debug tokenization
|
43 |
def prepare_entities_for_highlight(text, results):
|
44 |
entities = []
|
|
|
68 |
# Sort entities by their start position
|
69 |
entities = sorted(entities, key=lambda x: x["start"])
|
70 |
|
71 |
+
return format_entities_as_html(entities)
|
72 |
|
73 |
|
74 |
# Function to process the sentence and extract entities
|
|
|
87 |
input_sentence = gr.Textbox(
|
88 |
lines=5, label="Input Sentence", placeholder="Enter a sentence for NER..."
|
89 |
)
|
90 |
+
output_entities = gr.HTML(label="Extracted Entities")
|
91 |
|
92 |
# Interface definition
|
93 |
interface = gr.Interface(
|