Kami akan menggunakan model dalam 『SiEBERT - English-Language Sentiment Classification』 untuk mengklasifikasikan sentimen kalimat bahasa Inggris. Saya ingin mengklasifikasikan sentimen setiap kalimat bahasa Inggris dengan positif dan negatif.
Hartmann, Jochen and Heitmann, Mark and Siebert, Christian and Schamp, Christina, “More than a feeling: Accuracy and Application of Sentiment Analysis”, International Journal of Research in Marketing(2022)
Di sini kami menggunakan model siebert/sentiment-roberta-large-english pada huggingface, jika Anda ingin menggunakan transformer pada Google Colab, Anda perlu menginstal transformers
terlebih dahulu.
import numpy as np
from transformers import pipeline
from IPython.display import HTML
sentiment_pipeline = pipeline(
"sentiment-analysis", model="siebert/sentiment-roberta-large-english"
)
Seluruh teks dipisahkan dengan “.” untuk memisahkan setiap kalimat.
Di sini, Petrobras Webcast - 3rd Quarter Results 2022 November 5, 2022 data transkripsi digunakan.
transcript = """Hello!Hello!Hello!Hello!Hello!"""
ts_list = [ts for ts in transcript.split(".") if len(ts) > 20]
scores = sentiment_pipeline(ts_list)
Visualize the results using positive and negative labels and their scores.
for t, s in zip(ts_list, scores):
score = np.round(float(s["score"]), 4) # skor sentimen
font_weight = "bold" if score > 0.995 else "normal" # ketebalan teks
# tampilan warna untuk setiap sentimen
if s["label"] == "NEGATIVE":
r = 255 - 10 * int(1000 - score * 1000)
display(
HTML(
f"[score={score}] <span style='color:rgb({r},100,100);font-weight:{font_weight};'>{t}</span>"
)
)
elif s["label"] == "POSITIVE":
g = 255 - 10 * int(1000 - score * 1000)
display(
HTML(
f"[score={score}] <span style='color:rgb(100,{g},100);font-weight:{font_weight};'>{t}</span>"
)
)
[score=0.9976] Hello!Hello!Hello!Hello!Hello!