manaviel85370
refactor testings
6fc4565
raw
history blame contribute delete
971 Bytes
from src.nlp.playground.ner import GlinerHandler
from src.utils.apis.googlemaps_api import GoogleMapsAPI
class AddressExtractor(GoogleMapsAPI):
def __init__(self):
super().__init__()
self.gliner_handler = GlinerHandler()
def extract_address(self, data):
entities = self.gliner_handler.extract_entities(data, ["STRASSE", "STADT"])
street = house_number = postal_code = city = None
for entity in entities:
if entity["label"] == "STRASSE":
if street is None:
street = entity["text"]
if entity["label"] == "STADT":
if city is None:
city = entity["text"]
address_text = " ".join([
street if street else "",
house_number if house_number else "",
postal_code if postal_code else "",
city if city else ""
])
return self.address_validation(address_text)