本文适合数据分析从业者阅读,全文约字,阅读时长8分钟

引言

随着人工智能的快速兴起,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可以为任意的操作(arbitraryoperation)赋值或者从其中获取数据。

这篇文章中我们将采用基于Tensorflow的Seq2seq+Attention模型,训练一个新闻标题自动生成模型。加入Attention注意力分配机制,是为了使Decoder在生成新的目标句子时,可以得到前面Encoder编码阶段每个字符隐藏层的信息向量,提高生成目标序列的准确度。

数据处理

样本数据为该企业新闻客户端年11月份的新闻,超过10M的语料数据,包含新闻标题和新闻正文信息。由于在Encoder编码阶段处理的信息会直接影响到整个模型的效果,所以对新闻数据的预处理工作需要非常细致。对新闻中的特殊字符、日期、英文、数字以及链接都要进行替换处理。

文本预处理后,就是训练样本的准备工作。这里的Source序列,就是新闻的正文内容,待预测的Target目标序列是新闻标题。为了保证效果,正文部分不能过长,这里设定分词后的正文不超过个词,不足用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。新闻正文内容和其对应的新闻标题需要分开存放在两个文件内,一行为一条新闻样本。

实证效果

运行脚本,训练好的模型将被保存下来,部分预测好的TextSummarizaion如下:

总结

随着互联网的迅速发展,网络中的新闻资源呈指数级增长,通过深度学习自动生成的标题往往能很直观的体现新闻的主题内容,便于读者快速的浏览新闻,准确选择自己感兴趣的内容,节约时间成本,能够给读者带来很好的体验感。

智能推荐已经成为一种势不可挡的趋势,随着人工智能的发展,算法推荐必将成为内容领域的主流之一。极光即将推出一套完整的智能推荐引擎,模型引入极光用户标签,将基于Tensorflow的LSTM主题分类的个性化推荐和非个性化推荐相结合,不仅能很好的解决用户冷启动问题,而且可以满足企业的个性化需求和用户的实时智能推荐。

点击关键词,获取兴趣内容

数据报告:美食菜谱/移动app/婚恋交友/网络招聘/珠海长隆/Q2手机/Q2app/地图服务/上海车展/王者荣耀/导购电商/4月app/垂直漫画/O2O下半场/知识付费/短视频

极光数说:驾驶风险/用户行为研究/点数成金/新零售/大数据治堵/互金风控

极光洞察:百度外卖/95后美颜/狼人杀/抖音/京东+唯品会//银联/网易严选/同性婚姻/上海车展/比特币/YY虎牙/锤子/京东财报/O2O/美团旅行/搜狗

关于极光

极光(

欢迎转载,转载请注明原文网址:http://www.shanghaishizx.com/shlt/124849.html

------分隔线----------------------------