b.基于深度学习的端到端的方法
为了对图像进行问答,Agrawal[4]等人提出了多种视觉问答算法和一个图像问答算法数据集(VQA).文章中的算法主要是基于CNN和LSTM,并且设计并实现了多种改进的方案。这些算法都是先对图像利用VGG-NET抽取出图像特征,之后对问题用了词袋模型、一层的LSTM和两层的LSTM抽取出问题的特征,最后将图像特征和问题特征作为通过词袋模型或者LSTM的输入来得到答案。结果发现两层的LSTM可以达到最好的准确率62.7%
由于直接采用CNN对整幅图像进行特征提取的方式容易忽略了图像的局部细节。所以Kan Chen[6]等提出了一种基于注意力机制地深度学习架构来解决视觉问答问题,该算法先利用LSTM得到问题的关键词,例如“颜色,物体”等,之后在提取图像中包含这些关键词部分,最后将图像局部特征,全局特征和问题特征作为一个分类器的输入来得到答案。此算法相比较其他的未采用注意力模型的算法在物体识别,计数等问题的准确率都有所提高。
有些文本问答系统都会采用大量的自由文本库作为答案的来源,所以图像问题中是不是也可以借助一些自由文本来提高准确率亦是一个问题。Qi Wu[7]等人就设计一种可以利用外部数据的算法提高图像问答系统准确率的方法。该方法首先抽取出图像的特征,生成一段关于这幅图像的文本,然后再依据这个文本去DBPedia这个文本库中查找与这些文本相符合的文本段落,最后将这个相关文本段落,问题,图像生成的文本作为LSTM的输入得答案。结果表明这种方法比其余几种算法的准确率都有提高,达到了69%。
1.3存在的主要问题
如图 2现在大部分机器人都可以进行比较有效的文本交流,拥有普通的闲聊,查询天气预报,讲笑话这些娱乐功能。但是仅仅有文本是不够的,人类在聊天的时候出了文本还会用到大量的图片。如果聊天机器人不能对图像进行处理、交流,功能上看起来就会觉得欠缺很多。如图 1,2016年微软的小冰机器人无法对图像做出回复,让人在聊天的时候感觉不是那么智能。
本文就主要针对在聊天机器人中如何利用好图像信息做了一点探索,基于文献实现了一个图像问答算法,并且基于这个算法和图灵机器人API实现了一个可以进行图像问答的聊天机器人。
1.4研究内容
(1)图像问答算法的实现
本文实现的图像问答算法基于卷积神经网络和长短期记忆网络。卷积神经网络用来提取图像特征,长短期记忆网络来生成答案。
(2)聊天机器人软件服务端的设计与实现
聊天机器人软件服务端的综合了本文实现的图像问答算法和图灵机器人的API,是聊天机器人的核心所在。服务端的功能主要是接收消息和回复消息。
(3)聊天机器人软件安卓客户端的设计与实现
聊天机器人软件安卓客户端的主要作用就是发送消息和接收消息,拥有闲聊,讲笑话,天气预报等功能。
1.5技术路线
(1) 先学习神经网络的基本原理,了解卷积神经网络和VGG-NET。了解卷积神经网络是如何进行图像特征提取的。
(2) 学习词向量生成算法,使用斯坦福的GloVe文件生成问题对应的词向量。
(3) 学习长短期记忆网络,了解其基本原理。
(4) 搭建Keras框架,用Keras框架搭建VGG-NET
(5) 使用Keras框架实现图像问答算法。
(6) 用Web.py进行服务端的开发,进行接口设计,学习如何使用图灵机器人的Web接口,开发出聊天机器人软件的服务端。
(7) 进行聊天机器人安卓客户端的开发。 Python图像问答算法的聊天机器人软件的设计+源代码(4):http://www.youerw.com/jisuanji/lunwen_24799.html