如何将情感分类器应用于数据帧

我有一个包含调查答案的数据框。其中三栏是开放式答案。使用 HuggingFace NLP,我使用预先训练的情感分析分类器。请找到下面的代码:


from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline

model_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”


哈士奇WWW
浏览 119回答 1
1回答

ibeautiful

在一列上应用模型并使用分配函数创建另一列: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']))    ))
打开App,查看更多内容
随时随地看视频慕课网APP