百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

AI助力Python数据处理实战:清洗文本(一)

csdh11 2024-12-22 14:59 19 浏览

现在的AI大模型越来越强大,也越来越好用。今年以来,很多AI大模型开始免费使用,这数据处理带来了福音。为什么呢?以前需要python进行编码处理的工作,现在可以直接交给AI大模型来帮助我们实现,不仅快速,而且有时更加准确。为此,白领服务工作室推出“AI助力Python数据处理实战”栏目。通过实际的测试Demo和数据处理案例,向大家展示AI在python数据处理中的用法、经验和技巧,提高我们的工作和学习的效率。

这一节,我们来看看文心大模型如何助力我们清洗文本。

一、示例第1阶段

"""
Python is a programming language that lets you work more quickly and integrate your systems more effectively.


You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.

Python是一种编程语言,可以让您更快地工作,更有效地集成系统。
您可以学习     使用Python,并看到几乎立即		提高生产力和降低维护成本。
"""
你现在是一名数据处理工程师,请将上面三引号内的文本内容按照以下步骤逐步进行清洗:
第1步:删除文本内容中所有的Tab空格
第2步:删除文本内容中所有的换行符
第3步:删除文本内容中所有的中文标点符号和英文标点符号,并用空格进行替换
第4步:完成以上三个步骤的清洗后,以字符串的形式返回清洗后的文本内容

上面是我们使用的prompt提示词,也就是输入大模型的问题,希望大模型给出我们希望的结果。我们看看文心大模型的结果,如下所示:

解读:我们看到,没有输出我们想要的结果。继续向模型提问。

请输出上述清洗后的文本内容

输入上面的prompt,得到如下:

解读:这次输出了清洗后的文本,具体文本如下:

Python is a programming language that lets you work more quickly and integrate your systems more effectively You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs Python是一种编程语言 可以让您更快地工作 更有效地集成系统 您可以学习 使用Python 并看到几乎立即 提高生产力和降低维护成本

二、示例第2阶段

请对上述清洗后的文本内容进行分词,并以列表的形式输出结果

执行以上prompt,得到结果如下:

解读:我们看到,并没有以列表输出结果。所以,prompt还是不完善,需要优化。

继续发问如下:

以列表形式直接输出上述分词的结果即可,不需要代码

分词的结果:['Python', 'is', 'a', 'programming', 'language', 'that', 'lets', 'you', 'work', 'more', 'quickly', 'and', 'integrate', 'your', 'systems', 'more', 'effectively', ' ', 'You', 'can', 'learn', 'to', 'use', 'Python', 'and', 'see', 'almost', 'immediate', 'gains', 'in', 'productivity', 'and', 'lower', 'maintenance', 'costs', ' ', 'Python', '是', '一种', '编程语言', ' ', '可以', '让', '您', '更快地', '工作', ' ', '更', '有效地', '集成', '系统', ' ', '您', '可以', '学习', ' ', '使用', 'Python', ' ', '并', '看到', '几乎', '立即', ' ', '提高', '生产力', '和', '降低', '维护', '成本']

三、示例第3阶段

删除以上列表中的停用词,并以列表输出删除停用词后的新列表,注意不需要代码,直接给出结果即可

使用上面的prompt,得到如下的结果:

这次输出的结果:['Python', 'a', 'programming', 'language', 'that', 'lets', 'you', 'work', 'more', 'quickly', 'integrate', 'your', 'systems', 'effectively', 'You', 'learn', 'use', 'Python', 'see', 'almost', 'immediate', 'gains', 'productivity', 'lower', 'maintenance', 'costs', 'Python', '编程语言', '快地', '工作', '有效', '集成', '系统', '学习', '使用', 'Python', '几乎', '立即', '提高', '生产力', '降低', '维护', '成本']

对比之前的分词结果:['Python', 'is', 'a', 'programming', 'language', 'that', 'lets', 'you', 'work', 'more', 'quickly', 'and', 'integrate', 'your', 'systems', 'more', 'effectively', ' ', 'You', 'can', 'learn', 'to', 'use', 'Python', 'and', 'see', 'almost', 'immediate', 'gains', 'in', 'productivity', 'and', 'lower', 'maintenance', 'costs', ' ', 'Python', '是', '一种', '编程语言', ' ', '可以', '让', '您', '更快地', '工作', ' ', '更', '有效地', '集成', '系统', ' ', '您', '可以', '学习', ' ', '使用', 'Python', ' ', '并', '看到', '几乎', '立即', ' ', '提高', '生产力', '和', '降低', '维护', '成本']

解读:对比可以看到,还是有个别地方处理的不好,例如,将分词“看到”删除了,将“更快地”在后续处理中弄错成“快地”,等等。

四、总结

1、向大模型提问的prompt至关重要,不同的提问内容,结果会有较大差别。所以,需要掌握prompt工程的知识和技巧,提高prompt的结构和质量。

2、大模型具有上下文理解能力,可以持续就同一个问题不断追问,逐步得到所需要的结果。

3、由上面删除停用词可以看到,大模型只使用了部分停用词来删除文本中的停用词,没有使用全量的停用词,这是一个缺陷。当然,可以在prompt中补充停用词表。

