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

Python026

我用了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智能对话。 我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!

太阳源于一团巨大的气体和尘埃云。在重力作用下,这团气体和尘埃不断向中心收缩,形成一个高温、高压、致密的球体。经过大约一亿年漫长的妊娠期,其内部的氢原子在巨大压力下激烈碰撞并相互融合,触发了核聚变反应,向外释放出大量的光和热。

太阳每秒有大约6亿吨的氢聚变为氦,相当于4亿亿颗广岛原子弹爆发出的能量,所幸我们地球接收到的只是其中的二十二亿分之一,否则一切都将瞬间化为乌有。如果人类能够以某种方式,收集这短短一秒钟的全部太阳能量,则足够供应全世界五亿年的能源需求。

太阳的高温足以气化最坚硬的物质。太阳没有固态内核,从内到外都由高温气体构成。越深入太阳内部,温度就越高,在日核——太阳的心脏里,温度高达不可思议的1500万度!

太阳表面布满沸腾的带电离子,每当他的心脏向外喷涌热浪时,都会绽放出明亮的耀斑,并激起巨大的太阳风。太阳风以每秒200至800公里的速度吹向地球,此时,地球的磁场如铜墙铁壁般阻挡住大部分太阳风的袭击,但其中仍有一些会沿着磁力线掠过地球南北两极,当这股带电粒子流与极地高层大气碰撞时,就会激发出梦幻般迷人的极光(Aurora)。

太阳直径大约为139万公里,能够装下100多万个地球。如果太阳坐上跷跷板的一端,即便太阳系中其他所有天体都坐到另一端,这个跷跷板也纹丝不动。因为在整个太阳系中,有超过99%的质量都来自太阳,八大行星、小行星、流星、彗星、外海王星天体以及星际尘埃等,统统围绕着这颗恒星运转不息。放眼浩瀚银河,太阳在2000多亿颗恒星里并不突出,但就这颗蓝色行星上的生灵万物而言,太阳永远闪耀着无与伦比的神性光辉。

正所谓“一切皆流,无物常驻”,生生灭灭是永恒的自然法则,终有一天,我们的太阳也会死去。而在北欧神话中,太阳之死被描绘得无比惨烈——

凛冬肆虐了整整三年,诸神的黄昏降临了,恶狼芬里厄(Fenrir)撑开双颚,拔出插在喉中鲜血淋漓的长刀。它身躯巨大,双目血红,带领一群嗜血的狼族,嘶嚎着冲向太阳。它们咬断天马的脖子,致使太阳失足坠下翻滚的马车,恶狼们张开血盆大口,把太阳生生撕裂,太阳抽搐着,在巨大的痛楚中被吮尽了鲜血,又被狼族囫囵吞入腹中。

如果我们把太阳的生灭周期比作人生百年,那么如今他正处在年富力强的46岁。但太阳的燃料是有限的,核聚变不可能永远持续下去。当太阳的核心耗尽了氢,便开始燃烧氦,膨胀为一颗红巨星。此时,太阳将会扩张到现在的100倍以上,彻底吞没水星和金星,并把地球和火星烤焦。

最后,太阳脱去外衣,把自己一生中创造出的所有原子抛向太空,那将是地球上空前绝后的大火。这一刻到来时,倘若人类后裔正在遥远的星球上凝望,他是否会想起冲天火光中狂喜的尼禄?会不会脱口吟出海子的诗句:“这是我的声音,这是我的生命,上帝,你双手捧着我,就像捧着——灰烬。”

自从宗教意识萌发的那一刻起,先民对太阳的崇拜就开始了。在所有文化形态中,我们都能找出太阳崇拜的痕迹。一代代神使、先知与诗人对太阳竭尽称颂,赋予他至高无上的地位,希腊神话则将太阳神这一殊荣给予了赫利俄斯(Helios)与阿波罗(Apollo)。

赫利俄斯是泰坦神族中的一员,是太阳的人格化身,他英俊魁梧,身穿紫红长袍,头戴光芒四射的金冠。每天清晨,黎明女神厄俄斯(Eos) 用玫瑰色修长的十指打开东方天门,赫利俄斯便乘坐着四匹天马所拉的太阳车开始出巡,他越过苍穹,令光芒普照世界,直到黄昏来临,才没入俄刻阿诺斯海(Oceanus)的彼岸。在罗马,赫利俄斯被称为索尔(Sol),也就是英文Sun一词的来源。

