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 "
|