shunk031/wrime
Updated • 377 • 27
How to use katsutaku/wrime-sentiment-analyzer with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-classification", model="katsutaku/wrime-sentiment-analyzer", trust_remote_code=True) # Load model directly
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("katsutaku/wrime-sentiment-analyzer", trust_remote_code=True)
model = AutoModelForSequenceClassification.from_pretrained("katsutaku/wrime-sentiment-analyzer", trust_remote_code=True)このモデルは、日本語の文章に対して −1 (ネガティブ) 〜 +1 (ポジティブ) の感情スコアを予測する回帰モデルです。
tohoku-nlp/bert-base-japanese-v3をベースに、WRIME v2 データセットの読者の平均感情スコア(avg_readers.sentiment) を用いてファインチューニングしています。
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_id = "katsutaku/wrime-sentiment-analyzer"
tokenizer = AutoTokenizer.from_pretrained(model_id)
# trust_remote_code=True は必須.モデルが独自のクラス(TanhBertRegressor)を使用
model = AutoModelForSequenceClassification.from_pretrained(model_id, trust_remote_code=True)
model.to(device)
model.eval()
text = "とても助かりました、ありがとうございます!"
inputs = tokenizer(text, return_tensors="pt",
truncation=True,
max_length=512)
inputs.to(device)
with torch.no_grad():
outputs = model(**inputs)
score = outputs.logits.squeeze().item()
Base model
tohoku-nlp/bert-base-japanese-v3