五、提取prompt模板

"""
Python is a programming language that lets you work more quickly and integrate your systems more effectively.


You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.

Python是一种编程语言,可以让您更快地工作,更有效地集成系统。
您可以学习     使用Python,并看到几乎立即		提高生产力和降低维护成本。
"""
中文停用词如下:
是,一种,可以,让,您,并,和,地,更
英文停用词如下:
is, a, that, and
你现在是一名数据处理工程师,请将上面三引号内的文本内容按照以下步骤逐步进行清洗:
第1步:删除文本内容中所有的Tab空格
第2步:删除文本内容中所有的换行符
第3步:使用空格替换文本内容中所有的中文标点符号和英文标点符号
第4步:对文本进行分词,得到分词列表A
第5步:根据提供的中文停用词和英文停用词,删除分词列表A中的停用词,得到新的分词列表B
第6步:完成以上清洗后,输出分词列表A和分词列表B,注意不需要输出代码,不需要过程,直接输出结果即可

将上述所有过程优化为一个prompt模板,如上所示,输出结果如下:

我们看到,删除停用词后的结果,还是不错的。后续还可以通过不同的文本,不断优化上述的prompt,直到得到通用的文本清洗prompt。

相关推荐

OKHttp原理解析(okhttp的作用)

Okhttp应该是Android目前非常流行的第三方网络库,尝试讲解他的使用以及原理分析,分成几个部分:...

快速教会你优雅的解决TCP客户端端口耗尽的问题

Hello,我是Henry,相信各位开发老爷在使用大并发网络连接的时候,可能都遇到过TCP客户端端口耗尽的问题,这是一个常见问题,以下是系统性的解决方案及技术细节:1.理解端口限制的本质...

这3个接口基础知识,产品经理需要知道

产品经理在工作中,避免不了要阅读接口文档,希望本文能够帮助大家更好的了解接口。接口,即客户端(浏览器)向服务器提交请求,服务器向客户端返回响应。本质就是数据的传输与接收。本文主要介绍接口相关的基础知识...

Java 11新特性对开发者的影响:让编程更高效、更自由

Java11新特性对开发者的影响:让编程更高效、更自由在这个瞬息万变的编程世界里,每一代Java的更新都承载着无数开发者对性能优化、生产力提升以及代码美感追求的期望。作为继Java8之后的首个长期...

干货-okHttp的优点-收藏了(okhttp的好处)

OkHttp相较于其它的实现有以下的优点.支持SPDY,允许连接同一主机的所有请求分享一个socket。如果SPDY不可用,会使用连接池减少请求延迟。使用GZIP压缩下载内容,且压缩操作对用...

如何在 Java 项目中集成 DeepSeek

一、使用官方SDK基础集成1.添加依赖(Maven)<dependency><groupId>com.deepseek</groupId>...

spring cloud gateway 性能优化思路

SpringCloudGateway是一个高性能的API网关,但在实际的生产环境中,可能会遇到一些性能瓶颈。以下是一些SpringCloudGateway的性能优化方面:调整线程池...

你对Android中的okHttp的使用真的了解吗

框架下载地址:https://github.com/square/okhttp今天给大家讲解下网络框架okhttp的使用,这个框架非常强大,很多框架都用它来加载网络资源,目前很多开发者还在用As...

京东大佬问我,Nginx并发连接如何设置?详细说明

京东大佬问我,Nginx并发连接如何设置?详细说明首先,我需要回忆一下Nginx的并发模型。Nginx是基于事件驱动的异步架构,所以它的并发处理能力和配置参数有很大关系。主要的参数应该包括worker...

如何实现一个连接池?一文带你深入浅出,彻底搞懂

-前言-【2w1h】是技术领域中一种非常有效的思考和学习方式,即What、Why和How;坚持【2w1h】,可以快速提升我们的深度思考能力。...

Golang 网络编程(golang 系统编程)

TCP网络编程存在的问题:拆包:对发送端来说应用程序写入的数据远大于socket缓冲区大小,不能一次性将这些数据发送到server端就会出现拆包的情况。通过网络传输的数据包最大是1500字节,当TCP...

Spring6|Spring Boot3有哪些HTTP客户端可以选择

个人博客:无奈何杨(wnhyang)个人语雀:wnhyang...

10. 常用标准库(标准库有哪些)

本章深入解析Go语言核心标准库的关键功能与生产级应用技巧,结合性能优化与安全实践,提供高效开发指南。10.1fmt/io/os10.1.1fmt高级格式化...

Nginx之连接池(nginx 长连接 连接复用)

我们知道Nginx利用连接池来增加它对资源的利用率。下面我们一起来看看Nginx是如何使用连接池的。从上一节模块开始已经慢慢会接触一些Nginx的源码部分来。每个worker进程都有一个独立的ngx...

开发者必备的Android开发资源之OkHttp

小编在这里给各位Android开发者介绍的资源包括工具、库和网站等。有效地利用它们,将有助于减轻我们的工作量,提高我们的工作效率。为什么需要一个HTTP库Android系统提供了两种HTTP通信类,H...