Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -3,32 +3,10 @@ from transformers import pipeline
|
|
3 |
import torch
|
4 |
import matplotlib.pyplot as plt
|
5 |
import numpy as np
|
6 |
-
#from PIL import Image
|
7 |
-
|
8 |
-
|
9 |
-
#pipe = pipeline(model="RuudVelo/dutch_news_classifier_bert_finetuned")
|
10 |
-
#text = st.text_area('Please type/copy/paste the Dutch article')
|
11 |
-
|
12 |
-
#labels = ['Binnenland' 'Buitenland' 'Cultuur & Media' 'Economie' 'Koningshuis'
|
13 |
-
# 'Opmerkelijk' 'Politiek' 'Regionaal nieuws' 'Tech']
|
14 |
-
|
15 |
-
#if text:
|
16 |
-
# out = pipe(text)
|
17 |
-
# st.json(out)
|
18 |
-
|
19 |
-
|
20 |
-
# load tokenizer and model, create trainer
|
21 |
-
#model_name = "RuudVelo/dutch_news_classifier_bert_finetuned"
|
22 |
-
#tokenizer = AutoTokenizer.from_pretrained(model_name)
|
23 |
-
#model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
24 |
-
#trainer = Trainer(model=model)
|
25 |
-
#print(filename, type(filename))
|
26 |
-
#print(filename.name)
|
27 |
|
28 |
from transformers import BertForSequenceClassification, BertTokenizer
|
29 |
|
30 |
model = BertForSequenceClassification.from_pretrained("RuudVelo/dutch_news_clf_bert_finetuned")
|
31 |
-
#from transformers import BertTokenizer
|
32 |
|
33 |
tokenizer = BertTokenizer.from_pretrained("RuudVelo/dutch_news_clf_bert_finetuned")
|
34 |
|
@@ -38,29 +16,10 @@ st.title("Dutch news article classification")
|
|
38 |
|
39 |
st.write("This app classifies a Dutch news article into one of 9 pre-defined* article categories")
|
40 |
|
41 |
-
#image = Image.open('dataset-cover_articles.jpg')
|
42 |
st.image('dataset-cover_articles.jpeg', width=150)
|
43 |
|
44 |
text = st.text_area('Please type/copy/paste text of the Dutch article and click Submit')
|
45 |
|
46 |
-
#if text:
|
47 |
-
# encoding = tokenizer(text, return_tensors="pt")
|
48 |
-
# outputs = model(**encoding)
|
49 |
-
# predictions = outputs.logits.argmax(-1)
|
50 |
-
# probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
51 |
-
|
52 |
-
## fig = plt.figure()
|
53 |
-
# ax = fig.add_axes([0,0,1,1])
|
54 |
-
# labels_plot = ['Binnenland', 'Buitenland' ,'Cultuur & Media' ,'Economie' ,'Koningshuis',
|
55 |
-
# 'Opmerkelijk' ,'Politiek', 'Regionaal nieuws', 'Tech']
|
56 |
-
# probs_plot = probabilities[0].cpu().detach().numpy()
|
57 |
-
|
58 |
-
# ax.barh(labels_plot,probs_plot )
|
59 |
-
# st.pyplot(fig)
|
60 |
-
|
61 |
-
|
62 |
-
#input = st.text_input('Context')
|
63 |
-
|
64 |
if st.button('Submit'):
|
65 |
with st.spinner('Generating a response...'):
|
66 |
encoding = tokenizer(text, return_tensors="pt")
|
@@ -87,12 +46,8 @@ if st.button('Submit'):
|
|
87 |
st.pyplot(fig)
|
88 |
|
89 |
st.write('The predicted category is: **{}** with a probability of: **{:.1f}%**'.format(labels_plot[number],(probs_plot[predictions])*1))
|
90 |
-
|
91 |
-
# print(output)
|
92 |
-
# st.write(output)
|
93 |
-
#encoding = tokenizer(text, return_tensors="pt")
|
94 |
-
#import numpy as np
|
95 |
st.write("The pre-defined categories are Binnenland, Buitenland, Cultuur & Media, Economie , Koningshuis, Opmerkelijk, Politiek, 'Regionaal nieuws en Tech")
|
96 |
-
st.write("The model for this app has been trained using data from Dutch news articles published by NOS.
|
97 |
#st.write('\n')
|
98 |
-
st.write('
|
|
|
3 |
import torch
|
4 |
import matplotlib.pyplot as plt
|
5 |
import numpy as np
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
from transformers import BertForSequenceClassification, BertTokenizer
|
8 |
|
9 |
model = BertForSequenceClassification.from_pretrained("RuudVelo/dutch_news_clf_bert_finetuned")
|
|
|
10 |
|
11 |
tokenizer = BertTokenizer.from_pretrained("RuudVelo/dutch_news_clf_bert_finetuned")
|
12 |
|
|
|
16 |
|
17 |
st.write("This app classifies a Dutch news article into one of 9 pre-defined* article categories")
|
18 |
|
|
|
19 |
st.image('dataset-cover_articles.jpeg', width=150)
|
20 |
|
21 |
text = st.text_area('Please type/copy/paste text of the Dutch article and click Submit')
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
if st.button('Submit'):
|
24 |
with st.spinner('Generating a response...'):
|
25 |
encoding = tokenizer(text, return_tensors="pt")
|
|
|
46 |
st.pyplot(fig)
|
47 |
|
48 |
st.write('The predicted category is: **{}** with a probability of: **{:.1f}%**'.format(labels_plot[number],(probs_plot[predictions])*1))
|
49 |
+
|
|
|
|
|
|
|
|
|
50 |
st.write("The pre-defined categories are Binnenland, Buitenland, Cultuur & Media, Economie , Koningshuis, Opmerkelijk, Politiek, 'Regionaal nieuws en Tech")
|
51 |
+
st.write("The model for this app has been trained using data from Dutch news articles published by NOS. More information regarding the dataset can be found at https://www.kaggle.com/maxscheijen/dutch-news-articles")
|
52 |
#st.write('\n')
|
53 |
+
st.write('Model performance details can be found at https://huggingface.co/RuudVelo/dutch_news_clf_bert_finetuned')
|