CoolFace
Apppublic

anushka37/Abstract_decoder

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py49 linesDownload Raw Back to root
1import joblib2import gradio as gr3import tensorflow as tf4import spacy5import numpy as np6 7# Load spaCy model8nlp = spacy.load("en_core_web_sm")9 10# Load the model11model = tf.keras.models.load_model('skimlit_tribrid_model.keras')12 13# Load label encoder14label_encoder = joblib.load('label_encoder.joblib')15label_classes = list(label_encoder.classes_)16 17def predict_abstract_sections(abstract):18    # (Your existing preprocessing code)19    20    # Make predictions21    pred_probs = model.predict({22        "line_number_inputs": processed_data["line_number_inputs"],23        "total_lines_inputs": processed_data["total_lines_inputs"],24        "token_inputs": processed_data["token_inputs"],25        "char_inputs": processed_data["char_inputs"]26    })27    28    # Convert predictions to labels using label_encoder29    pred_classes = [label_classes[np.argmax(prob)] for prob in pred_probs]30    31    # Format output32    output = []33    for line, pred_class in zip(processed_data["lines"], pred_classes):34        output.append(f"{pred_class}: {line}")35    36    return "\n".join(output)37 38# Create Gradio Interface39iface = gr.Interface(40    fn=predict_abstract_sections,41    inputs=gr.Textbox(lines=10, placeholder="Paste your abstract here..."),42    outputs=gr.Textbox(label="Abstract Line Classifications"),43    title="SkimLit: Abstract Line Classifier",44    description="Classify lines in a scientific abstract into different sections"45)46 47# Launch the interface48if __name__ == "__main__":49    iface.launch()