新闻智能推荐之Tensorflow自动生成标题的研究及应用
引言:
随着人工智能的快速兴起,Google发布的深度学习框架TensorFlow在短短两年内,就成为了当前最流行的深度学习项目。
在图像处理、音频处理、自然语言处理和推荐系统等场景中,TensorFlow都有着丰富的应用。虽然开源没多久,但是TensorFlow正在悄然渗透到我们的工作生活当中。
研究背景:
某新闻企业通过接入极光智能推荐系统,在其APP端增加智能推荐模块,为其用户私人订制感兴趣的新闻。极光机器学习云能够快速、精准的提取每条新闻的主题,并对新闻进行主题分类,借助极光自有的用户标签,向用户实时的推荐个性化新闻。
通过TensorFlow深度学习框架,在自然语言处理方向,极光已经通过机器学习算法实现了文章标题、摘要和关键词的自动生成功能。
研究方案:
文本自动总结的模型一直都是深度学习中的研究热点。有一些诸如 TFIDF和TextRank之类常规算法,其基本原理是直接抽取文本中重要的句子。也有一些较为复杂的算法如重新生成新的句子,但效果不佳。目前常用的模型是seq2seq,它是基于Encoder-Decoder的一个结构,首先将原始文本中的句子encode成一个固定大小的向量,然后通过decoder部分一个字符一个字符生成目标句子。
TensorFlow,也就是Tensor和Flow,这就意味着Tensor和Flow是TensorFlow的基础要素。Tensor意味着数据,Flow意味着流动、计算和映射,这也体现出数据是有向的流动、计算和映射。TensorFlow的结构由会话(session),图(graph),节点(operation)和边(tensor)组成,它使用图(graph)来表示计算任务,图在被称之为会话(Session)的上下文(context)中执行,其状态是通过变量(Variable)来维护的,使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据。
这篇文章中我们将采用基于Tensorflow的Seq2seq+Attention模型,训练一个新闻标题自动生成模型。
加入Attention注意力分配机制,是为了使Decoder在生成新的目标句子时,可以得到前面Encoder编码阶段每个字符隐藏层的信息向量,提高生成目标序列的准确度。
样本数据为该企业新闻客户端2016年11月份的新闻,超过10M的语料数据,包含新闻标题和新闻正文信息。由于在Encoder编码阶段处理的信息会直接影响到整个模型的效果,所以对新闻数据的预处理工作需要非常细致。对新闻中的特殊字符、日期、英文、数字以及链接都要进行替换处理。
文本预处理后,就是训练样本的准备工作。这里的Source序列,就是新闻的正文内容,待预测的Target目标序列是新闻标题。为了保证效果,正文部分不能过长,这里设定分词后的正文不超过100个词,不足用PAD字符补齐,设定标题不超过20个词。在生成训练样本的时候,定义了create_vocabulary()方法来创建词典,data_to_id()方法把训练样本(train_data.txt)转化为对应的词ID。
训练样本的数据格式如下:
Seq2Seq是一个基于输入的sequence,预测一个未知sequence的模型。模型由Encoder编码阶段和Decoder解码阶段两部分构成。模型编码阶段Encoder的RNN每次会输入一个字符代表的向量,将输入序列编码成一个固定长度的向量;解码阶段的RNN会一个一个字符地解码,如预测为X。在训练阶段时会强制将上一步解码的输出作为下一步解码的输入,即X会作为下一步预测Y时的输入。
当编码阶段输入的序列过长时,解码阶段LSTM模型将无法针对最早的输入序列解码。Attention注意力分配机制,在解码阶段每一步解码时,都会有一个输入,对输入序列所有隐含层的信息进行加权求和,能够很好的解决这个问题。
将分词后的新闻文本数据拆分为训练样本和测试样本,共四个文件:train_data.txt,train_title.txt,test_data.txt,test_title.txt 。新闻正文内容和其对应的新闻标题需要分开存放在两个文件内,一行为一条新闻样本。
实证效果:
运行脚本,训练好的模型将被保存下来,部分预测好的Text Summarizaion如下:
总结:
随着互联网的迅速发展,网络中的新闻资源呈指数级增长,通过深度学习自动生成的标题往往能很直观的体现新闻的主题内容,便于读者快速的浏览新闻,准确选择自己感兴趣的内容,节约时间成本,能够给读者带来很好的体验感。
智能推荐已经成为一种势不可挡的趋势,随着人工智能的发展,算法推荐必将成为内容领域的主流之一。极光即将推出一套完整的智能推荐引擎,模型引入极光用户标签,将基于Tensorflow的LSTM主题分类的个性化推荐和非个性化推荐相结合,不仅能很好的解决用户冷启动问题,而且可以满足企业的个性化需求和用户的实时智能推荐。
上一篇:开发者福利:萌妹子直播DevCloud App 键盘任性送 喊你来打call
下一篇:机器人取代人?亚马逊投放Kiva后又新招了超12.5万名员工
标签:
今日话题更多>
- 武汉大学信息门户是什么 武汉大学信息门户是武汉大学官方网站的入口,它为武汉大学师生员工提供信息服务和网络应用入口。信息门户网址为:ehall.whu.edu.cn。 信息门户包含以下主要功能: 1. 统一身份……
- 壹米滴答物流单号查询方法 壹米滴答物流单号查询可通过以下方式进行: 1. 登录壹米滴答官网 登录www.yimidida.com网址,点击页面右上角的登录按钮,输入用户名和密码进行登录。登录成功后,在用户中心可……
- 壹米滴答物流是什么平台 壹米滴答是一家中国国际物流快递公司,提供国内外物流配送服务。 1. 公司简介 壹米滴答成立于2013年,由深圳市壹米滴答供应链管理有限公司运营。现已开通200多个国家和地区的……
黑帽学习 更多 >>
-
黑帽seo技术主要有哪些,为什么
从搜索引擎的算法出来之后,就有很多的人开始研究如何比较快的做收录和排名,那个时候并没有人把…… -
采集站怎么样才不会死,采集站应
现在有不少的站长正在一批一批的做采集站,因为这种网站比较的省时省力,不过也有其非常大的弊端…… -
黑帽seo有什么高深的技术吗
搜索引擎虽然只是一个入口,但是这个入口搜索出来的结果的排名是具有非常大价值的,有很多的人都…… -
蜘蛛池有效果吗,目前比较好用的
说起蜘蛛池程序,可能很多做黑帽的人比较了解这个东西,它主要就是为了快速的搭建蜘蛛池,然后引…… -
发包技术教程有用吗,发包排名虚
对于很多做黑帽seo的人来说,技术手段是需要不断研发和提升的,但是搜索引擎对于这些黑帽的技术…… -
网站总是被劫持怎么办,网络被劫
其实做起来一个网站是非常花时间和精力的,有不少的站长辛辛苦苦的花了很长的时间去做了一个网站…… -
什么叫做强引蜘蛛,强引蜘蛛软件
蜘蛛对于收录来说是一个非常重要的东西,我们可以说有蜘蛛不一定会收录,但是想要收录就一定要有…… -
如何去搭建一个蜘蛛池,需要准备
对于一些做了很久seo的人来说,肯定会接触到蜘蛛池这个东西,因为蜘蛛池对于收录这块的作用是非…… -
目前比较好用的蜘蛛池有哪些,小
做seo的肯定都了解蜘蛛池(如果对于蜘蛛池不是很了解,可以参考《 蜘蛛池是什么 》这篇文章)是…… -
强引蜘蛛原理是怎么样的,蜘蛛池
对于网站的收录来说,蜘蛛是主要的抓取工具,虽然说我们可以从一些提交入口里面去提交,但是还是……