|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
import numpy as np |
|
import torch |
|
import gradio as gr |
|
|
|
|
|
|
|
labels = ['Not equivalent', "equivalent"] |
|
model_name = "abdulmatinomotoso/paraphrase_detector" |
|
model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
|
def get_emotion(sentence1, sentence2): |
|
input_tensor = tokenizer.encode(sentence1, sentence2, return_tensors="pt") |
|
logits = model(input_tensor).logits |
|
|
|
softmax = torch.nn.Softmax(dim=1) |
|
probs = softmax(logits)[0] |
|
probs = probs.cpu().detach().numpy() |
|
max_index = np.argmax(probs) |
|
result = labels[max_index] |
|
return result |
|
|
|
demo = gr.Interface(get_emotion, inputs=['text', 'text'], |
|
outputs="text", |
|
title = "PARAPHRASES_DETECTOR -- Detecting if a pair of sentences are equivalent or not") |
|
|
|
if __name__ == "__main__": |
|
demo.launch(debug=True) |