Newer
Older
web-services / fund-ner / v1 / tagger.py
#!/opt/bitnami/python/bin/python3.7

from flair.data import Sentence
from flair.models import SequenceTagger
from normalize import normalize
import json
import sys
import logging 

logging.getLogger("flair").handlers[0].stream = sys.stderr
tagger = SequenceTagger.load('./v1/best-model.pt')
for line in sys.stdin:
    data = json.loads(line)
    lSent = normalize([data["value"]])[0].split()
    sentence = Sentence()
    for token in lSent:
        sentence.add_token(token)
    tagger.predict(sentence)
    data["value"] = str([entity.text for entity in sentence.get_spans('ner')])
    sys.stdout.write(json.dumps(data))
    sys.stdout.write('\n')