jeme213 commited on
Commit
e3182cb
·
1 Parent(s): b013737

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
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()