1分钟处理1000个文档:ChatGPT代码解释器就是这么牛
在当今快节奏的世界中,有效的文档处理和转换对于提高生产力和实现高效的工作流程至关重要。 然而,处理各种文档格式、提取有价值的信息和执行批处理操作的复杂性可能令人望而生畏。
ChatGTP的Code Interpreter (代码解释器)是一个非常强大的多功能工具,使用户能够轻松简化与文档相关的任务。 无论是处理 PDF、合并和分割文件、提取表格和图像、用密码保护敏感文档、总结内容、生成迷人的词云、执行 OCR 识别还是转换文件格式,Code Interpreter 都游刃有余。
让我们一起探索它的实际案例,了解它如何改变我们与文档的交互方式。
批量处理文档
文档是信息的载体,处理文档是人们在日常办公当中经常会遇到的任务。如何高效地处理文档是提高生产力的一个重要环节。代码解释器可以让你一次上传压缩好的多个文档并进行批量处理,大大提高了我们的生产力。
PDF批量加水印
给PDF添加水印是一种很流行的做法,尤其是在专业和商业领域。许多组织(包括公司、教育机构、政府机构和内容创作者)选择在 PDF 中添加水印以保护其内容、维护所有权并维护品牌标识。
使用Code Interpreter,你可以给PDF批量添加水印,只需要一个简单的Prompt:
请在所提供的 ZIP 文件中找到的多个 PDF 的每个页面的中心添加对角线水印。 水印应缩放至目标页面大小的 75%。 水印内容应为“myaiforce.com”,以 Courier-Bold 字体书写,灰色,不透明度 50%。 任务完成后,请分享所有已处理 PDF 的下载链接。
我用Code Interpreter帮我先自动生成了5个PDF并压缩成一个包,这样就有了用来演示的PDF文件。然后我把文件上传到代码解释器,并输入了上面的那个Prompt。
经过一系列步骤,代码解释器为每个PDF的每一页都添加了水印。
除了指定文本内容添加水印以外,你还可以上传logo图片作为水印,或者在PDF结尾添加个性签名。
合并和拆分PDF
将多个相关的PDF文件合并到一个文件中可以方便存储和查看。把上面例子里的多个PDF合并为一个只需要输入以下Prompt:
请将所提供的 ZIP 文件中的所有 PDF 合并为一个 PDF。 完成任务后,请提供处理后的 PDF 的下载链接。
ChatGPT很快就合并好了。
除了合并以外,拆分PDF对于Code Interpreter来说当然也不在话下。
提取PDF里的表格和图片
从PDF中提取表格可以更轻松地进行数据分析和可视化。提取表格以后,我们可以转化成Excel文件进行进一步处理。
让代码解释器做这件事的Prompt也很简单:
请从 PDF 中提取表格并将其另存为 Excel 文件。 让我们一步一步来。 完成任务后,请提供 Excel 文件的下载链接。
我第一次尝试并未成功,后来加了一句“让我们一步一步来” (Let’s go step by step) 这个魔法句子就成功了。如果你面对输出不稳定的ChatGPT,也可以尝试加这句话哦。
我要提取的PDF里面有这样一个表格:
最终ChatGPT生成的表格长这个样子:
因为原表格存在合并单元格,所以输出的表格的行名称跟原先的有些出入,但下面的数据都是正确的。如果要提取的原表格里不存在合并单元格,那结果应该就跟原表格一模一样了。
提取了表格之后,我们还可以用代码解释器分析数据或者绘制图表。我在之前的文章中已专门介绍了如何用代码解释器分析数据。
原PDF里还有一张图片,内容是一个柱状图,我们也可以让代码解释器帮我们提取出来。
只需要把下面这个简单的Prompt提交给ChatGPT:
请从 PDF 中提取图像。 让我们一步一步来。 完成任务后,请提供图像的下载链接。
于是乎,它就帮我们提取了图像。
我只用了一个PDF来做演示,实际上代码解释器的强大之处是批量处理,你可以把多个PDF压缩成一个包,然后上传到ChatGPT进行批量提取。也可以提取其他文档里的表格和图片,比如Word文档。
密码保护PDF
为PDF添加密码可以确保只有授权人员才能访问PDF的内容。通过添加密码,你可以保护敏感信息,降低数据泄露的风险。
为PDF添加密码保护也只需要一行Prompt就可以解决:
在此 pdf 中添加密码 (yU5NIK5Y)。 完成后,请提供下载链接。
你也可以添加多个PDF同时进行密码保护哦,但是一定要把密码记录下来。除了PDF,你还可以加密其他文档类型,如Excel,Word等。
总结PDF内容
有很多方法可以让ChatGPT总结PDF的内容,使用Code Interpreter也是其中之一。它区别于其他方法最大的优点还是批量处理。你可以把多个PDF压缩一下然后上传,让ChatGPT把总结好的内容生成一个Excel文件,这样查阅起来更方便。
为了方便演示,我这里上传了上面用过的一个PDF并提交以下Prompt:
用三句话总结此 PDF。 让我们一步一步来。
让我们看下ChatGPT的回复,了解下它的处理过程:
让我先阅读 PDF 的内容,然后我会提供一个摘要。 让我们从加载和提取 PDF 中的文本开始。
…
最初提取的文本包含大量重复信息,可能是由于 PDF 中的元数据或页眉和页脚造成的。 这些重复信息可能会淡化文档的实际内容。 为了获得更准确的摘要,如果可能的话,我将尝试通过删除重复的短语来清理此文本。 我们先进行清理,然后继续总结。
…
文本清理在一定程度上有所帮助,但预览仍然包含重复信息,可能是因为它来自文档的页眉或页脚。 为了提供更好的总结,让我们确定文本的主体并重点关注它。 我将通过删除整个文本中出现的重复模式来实现此目的,这些重复模式通常表示 PDF 文档中的页眉、页脚或侧边栏。 让我们继续采用这种方法。
…
看来从 PDF 中提取主体内容仍然不成功。 提取的文本似乎重复某些短语,这些短语看起来像是页眉或页脚的一部分。
我用于 PDF 文本提取的 PyPDF2 库有时会难以处理复杂的 PDF 布局或从扫描图像而不是文本创建的 PDF。
为了确保获得最佳结果,我将尝试使用 pdfplumber 库的另一种方法,该方法通常可以为复杂的 PDF 提供更好的结果。
让我们尝试使用 pdfplumber 再次提取文本。
… 使用 pdfplumber 的提取似乎更成功。 文本看起来更加清晰、更加连贯。 我可以看到标题、作者、所属单位和摘要的开头。 现在让我们继续总结该文件的要点。 为此,我将使用文本摘要模型。
… 对于造成的混乱,我深表歉意,但当前环境似乎不支持我计划用于文本摘要的 Transformers 库。 不过,我仍然可以根据文档的前几行文本提供手动摘要:
1.该文件题为“ChatGPT-4 在 OKAP 考试中的改进表现:与 ChatGPT-3.5 的比较研究”,由马萨诸塞大学医学院眼科系的一个团队撰写。 2.该研究调查了高级人工智能 (AI) 语言模型 ChatGPT-4 在眼科知识评估计划 (OKAP) 考试中的表现。 它使用 180 个 OKAP 练习题对 ChatGPT-4 与其前身 ChatGPT-3.5 的性能进行了比较。 3.请注意,此摘要基于我迄今为止阅读的文档的初始部分。 如果需要,我可以进一步阅读该文档并提供更完整的摘要。
分析ChatGPT的处理过程,我们发现它在总结PDF的过程中会删除重复内容使总结出来的内容更准确。它基于PDF的前面的部分已经给出了总结,并且告诉我们还可以做更深入的总结。
为PDF生成词云
词云可以提炼文档中最常用的单词并可视化,帮助我们快速了解PDF中涉及的主要概念。为多个PDF生成词云可以揭示文本之间地相似性和差异,有助于比较分析或聚类分析。
我用这样一个Prompt来为一个PDF生成词云,但是代码解释器也可以为多个PDF批量生成词云。而且不只是为PDF,也可以为其他文档如Word,Markdown,Epub等生成词云。
请从 PDF 中删除停用词并生成词云。
从PDF中提取信息
根据上面生成的词云,我们已了解该PDF中的主要关键词。比如说我要把所有包含”model”这个单词的句子都提取出来并输出到一个txt文件里,这个任务交给代码解释器也很轻松。
请从 PDF 中提取包含单词“model”(不区分大小写)的句子,并将其另存为文本文件。 让我们一步一步来。 任务完成后,请提供文本文件的下载链接。
PDF按照我的要求提取了句子,导出到一个txt文件并提供了下载链接。下图红色方框里是前5个提取的句子。
OCR识别
OCR可以将者扫描的或基于图像的PDF转化为可以搜索和选择的文本,使PDF更加方便使用,也能显著减小文件的大小。对于图片来说,可以将图片里面的文字转化为文本,方便进一步处理。
我选了一封1972年的信件的扫描件来演示Code Interpreter的识别效果。你也可以添加多个PDF同时进行识别。
然后输入以下Prompt:
请应用 OCR 技术来识别所提供的 PDF 中的文本,并生成包含识别文本的新 PDF。 完成任务后,请分享生成的 PDF 的下载链接。
OCR识别以后输入了一个两页的PDF,这是第一页的效果:
效果还是不错的,基本上所有的单词都拼写正确。
批量文件格式转换
阅读和处理文件通常需要用到不同的应用程序,而不同的应用程序所支持的格式是不同的。针对不同的目的使用最佳格式可以最有效地处理、共享、保存和利用文档。代码解释器可以让我们批量进行不同格式之间的转换,使得文件在不同的系统变得更加可用。
批量webp转jpg
很多从网上下载下来的图片是webp图片格式的。许多图片编辑软件无法识别和支持这种格式,因此我们常常要把webp这种格式转化为其他格式,比如jpg。
用Code Interperter进行批量转换非常方便,只需要把要转换的图片放入一个压缩包并上传,然后用一个简单的Prompt指导ChatGPT进行转换即可。
请将压缩包中的所有图片从webp格式转换为jpg格式。 转换完成后,请提供包含处理后的图片的压缩包的下载链接。
网页转化为Markdown
Markdown是一种纯文本格式,即使没有网络连接也可以轻松打开和阅读。将网页转化为Markdown可以更方便存储。许多笔记应用程序比如Notion等也都支持导入Markdown内容。
将网页转化为Markdown也很简单。首先要将网页存储为mhtml文件,然后把这个文件上传到代码解释器。接着写一个Prompt提交给ChatGPT,比如:
将此 mhtml 文件转换为 markdown 文件。 给我一个下载链接。 让我们一步一步来。
其他格式的转换
除了以上提到的格式之外,Code Interpreter还支持很多其他格式之间的互相转换。
- 压缩: 7Z、TAR、ZIP、RAR、GZ、BZ2、XZ、LZMA
- 音频: MP3、WAV、FLAC、AAC、OGG、M4A、AIFF、WMA、AMR
- 文档: DOC、DOCX、PDF、RTF、HTML、TXT、ODT、EPUB、CSV、XLS、XLSX、PPT、PPTX、 Markdown、LaTeX
- 表格: XLSX, CSV
- 图像: PNG、JPG、JPEG、BMP、TIFF、GIF、SVG、ICO、WEBP、RAW、HEIC、EPS、PSD
- 视频: MP4、AVI、MOV、FLV、MKV、WMV、3GP、WebM、MPEG、VOB
- 代码文件: PY、JS、JAVA、C、CPP、CS、R、Swift、PHP、Ruby、Go、Kotlin、Lua、Shell
- 数据文件: JSON、XML、YAML、SQL、HDF5、PICKLE、Parquet、Protobuf
- 字幕: SRT、ASS、SSA、VTT
- 字体: TTF、OTF、WOFF、EOT
- 3D 文件: STL、OBJ、FBX、COLLADA、3DS、IGES、STEP
- 地理空间数据: GeoJSON、SHP、KML、GPX、GeoTIFF
- 科学数据格式: FITS、VTK、NetCDF、DICOM
- CAD 文件: DWG、DXF
- 电子书: EPUB、MOBI、AZW3
- 电子邮件: EML、MSG
- 网络: HTML、CSS、JS、WebAssembly
- 其他: LOG
请注意,尽管代码解释器可以处理这些格式,但它们之间的转换可能并不总是那么简单,甚至在某些情况下是不可能的。 每次转换通常取决于所使用的特定 Python 库、文件的复杂性以及格式本身提供的支持。 例如,由于两种格式之间的差异,将复杂的 DOCX 文档转换为 HTML 可能无法完美保留格式和布局。
总结
以上只是代码解释器处理文档的使用案例的一部分,它还有很多有趣实用的功能等你去解锁。