开学已经一个月了,老师把最近考试成绩发到了微信群里,我用 ChatGPT 简单分析一下

简介: 开学已经一个月了,老师把最近考试成绩发到了微信群里,我用 ChatGPT 简单分析一下

不知不觉开学已经一个月了。今天是星期五,班主任老师把开学一个月来四次数学考试的分数发在了班级群里:

老师发送给家长的成绩图片,是直接对着成绩单用手机拍摄的。成绩单上只有学生的学号。

为了方便汪子熙简单了解自己的成绩在班级里处于什么样的水平,我和他会坐在一起分析一下这些数据。

在 ChatGPT 出现之前,数据分析无非就是用 OCR 工具,把这些图片里包含的数字信息,提取出来,然后粘贴到 Excel 里,在 Excel 里进行各种操作,比如计算总分,按照总分降序排列,按照某一周的分数降序排列,打印总分排列在指定某位同学之前的所有同学的分数等等。

按照我过去的记忆,这些操作做完,再怎么快也要半小时左右——我并不擅长 Excel 操作。比如老师提供的原始图片里,只包含学号,不包含姓名,因此把姓名补充到数据集里,并完成总分求和等操作,需要编辑一些简单的公式。这些公式我很少用,所以老是记不住,每次要用的时候,都要去搜索引擎里查找语法。

有了 ChatGPT 之后,省事多了,从此彻底告别了 Excel,直接用自然语言,向 ChatGPT 发布指令就行了。

以下操作在 ChatGPT 4 中完成。

指令如下:

我给你上传一个图片文件,里面是一个表格,包含五列数据。第一列是班级学生的学号,第二列到第五列,分别是学生第一周到第四周的数学考试分数。请你把这些数字信息从图片中提取出来,保存到 maths.txt 文件中,要求输出的文件里,每一行的学号和分数之间,用一个空格符进行间隔。

ChatGPT 就会自动编写 Python 代码完成这个任务。

点击 Analyzing 的下拉箭头,可以看到它书写的 Python 源代码。我也贴在这里了,感兴趣的朋友可以看一下:

import cv2

import pytesseract

from pytesseract import Output

Load the image from file

image_path = ‘/mnt/data/数学成绩1.jpg’

image = cv2.imread(image_path)

Convert the image to gray scale

gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

Use Tesseract to do OCR on the image

custom_config = r’–oem 3 --psm 6’

data = pytesseract.image_to_data(gray_image, config=custom_config, output_type=Output.DICT)

Extract text information

num_items = len(data[‘text’])

extracted_text = []

for i in range(num_items):

# Extract text if confidence is above a certain threshold to avoid garbage

if int(data[‘conf’][i]) > 50:

extracted_text.append((data[‘left’][i], data[‘top’][i], data[‘text’][i]))

Sort the extracted text based on their vertical (top) position and then by their horizontal (left) position

This should roughly correspond to the ordering of the text in the table.

extracted_text.sort(key=lambda x: (x[1], x[0]))

Output the sorted text

sorted_text = [text[2] for text in extracted_text]

sorted_text

很快 ChatGPT 完成了任务,点击超链接,就可以把包含了四周考试成绩的 text 文件,下载到本地:

maths.txt 文件打开后是这样的:

接下来让 ChatGPT 对这四周的成绩进行求和,然后按照总分从高到低进行排序。指令如下:

我给你上传两个 text 文件,其中 maths.txt 包含了学生的学号,和第一,第二,第三,第四周考试成绩。学号和成绩之间用空格符号分隔。list.txt 文件第一列包含了学生的学号,第二列包含了学生的姓名。学号和姓名之间用空格符号分隔。

现在我把 maths.txt 文件内的数据称为数据集 A,list.txt 文件内的数据称为数据集 B。请你根据数据集 A 和 B 中共有的学生学号值,将两个数据集连接起来,生成一个新的数据集 C,这个数据集 C 增添一个新的列,列值为学生四周的成绩的总和。最后的数据集 C,按照成绩总和从高到低的顺序排序。

很快 ChatGPT 就给出了我想要的数据。班上总分排名第一的一位同学,四次考试总共只丢了 12 分,妥妥的学霸!

对于 ABAP 开发人员来说,上述操作类似使用 OPEN SQL 操作数据库表,不过同 OPEN SQL 有区别的是,我使用的是自然语言,向 ChatGPT 描述我要的结果,它具体如何完成我不关心。ChatGPT 帮我生成了包含学生学号,姓名和总分的新的数据集 C,这个数据集 C 好比 ABAP 里一个新生成的结果内表,我可以继续对其发布指令,任意查看我感兴趣的数据,比如查看总分排名前 20 的名单:

