一、想法来源
还要从花开时节说起,跟同学散步在后花园,看到漫天美景,欲吟诗一首,却不曾满意,遂想到何不将此任务交给人工智能呢。。。于是上一个月的课余时间就这样度过了。。。
二、初步构想
我们的思考是架设一个能够基于情景作诗的人工智能机器人,通过识别手机拍摄的实时照片识别获取情景。同时类比了美图秀秀,她是美化图片的外在,而我们的想法则是挖掘图片的内涵,也即其意境,创作融入情景的诗句。
当然本版本仅实现了基于文字的作诗功能,后续将继续开发基于情景的诗词功能,并合理融入图像识别。
毅然决定此事,一来是确实有此需求,二来则是想以此为契机,将近期所学串起来形成实践,打通云端架构设计与实现,在此基础上熟练掌握各种框架的原理及使用,并能够对深度学习有更加深入的了解和应用。
三、所用技术框架
前端:html5+bootstrap(暂用简单css)+jQuery
网站服务:django+flask(用了个小trick,省得自己写通信了)
深度学习网络架设:tensorflow
虚拟化技术:docker+k8s
数据库:mysql+sqlite(后期会加入redis)
网站服务器:nginx+uwsgi
云平台:阿里ECS(由于其自带的镜像环境收费,因此自建虚拟化环境)
四、实现过程
由于一个人来实现,所以整个过程是边摸索边实现,周期很长,导致央视都做成节目了我还在实现。。。
目前先实现了其中的一部分,也是最为关键的给词作诗部分,共分两种情况,藏头诗和藏词(藏字)诗。其实现过程如下:
1、数据的收集和预处理
大约收集了8万首古诗词,清理掉其中的标点符号后,对其进行了分词并采用word embedding的方式进行了处理,得到了诗集的词向量及其度量相似性。
2、网络的选择与搭建
采用了Bi-LSTM深度网络构建模型。LSTM是长短期记忆网络,能够记忆并预测很长的序列,多被用于时间序列的预测,对于股票的预测也很常见。在自然语言处理中,应用非常广泛,有自动摘要、自动文本的生成等等。作诗的原理其实也非常简单,就是用到了深度网络的预测能力。
3、网络的训练
经过了1000 epochs的训练,能够写出像现在这个样子的诗句了,后续还将继续收集诗词并加大训练。
4、运行环境的搭建
由于深度学习仅通过CPU计算速度太慢,用户体验将大打折扣,所以只能将网络的计算放于本地,作为服务与存放于云端的自建虚拟环境交互。
五、展现方式
此次仅通过简单css仿微信聊天界面,待功能固化后将采用Android架构实现app前端展示。
本文来自企鹅号 - 浮生六技媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - 浮生六技媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。