如何仅显示来自 Transformers Pipeline 的标签输出 - 情感分析

How can I show Label output only from Transformers Pipeline - Sentiment Analysis

Picture of Output

从图片中,我给了模型一些句子来分析。分析结果,我在名为“sentiment”的数据框中添加了一个新列。

如您所见,它以带有标签和分数的列表格式给出结果。

我想做的只是添加标签结果。即:“阳性”、“阴性”等。有办法做到这一点吗?

非常感谢。

我不知道你的 pipe 是如何工作的,但是你有 listdict 并且 pandas.str 来处理字符串但是 .str[index] 也适用于 listdict.

df['Sentiment'] = df['Sentiment'].str[0].str['label']

最小工作示例

import pandas as pd

df = pd.DataFrame({
   'Sentiment': [
      [{'label':'Negative', 'score': 0.1}],
      [{'label':'Positive', 'score': 0.9}],
   ]      
}) 

print('\n--- before ---\n')
print(df)

df['Sentiment'] = df['Sentiment'].str[0].str['label']

print('\n--- after ---\n')
print(df)

结果:

--- before ---

                               Sentiment
0  [{'label': 'Negative', 'score': 0.1}]
1  [{'label': 'Positive', 'score': 0.9}]

--- after ---

  Sentiment
0  Negative
1  Positive