better postprocessing
Browse files
app.py
CHANGED
@@ -39,21 +39,29 @@ def postprocess(classifications):
|
|
39 |
j += 1
|
40 |
entities.append((ner_map[classifications[i]['entity']].split('-')[1], classifications[i]['start'],
|
41 |
classifications[j - 1]['end']))
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
return entities
|
58 |
|
59 |
|
@@ -80,9 +88,13 @@ intf = gr.Interface(fn=apply_ner, inputs="text", outputs="html", title='Slovak N
|
|
80 |
"štyroch prípadov variantu omikron na Slovensku."],
|
81 |
["Čaputová opakovane tvrdí, že \"spravodlivosť na Slovensku neplatí vždy pre všetkých "
|
82 |
"rovnako\"."],
|
|
|
|
|
|
|
|
|
83 |
["Minister financií a líder mandátovo najsilnejšieho hnutia OĽaNO Igor Matovič "
|
84 |
"upozorňuje, že následky tretej vlny budú na Slovensku veľmi veľké."],
|
85 |
-
["Začiatkom roka sa objavili nezhody medzi Richardom Sulíkom a šéfom hnutia OĽANO "
|
86 |
"Igorom Matovičom, ktoré v istej miere pretrvávajú aj dodnes."]],
|
87 |
description="Named-entity recognition (NER) labels named-entities in unstructured text. This "
|
88 |
"implementation supports three labels: person (OSOBA), organization (ORGANIZÁCIA) and "
|
|
|
39 |
j += 1
|
40 |
entities.append((ner_map[classifications[i]['entity']].split('-')[1], classifications[i]['start'],
|
41 |
classifications[j - 1]['end']))
|
42 |
+
while True:
|
43 |
+
merged = False
|
44 |
+
to_remove = []
|
45 |
+
merged_entities = []
|
46 |
+
for i in range(len(entities)):
|
47 |
+
for j in range(i + 1, len(entities)):
|
48 |
+
if entities[i] != entities[j] and entities[i][0] == entities[j][0] and \
|
49 |
+
(entities[i][2] == entities[j][1] or entities[i][1] == entities[j][2]):
|
50 |
+
to_remove.append(entities[i])
|
51 |
+
to_remove.append(entities[j])
|
52 |
|
53 |
+
new_start = min(entities[i][1], entities[j][1])
|
54 |
+
new_end = max(entities[i][2], entities[j][2])
|
55 |
+
merged_entities.append((entities[i][0], new_start, new_end))
|
56 |
+
merged = True
|
57 |
+
break
|
58 |
+
if merged:
|
59 |
+
break
|
60 |
+
for ent in to_remove:
|
61 |
+
entities.remove(ent)
|
62 |
+
entities += merged_entities
|
63 |
+
if not merged:
|
64 |
+
break
|
65 |
return entities
|
66 |
|
67 |
|
|
|
88 |
"štyroch prípadov variantu omikron na Slovensku."],
|
89 |
["Čaputová opakovane tvrdí, že \"spravodlivosť na Slovensku neplatí vždy pre všetkých "
|
90 |
"rovnako\"."],
|
91 |
+
["Informácie o týchto veľkolepých plánoch prišli týždeň po tom, ako sa japonský "
|
92 |
+
"miliardár Jusaku Maezawa vrátil z 12-dňového pobytu na Medzinárodnej vesmírnej stanici "
|
93 |
+
"(ISS), čím sa stal prvým vesmírnym turistom, ktorý cestoval na ISS za viac ako desať "
|
94 |
+
"rokov."],
|
95 |
["Minister financií a líder mandátovo najsilnejšieho hnutia OĽaNO Igor Matovič "
|
96 |
"upozorňuje, že následky tretej vlny budú na Slovensku veľmi veľké."],
|
97 |
+
["Začiatkom roka 2021 sa objavili nezhody medzi Richardom Sulíkom a šéfom hnutia OĽANO "
|
98 |
"Igorom Matovičom, ktoré v istej miere pretrvávajú aj dodnes."]],
|
99 |
description="Named-entity recognition (NER) labels named-entities in unstructured text. This "
|
100 |
"implementation supports three labels: person (OSOBA), organization (ORGANIZÁCIA) and "
|