如何将情感分类器应用于数据框
How to apply a sentiment classifier to a dataframe
我有一个包含调查答案的数据框。其中三列是开放式答案。使用 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 stars', 'score': 0.800311}]
我想做的是在我的开放式回复中使用分类器 运行,并在我数据框中的新列中包含星级和排名分数。
如有任何帮助,我们将不胜感激。
编辑:我通过本地 csv 上传了数据集。我要使用的数据框列名称是“Q72”
在一个列上应用模型并使用赋值函数创建另一个列:
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']))
)
)
我有一个包含调查答案的数据框。其中三列是开放式答案。使用 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 stars', 'score': 0.800311}]
我想做的是在我的开放式回复中使用分类器 运行,并在我数据框中的新列中包含星级和排名分数。
如有任何帮助,我们将不胜感激。
编辑:我通过本地 csv 上传了数据集。我要使用的数据框列名称是“Q72”
在一个列上应用模型并使用赋值函数创建另一个列:
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']))
)
)