那么,为什么阿波罗也被当作太阳神呢?相比赫利俄斯,阿波罗的职能要多出许多,他是光明与预言之神,同时还是音乐、诗歌、医药、理性、数学和逻辑之神,因为射术出众,他又被誉为银弓之神。我们知道,光明无疑是太阳最重要的特征,阿波罗正是藉由光明的属性和太阳联系到了一起。随着时光的流逝,人们越来越崇敬这位无所不能的神灵,尤其诗人、作家和艺术家群体,更极力抬高文艺之神阿波罗的地位,比如欧里庇得斯(Euripides)的《法厄同》、奥维德(Ovid)的《变形记》都将阿波罗视为太阳神。

还有两个传说曾为此推波助澜。一则是由于赫利俄斯没有参加奥林匹斯众神与泰坦神族之间的战争,于是胜利后论功行赏时,宙斯就把太阳车奖励给了骁勇善战的阿波罗;另一则是因赫利俄斯纵容儿子法厄同(Phaethon)驾驶太阳车,酿成了巨大灾祸,宙斯盛怒之下,把驾驭太阳战车一职转交给了阿波罗。总之,到了公元前五世纪左右,两位神灵逐渐混同了起来,名气更大,更受人爱戴的阿波罗,取代了赫利俄斯成为人们心目中太阳的象征。

阿波罗是宙斯与勒托(Leto)的儿子,出身高贵且品貌非凡。他皮肤白皙、身材健美,满头秀发在风中飘逸,如同阳光般光彩照人,至今依然被视为男性美的典范,一如阿芙洛狄忒是女性美的极致。如果按照我们中国神话的思路,这位主宰光明、理性、艺术、医药的神明,在人格上也应该是无瑕而无私的。但古希腊人相信有光明的地方必有阴影,所以从来不对人性做出不切实际的想象,更不会剥夺或者阉割人的复杂性。即便面对自己的精神支柱阿波罗,也丝毫不粉饰其性格中阴暗残忍的一面。就让我们看个多少有点令人毛骨悚然的故事吧!

雅典娜曾一度爱上了吹笛子,可很快,她发现吹笛子会让腮帮鼓胀起来,有损自己优雅端庄的女神形象,于是随手把笛子丢到了一条小溪边的青草地上。有天,一个名叫玛尔绪阿斯(Marsyas)的萨提尔捡到了这把笛子。出于好奇,他试着吹了一口,美妙无比的乐声顿时迷住了他。从此他曲不离口,吹奏的技艺越来越娴熟,成了希腊与小亚细亚地区著名的音乐家。在美酒、鲜花与掌声的环绕中,天性欢快的玛尔绪阿斯变得飘飘然了,他自诩为世界上最优秀的乐手,甚至放言,如果同台演奏,他一定可以胜过音乐之神阿波罗!

阿波罗得知后怒火攻心,决定给天下所有自以为是者一个狠狠的教训。于是他接受了这场挑战,唯一的条件是胜利者可以随心所欲的惩罚失败者。比赛开始了,曼妙的旋律接连从玛尔绪阿斯的长笛与阿波罗的里拉琴中流泻出来,所有听众都久久沉浸在两位大师的天籁之音中。

曲子终了,由阿波罗的手下——九位缪斯女神组成的评委一致认定阿波罗为胜利者,理由是里拉琴可以反弹,笛子却不能反过来吹。而剩下的一位裁判,也就是“点石成金”的弥达斯王(Midas),投出了唯一一张支持玛尔绪阿斯的票。阿波罗耸耸肩:“你觉得他演奏得比我好?你怕是长了双驴耳朵吧!”话音刚落,弥达斯的双耳就变成了长长的灰色驴耳。

