Spaces:
Runtime error
Runtime error
Update app.py
Browse filesZero-shot text classification
app.py
CHANGED
@@ -99,20 +99,51 @@
|
|
99 |
#------------------------------------------------------------------------------------------
|
100 |
# 6. Same model with some tuning with some parameters: num_return_sequences=5, max_length=200, temperature=1.5, num_beams=10
|
101 |
|
102 |
-
from transformers import PegasusForConditionalGeneration, PegasusTokenizer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
import gradio as grad
|
104 |
|
105 |
-
|
106 |
-
pegasus_tkn = PegasusTokenizer.from_pretrained(mdl_name)
|
107 |
-
mdl = PegasusForConditionalGeneration.from_pretrained(mdl_name)
|
108 |
|
109 |
-
def
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
|
115 |
-
txt
|
116 |
-
|
|
|
117 |
|
118 |
-
grad.Interface(
|
|
|
99 |
#------------------------------------------------------------------------------------------
|
100 |
# 6. Same model with some tuning with some parameters: num_return_sequences=5, max_length=200, temperature=1.5, num_beams=10
|
101 |
|
102 |
+
# from transformers import PegasusForConditionalGeneration, PegasusTokenizer
|
103 |
+
# import gradio as grad
|
104 |
+
|
105 |
+
# mdl_name = "google/pegasus-xsum"
|
106 |
+
# pegasus_tkn = PegasusTokenizer.from_pretrained(mdl_name)
|
107 |
+
# mdl = PegasusForConditionalGeneration.from_pretrained(mdl_name)
|
108 |
+
|
109 |
+
# def summarize(text):
|
110 |
+
# tokens = pegasus_tkn(text, truncation=True, padding="longest", return_tensors="pt")
|
111 |
+
# translated_txt = mdl.generate(**tokens, num_return_sequences=5, max_length=200, temperature=1.5, num_beams=10)
|
112 |
+
# response = pegasus_tkn.batch_decode(translated_txt, skip_special_tokens=True)
|
113 |
+
# return response
|
114 |
+
|
115 |
+
# txt = grad.Textbox(lines=10, label="English", placeholder="English Text here")
|
116 |
+
# out = grad.Textbox(lines=10, label="Summary")
|
117 |
+
|
118 |
+
# grad.Interface(summarize, inputs=txt, outputs=out).launch()
|
119 |
+
|
120 |
+
#-----------------------------------------------------------------------------------
|
121 |
+
# 7. Zero-Shot Learning:
|
122 |
+
# Zero-shot learning, as the name implies, is to use a pretrained model , trained on a certain set of data,
|
123 |
+
# on a different set of data, which it has not seen during training. This would mean, as an example, to take
|
124 |
+
# some model from huggingface that is trained on a certain dataset and use it for inference on examples it has never seen before.
|
125 |
+
|
126 |
+
# The transformers are where the zero-shot classification implementations are most frequently found by us.
|
127 |
+
# There are more than 60 transformer models that function based on the zero-shot classification that are found in the huggingface library.
|
128 |
+
|
129 |
+
# When we discuss zero-shot text classification , there is one additional thing that springs to mind.
|
130 |
+
# In the same vein as zero-shot classification is few-shot classification, which is very similar to zero-shot classification.
|
131 |
+
# However, in contrast with zero-shot classification, few-shot classification makes use of very few labeled samples during the training process.
|
132 |
+
# The implementation of the few-shot classification methods can be found in OpenAI, where the GPT3 classifier is a well-known example of a few-shot classifier.
|
133 |
+
|
134 |
+
from transformers import pipeline
|
135 |
import gradio as grad
|
136 |
|
137 |
+
zero_shot_classifier = pipeline("zero-shot-classification")
|
|
|
|
|
138 |
|
139 |
+
def classify(text,labels):
|
140 |
+
classifer_labels = labels.split(",")
|
141 |
+
#["software", "politics", "love", "movies", "emergency", "advertisment","sports"]
|
142 |
+
response = zero_shot_classifier(text,classifer_labels)
|
143 |
+
return response
|
144 |
|
145 |
+
txt=grad.Textbox(lines=1, label="English", placeholder="text to be classified")
|
146 |
+
labels=grad.Textbox(lines=1, label="Labels", placeholder="comma separated labels")
|
147 |
+
out=grad.Textbox(lines=1, label="Classification")
|
148 |
|
149 |
+
grad.Interface(classify, inputs=[txt,labels], outputs=out).launch()
|