ChatGPT结对编程小记

ChatGPT结对编程小记

掘金 人工智能 (centurysee)

highlight: ascetic theme: condensed-night-purple

今天下午尝试了下与ChatGPt结对编程,中间最耗时的万万没想到是OCR接口的申请与后续异常数据的处理。特将完成过程记录于此,以备后续不时之需。

缘起

事情的起因还得追溯到今天取回的一张超声心动图的报告。因为某些原因,近半年来几乎每个月都会做一次超声心动的检查。

这个检查有个特点,不仅不同医院的报告差距非常大,就连同一个医院,不同医生做的结果会有细微的差别。

超声心动图,来源丁香园网站

考虑到目前手头已经有了6份报告,各份报告上的有着类似的指标,为了更好的观察各个指标随时间的变化,便有了将报告结构化的想法。

问题描述与解决方法

结合上面的场景,问题可以抽象为:给定一个纸质文件,如何将纸质文件的内容结构化。

上述问题的解决步骤也很直观:

  • 纸质文件转换为图片
  • 图片内容转换为文字(OCR)
  • 文字内容结构化(信息抽取)

有了上述问题分解的流程,具体实施步骤就比较直观了。

纸质文件转换为图片

手机拍照即可

图片内容转换为文字(OCR)

这一步,便是用了chatGPT进行结对编程,因为对目前市面上的OCR产品不太熟悉,第一时间便想到询问ChatGPT相关的知识。

下面几张图片便是具体的过程:

OCR免费接口

OCR接口对中文的支持程度

如何在google云服务上创建应用

ChatGPT倒是爽快,直接给出了调用相关API的代码和申请相关API权限的步骤。万万没想到,真正的工作量现在才开始。

按照给出的API申请步骤,我尝试申请了Google的OCR服务,一步步设置好之后,运行给出的代码时,提示说需要绑定信用卡。。。而且google cloud貌似不能绑定国内的信用卡。。。然后利用google云OCR的方法就僵到了这一步。。。

那就再问问ChatGPT国内有什么好用的并且可以免费试用的OCR接口,他给出了百度、腾讯、阿里云、华为、讯飞的OCR。

中文OCR接口

中文OCR效果对比,仅供参考

考虑到自己已经有了百度云和阿里云的账号,不需要再进行注册,就优先使用这两家的服务。万万没想到,这里也遇到了一个坑,百度云的相关链接竟然挂掉了。。。

百度云无法访问

那只有从阿里云这里开始了。好在阿里云的文档相当详细,按照步骤操作后,终于完成了API的试用申请。虽然ChatGPT在询问下也给出了使用阿里云API的相关代码,但是貌似接口版本有更新,这里直接参考官网的即可。

并且,阿里云的服务接口报错后的原因查找也相当方便,有一个专门的页面,输入ResponseID后,就可以查找到相应的问题。

阿里云调试信息

文字内容结构化(信息抽取)

文字内容结构化就直接借助ChatGPT的结构化能力了,具体其实分成了两个步骤:

  • 获取需要结构化的属性名称,类似结构化数据库Mysql的列名
  • 获取属性对应的值和单位

然后直接调用OpenAI的Chat相关接口即可。这里我把我使用的提示词发出来供大家参考。

# 获取属性名称的提示词  
你现在是一个结构化文本解析器
你的任务是将下面文字中的可以结构化的信息进行结构化,结构化结果存储在表格中
表格有3列,分别为属性名称、属性值、单位
你要尽可能多的输出表格的行

# 获取值和单位的提示词  
你现在是一个结构化文本解析器
你的任务是将下面文字中提取属性的值和单位,并将结果存储在字典中
字典的key为属性名称,value为值与单位组成的列表
提取的属性有:属性0,属性1,属性2...    

在获得结构化结果后,另外一件耗时较长的就是对识别结果的清洗和抽样验证了。因为图片拍摄的问题、OCR识别结果的问题、结构化识别的问题逐步的累积,导致最终结果可能会有问题,需要针对具体情况进行处理,因此这一步也花了很长的时间。

经过清洗后的数据,我这里使用了pandas将结构化的结果存储为csv,实现了对各个指标随时间变化进行观察的目的。

总结

虽然上面的例子非常简陋,完全不能说是一个工具,缺少便捷的交互。

但通过这个简单的例子可以看出,对于一个实际问题来说,ChatGPT等大模型确实是可以帮助我们提效。

只是整个问题的分解,还是需要通过人工来解决。并且分解后的问题越纯粹、越明确、越简单,ChatGPT可以处理的相当好。
从这一点上看,正如大多数人所想象的那样,大模型们存在的主要作用并不是要对现有工作内容的完全替代,而是一种提效的手段。

相信在最近的几个月中,在我们日常生活中的某些方面,一定会有一些基于大模型能力的提效工具出现,来改善我们的工作效率。

本文正在参加人工智能创作者扶持计划

Generated by RSStT. The copyright belongs to the original author.

Source

Report Page