为什么一说人工智能就提Python?手把手教你干几个项目就明白了!

本文探讨了Python为何在人工智能领域中广泛使用,并通过智能聊天机器人、人脸识别和国际象棋AI项目的实例,展示了Python在机器学习和数据处理方面的优势。Python的成熟库如wxpy、chatterbot、OpenCV等简化了开发过程,使其成为AI开发的首选语言。
摘要由CSDN通过智能技术生成

现如今要问什么行业最火最有前景,非人工智能莫属了,这项技术掀起的风暴不亚于18世纪的工业革命。

 

但是一提到人工智能,就会听到Python,这门计算机编程语言,为什么总是在蹭热度?它和人工智能之间到底什么关系?

 

先看下面2张图:

可以看出,人工智能包含机器学习和深度学习两个很重要的模块,而python拥有matplotlib、Numpy、sklearn、keras等大量的库。

 

像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘图的库,而机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在python中全都能找到对应的库来进行处理。

 

可以说,要想学习AI而不懂python,那就相当于想学英语而不认识单词,所以,你要是不懂点AI、机器学习和python就无法真正理解人工智能。

 

下面我们通过几个实操项目给你展示一下Python具体是如何实现人工智能的。

 

智能聊天机器人

 

这个项目运用到的库有wxpy和chatterbot

 

wxpy是在 itchat库 的基础上,通过大量接口优化,让模块变得简单易用,并进行了功能上的扩展。

 

什么是接口优化呢?简单来说就是用户直接调用函数,并输入几个参数,就可以使用了,不需要关心函数的底层实现。

 

Chatterbot是一个基于机器学习的聊天机器人引擎,基于python编写而成,它可以自己从已有的对话中进行记忆匹配。

 

Wxpy因为采用大量的接口集成,所以在使用的时候非常方便,下图是简单的wxpy使用,通过进入交互式界面,可以与指定的好友进行交谈。

 

代码及效果如下图所示:

 

上述的代码中print_msg函数采用了wxpy库的装饰器,装饰器在这里的作用可以查阅其源码进行查看,主要是用于注册消息的配置。

 

例如print_msg函数,可以将对方的回复消息进行输出。

 

而在手机微信上我们同样看到了双方之间交流,所以从某个层面上来讲,wxpy就是PC端的微信。

 

图灵聊天机器人

 

下面我们将会实现第一个聊天机器人,该机器人是wxpy内集成的图灵机器人,由于图灵机器人的高度专业,所以制作出来的聊天机器人交流也非常的顺畅。

 

那如何将图灵机器人嵌入到我们的交流中呢?

 

首先我们需要去图灵机器人官网注册得到我们自己的机器人,注册完成后,我们便可以生成图灵机器人,并得到一个api_key,如下图所示:

 

这个api_key便是我们后续制作聊天机器人的关键。

 

图灵聊天机器人的代码和效果图如下图所示:

 

由上图右边的聊天记录来看,依托图灵机器人的聊天机器人效果非常的出色,而且还可以进行天气查询等功能。

 

自己训练的聊天机器人

 

下面我们不依托于图灵机器人,而是依靠ChatterBot来制作一款机器人,这款机器人,虽然效果较上一款性能差距较大,但是它可以训练我们自己的语料库,下面是代码和效果的展示:

 

由上图可以看出,或许是受制于语料库资源过少,而且也不能够主动上网查询。所以要想使其能够回答和提问基本吻合还需要大量的工作。

 

难道除了这些我们就没有其它可以做的了吗?

 

当然不是,ChatterBot为我们提供了可以训练的方式,我们可以提供素材来让其进行训练。

 

代码和效果如下图所示:

 

我们首先定义了一个chatbot,然后将训练数据加入进去,让模型匹配我们的问题,得到训练的结果。

 

右边的图展示了我们的结果,由结果可以看出,由于我们的训练集中没有“在”这个数据,所以得到的回答很莫名其妙,而对于“你好”和“你叫什么名字?”这两个问题的回答则得到了很完美的答复,这就是加入训练数据集的优势所在。

trainer.train([
"你好",
"你好,很高兴认识你",
"你叫什么名字?",
"我叫chat-robot-2.",
])

(训练集的数据)

 

你也可以加入你想要训练的语料库进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值