我使用Emoroberta进行情绪检测,我希望输出的是所有的情感,每个情绪都有自己指定的分数,而不仅仅是最后的情绪和分数。我怎么能这么做?这是我使用的代码:
tokenizer = RobertaTokenizerFast.from_pretrained("arpanghoshal/EmoRoBERTa")
model = TFRobertaForSequenceClassification.from_pretrained("arpanghoshal/EmoRoBERTa")
emotion = pipeline('sentiment-analysis', model='arpanghoshal/EmoRoBERTa')
def get_emotion_label(text):
return(emotion(text)[0]['label'])
df['Text']= df['Text'].apply(remove_html).apply(remove_URL).apply(remove_stopwords)
df['Emotion']= df['Text'].apply(get_emotion_label)发布于 2022-03-21 13:16:50
因此,解决方案是在管道中添加一个参数,使其成为:
emotion = pipeline('sentiment-analysis', model='arpanghoshal/EmoRoBERTa' , return_all_scores= True) 发布于 2022-10-14 17:35:20
一旦我把所有的情绪都发泄出来。有什么办法按分数降序排序吗?还是用降分来获得前五名的情绪?
[[{'label': 'admiration', 'score': 0.0005006285500712693},
{'label': 'amusement', 'score': 0.0002929244365077466},
{'label': 'anger', 'score': 0.00023640353174414486},
{'label': 'annoyance', 'score': 0.0012106695212423801},
{'label': 'approval', 'score': 0.0062308544293046},
{'label': 'caring', 'score': 0.001638480112887919},
{'label': 'confusion', 'score': 0.0012553866254165769},
{'label': 'curiosity', 'score': 0.0015351950423792005},
{'label': 'desire', 'score': 8.997381519293413e-05},
{'label': 'disappointment', 'score': 0.1479707956314087},
{'label': 'disapproval', 'score': 0.01166599616408348},
{'label': 'disgust', 'score': 0.00037431108648888767},
{'label': 'embarrassment', 'score': 0.003977356944233179},
{'label': 'excitement', 'score': 0.0005221295286901295},
{'label': 'fear', 'score': 0.00013622187543660402},
{'label': 'gratitude', 'score': 0.020833879709243774},
{'label': 'grief', 'score': 0.0003116711159236729},
{'label': 'joy', 'score': 0.0010206002043560147},
{'label': 'love', 'score': 0.00041145001887343824},
{'label': 'nervousness', 'score': 0.00014432560419663787},
{'label': 'optimism', 'score': 0.0007541821687482297},
{'label': 'pride', 'score': 0.00015070308290887624},
{'label': 'realization', 'score': 0.019403191283345222},
{'label': 'relief', 'score': 0.0006177137838676572},
{'label': 'remorse', 'score': 0.7496775388717651},
{'label': 'sadness', 'score': 0.0218233410269022},
{'label': 'surprise', 'score': 0.0001970023731701076},
{'label': 'neutral', 'score': 0.0070171356201171875}]]https://stackoverflow.com/questions/71557275
复制相似问题