Ⅰ 我用了100行python代码,实现了与女神尬聊微信(附代码)
朋友圈很多人都想学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爱心代码可以直接使用微信发送,非常方便。微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造。
Ⅲ 表白代码大全可复制免费
表白代码大全可复制免费
表白代码大全可复制免费,用代码表白是一件非常浪漫的事情,只需要短短的一行代码,就可以制作生活中的惊喜和小浪漫,但是设置代码是需要技巧的,以下分享表白代码大全可复制免费。
1.发送xoxO(会出现满屏亲亲)
2.发送mi manchi(会出现满屏小星星)
3.发送ohh(翻译:留在我身边)
4.发送ch will mit dir S wim(翻译:我想和你在一起)
5.发送Voce e meu bebe(翻译:你是我的宝贝)
6.发送 RUYDUAautrinuU(翻译我只喜欢你)
7.发送 love at first sight(翻译:—见钟情)
8.发送We will be happy(我们会幸福)
9.发送missu(会出现星星雨)
10.发送u621u7231u460(翻译:爱你)
11.发送u5728u4e0Ou8d7Nu5427(翻译在一起)
12.发送Milji pouze jednu osobu, ta osoba jste vy.我只爱一个人,那个人就是你)
13.发送 yax you(翻译我跟你说)发送yyyax you翻译我喜欢你)发送 yox you!(我爱死你了)
14.n 55 iw!(倒过来是i miss you我想你。)
15.我想要两颗西柚("1 wanttoseeyou"我想要见你)
16.962464(用九宫格输入试试)
17.Mg+Znso4==MgSo4+zn(你的镁夺走了我的锌)
18.Te echo de menos(微信翻译:我想你)
19.双木非林田下有心(相思)
20.n.nggui(倒过来看就是ineedyoy我需要你)
程序员的表白代码
第一条语言:Java代码翻译:直到死之前,每天爱你多一点代码:while(lifeend){love++;}
第二条语言:C语言代码翻译:.代码:#incldestdio.hintmain(){printf(HelloWorldn);retrn0;}//.
第三条语言:python代码翻译:山无陵,江水为竭,冬雷震震,夏雨雪,天地合,乃敢与君绝!代码:if(mountain.arris==None):if(river.water==None):if(winter.thunder==True):if(summer.snow==
True):if(sky.height==ground.height):i.withyou=Falseelse:i.withyou=True.
第四条语言:Erlang代码代码翻译:深圳相遇,至死不渝代码:-mole(you_and_me).-export([start/1]).-record(person,{name,address,status}).start(Name)-one_world(Name).one_world(Name)keep_to_love_you(Person).say_goodbye(Person)-io:format(~p:seeyounextworld!~n,[Person#person.name]).see_you_next_world(Name)-one_world(Name).
第五条语言:Java语言代码翻译:爱你到天荒地老代码:while(!world.destroy){System.out.println(iloveyou);}
第一条
语言:Java
代码翻译:
直到死之前,每天爱你多一点
代码:
while (life < end) {
love++;
}
// I can not say Hello to the World without u.
第二条
语言:python
代码翻译:
山无陵, 江水为竭, 冬雷震震, 夏雨雪, 天地合, 乃敢与君绝!
代码:
if(mountain.arris==None):
if(river.water==None):
if(winter.thunder==True):
if(summer.snow==True):
if(sky.height==ground.height):
i.withyou=False
else:
i.withyou=True
one_world(Name).
第三条
语言:Java语言
代码翻译:
爱你到天荒地老
代码:
while(!world.destroy){
System.out.println("i love you");
}
第四 条
语言:C语言
代码翻译:
两隔的`世界;
无名的信件;
短暂的停留;
长久的记忆;
说这么多,只是想说:我想你了。
代码:
#include
int main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you. ");
return 0;
}