我有一個包含調查答案的數據框。其中三欄是開放式答案。使用 HuggingFace NLP,我使用預先訓練的情感分析分類器。請找到下面的代碼:from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipelinemodel_name = "nlptown/bert-base-multilingual-uncased-sentiment"model = AutoModelForSequenceClassification.from_pretrained(model_name)tokenizer = AutoTokenizer.from_pretrained(model_name)classifier = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)classifier("This community is so helpful!")分類器測試的結果為:“[{'label': '5 star', 'score': 0.800311}]我想做的是讓分類器在我的開放式響應上運行,并在我的數據框中的新列中包含星星和排名分數。任何幫助將不勝感激。編輯:我通過本地 csv 上傳數據集。我想要使用的數據框列名稱是“Q72”
1 回答

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
在一列上應用模型并使用分配函數創建另一列:
df = (
df
.assign(sentiment = lambda x: x['Q72'].apply(lambda s: classifier(s)))
.assign(
label = lambda x: x['sentiment'].apply(lambda s: (s[0]['label'])),
score = lambda x: x['sentiment'].apply(lambda s: (s[0]['score']))
)
)
- 1 回答
- 0 關注
- 180 瀏覽
添加回答
舉報
0/150
提交
取消