查看最后一次考试也就是前天考试成绩的排名:

实际完成这些分析,总共也就花了五分钟左右,绝大部分时间花在编写指令上,粘贴到 ChatGPT 的指令输入字段,敲回车后,就切换到其他窗口做其他事情了。

而且这个数据分析的需求本身很简单。ChatGPT 的魅力就在于,数据分析的需求越复杂,它能节省的人力就越多。比如要是让我用 Excel 统计,列出这四次考试,分数逐周上升,和分数逐周下降的同学名单,我就不知道怎么完成了。但用自然语言给 ChatGPT 发布指令,就能轻松完成:

并且能够查看到 ChatGPT 实现这个任务使用的 Python 源代码,自己也能从中学习。

相关文章
|
2月前
|
人工智能 自然语言处理 搜索推荐
评测:AI客服接入钉钉与微信的对比分析
【8月更文第22天】随着人工智能技术的发展,越来越多的企业开始尝试将AI客服集成到自己的业务流程中。本文将基于《10分钟构建AI客服并应用到网站、钉钉或微信中》的解决方案,详细评测AI客服在钉钉和微信中的接入流程及实际应用效果,并结合个人体验分享一些心得。
9932 10
|
22天前
|
SQL 搜索推荐 测试技术
ChatGPT与测试分析
本产品需求文档(PRD)针对论坛网站的搜索功能优化,旨在提升搜索结果的准确性和速度,增强用户体验。文档涵盖项目背景、目标、功能需求(如搜索结果准确性、搜索速度优化、过滤和排序等)、非功能需求(如兼容性、性能、安全性等)、用户界面设计和技术架构等内容,并制定了详细的测试和上线计划,确保项目顺利实施。
15 0
|
3月前
|
小程序
【奇葩问题】微信小程序 We分析 访问来源Top10的总比例为什么不止100%
【奇葩问题】微信小程序 We分析 访问来源Top10的总比例为什么不止100%
32 3
|
4月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
5月前
|
人工智能 自然语言处理
性能超ChatGPT-3.5,专用金融分析的多模态大语言模型
【4月更文挑战第18天】不列颠哥伦比亚大学与Invertible AI联合开发的FinTral模型,是一款专为金融分析设计的多模态大型语言模型,性能优于ChatGPT-3.5。FinTral能整合处理文本、数值、表格和图像数据,通过预训练和直接偏好优化(DPO)提升金融任务处理能力,如情感分析、命名实体识别等。在与GPT-3.5和GPT-4的对比中,FinTral在多项任务中表现出色。尽管有领域特异性和依赖实时数据的局限性,FinTral为金融分析提供了高效准确的解决方案,并减少了幻觉现象,增强决策可靠性。
42 2
性能超ChatGPT-3.5,专用金融分析的多模态大语言模型
|
5月前
|
机器学习/深度学习 存储 自然语言处理
ChatGPT原理分析
ChatGPT原理分析
41 1
|
5月前
|
机器学习/深度学习 人工智能 大数据
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
304 6
|
5月前
|
人工智能 自然语言处理
性能超ChatGPT-3.5,专用金融分析的多模态大语言模型
【4月更文挑战第19天】不列颠哥伦比亚大学与Invertible AI合作开发的FinTral模型,是一款专为金融分析设计的多模态大型语言模型,超越ChatGPT-3.5,具备处理文本、数值、表格和图像数据的能力。通过直接偏好优化(DPO)提升性能,FinTral能执行多种金融任务,如情感分析、股票预测等,且在与GPT-3.5和GPT-4的对比中胜出。然而,其金融领域的专注可能限制了其跨领域应用,且依赖准确的实时数据。FinTral为金融分析提供高效工具,提升理解和决策支持的可靠性。
79 1
|
5月前
|
小程序 开发者
微信小程序“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”报错?
微信小程序“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”报错?
191 0
|
11月前
|
机器学习/深度学习 存储 人工智能
【网安AIGC专题11.8】论文15 ChatGPT在软件工程中的全面作用:程序语法(AST生成、表达式匹配) 静态行为、动态分析(数据依赖和污点分析、指针分析) 提示设计(角色提示、指令提示)
【网安AIGC专题11.8】论文15 ChatGPT在软件工程中的全面作用:程序语法(AST生成、表达式匹配) 静态行为、动态分析(数据依赖和污点分析、指针分析) 提示设计(角色提示、指令提示)
105 0
下一篇
无影云桌面