至于玛尔绪阿斯,他刚想向阿波罗赔不是,可怒气未消的阿波罗不容分说地把他吊在一棵树上,掏出一把寒光闪闪的尖刀就开始剥他的皮。可怜的玛尔绪阿斯被剥皮时,凄惨地大叫:“为什么,为什么要剥我的皮?我只是吹笛子啊!我再也不吹了,再也不吹了!”

可阿波罗丝毫不为所动,把他的皮全部剥了下来,玛尔绪阿斯全身流满鲜血,神经和血管还在跳动,他的肠子蠕动着,肝脏全部流了出来……剥好之后,阿波罗把玛尔绪阿斯的皮挂在一棵松树上,警示一切胆敢僭越神明之人。据说从此以后,每逢悠扬的笛声传来,这张皮就会翩然起舞,可一旦里拉琴声响起,它的舞蹈便戛然而止。

然而,在后世作家、画家、雕刻家眼中,这场艺术之争没有失败者。他们固然热爱阿波罗,却也坚信人的艺术才能足以和神平分秋色,于是,“被剥皮的玛尔绪阿斯”成了一代代艺术家忿忿不平与念念不忘的悲剧题材。也有一些人文主义者把这场向音乐之神的挑战与伊卡洛斯飞天,法厄同驾驶太阳车,普罗米修斯盗火联系起来,认为这象征着人的反抗精神与自我超越的意志,我们虽然渺小,却不甘心像蝼蚁一样在尘埃中匍匐,始终怀抱着比肩神明的梦想与热望。

古希腊人在阿波罗身上倾注了对于男性美的全部理想,他如阳光般俊美,才艺又登峰造极。尤其对女性来说,拒绝阿波罗的爱,就像拒绝雨露和阳光一样不可想象。可恰恰是这位才貌双全的光明之神,他的爱情之路却一片黑暗。这是为什么呢?一切还要从阿波罗的初恋开始说起。

阿波罗奋力射杀了为祸一方的巨蟒皮同(Python)后,人们载歌载舞,为他建立神庙,争相称颂这位为民除害的大英雄。阿波罗高兴极了,他心满意足地深吸了一口甜蜜的气息,忽然看见小爱神厄洛斯(Eros)正在一旁专心致志地摆弄着弓箭。阿波罗一脸的不屑:“小孩,弓箭是大人的武器,可不是你过家家的玩具。你看,我刚刚射杀了凶残的巨蟒,你还是把弓箭交给会射箭的人吧!”小厄洛斯满心的不服气:“阿波罗,你以为天下会射箭的,只有你一个吗?让你知道我的厉害!”说完,他扇动翅膀,转眼间就飞到了帕尔纳索斯(parnassus)山顶郁郁葱葱的树林中。

为了教训阿波罗,小爱神先将一支点燃爱情的金箭射向他,紧接着抽出一支熄灭爱情的铅箭,射向阿波罗必经之路上的美少女达芙妮(Daphne)。阿波罗走着走着,忽然感到有股销魂蚀骨的暖流从心中涌出,爱情之火猛烈灼烧起来,他无比渴望一场热烈的爱情。就在此时,他遇见了美丽动人的达芙妮。几乎同一瞬间,达芙妮也发现阿波罗正目不转睛地盯着她。由于中了小爱神的铅箭,达芙妮眼中的阿波罗面色狰狞、令人作呕,于是她吓得花容失色,转身就跑。

阿波罗一边追,一边在后面呼喊:“姑娘呀,河神珀纽斯(Peneus)的女儿呀,你别跑啊!我不是坏人,我是光明之神阿波罗,你回头看看我好吗?我是天下第一神射手,在德尔菲有我的神庙。我是天下第一音乐家,你停下来听我给你弹首曲子好吗?我还是天下第一名医,但我治不好自己的相思病呀!”在爱情的驱使下,阿波罗越跑越快,眼看就要追上来了。筋疲力尽的达芙妮瘫倒在河边,绝望地向父亲祈求:“救救我吧!父亲,如果你的河水真的有神力,就把我带走吧!我宁死也不要被阿波罗侮辱!”

