我有一份包含调查答案的数据。其中三列是开放式答案。使用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!")分类器测试的结果是:{‘标签’:'5星‘,’分数‘:0.800311}
我想做的是让分类器运行在我的开放式响应,并在我的数据中的新列,它包括星星和排名得分。
任何帮助都将不胜感激。
编辑:我通过本地csv上传了数据集。我想使用的dataframe列名是"Q72“。
发布于 2020-10-13 20:28:03
在列上应用模型,并使用赋值函数创建另一列:
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']))
)
)https://stackoverflow.com/questions/64342621
复制相似问题