Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pickle | |
| from keras.models import load_model | |
| from keras_self_attention import SeqSelfAttention | |
| import numpy as np | |
| l1, l2 = 10, 10 | |
| model = load_model("model.keras", custom_objects={"SeqSelfAttention": SeqSelfAttention}) | |
| with open("tokenizer.pckl", "rb") as file: | |
| tokenizer = pickle.load(file) | |
| def classify(text: str, response: str): | |
| question = list(tokenizer.texts_to_sequences([text.lower(),])[0]) | |
| answer = list(tokenizer.texts_to_sequences([response.lower(),])[0]) | |
| arr = np.array([(question+[0,]*l1)[:l1]+(answer+[0,]*l2)[:l2],]) | |
| prediction = model.predict(arr)[0][0] | |
| if prediction > 0.9: | |
| return "Surely relevant "+str(prediction) | |
| elif prediction > 0.5: | |
| return "Relevant "+str(prediction) | |
| elif prediction > 0.1: | |
| return "Probably relevant "+str(prediction) | |
| else: | |
| return "Irrelevant "+str(prediction) | |
| iface = gr.Interface(fn=classify, inputs=["text", "text"], outputs="text") | |
| iface.launch() | |