File size: 837 Bytes
da88570
 
 
 
 
 
 
 
 
 
 
56abaa1
da88570
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# https://blog.knowledgator.com/meet-the-new-zero-shot-ner-architecture-30ffc2cb1ee0
# https://labelstud.io/blog/fine-tuning-generalist-models-for-named-entity-recognition/
import psutil
from gliner import GLiNER
import streamlit as st

LABELS = ["eventTitle", "eventLocation", "date", "time", "street", "city"]

class GlinerHandler:
    def __init__(self, model_name="urchade/gliner_multi-v2.1"):
        self.model = GLiNER.from_pretrained(model_name)
        st.info("Using NER Model Gliner")

    def extract_entities(self, text, labels=None, threshold=0.3):
        if labels is None:
            labels = LABELS
        entities = self.model.predict_entities(text, labels, threshold=threshold)
        return entities

# gliner = GlinerHandler()
# entities = gliner.extract_entities("Test 20.03.10, In Nürnberg")
# print(entities)