我用了100行Python代码,实现了与女神尬聊微信(附代码)

Python014

我用了100行Python代码,实现了与女神尬聊微信(附代码),第1张

朋友圈很多人都想学python,有一个很重要的原因是它非常适合入门。对于 人工智能算法 的开发,python有其他编程语言所没有的独特优势, 代码量少 ,开发者只需把精力集中在算法研究上面。

本文介绍一个用python开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!

准备:

编程工具IDE:pycharm

python版本: 3.6.0

首先新建一个py文件,命名为:ai_chat.py

PS: 以下五步的代码直接复制到单个py文件里面就可以直接运行。为了让读者方便写代码,我把代码都贴出来了,但是排版存在问题,我又把在pycharm的代码排版给截图出来。

第一步: 引入关键包

简单介绍一下上面几个包的作用: pickle 包 是用来对数据序列化存文件、反序列化读取文件,是人类不可读的,但是计算机去读取时速度超快。(就是用记事本打开是乱码)。 而 json包 是一种文本序列化,是人类可读的,方便你对其进行修改(记事本打开,可以看到里面所有内容,而且都认识。) gensim 包 是自然语言处理的其中一个python包,简单容易使用,是入门NLP算法必用的一个python包。 jieba包 是用来分词,对于算法大咖来说效果一般般,但是它的速度非常快,适合入门使用。

以上这些包,不是关键,学习的时候,可以先跳过。等理解整个程序流程后,可以一个一个包有针对性地去看文档。

第二步:静态配置

这里path指的是对话语料(训练数据)存放的位置,model_path是模型存储的路径。

这里是个人编程的习惯,我习惯把一些配置,例如:文件路径、模型存放路径、模型参数统一放在一个类中。当然,实际项目开发的时候,是用config 文件存放,不会直接写在代码里,这里为了演示方便,就写在一起,也方便运行。

第三步: 编写一个类,实现导数据、模型训练、对话预测一体化

首次运行的时候,会从静态配置中读取训练数据的路径,读取数据,进行训练,并把训练好的模型存储到指定的模型路径。后续运行,是直接导入模型,就不用再次训练了。

对于model类,我们一个一个来介绍。

initialize() 函数 __init__() 函数 是对象初始化和实例化,其中包括基本参数的赋值、模型的导入、模型的训练、模型的保存、最后返回用户一个对象。

__train_model() 函数,对问题进行分词,使用 gesim 实现词袋模型,统计每个特征的 tf-idf , 建立稀疏矩阵,进而建立索引。

__save_model() 函数 和 __load_model() 函数 是成对出现的,很多项目都会有这两个函数,用于保存模型和导入模型。不同的是,本项目用的是文件存储的方式,实际上线用的是数据库

get_answer() 函数使用训练好的模型,对问题进行分析,最终把预测的回答内容反馈给用户。

第四步:写三个工具类型的函数,作为读写文件。

其中,获取对话材料,可以自主修改对话内容,作为机器的训练的数据。我这里只是给了几个简单的对话语料,实际上线的项目,需要大量的语料来训练,这样对话内容才饱满。

这三个工具函数,相对比较简单一些。其中 get_data() 函数,里面的数据是我自己编的,大家可以根据自己的习惯,添加自己的对话数据,这样最终训练的模型,对话方式会更贴近自己的说话方式。

第五步: 调用模型,进行对话预测

主函数main(), 就是你整个程序运行的起点,它控制着所有步骤。

运行结果:

程序后台运行结果:

如果有疑问想获取源码( 其实代码都在上面 ),可以后台私信我,回复:python智能对话。 我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!

当然,Python是人工智能的首选语言。具体原因如下:

Python在设计上坚持了清晰的风格,让Python成为了一门简单、易读、易维护的语言,让大量用户所欢迎的、用途广泛的语言。机器学习应用程序是非常复杂的,多阶段的工作流程,而Python的语言设计在机器学习中很有帮助,就是可以提供高层的、基于对象的任务抽象。

其次,Python还提供了机器学习的代码库。Python提供大量的机器学习的代码库和框架,在数学运算方面有NumPy、SciPy,在可视化方面有MatplotLib、SeaBorn,结构化数据操作可以通过Pandas,针对各种垂直领域比如图像、语言、文本在预处理阶段都有成熟的库可以使用。

最后,Python功能强大。Python在机器学习领域之中可以说是大放异彩的。不仅仅只是说一个功能而已,而是Python整体的语言包,一种易学易用的语言,它的生态系统拥有第三方代码库可以覆盖广泛的机器学习用例和性能,可以帮助我们完成更好的工作。

近几年来,Python可谓大出风头,语法简洁、功能强大、胶水语言是人们对Python的普遍认知。学习Python就业机会多、薪资待遇好,是人们不断加入Python开发行列的动力。很多人疑惑为什么Python能够成为人工智能和机器学习的最佳编程语言?接下来就给大家分析下。

代码少。Python减少了执行函数时通常使用的代码数量,它着重于简化代码并使其易于阅读。除此之外,还有许多基于AI和ML的复杂算法,Python与AI的结合将大大减少开发人员必须处理的代码数量。

2、灵活性高。开发的任何应用程序都应该兼容多个操作系统,而只要稍加调整,Python就可以使相同的代码在各个操作系统上都能工作。这节省了开发人员为每个操作系统单独创建复杂代码的大量时间,也节省了大量的测试和调试时间。此外,在使用Python时,你还可以连接不同的数据结构,从而使其易于用于所有需求。

3、丰富而强大的库。拥有众多的软件库选择是Python成为人工智能最受欢迎的编程语言的主要原因之一。软件库由 PyPi等不同源发布的模块或模块组组成,其中包括预先编写的代码片段,允许用户访问某些功能或执行不同操作。机器学习需要连续地进行数据处理,Python库允许访问、处理和转换数据。比如Scikit-learn、Pandas、Matplotlib、Keras等都是机器学习和人工智能领域使用最为广泛的软件库。

入行门槛低。Python在解决问题方面也提供了更大的灵活性,这对于初学者和经验丰富的开发人员来说都很有用。在机器学习和人工智能领域工作意味着需要方便有效地处理大量数据,较低的准入门槛可让更多的数据科学家快速掌握Python,进行人工智能开发,而且学习此语言无需花费过多精力。

如果你想从事人工智能或机器学习方向的工作,就一定要学好Python。