识图吟诗

  • 写在前面前端

关于这个做品的设计理念和情怀,请看这里git

初衷

随着做品的不断迭代和改进,我已经渐渐忘记初衷是什么了。是为了讨某人欢心作的小demo或是为了熟悉使用watson的练手做品,都已不大记得。然而如今,是想利用零碎的时间,作一个完整的项目。来探究AI之神奇并展示诗词之魅力。github

构建和运行

识图吟诗是一个创意做品,经过使用watson相关的API,对图片进行认知分析,以后在诗词库中选择置信度较高的诗句做为结果返回。用户上传图片,尤为是风景图片,便可以获得较为吻合图片意境的诗词。web

在做品开始构建以前,必须拥有一个包含信息的知识库,以即可以从中获得最恰当的答案。在这里,我经过爬虫,在网络上爬取了包含做者及名称在内的一千多首诗词名句,这些内容以excel表的形式存储。算法

代码

在早期的做品中,该应用程序是经过微信做为引导接口,部署在Bluemix上。但由于Bluemix开放的服务器在国外,因此效果不是很好。因此此版本,构建于阿里云服务器之上。后端

下面简短描述了使用的技术:centos

  • Python
    做品主要使用的语言,Python对数据处理表现出强大的做用,同时提供丰富的库包方便实现各类需求。服务器

  • IBM Watson
    主要使用了Visual Recognition 这一服务用以对图片内容进行初步的识别分析。微信

  • Flask
    这是一个基于Python开发的轻量级网络框架,在这里实现RESTful API,以支持用户发送图片而且得到结果。网络

  • HTML
    采用原生HTML开发界面,用以与用户交互。(这是此版本最须要改进的一个方面)

  • Nginx
    轻量级,高性能的web服务器。

  • uWSGI
    实现了uwsgi和WSGI两种协议的Web服务器。

架构

识图吟诗架构由如下层和关联实现:

    • 视图 *:一个响应相对灵敏但不够美观的前端用户界面,只使用了原生HTML。界面中的词句引自辛弃疾《贺新郎·甚矣吾衰矣》---“我见青山多妩媚,料青山见我应如是”。是为了表现一种思想,若是机器经过了图灵测试,可否真的认为它就具有了人类的情感。右上角以中国传统篆章的形式表现做品题目,为了和做品理念,艺术风格相呼应。此层中的视图组件容许用户经过一个输入点发送提交图片。

    • 控制器 *:一个基于Flask的控制器层,向视图组件公开RESTful业务API。此REST API与后端处理过的数据进行交互。可扩展实现其余业务操做,包括调用其余服务或第三方API。

    • 认知后端 *:Watson分析并处理了图片内容,而我处理了诗词库。相似于理解上下文的分析方式,处理全局图片内容,对这种非结构化的信息进行置信度判断,然后能够认为watson消化并理解了有关诗词的内容。 同时,提供了一个API,可以对收到的消息接受并返回答案。

    • 平台 *:本版本部署在阿里云上,采用centos + Flask + Nginx + uWSGI的流行框架。

这里给出了总体架构的思路图:
图片描述

运行

打开这里,选择文件后,点击上传图片。

总结及下一步

总结

Watson是一个极其强大和复杂的平台,他所拥有的,不单单是能看见的诸多服务,还有隐藏在其后的认知计算系统。我把这一版本做为V1.0,由于虽然还有不少地方待提升,可是迈出了关键的一步,即上线,有人使用,稳定,以及有趣。

下一步

  1. 前端采用框架进行重写,美化处理,支持响应式。

  2. 认知后端算法优化,意境更加吻合,支持识别更多景物。

  3. 加入更多服务,使得用户体验多样化。

做品体验地址:
http://47.93.229.184/

我的微信号Owcs:
图片描述

我的网站:
http://www.changshunwang.com

若是你以为有趣,在github上点个星吧:https://github.com/changshunw...

相关文章
相关标签/搜索