File size: 1,147 Bytes
9ec9489
bb74e7e
bc557ee
9ec9489
 
 
 
 
 
 
 
 
 
bb74e7e
9ec9489
 
 
 
 
 
 
 
 
 
 
 
433ad06
9ec9489
 
 
 
 
4eaf505
 
9ec9489
 
4eaf505
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import gradio
from transformers import pipeline

def merge_split_token(tokens):
  merged = []
  for token in tokens:
    if token["word"].startswith('##'):
      merged[-1]["word"] += token["word"][2:]
    else:
      merged.append(token)

  return merged
def process_trans_text(text):
  nlp=pipeline("ner",  model='KBLab/bert-base-swedish-cased-ner', tokenizer='KBLab/bert-base-swedish-cased-ner')
  nlp_results = nlp(text)
  print('nlp_results:', nlp_results)

  nlp_results_merge = merge_split_token(nlp_results)
  nlp_results_adjusted = map(lambda entity: dict(entity, **{ 'score': float(entity['score']) }), nlp_results_merge)
  print('nlp_results_adjusted:', nlp_results_adjusted)
  # Return values
  return {'entities': list(nlp_results_adjusted)}

gradio_intreface = gradio.Interface(
  fn=process_trans_text,
  inputs="text",
  outputs="json",
  examples=[
    ["Jag heter Tom och bor i Stockholm."],
    ["Groens malmgård är en av Stockholms malmgårdar, belägen vid Malmgårdsvägen 53 på Södermalm i Stockholm."]
  ],
  title="Entity Recognition",
  description="Something text",
  port=8888
)

gradio_intreface.launch(share=True)