Spaces:
Sleeping
Sleeping
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import spacy
|
3 |
+
|
4 |
+
nlp_en = spacy.load("en_core_web_sm")
|
5 |
+
nlp_de = spacy.load("de_core_news_sm")
|
6 |
+
|
7 |
+
# Funktion schreiben die einen Text nimmt (Eng/Deu) und seine Entitäten ausgibt
|
8 |
+
def get_named_entitites (sentence, language):
|
9 |
+
"""
|
10 |
+
Sucht mit spacy nach Entitäten im angegebenen Satz.
|
11 |
+
|
12 |
+
Parameters:
|
13 |
+
sentence (str): Der auf Entitäten zu überprüfende Satz.
|
14 |
+
language (str): Sprache des Satzes - "German" oder "English" zulässig.
|
15 |
+
|
16 |
+
Returns:
|
17 |
+
str: Im Text erkannte Entitäten + Bedäutung.
|
18 |
+
"""
|
19 |
+
if language not in ["German", "English"]:
|
20 |
+
raise ValueError('language muss "German" oder "English" sein')
|
21 |
+
if not isinstance(sentence, str):
|
22 |
+
raise ValueError('sentence muss ein string sein')
|
23 |
+
|
24 |
+
if language == "German":
|
25 |
+
doc = nlp_de(sentence)
|
26 |
+
if language == "English":
|
27 |
+
doc = nlp_en(sentence)
|
28 |
+
|
29 |
+
#entities = [[ent.text, ent.label_, spacy.explain(ent.label_)] for ent in doc.ents]
|
30 |
+
entities = ['{} --> {} == {}'.format(ent.text, ent.label_, spacy.explain(ent.label_)) for ent in doc.ents]
|
31 |
+
return(entities)
|
32 |
+
|
33 |
+
|
34 |
+
get_named_entitites(sentence='Ich esse gerne Eierreis im Mensa U-boot', language="German") #Funktion funktioniert, spacy eher weniger
|
35 |
+
|
36 |
+
|
37 |
+
# Gradio Anwendung basteln
|
38 |
+
demo = gr.Interface(fn=get_named_entitites,
|
39 |
+
inputs = ['text', gr.Radio(["German", "English"], label = "Language", info = "What is the language of your sentence? (Ger/Eng)")],
|
40 |
+
outputs = "text")
|
41 |
+
|
42 |
+
demo.launch()
|