简述:调查问卷中的开放式问题由非结构化数据组成,一直是数据分析难点。过往的NLP分析方式有诸多不如意之处。但是通过GPT4,仅耗时15分钟,预估花费不到一美元,就能完成高质量分析
笔者就职于硅谷的一家在线教育公司。其课程的学生遍布全球。我们会通过调查问卷来搜集学生反馈调查问卷有三个开放式问题,每一个月我们会收到数万份回答。如何分析来自这三个开放式问题的反馈一直是一大挑战!
而通过GPT4,分析这数万份非结构化数据,只需要15分钟,耗费不到1美元!
这个分析分几步?Prompt如何设计才最有用?笔者一文为你道来!
问卷中的这三个问题是:
1. 你的学习经历中,你有什么喜欢的地方?
2. 请提供一个例子,描述你如何计划在工作中应用或已经应用了新获得的技能(如果你有此计划的话)。
3. 你建议我们如何可以改善你的体验?
过去,我们只能根据学员的特征(例如他们是哪个企业的雇员),删选出相应的回答,然后用人工的方式整理。耗时耗力且不准确。但是ChatGPT诞生后,我谋生了一个想法 —— 依据ChatGPT 强大的能力,是不是可以借它一用呢?
答案是:是的!而且它太强大了
笔者用Sample Data 尝试了请GPT4用Topic Modeling对之进行分析。
Step 1: 进入‘Advanced Data Analysis’,上传数据
购买Chat GPT Plus后,进入GPT4 界面,开启 ‘Advanced Data Analysis’ 的功能,上传需要分析的文件。
笔者上传的是Excel 格式的文件。总共有20个开放式的问题,每个问题收到了20-25条文字回复
GPT4会对文件先做一个基础分析,例如有多少行,多少列等等
Step 2 Topic Modeling分析,呈现五大主题
接下来,就可以进入正式分析了。笔者首先要求GPT4对数据进行Topic Modeling分析。Topic Modeling 是一种自然语言处理(NLP)领域的技术,用于提炼文字集合中出现的最重要主题。
笔者尝试了好几种Prompt,有如下发现:
如果只是单纯要求GPT4帮助做Topic Modeling, GPT4会采用传统的NLP方式,提供给用户Python Code, 或者引导用户去Google Cloud用 BERT 模型来处理。经过尝试,这些传统方式的分析效果都非常欠佳。
因此笔者使用了非常具体的Prompt:
‘Can you use GPT-3.5-turbo or GPT4 model to do the analysis on the responses to the question? Please do not use Latent Dirichlet Allocation (LDA) or any external, or traditional NLP methods (你可以使用GPT-3.5-turbo或GPT4模型来分析问题的回应吗?请不要使用潜在的狄利克雷分配(LDA)或任何外部的、传统的NLP方法。)
GPT一次只能分析一个问题。因此笔者要求GPT4从最重要的一个问题开始: “How do you suggest we can improve your experience?”
经过Prompt的微调,返回的效果非常好。GPT4 根据文字,总结了5大主题。例如:
课程内容与结构的反馈, 技术及IT相关反馈等等。并且,每一个主题它还会给出综述,帮你更好的理解。
Step 3 针对每个主题,呈现例子
对于用户来说,或许除了综述,他们还希望看看每个主题下,都包含了什么具体的回答。针对这一可能的需求,我使用了第二个Prompt: Can you share with me 3 examples for each of the topics?
之后,GPT4 很快的针对每个主题,返回了例子。
Step 4 每个主题类别对应多少条反馈呢?
现在我们知道了5大主题。但是,哪些主题对应更多的反馈,意味着这个主题所提出的问题更严重呢? 作为下一步分析,我们不仅要GPT4分析回答问题,并且要生成图表。因此,我用了如下的
Prompt 1: Can you tell me how many responses are associated with each of the topics?
Prompt 2: Can you generate a bar chart for these results? Please put the number of responses as annotations on each of the bars.
(提示1:你能告诉我每个主题相关联的回应有多少吗?)
(提示2:你能为这些结果生成一个柱状图吗?请在每个柱上标注回应的数量。)
GPT4 迅速做出了分析,并生成了以下图片。
如果我用GPT4的API,费用是多少呢?
就此,一个简单的分析告一段落。笔者又以同样的方式分析了其他的两个问题。那么,此番操作下来,消耗了多少Tokens?如果我用GPT4的API,而非聊天界面分析,API收费是多少呢?
如下是笔者的计算,费用可说是少的惊人!
笔者的input(prompts) 大约为350个word,而GPT4生成的回到大约是3000个word. 所以总字数是3452.
按照token比word大约1.3 :1的比例,约为4,487.6 tokens
GPT4的收费为 $0.03 每 1,000 tokens 或 $0.06 每 1,000 tokens。即使按照最贵的价格计算,整个分析所耗的费用也仅仅为$0.2693。
重点来了!上传数据的大小对分析的token消耗有影响吗?笔者问了ChatGPT:“我上传了一个包含20000行的大文件,和一个只有200行数据的文件,token的消耗会不同吗?我还会使用相同的Prompt,并期望得到相同类型的回应。”
ChatGPT的回答是:“在GPT-4(或GPT模型的任何变种)中,token消耗直接与输入(您的提示)和输出(模型的响应)有关。您上传文件的文件大小或行数并不直接影响token的消耗。”
也就是说,如果笔者公司对所有用户的数据每月做一次如上分析,费用为不到0.3美金。 即使假设我们有100个客户企业,对每个客户企业出一份针对来自他们企业的用户的报告,费用也不过3美金。
这就是技术的力量,和技术带来的变化!
除此之外,笔者还用GPT4做了情绪分析(Sentiment Analysis)的尝试,以及其他领域的尝试。介于篇幅限制,将会以后分享!