Spaces:
Sleeping
Sleeping
# ----------------------------------- gradio aufsetzen ---------------------------------------------------------- | |
# 1. gradio mit pip install gradio installieren (Terminal) | |
# 2. Funktion schreiben die den Code aus Ü3_spacy.py benutzt (vorher spacy aufsetzen --> .py-Datei) | |
import gradio as gr | |
import spacy | |
nlp_en = spacy.load("en_core_web_sm") | |
nlp_de = spacy.load("de_core_news_sm") | |
# Funktion schreiben die einen Text nimmt (Eng/Deu) und seine Entitäten ausgibt | |
def get_named_entitites (sentence, language): | |
""" | |
Sucht mit spacy nach Entitäten im angegebenen Satz. | |
Parameters: | |
sentence (str): Der auf Entitäten zu überprüfende Satz. | |
language (str): Sprache des Satzes - "German" oder "English" zulässig. | |
Returns: | |
str: Im Text erkannte Entitäten + Bedäutung. | |
""" | |
if language not in ["German", "English"]: | |
raise ValueError('language muss "German" oder "English" sein') | |
if not isinstance(sentence, str): | |
raise ValueError('sentence muss ein string sein') | |
if language == "German": | |
doc = nlp_de(sentence) | |
if language == "English": | |
doc = nlp_en(sentence) | |
#entities = [[ent.text, ent.label_, spacy.explain(ent.label_)] for ent in doc.ents] | |
entities = ['{} --> {} == {}'.format(ent.text, ent.label_, spacy.explain(ent.label_)) for ent in doc.ents] | |
return(entities) | |
get_named_entitites(sentence='Ich esse gerne Eierreis im Mensa U-boot', language="German") #Funktion funktioniert, spacy eher weniger | |
# Gradio Anwendung basteln | |
demo = gr.Interface(fn=get_named_entitites, | |
inputs = ['text', gr.Radio(["German", "English"], label = "Language", info = "What is the language of your sentence? (Ger/Eng)")], | |
outputs = "text") | |
demo.launch() | |
# 3. Requirements-File mit pip freeze > requirements.txt erstellen |