Spaces:
Sleeping
Sleeping
Joel
commited on
Commit
·
3cc8ce8
1
Parent(s):
f80a7c6
added zero shot classifing
Browse files
app.py
CHANGED
@@ -6,6 +6,7 @@ summarization_text = '<a href="https://huggingface.co/Einmalumdiewelt/T5-Base_GN
|
|
6 |
simplifaction_text = '<a href="https://huggingface.co/haining/scientific_abstract_simplification">Scientific Abstract Simplification</a> </br> Bei dieser Aufgabe geht es darum, komplexe Sachverhalte einfach zu erklären. Dieses Beispielmodell kann die Abstracts von wissenschaftlichen Publikationen so vereinfachen, dass sie auch für Laien verständlich werden. Ähnliche Methoden könnten verwendet werden, um beispielsweise Schweizer Rechtstexte zu vereinfachen. Dieses Modell funktioniert nur auf Englisch.'
|
7 |
legal_text = '<a href="https://huggingface.co/joelito/legal-german-roberta-large">Roberta German</a> </br><a href="https://huggingface.co/xlm-roberta-large">Roberta</a> </br> Hier zeigen wir ein Modell, welches an unserem Institut darauf vortrainiert wurde, die rechtliche Sprache besser zu verstehen. Dabei wird in einem Text immer ein Wort (mit dem Stichwort <mask>) maskiert, und das Modell muss das fehlende Wort voraussagen. Dadurch, dass das Modell auf die rechtliche Sprache spezifiziert wurde, sind die Voraussagen deutlich besser, wie das nachfolgende Beispiel zeigt (BGE 142 II 268 S. 271, Erwägung 4.1): Unser spezialisiertes Modell gibt richtigerweise das Wort “Verhältnismässigkeit” aus, während ein generisches XLM-RoBERTa-Modell deutlich allgemeinere Wörter wie Freiheit, Demokratie oder Öffentlichkeit voraussagt. Beide Modelle haben 354 Millionen Parameter.'
|
8 |
gbert_desc = '<a href="https://huggingface.co/harshildarji/gbert-legal-ner">GBert Legal</a> </br>Bei dieser Aufgabe geht es darum, automatisch Eigennamen oder Entitäten, engl. named entities, in einem Text zu erkennen und einer Klasse zuzuordnen. So wäre beispielsweise Max Mustermann ein Eigenname der Klasse Person; Berner Fachhochschule wäre ein Eigenname der Klasse Organisation. Das hier verwendete Beispielmodell wurde auf juristische Texte des Deutschen trainiert und erkennt Eigennamen, die für die juristischen Domäne relevant sind, wie zum Beispiel Lawyer (= Anwalt) oder Law (=Gesetz).'
|
|
|
9 |
|
10 |
|
11 |
qaExamples = [["Mein Name ist Wolfgang und ich lebe in Berlin", "Wo wohne ich?"], [
|
@@ -20,6 +21,8 @@ bertExample = ["Die Beschwerdeführerin rügt sodann eine Verletzung des Verhäl
|
|
20 |
|
21 |
gbertExample = ["1. Das Bundesarbeitsgericht ist gemäß § 9 Abs. 2 Satz 2 ArbGG iVm. § 201 Abs. 1 Satz 2 GVG für die beabsichtigte Klage gegen den Bund zuständig ."]
|
22 |
|
|
|
|
|
23 |
qaInterface = gr.Interface.load("huggingface/deepset/gelectra-large-germanquad",
|
24 |
title=None,
|
25 |
description=qa_text,
|
@@ -43,9 +46,11 @@ roberta = gr.Interface.load(
|
|
43 |
|
44 |
gbert = gr.Interface.load("huggingface/harshildarji/gbert-legal-ner", title=None, description=gbert_desc, examples=gbertExample)
|
45 |
|
|
|
|
|
46 |
legalInterface = gr.TabbedInterface([robertaGer, roberta], ["Roberta Legal", "Bert"])
|
47 |
|
48 |
-
demo = gr.TabbedInterface([gptInterface, legalInterface ,qaInterface, summarizationInterface, simplicationInterface, gbert], [
|
49 |
-
"GPT", "Legal", "Question Answering", "Summarization", "Simplification", "Named Entity Recognition"])
|
50 |
|
51 |
demo.launch()
|
|
|
6 |
simplifaction_text = '<a href="https://huggingface.co/haining/scientific_abstract_simplification">Scientific Abstract Simplification</a> </br> Bei dieser Aufgabe geht es darum, komplexe Sachverhalte einfach zu erklären. Dieses Beispielmodell kann die Abstracts von wissenschaftlichen Publikationen so vereinfachen, dass sie auch für Laien verständlich werden. Ähnliche Methoden könnten verwendet werden, um beispielsweise Schweizer Rechtstexte zu vereinfachen. Dieses Modell funktioniert nur auf Englisch.'
|
7 |
legal_text = '<a href="https://huggingface.co/joelito/legal-german-roberta-large">Roberta German</a> </br><a href="https://huggingface.co/xlm-roberta-large">Roberta</a> </br> Hier zeigen wir ein Modell, welches an unserem Institut darauf vortrainiert wurde, die rechtliche Sprache besser zu verstehen. Dabei wird in einem Text immer ein Wort (mit dem Stichwort <mask>) maskiert, und das Modell muss das fehlende Wort voraussagen. Dadurch, dass das Modell auf die rechtliche Sprache spezifiziert wurde, sind die Voraussagen deutlich besser, wie das nachfolgende Beispiel zeigt (BGE 142 II 268 S. 271, Erwägung 4.1): Unser spezialisiertes Modell gibt richtigerweise das Wort “Verhältnismässigkeit” aus, während ein generisches XLM-RoBERTa-Modell deutlich allgemeinere Wörter wie Freiheit, Demokratie oder Öffentlichkeit voraussagt. Beide Modelle haben 354 Millionen Parameter.'
|
8 |
gbert_desc = '<a href="https://huggingface.co/harshildarji/gbert-legal-ner">GBert Legal</a> </br>Bei dieser Aufgabe geht es darum, automatisch Eigennamen oder Entitäten, engl. named entities, in einem Text zu erkennen und einer Klasse zuzuordnen. So wäre beispielsweise Max Mustermann ein Eigenname der Klasse Person; Berner Fachhochschule wäre ein Eigenname der Klasse Organisation. Das hier verwendete Beispielmodell wurde auf juristische Texte des Deutschen trainiert und erkennt Eigennamen, die für die juristischen Domäne relevant sind, wie zum Beispiel Lawyer (= Anwalt) oder Law (=Gesetz).'
|
9 |
+
zero_shot_desc = '<a href="https://huggingface.co/Sahajtomar/German_Zeroshot]">German Zeroshot</a> </br> Bei dieser Aufgabe handelt es sich um eine Textklassifizierungsaufgabe. Das heißt, das Modell bekommt einen Textinhalt vorgelegt und muss aus einer Liste vordefinierter Labels entscheiden, welches dieser Labels den Inhalt des Textes am besten beschreibt. Der Krux bei der ganzen Sache ist, dass das Modell keine Spezialisierung für die Labels erfahren hat und sozusagen beim ersten Mal die richtige Auswahl treffen muss; daher zero shot, denn es hat nur einen Versuch. Erreicht wird dies, in dem ein vortrainiertes Modell auf einen Datensatz für Natural Language Inference (dt. natürlichsprachliche Inferenz oder Rückschluss auf natürliche Sprache) spezialisiert wird. Bei dieser Aufgabe bekommt das Modell zwei Texte vorgelegt und muss lernen, in welchem Verhältnis die beiden Texte zueinanderstehen. Folgende Klassen stehen dabei zur Auswahl: <ul><li>entailment: Text A ist eine logische Schlussfolgerung von Text B</li><li>contradiction: Text A steht im Widerspruch zu Text B</li><li>neutral: es lassen sich keine Schlussfolgerungen dieser Art ziehen</li></ul></br></br>Nehmen wir als Beispiel den Ausgangstext «Die Kinder lächeln und winken in die Kamera». Nach der Spezialisierung sollte das Modell in der Lage sein zu sagen, dass die Aussage «Es sind Kinder anwesend.» eine logische Schlussfolgerung des Ausgangstextes ist, während die Aussage «Die Kinder runzeln die Stirn.» im Widerspruch zum Ausgangstext steht.</br></br>Es hat sich gezeigt, dass Modelle, die auf Natural Language Inference spezialisiert wurden, auch sehr gut darin sind, Texten thematisch passende Labels zuzuordnen. Wenn wir wieder den Ausgangstext von vorhin nehmen, wäre das Modell in der Lage zu sagen, dass von den möglichen Kandidatenlabels [Wirtschaft, Familie, Feier, Tragödie] Familie und Feier diejenigen Labels sind, die den Inhalt des Textes am besten beschreiben.</br></br>Das hier verwendete Beispielmodell wurde auf deutschsprachige Texte trainiert. '
|
10 |
|
11 |
|
12 |
qaExamples = [["Mein Name ist Wolfgang und ich lebe in Berlin", "Wo wohne ich?"], [
|
|
|
21 |
|
22 |
gbertExample = ["1. Das Bundesarbeitsgericht ist gemäß § 9 Abs. 2 Satz 2 ArbGG iVm. § 201 Abs. 1 Satz 2 GVG für die beabsichtigte Klage gegen den Bund zuständig ."]
|
23 |
|
24 |
+
zeroShotExample = [["COVID-19 (Akronym von englisch coronavirus disease 2019, deutsch Coronavirus-Krankheit-2019), in den deutschsprachigen Ländern umgangssprachlich meist nur als „Corona“ oder „Covid“ bezeichnet, ist eine meldepflichtige Infektionskrankheit mit einem breiten aber unspezifischen Symptomspektrum, die durch eine Infektion (Ansteckung) mit dem Betacoronavirus SARS-CoV-2 verursacht wird. Das Virus wurde erstmals im Dezember 2019 in Wuhan (Volksrepublik China) beschrieben. Es verbreitete sich sehr schnell weltweit und ist Ursache der COVID-19-Pandemie. Bis 18. Oktober 2022 wurden weltweit rund 622 Millionen COVID-Infizierte registriert, es wird aber in vielen Ländern eine hohe Dunkelziffer vermutet. Laut einer Schätzung der Weltgesundheitsorganisation (WHO) gab es zwischen Anfang 2020 und Ende 2021 eine weltweite, durch COVID-19 verursachte Übersterblichkeit von 14,83 Millionen Toten.", "Wirtschaft, Familie, Politik, Finanzen, Medizin, Gesundheit"]]
|
25 |
+
|
26 |
qaInterface = gr.Interface.load("huggingface/deepset/gelectra-large-germanquad",
|
27 |
title=None,
|
28 |
description=qa_text,
|
|
|
46 |
|
47 |
gbert = gr.Interface.load("huggingface/harshildarji/gbert-legal-ner", title=None, description=gbert_desc, examples=gbertExample)
|
48 |
|
49 |
+
zeroShot = gr.Interface.load("huggingface/Sahajtomar/German_Zeroshot", title=None, description=zero_shot_desc, examples=zeroShotExample)
|
50 |
+
|
51 |
legalInterface = gr.TabbedInterface([robertaGer, roberta], ["Roberta Legal", "Bert"])
|
52 |
|
53 |
+
demo = gr.TabbedInterface([gptInterface, legalInterface ,qaInterface, summarizationInterface, simplicationInterface, gbert, zeroShot], [
|
54 |
+
"GPT", "Legal", "Question Answering", "Summarization", "Simplification", "Named Entity Recognition", "Zero-Shot-Klassifizierung"])
|
55 |
|
56 |
demo.launch()
|