mr4's picture
Update app.py
5bc1924 verified
import torch
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSequenceClassification
checkpoint = "mr4/bert-base-jp-sentiment-analysis"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForSequenceClassification.from_pretrained(checkpoint)
def classify_comment(comment):
raw_inputs = [comment]
inputs = tokenizer(raw_inputs, padding=True,
truncation=True, return_tensors="pt")
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
print(predictions)
results = []
for i, prediction in enumerate(predictions):
for j, value in enumerate(prediction):
results.append({
'label': model.config.id2label[j],
'score': value.item(),
})
print(results)
sorted_data = sorted(results, key=lambda x: x['score'])
return f"{"❌" if sorted_data[0]['label'].lower() in ["negative"] else '✅'} {comment}\n{sorted_data[0]['label']} ({sorted_data[0]['score']*100:.5f}%)\n{sorted_data[1]['label']} ({sorted_data[1]['score']*100:.5f}%)"
iface = gr.Interface(
fn=classify_comment,
inputs=gr.Textbox(lines=3, placeholder="コメントを入力してください"),
outputs="text",
title="日本の感情分析",
description="日本の感情分析"
)
iface.launch()