一键释放AI的潜力!使用ChatGPT API进行情感分析,获取客户洞察。
你是否曾经在进行情感分析时感到困难,苦苦挣扎于自然语言处理(NLP)算法的复杂性?现在,告别这些挑战吧!有了OpenAI的GPT-3.5-turbo,你可以毫不费力地加速情感分析,而无需广泛的编码技能!发现利用这一尖端人工智能模型的令人难以置信的能力的逐步过程。
你为什么应该关心情感分析?
首先,让我们解密情感分析。它是一种基于人工智能的方法,从文本数据中衡量情绪、态度和观点。但为什么重要,谁会受益呢?答案是:实际上任何人和每个人!
无论您是一位产品经理寻求了解用户反馈,一位工程师努力提升用户体验,还是一位类别经理旨在评估客户情绪,情感分析都是您的魔镜,反映出您的客户真正的感受。
营销团队可以解读客户对他们的宣传活动的反应,并调整他们的策略,与受众产生共鸣。客户服务团队可以采用情感分析技术,及时发现不满意的客户,消除他们的顾虑。最重要的是,高管和领导人可以使用情感分析作为他们的秘密武器,保持对整体客户情感的敏感度,从而做出与客户需求相一致的战略性、数据支持的决策。
想象一下情感分析给你的力量——这是一种动态的工具,可以增强对客户和战略决策在各种角色和行业中的理解。
使用GPT-3.5-turbo进行情感分析:它是如何工作的?
GPT-3.5-turbo 是由 OpenAI 开发的最先进的语言模型。它能理解上下文,生成类似人类的文本,甚至进行情感分析!让我们看看如何将它用于我们的目的。
这个过程很简单。我们向模型呈现一批评论,并指示它将每个评论的情感分类为积极的,消极的或中立的(或根据用例而定的任何其他分类)。然后模型返回一批结果,其中包含每个评论的分类情感。
使用传统方法,您可以使用ChatGPT手动分类数据,这涉及到多次复制,粘贴和重复此过程。然而,我即将揭示的方法提供了一个更有效的选择。这种方法利用了GPT-3.5 Turbo的强大功能,该模型无缝地从您的本地驱动器获取CSV文件,根据您的要求对数据进行分类,然后以有组织的CSV格式提供结果。它像所听起来的那样用户友好 - 真正的一键解决方案。令人兴奋,不是吗?
为了阐述情感分析的过程,我将使用来自Spotify的真实客户应用程序评论。我将使用的数据集可在Kaggle上轻松获取(https://www.kaggle.com/datasets/mfaaris/spotify-app-reviews-2022)。我已经以CSV格式下载了数据集,并将利用Python和GPT-3.5 Turbo分析这些评论中表达的情感。
在这个分析中,我将从产品经理的角度来审视数据集。目标是将评论分类为“漏洞”,“功能请求”或“一般反馈”等类别。这种分类将提供有价值的见解,丰富我的产品积压,并推动改进。
步骤1:导入库并使用OpenAI API进行身份验证
在这一部分中,我们导入必要的库来进行情感分析任务。我们导入openai库与OpenAI API交互,json库进行数据序列化。另外,我们还导入pandas库来处理数据操作。我们还通过将其赋值给openai.api_key变量来设置OpenAI API密钥,用您实际的API密钥替换'YOUR_OPENAI_API_KEY'。这一步非常重要,可用于验证和访问OpenAI API服务。
import openai
import json
import pandas as pd
openai.api_key = 'YOUR_OPENAI_API_KEY'df = pd.read_csv('path/to/your/file.csv')
batch_size = 50result_df = pd.DataFrame(columns=['Review', 'Classification'])
步骤2: 加载数据和初始化变量
在这里,我们使用pandas库中的pd.read_csv()函数,从一个CSV文件中加载数据集。我们将文件路径指定为读取数据到pandas DataFrame(df)的参数。此外,我们初始化batch_size变量以确定每批处理的评论数量。此外,我们创建了一个空的DataFrame result_df,其列为‘Review’和‘Classification’,以存储情感分析结果。
for i in range(0, df.shape[0], batch_size):
batch = df['Review'][i:i+batch_size].tolist()
stringified_batch = json.dumps(batch)
user_message = {
"role": "user",
"content": stringified_batch
}
system_message = {
"role": "system",
"content": 'You are a helpful assistant that categorizes user reviews into the following categories: "Feature Request", "Bug", or "General Feedback". For each review, please state the category and then the review.'
}
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[user_message, system_message],
max_tokens=1000
)
print(response)
步骤三:对评论进行情感分析
此部分包含一个循环,按批次迭代评论。我们使用range()函数将评论分成批次,并使用df[‘Review’]从DataFrame中访问‘Review’列。在循环内部,我们使用json.dumps()将批量评论转换为JSON字符串,并创建两个消息对象:user_message和system_message。user_message包含字符串化的批量评论,而system_message为模型提供指令。
我们使用openai.ChatCompletion.create()向OpenAI ChatCompletion模型(gpt-3.5-turbo)发出API请求。响应包含了模型对评论的分类。我们通过将内容分成行并删除空字符串来解析响应。我们跳过第一行,因为它是一般说明,然后使用classification.split(': ', 1)将每一行分成类别和评论。
解析的分类存储在DataFrame batch_df中,然后使用pd.concat()将其与结果DataFrame result_df连接起来。这个过程确保了情感分析结果在所有批次中的累积。
classifications = list(filter(None, response.choices[0].message.content.split('\n')))
classifications = classifications[1:]
classifications_parsed = [classification.split(': ', 1) for classification in classifications]
batch_df = pd.DataFrame(classifications_parsed, columns=['Classification', 'Review'])
result_df = pd.concat([result_df, batch_df], ignore_index=True)
步骤四:将情感分析结果保存到CSV文件中
在此最后一部分中,我们使用to_csv()函数将result_df中存储的情感分析结果保存为CSV文件,保持HTML结构。我们将想要的文件路径作为参数提供,并设置index=False以在CSV文件中排除DataFrame索引。通过保存结果,我们可以轻松分析和进一步处理情感分析结果。
result_df.to_csv('path/to/save/result.csv', index=False)
这些代码部分演示了加载Spotify应用评论数据集、对评论进行情感分析并保留结果以供进一步检查的过程。通过批处理请求,代码可以在分析大量数据(例如约61K行)时优化效率。需要注意的是,执行此分析产生了32美元的API调用成本,需要大约10分钟才能完成。为了减轻这些费用,我们采购了升级后的OpenAI访问计划。考虑到这种方法的成本效益,很明显这些费用相比分析师或数据科学家的平均小时工资以及在云平台上开发定制情感分析服务所涉及的巨大成本而言微不足道。这种方法证明是一个巨大的成功。
这份分析的结果被记录在一个CSV文件中,提供了大约61,000行的全面分析。数据集已经成功地被分类为三个不同的类别。瞥一眼数据集的初始行,见证准确的分类。
以下图表展示了整个数据集的概述:
此外,利用GPT-3.5的强大功能,我们可以通过使用简单提示和其他API调用来将相似的特征分组,从而扩展分析。这种能力将为产品经理提供宝贵的洞察力,提供无限的可能性,仅受想象力的限制。
总之,通过利用强大的GPT-3.5-turbo,这种方法提供了一条简单且代码轻量的途径,以进行情感分析。通过利用人工智能模型的能力,各个领域的专业人员可以从客户反馈中获得有价值的见解。类别经理可以更好地理解产品评论并提高分类规划能力,而营销团队可以优化广告活动并与受众建立更强的联系。随着每次分析,我们更接近于揭示客户的真实情绪,使我们能够做出数据驱动的决策并提供卓越的体验。拥抱这个非凡的工具,亲眼见证人工智能的变革潜力,让组织向前发展!
感谢您抽出时间阅读我的文章。我希望您觉得这篇文章有趣且有启发性。下周一请继续关注,我将分享另一篇有关提高生产力的引人入胜的文章。祝您有一个美好的一周!别忘了在Linkedin(Santhosh Kumar Setty)和Medium上关注我,以获取更多像这样的有趣内容。