crabz commited on
Commit
6cef16b
1 Parent(s): 58ee780

better postprocessing

Browse files
Files changed (1) hide show
  1. app.py +27 -15
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
- to_remove = []
43
- merged_entities = []
44
- for i in range(len(entities)):
45
- for j in range(i + 1, len(entities)):
46
- if entities[i] != entities[j] and entities[i][0] == entities[j][0] and (entities[i][2] == entities[j][1] or
47
- entities[i][1] == entities[j][2]):
48
- to_remove.append(entities[i])
49
- to_remove.append(entities[j])
 
 
50
 
51
- new_start = min(entities[i][1], entities[j][1])
52
- new_end = max(entities[i][2], entities[j][2])
53
- merged_entities.append((entities[i][0], new_start, new_end))
54
- for ent in to_remove:
55
- entities.remove(ent)
56
- entities += merged_entities
 
 
 
 
 
 
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 "