Spaces:
Runtime error
Runtime error
from transformers import pipeline | |
from transformers import AutoModelForSequenceClassification | |
from transformers import AutoTokenizer | |
import gradio as gr | |
import torch | |
import pandas as pd | |
# Load trained model | |
model = AutoModelForSequenceClassification.from_pretrained("chkla/parlbert-topic-german") | |
tokenizer = AutoTokenizer.from_pretrained("bert-base-german-cased") | |
pipeline_classification_topics = pipeline("text-classification", model="chkla/parlbert-topic-german", tokenizer="bert-base-german-cased", return_all_scores=False) | |
def upload_file(files): | |
file_paths = [file.name for file in files] | |
return file_paths | |
def predict_topic(input_text): | |
prediction = pipeline_classification_topics(input_text) | |
# predicted_label = prediction[0]['label'] | |
return prediction[0]['label'] | |
# Build Gradio interface | |
with gr.Blocks() as demo: | |
# Instruction | |
gr.Markdown('''## Topic Modelling for German Political Texts''') | |
# Input text to be reframed | |
text = gr.Textbox(label="Text") | |
# predictions = gr.outputs.Textbox(label="Topic") | |
predictions = gr.Label() | |
# Trigger button for topic prediction | |
greet_btn = gr.Button("Predict Topic") | |
greet_btn.click(fn=predict_topic, inputs=[text], outputs=[predictions]) | |
# Default examples of text and strategy pairs for user to have a quick start | |
gr.Markdown("## Examples") | |
gr.Examples( | |
["Sachgebiet Ausschließliche Gesetzgebungskompetenz des Bundes über die Zusammenarbeit des Bundes und der Länder zum Schutze der freiheitlichen demokratischen Grundordnung, des Bestandes und der Sicherheit des Bundes oder eines Landes.", "Sachgebiet Investive Ausgaben des Bundes Bundesfinanzminister Apel hat gemäß BMF Finanznachrichten vom . Januar erklärt , die Investitionsquote des Bundes sei in den letzten zehn Jahren nahezu konstant geblieben."], | |
[text], | |
[predictions], | |
fn=predict_topic, | |
cache_examples=True, | |
) | |
# Upload file | |
# file_output = gr.File() | |
# upload_button = gr.UploadButton("Click to Upload a File", outputs=[file_output]) | |
# gr.Dataframe(pd.DataFrame(file_output)) | |
# Link to paper and Github repo | |
gr.Markdown('''For more details: You can read our [paper](http://www.lrec-conf.org/proceedings/lrec2022/workshops/ParlaCLARINIII/pdf/2022.parlaclariniii-1.13.pdf) or access our [code](https://github.com/chkla/FrameASt).''') | |
gr.Markdown('''Enjoy and stay tuned 🚀''') | |
def main(): | |
demo.launch() | |
if __name__ == "__main__": | |
main() | |