河神珀纽斯回应了女儿的呼救。达芙妮柔软的身体变得沉重而麻木,她头上生出树叶,双臂变成树枝,双腿牢牢扎进土地化作树根,唯有那优美的姿仪,依然在风中轻舞……阿波罗冲过来紧紧拥住自己的恋人,可触到的,却是一株月桂树。阿波罗的心碎了,他深情抚摸着月桂的枝干,久久在达芙妮身边徘徊。

为了纪念这段苦涩的初恋,男神阿波罗将月桂树作为自己的圣树,他折下一段树枝,编织成桂冠戴在头上,从此以后,桂冠成了文化、艺术和 体育 界的至高荣誉。由于这段得不到的爱情永远在阿波罗心底隐隐作痛,月桂树也始终保持着四季常青。

达芙妮仅仅是阿波罗情场失意的开端,后来他又接连遭遇了许多段辛酸的爱情。阿波罗曾希望以预言术换取卡珊德拉(Cassandra)公主的芳心,可是这位公主学会预言术之后,依然拒绝了他的求爱;阿波罗向玛耳珀萨(Marpessa)公主袒露真情,可是公主担心自己年老色衰后被青春永驻的阿波罗抛弃,宁愿嫁给一位凡人;阿波罗向一位名叫锡诺普(Sinop)的美人求爱,对方要求阿波罗先答应自己一个条件,结果她提出的要求竟是永葆处女之身……

阿波罗一视同仁的爱着少男少女。既然在女性那里屡屡受挫,他便把一片深情托付给了少年。美少年雅辛托斯(Hyacinthus)接受了阿波罗的求爱,阿波罗幸福极了,却引得同样爱慕男孩的西风之神仄费罗斯(Zephyrus)醋意大发。一天,风神趁阿波罗投掷铁饼时转变风向,吹得铁饼直接砸在少年头上,少年当场脑浆迸裂,一命呜呼。阿波罗痛不欲生,泪珠与少年的鲜血混合在一起,化作以少年雅辛托斯为名的美丽花朵——风信子(Hyacinth)。

还有一位阿波罗钟爱的美少年库帕里索斯(Cyparissus),他不小心误杀了比生命还珍贵的小鹿,伤心欲绝,伏在小鹿坟前日夜痛哭,并恳求阿波罗让自己永远哀伤下去。阿波罗虽然不舍,但还是满足爱人的心愿,含泪把他变成一棵肃穆的柏树(Cyprus)。从此以后,柏树被西方人视为哀伤的象征,种植在墓园之中。

为什么阿波罗这样完美的男神,爱情之路却坎坷不平呢?其实不仅是阿波罗,希腊神话中众神、英雄、凡人之间的爱情很少存在现代意义上的“圆满”。古希腊人头脑中没有中国式“有情人终成眷属”的思维定式,在他们生活的时代,基督教宣扬的从一而终的婚姻理想也尚未出现。

可以说,古希腊人的神话传说全部源自生活的本来面目。人是什么样,神就是什么样,人的爱情千疮百孔,神的爱情也难以善终。因此,除了皮格马利翁(Pygmalion)、菲利蒙(Philemon)与巴乌希斯(Baucis)等少数几段长相厮守的爱情外,希腊神话中大多数恋情都在狂喜和剧痛的两极之间反复摇摆。同一位主人翁一次次被爱情点燃,熄灭,又从灰烬中重新绽放,就这样,给我们带来了一出又一出爱情的悲喜剧。

在奥林匹斯众神中,阿波罗的崇拜与祭仪最为盛行,在希腊、塞浦路斯、罗马、小亚细亚、埃及等地都曾遍布阿波罗的太阳神庙,人们从四面八方涌来,狂热的称颂、赞美他。

随着亚历山大大帝远征波斯帝国,又将希腊众神的影响力扩及亚洲腹地,深居内亚的希腊工匠们,甚至依据阿波罗的形象创造出了佛像,从此成就了一段美丽肉身与高洁灵魂的奇妙因缘。如今两千多年过去了,宏伟壮观的阿波罗太阳神庙已然隐没于萋萋芳草,唯有不息的风从过去刮向未来,倾诉着人与神的爱恨缠绵,见证着一只蜉蝣的生老病死,一段感情的生住异灭,一个宇宙的成住坏空……

作者 / 人文希腊(经授权发表)