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

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

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

现在的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。

相关推荐

Micheal Nielsen's神经网络学习之二

依然是跟着MichaelNielsen的神经网络学习,基于前一篇的学习,已经大概明白了神经网络的基本结构和BP算法,也能通过神经网络训练数字识别功能,之后我试验了一下使用神经网络训练之前的文本分类,...

CocoaPods + XCTest进行单元测试 c单元测试工具

在使用XCTest进行单元测试时,我们经常会遇到一些CocoaPods中的开源框架的调用,比如“Realm”或“Alamofire”在测试的时候,如果配置不当,会导致“frameworknotfo...

Java基础知识回顾第四篇 java基础讲解

1、&和&&的区别作为逻辑运算符:&(不管左边是什么,右边都参与运算),&&(如果左边为false,右边则不参与运算,短路)另外&可作为位运算符...

项目中的流程及类似业务的设计模式总结

说到业务流程,可能是我做过的项目中涉及业务最多的一个方面了。除了在流程设计之外,在一些考核系统、产业审批、还有很多地方,都用到相似的设计思路,在此一并总结一下。再说到模式,并不是因为流行才用这个词,而...

联想三款显示器首批获得 Eyesafe Certified 2.0 认证

IT之家7月31日消息,据外媒报道,三款全新联想显示器是全球首批满足EyesafeCertified2.0的设备。据报道,联想获得EyesafeCertified2.0认证的显...

maven的生命周期,插件介绍(二) 一个典型的maven构建生命周期

1.maven生命周期一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都...

多线程(3)-基于Object的线程等待与唤醒

概述在使用synchronized进行线程同步中介绍了依赖对象锁定线程,本篇文章介绍如何依赖对象协调线程。同synchronized悲观锁一样,线程本身不能等待与唤醒,也是需要对象才能完成等待与唤醒的...

jquery mobile + 百度地图 + phonegap 写的一个"校园助手"的app

1jquerymobile+百度地图+phonegap写的一个"校园助手"的app,使用的是基于Flat-UI的jQueryMobile,请参考:https://github.com/...

Apache 服务启动不了 apache系统服务启动不了

{我是新手,从未遇到此问题,请各位大大勿喷}事由:今天早上上班突然发现公司网站出现问题。经过排查,发现是Apache出现问题。首先检查配置文件没有出问题后,启动服务发现Apache服务能启动,但是没法...

健康债和技术债都不能欠 公众号: 我是攻城师(woshigcs)

在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是:(1)大数据量下更高的性能(2)更好扩展性(3)更高的可靠性(4)更简单易用什么时候应该使用Sol...

Eye Experience怎么用?HTC告诉你 eyebeam怎么用

IT之家(www.ithome.com):EyeExperience怎么用?HTC告诉你HTC上周除了发布HTCDesireEYE自拍机和HTCRE管状运动相机之外,还发布了一系列新的智能手机...

Android系统应用隐藏和应用禁止卸载

1、应用隐藏与禁用Android设置中的应用管理器提供了一个功能,就是【应用停用】功能,这是针对某些系统应用的。当应用停用之后,应用的图标会被隐藏,但apk还是存在,不会删除,核心接口就是Packag...

计算机软件技术分享--赠人玫瑰,手遗余香

一、Netty介绍Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty...

Gecco爬虫框架的线程和队列模型 爬虫通用框架

简述爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是g...

一点感悟(一) 初识 初读感知的意思

时间过得很快,在IT业已从业了两年多。人这一辈子到底需要什么,在路边看着人来人往,大部分人脸上都是很匆忙。上海真是一个魔都,它有魅力,有底蕴,但是一个外地人在这里扎根置业,真的是举全家之力,还贷3...