2017-06-01 16:03:47 u010700335 阅读数 4263
  • 深度学习入门及如何转型AI领域

    深度学习入门转型视频教程,该课程主要告诉开发者如何快速入门深度学习。讲师是在机器学习,深度学习神经网络领域多年开发研究经验,精通算法原理与编程实践。曾完成过多项图像识别,目标识别,语音识别的实际项目,经验丰富。关注深度学习领域各种开源项目,如TensorFlow,Caffe,Torch等。喜欢理论与实践相结合的教学风格,课程编排由浅入深,体系清晰完整。

    2776 人正在学习 去看看 CSDN讲师

1 -- 深度学习在推荐领域的应用


http://blog.csdn.net/malefactor/article/details/52040228  --- 张俊林博客


4---http://www.cnblogs.com/MarsMercury/category/746876.html  ----《机器学习实战》例子

2017-05-31 17:11:57 heyc861221 阅读数 3191
  • 深度学习入门及如何转型AI领域

    深度学习入门转型视频教程,该课程主要告诉开发者如何快速入门深度学习。讲师是在机器学习,深度学习神经网络领域多年开发研究经验,精通算法原理与编程实践。曾完成过多项图像识别,目标识别,语音识别的实际项目,经验丰富。关注深度学习领域各种开源项目,如TensorFlow,Caffe,Torch等。喜欢理论与实践相结合的教学风格,课程编排由浅入深,体系清晰完整。

    2776 人正在学习 去看看 CSDN讲师

作者: 吴岸城,菱歌科技首席算法科学家,致力于深度学习在文本、图像、预测推荐领域的应用。曾在中兴通讯、亚信(中国)担任研发经理、高级技术经理等职务。
责编:何永灿,欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至heyc#csdn.net(#改为@)
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅《程序员》

当2012年Facebook在广告领域开始应用定制化受众(Facebook Custom Audiences)功能后,“受众发现”这个概念真正得到大规模应用,什么叫“受众发现”?如果你的企业已经积累了一定的客户,无论这些客户是否关注你或者是否跟你在Facebook上有互动,都能通过Facebook的广告系统触达到。“受众发现”实现了什么功能?在没有这个系统之前,广告投放一般情况都是用标签去区分用户,再去给这部分用户发送广告,“受众发现”让你不用选择这些标签,包括用户基本信息、兴趣等。你需要做的只是上传一批你目前已有的用户或者你感兴趣的一批用户,剩下的工作就等着Custom Audiences帮你完成了。

Facebook这种通过一群已有的用户发现并扩展出其他用户的推荐算法就叫Lookalike,当然Facebook的算法细节笔者并不清楚,各个公司实现Lookalike也各有不同。这里也包括腾讯在微信端的广告推荐上的应用、Google在YouTube上推荐感兴趣视频等。下面让我们结合前人的工作,实现自己的Lookalike算法,并尝试着在新浪微博上应用这一算法。

调研

首先要确定微博领域的数据,关于微博的数据可以这样分类:

  • 用户基础数据:年龄、性别、公司、邮箱、地点、公司等。
  • 关系图:根据人↔人,人↔微博的关注、评论、转发信息建立关系图。
  • 内容数据:用户的微博内容,包含文字、图片、视频。

有了这些数据后,怎么做数据的整合分析?来看看现在应用最广的方式——协同过滤、或者叫关联推荐。协同过滤主要是利用某兴趣相投、拥有共同经验群体的喜好来推荐用户可能感兴趣的信息,协同过滤的发展有以下三个阶段

第一阶段,基于用户喜好做推荐,用户A和用户B相似,用户B购买了物品a、b、c,用户A只购买了物品a,那就将物品b、c推荐给用户A。这就是基于用户的协同过滤,其重点是如何找到相似的用户。因为只有准确的找到相似的用户才能给出正确的推荐。而找到相似用户的方法,一般是根据用户的基本属性贴标签分类,再高级点可以用上用户的行为数据。

第二阶段,某些商品光从用户的属性标签找不到联系,而根据商品本身的内容联系倒是能发现很多有趣的推荐目标,它在某些场景中比基于相似用户的推荐原则更加有效。比如在购书或者电影类网站上,当你看一本书或电影时,推荐引擎会根据内容给你推荐相关的书籍或电影。

第三阶段,如果只把内容推荐单独应用在社交网络上,准确率会比较低,因为社交网络的关键特性还是社交关系。如何将社交关系与用户属性一起融入整个推荐系统就是关键。在神经网络和深度学习算法出现后,提取特征任务就变得可以依靠机器完成,人们只要把相应的数据准备好就可以了,其他数据都可以提取成向量形式,而社交关系作为一种图结构,如何表示为深度学习可以接受的向量形式,而且这种结构还需要有效还原原结构中位置信息?这就需要一种可靠的向量化社交关系的表示方法。基于这一思路,在2016年的论文中出现了一个算法node2vec,使社交关系也可以很好地适应神经网络。这意味着深度学习在推荐领域应用的关键技术点已被解决。

在实现算法前我们主要参考了如下三篇论文:

第一篇论文是LinkedIn给出的,主要谈了针对在线社交网络广告平台,如何根据已有的受众特征做受众群扩展。这涉及到如何定位目标受众和原始受众的相似属性。论文给出了两种方法来扩展受众:

  1. 与营销活动无关的受众扩展;
  2. 与营销活动有关的受众扩展。

图片描述

图1 LinkedIn的Lookalike算法流程图

在图1中,LinkedIn给出了如何利用营销活动数据、目标受众基础数据去预测目标用户行为进而发现新的用户。今天的推荐系统或广告系统越来越多地利用了多维度信息。如何将这些信息有效加以利用,这篇论文给出了一条路径,而且在工程上这篇论文也论证得比较扎实,值得参考。

第二篇论文,主要讲的是node2vec,这也是本文用到的主要算法之一。node2vec主要用于处理网络结构中的多分类和链路预测任务,具体来说是对网络中的节点和边的特征向量表示方法。

简单来说就是将原有社交网络中的图结构,表达成特征向量矩阵,每一个node(可以是人、物品、内容等)表示成一个特征向量,用向量与向量之间的矩阵运算来得到相互的关系。

下面来看看node2vec中的关键技术——随机游走算法,它定义了一种新的遍历网络中某个节点的邻域的方法,具体策略如图2所示。

图片描述

图2 随机游走策略

假设我们刚刚从节点t走到节点v,当前处于节点v,现在要选择下一步该怎么走,方案如下:

图片描述

其中dtx表示节点t到节点x之间的最短路径,dtx=0表示会回到节点t本身,dtx=1表示节点t和节点x直接相连,但是在上一步却选择了节点v,dtx=2表示节点t不与x直接相连,但节点v与x直接相连。其中p和q为模型中的参数,形成一个不均匀的概率分布,最终得到随机游走的路径。与传统的图结构搜索方法(如BFS和DFS)相比,这里提出的随机游走算法具有更高的效率,因为本质上相当于对当前节点的邻域节点的采样,同时保留了该节点在网络中的位置信息。

node2vec由斯坦福大学提出,并有开源代码,这里顺手列出,这一部分大家不用自己动手实现了。https://github.com/aditya-grover/node2vec
注:本文的方法需要在源码的基础上改动图结构。

第三篇论文讲的是Google如何做YouTube视频推荐,论文是在我做完结构设计和流程设计后看到的,其中模型架构的思想和我们不谋而合,还解释了为什么要引入DNN(后面提到所有的feature将会合并经历几层全连接层):引入DNN的好处在于大多数类型的连续特征和离散特征可以直接添加到模型当中。此外我们还参考了这篇论文对于隐含层(FC)单元个数选择。图3是这篇论文提到的算法结构。

图片描述

图3 YouTube推荐结构图

实现

  • (a)数据准备

    • 获得用户的属性(User Profile),如性别、年龄、学历、职业、地域、能力标签等;
    • 根据项目内容和活动内容制定一套受众标签(Audience Label);
    • 提取用户之间的关注关系,微博之间的转发关系;
    • 获取微博message中的文本内容;
    • 获得微博message中的图片内容。
  • (b)用户标签特征处理

    • 根据步骤a中用户属性信息和已有的部分受众标签系统。利用GBDT算法(可以直接用xgboost)将没有标签的受众全部打上标签。这个分类问题中请注意处理连续值变量以及归一化。
    • 将标签进行向量化处理,这个问题转化成对中文单词进行向量化,这里用word2vec处理后得到用户标签的向量化信息Label2vec。这一步也可以使用word2vec在中文的大数据样本下进行预训练,再用该模型对标签加以提取,对特征的提取有一定的提高,大约在0.5%左右。
  • (c)文本特征处理
    将步骤a中提取到的所有微博message文本内容清洗整理,训练Doc2Vec模型,得到单
    个文本的向量化表示,对所得的文本作聚类(KMeans,在30w的微博用户的message上测试,K取128对文本的区分度较强),最后提取每个cluster的中心向量,并根据每个用户所占有的cluster获得用户所发微博的文本信息的向量表示Content2vec。

  • (d)图像特征(可选)
    将步骤a中提取到的所有的message图片信息整理分类,使用预训练卷积网络模型(这里为了平衡效率选取VGG16作为卷积网络)提取图像信息,对每个用户message中的图片做向量化处理,形成Image2vec,如果有多张图片将多张图片分别提取特征值再接一层MaxPooling提取重要信息后输出。

  • (e)社交关系建立(node2vec向量化)
    将步骤a中获得到的用户之间的关系和微博之间的转发评论关系转化成图结构,并提取用户关系sub-graph,最后使用node2Vec算法得到每个用户的社交网络图向量化表示。
    图4为简历社交关系后的部分图示。
    图片描述

    图4 用户社交关系

  • (f)将bcde步骤得到的向量做拼接,经过两层FC,得到表示每个用户的多特征向量集(User Vector Set, UVS)。这里取的输出单元个数时可以根据性能和准确度做平衡,目前我们实现的是输出512个单元,最后的特征输出表达了用户的社交关系、用户属性、发出的内容、感兴趣的内容等的混合特征向量,这些特征向量将作为下一步比对相似性的输入值。

  • (g)分别计算种子用户和潜在目标用户的向量集,并比对相似性,我们使用的是余弦相似度计算相似性,将步骤f得到的用户特征向量集作为输入x,y,代入下面公式计算相似性:
    图片描述
    使用余弦相似度要注意:余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感。因此没法衡量每个维度值的差异,这里我们要在每个维度上减去一个均值或者乘以一个系数,或者在之前做好归一化。

  • (h)受众扩展

    • 获取种子受众名单,以及目标受众的数量N;
    • 检查种子用户是否存在于UVS中,将存在的用户向量化;
    • 计算受众名单中用户和UVS中用户的相似度,提取最相似的前N个用户作为目标受众。

最后我们将以上步骤串联起来,形成如图5所示。

图片描述

图5 Lookalike算法示意图

在以上步骤中特征提取完成后,我们使用一个2层的神经网络做最后的特征提取,算法结构示意图如图6所示。

图片描述

图6 Lookalike算法结构图

其中FC1层也可以替换成MaxPooling,MaxPooling层具有强解释性,也就是在用户特征群上提取最重要的特征点作为下一层的输入,读者可以自行尝试,这里限于篇幅问题就不做展开了。

讲到这里,算法部分就已基本完结,其中还有些工程问题,并不属于本次主题探讨范围,这里也不做讨论了。

结果

我司算法团队根据Lookalike思想完整实现其算法,并在实际产品中投入试用。针对某客户(乳品领域世界排名前三的品牌主)计算出结果(部分):

图片描述

表1 部分计算结果

可以观察到以上微博ID的主题基本都是西点企业或西点培训企业,和品牌主售卖的乳品有很高的关联性:乳品是非常重要的西点原料,除终端用户外,西点相关企业就是乳品企业主需要寻找的最重要的受众之一。

探讨

特征表达

除了以上提到的特征外,我们也对其他的重要特征表达做了处理和变换:根据我们的需求,需要抽取出人的兴趣特征,如何表达一个人的兴趣?除了他自己生成的有关内容外,还有比较关键的一点是比如“我”看了一些微博,但并没有转发,大多数情况下都不会转发,但有些“我”转发了,有些“我”评论了;“我”转发了哪些?评论了哪些?这次距上次的浏览该人的列表时间间隔多久?都代表“我”对微博的兴趣,而间接的反应“我”的兴趣特征。这些数据看来非常重要,又无法直接取得,怎么办?

下面来定义一个场景,试图描述出我们对看过的内容中哪些是感兴趣的,哪些不是感兴趣的:

  • (a)用户A,以及用户A关注的用户B;
  • (b)用户A的每天动作时间(比如他转发、评论、收藏、点赞)起始时间,我们定义为苏醒时间A_wake(t);
  • (c)用户B每天发帖(转发、评论)时间:B_action(t);
  • (d)简单假设一下A_wake(t)> B_action(t),也就是B_action(t)的评论都能看到。这就能得到用户A对应了哪些帖子;
  • (e)同理,也可知用户A 在A_wake(t)时间内转发了、评论了哪些帖子;
  • (f)结合上次浏览间隔时间,可以描述用户A对哪些微博感兴趣(post ive),哪些不感兴趣(negative)。

全连接层的激活单元比对提升

在Google那篇论文中比对隐含层(也就是我们结构图中的FC层)各种单元组合产生的结果,Google选择的是最后一种组合,如图7所示。

图片描述

图7 YouTube推荐模型隐含层单元选择对比

我们初期选用了512 tanh→256 tanh 这种两层组合,后认为输入特征维度过大,512个单元无法完整的表达特征,故又对比了 1024→512组合,发现效果确实有微小提升大概在0.7%。另外我们的FC层输入在(-1,1)区间,考虑到relu函数的特点没有使用它,而是使用elu激活函数。测试效果要比tanh函数提升0.3%-0.5%。

附node2vec伪码:
图片描述

感谢我司算法组周维在拟写这篇文章时提供的帮助。


订阅《程序员》(含iOS、Android及印刷版)请访问 http://dingyue.programmer.com.cn
图片描述


2017中国人工智能大会(CCAI 2017)由中国人工智能学会、蚂蚁金服主办,CSDN承办,大会将于7月22日-23日在杭州隆重举行,是年度最专业的AI技术盛宴,40+位实力讲师+8场权威专家主题报告+4场开放式专题研讨会+100多家媒体报道+超过2000位技术精英和专业人士参会,与大牛面对面,官网/报名地址:http://ccai.caai.cn/

2019-09-09 21:09:28 yidunmarket 阅读数 2619
  • 深度学习入门及如何转型AI领域

    深度学习入门转型视频教程,该课程主要告诉开发者如何快速入门深度学习。讲师是在机器学习,深度学习神经网络领域多年开发研究经验,精通算法原理与编程实践。曾完成过多项图像识别,目标识别,语音识别的实际项目,经验丰富。关注深度学习领域各种开源项目,如TensorFlow,Caffe,Torch等。喜欢理论与实践相结合的教学风格,课程编排由浅入深,体系清晰完整。

    2776 人正在学习 去看看 CSDN讲师

本文来自:易盾实验室

在深度学习技术兴起之前相当长的一段时间内,基于机器学习技术的文本分类方法占据着文本分类领域的统治地位。

如下图所示,特征工程+机器学习分类器一直是解决文本分类问题的标准范式。针对不同的业务场景,算法工程师需要精心设计相应的特征工程,以取得最佳的分类效果。
在这里插入图片描述
到2010年,深度学习技术逐渐兴起,文本分类领域的技术格局也相应的发生了变化。基于深度学习的文本分类方法打破了上述技术范式,对文本进行简单预处理后,直接喂给深度学习模型,进行端到端的训练和推断。一般性的,用于文本分类的深度学习模型最后一层为softmax层(多标签问题则为sigmoid),这相当于机器学习分类器中的LR模型。由此可见,模型的其余部分本质上就是在自动学习文本的特征表示,因此算法工程师再也不用操心特征工程的事情了。不过先别高兴得太早,文本特征学得好不好,取决于具体的深度学习模型结构设计和超参数设置,工程师们还是得把省下来的时间花在模型结构和超参数的调整上面。

本文根据易盾文本算法团队在内容安全领域的实践经验,介绍在项目中用过的一些深度学习模型以及对部分技术细节进行讨论。深度学习是近几年来的热门方向,学术界和工业界的研究人员提出了很多有价值的方法,本文所分享的方法只是其中少数代表性的工作,仅供读者参考。

CNN

在这里插入图片描述上图是一个典型的单层CNN模型结构。首先将文本转化成词向量矩阵,然后分别使用不同size的的卷积核对矩阵进行卷积,每组卷积输出多个feature map,然后进行max pooling后,把所有feature map拼接在一起,形成单个向量表示,最后加上一层全连接和softmax操作,输出分类分数。

图中只是一个示例,各类超参数都比较小,在实际使用过程中,词向量大小50以上,卷积核的size一般取2~7,每个卷积的feature map数量在几十到几百。另外max pooling也可以换成其它的pooling方法,比如average pooling,不过总体来说还是max pooling比较适合分类场景。正常情况下,通过超参数的调优,单层CNN模型已经能够适用大多数文本分类场景。但也有人使用多层CNN模型的,我们的经验是参数数量差不多的前提下,多层CNN未发现有明显的效果提升。

RNN

在这里插入图片描述
RNN模型主要用于处理序列数据,而文本天然的就是表示成若干词的序列,因此使用RNN模型来对文本进行建模是十分自然的事情。与全连接或卷积网络不同,RNN内部不同词对应的隐藏层相互之间是有联系的:当前词的隐藏层的输入除了输入层的输出,还包括前一个词的隐藏层的输出。
在这里插入图片描述
当序列长度较长时,基础的RNN模型存在梯度爆炸和梯度消失问题。LSTM和GRU是RNN的两种改良版本,它们通过门的机制对RNN中信息的传播进行控制,缓解了RNN的梯度消失问题(RNN梯度爆炸问题可以通过gradient clipping技术进行解决)。从图中可以看出,GRU与LSTM结构比较相似,主要不同之处在于GRU使用更新门来对LSTM的输入门和遗忘门进行简化。

由于RNN最后一个词的输出已经融合了前面词的信息,RNN用于文本分类时一般取最后一个词的输出作为整个文本的特征表示,即用最后的输出加上全连接和softmax计算分类分数。当然,一般我们会使用多层RNN的结构,用最后一个词的末层RNN的输出计算分类分数。

RNN的数据流动是单向的,只能从前往后或从后往前。Bi-RNN对此进行了改进,具体做法是使用前向RNN和后向RNN,把文本中最后一个词的前向RNN输出和第一个词的后向RNN输出拼接在一起,作为文本的特征表示。从我们的实践经验上看,Bi-RNN的这种改进效果提升很明显,我们知道attention对模型有较大的提升作用,但在某些业务场景里面attention对Bi-LSTM的提升比较有限,这说明Bi-LSTM自身的效果已经比较接近问题本身的理论上限。

RCNN

在这里插入图片描述RCNN也是早期深度学习技术应用于文本分类上面经常用到的模型之一。RCNN为每个词定义了left context和right context两个变量,具体计算方式如下:
在这里插入图片描述
最终每个词由自身的词向量和两个context拼接共同表示,然后先接一层全连接层,再作max pooling形成单个的向量。这个模型为什么叫RCNN(Recurrent Convolutional Neural Networks)呢?首先,从left context和right context的定义可以看出这部分其实就是一个双向的RNN,只不过最后还拼接上原始的词向量。另外,这里并没有只取最后一个词的输出计算分类分数,而是对每个词的输出进行全连接再作max pooling。其实,这里的全连接等价于进行size为[1,emb_size]和strip为1的二维卷积操作,后面再跟着max pooling,这就是典型的CNN结构。

Attention

Attention机制被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。Attention机制可以理解成给定Q,从一系列K-V键值对中计算出各个V的权重,然后再对V进行加权平均。具体公式如下:

在这里插入图片描述
其中f函数对Q和K进行打分,可以有不同的实现方式,常见的有点积、缩放点积、加性、双线性等方法,我们也可以自己实现其它的计算方法。

我们注意到上述attention的计算涉及到Q、K、V三个输入,当Q=K时,这样的attention技术被称为self-attention。实际上,self-attention是目前用得最多的attention技术,它不需要额外的数据,只根据文本自身的上下文,就能计算文本中各个词的重要性。可以看出,attention本质上就是算各个词的权重,然后进行加权平均。而我们知道在word2vec问世以后,在怎么把多个词的词向量变成单个向量来表示句子的问题上,有一种做法就是加权平均,比如根据tf-idf加权平均。那么attention和这种加权平均的区别是什么?最本质的不同就是同一个词,普通的加权平均方法权重是固定不变的(最多乘以词频系数),attention方法的权重是根据上下文动态计算的,在不同的文本和不同的位置,它的权重都是不一样的。这就像人类的视觉注意力,看到不同的图像时重点关注的区域不一样,所以我们把这个技术叫做attention。同一个词在不同的上下文中得到不同的输出,这种特性使得attention方法天然的般配NLP中的一词多义问题。

具体到文本分类模型,attention的使用比较灵活,既可以单独使用attention进行分类,也可以和CNN、RNN等模型结合。目前常见的模型有transformer、HAN、RNN+attention、CNN+attention、Bi-RNN+attention等等,这里不再展开赘述。

FastText

FastText是Facebook在2016年开源的一个轻量级文本表示和文本分类工具。它的特点是在具有媲美当时复杂深度神经网络模型文本分类准确率的同时,训练和预测非常高效,CNN训练1天的数据,FastText只要几秒即可。
在这里插入图片描述
FastText之所以这么高效,主要有三个原因。第一,模型结构特别简单,对文本所有单词的embedding求平均然后加上softmax分类器。第二,这个softmax分类器是一个层次softmax分类器,这个在分类类别很多的时候比较有用。第三,FastText使用C++实现的,并且作者代码能力也非常强,因此虽然有很多复现版本,但都没有原版高效。

尽管模型结构简单,FastText使用了n-gram和subword两种技术,帮助提升了文本分类效果。n-gram有助于模型捕捉文本局部的单词顺序,而大部分文本分类任务并不需要太长的依赖关系。subword也叫char n-gram,就是把单词分解更小的子串片段,这能更好的对未登录词和稀有词进行建模,同时学习到相同词缀单词语义关系。

总的来说,FastText适用于对精确度要求不高同时需要较高实时性的文本分类场景,也可以作为新算法的一个baseline。

Bert

BERT是谷歌在2018年发布的一个预训练语言模型,它刷新了11个NLP任务的记录。BERT的发布使得NLP领域真正进入到了基于通用预训练模型进行下游任务的时代,同时也进入了大力出奇迹的时代——通过更多的数据、更大的模型获得更高的准确率,从此以后各家科技巨头推出的模型越来越大,训练用的数据也越来越多,简直就是在炫富。其实在BERT之前也有很多预训练语言模型的研究,像ELMo、GPT都是当时比较突出的成果,它们的很多思路和方法都被BERT借鉴了。

相比前辈们,BERT之所以引起这么大的关注,主要在于它的效果确实很惊艳,同时在多个NLP任务上面刷新记录,并且提升幅度都还挺大的。更重要的是,BERT用在这些任务上面并不需要精心设计下游网络,基本上都是接一个简单的预测结构,然后简单地fine-tuning一下就OK了。
在这里插入图片描述
BERT模型结构本身并不复杂,主要分为3个部分:最底层是embedding组件,包括词、位置和token types三种embedding的组合;中间层是由多个Transformer encoder组成的深度网络(base版本是12层,large版本是24层);上层是与训练任务相关的组件,主要就是softmax网络。BERT模型比较重要的创新有两方面,分别是Masked LM和Next Sentence Prediction(NSP)。Masked LM用[MASK]替换句子中的部分单词,模型的目标是预测[MASK]位置上的真实单词。

Masked LM技术的引入让BERT模型变成了自编码语言模型,它的优化目标不是最大化句子的似然函数,而是最大化mask部分的联合条件概率,因此BERT模型可以使用双向Transformer,使用前后上下文信息对当前词进行预测。

在BERT之前的语言模型都是没法做到真正双向的,这算是一个比较大的改进。NSP任务的引入让BERT模型能够更好的学习到句子层面上的整体语义。在NSP任务中,模型的输入是一个句子对(确切地讲是片段对,每个片段可能包含一个以上的句子),目标是预测输入的句子对是否是原文中连续的两个句子。训练数据50%来自语料中抽取的真实连续句子对,另外50%就是从语料中随机组合的。训练的时候模型的优化目标是最小化Masked LM和NSP的组合损失函数。

BERT模型用在文本分类过程也比较简单,模型输入就是单个文本,这里不需要对单词进行mask,也不用组成句子对,输出使用第一个词的输出作为文本的向量表示,然后接softmax网络。我们的实验结果表明BERT模型是本文介绍的所有方法中表现最好的,目前已经应用在线上部分复杂的业务场景中。

总结

本文只是介绍了易盾文本内容安全业务中用到的几种深度学习方法,实际上,网易易盾的内容安全服务包括文本检测、图片检测、视频检测、音频检测、人工审核和智能审核系统等产品,以及广告合规、网站内容检测、文档内容检测、历史数据清洗、音视频、社交娱乐、政企、媒体等解决方案。目前对外提供的内容安全服务已经升级为第三代人工智能技术,提供涉黄、涉政、暴恐、广告等十几大类上千小类的有害内容智能识别过滤服务,识别精准率超过99.8%。

上述所总结的,是目前业界解决文本分类问题的主流方法。如果使用固定的benchmark语料集进行评测,这些模型在准确率指标上面确实表现出一定的差异和优劣。但具体到文本内容安全的业务场景,我们很难得出哪个模型表现最好这样的结论。

在实际使用中,需要根据不同场景的文本特点,同时考虑样本规模、词汇量大小、处理时间、模型参数规模等各种因素,选择适当的模型。实际上,模型的作用是次要的,决定最终效果的关键因素是语料库的构建,有了规模足够大的高质量语料库,哪怕模型简陋一点,效果也是要好于复杂模型的。而语料库的构建是一项长期的工作,需要明确各种违规类别的标准并进行细分,清晰具体的标准是标注高质量语料库的前提。同时还要不断投入人力,收集和标注样本,让语料库的样本尽量覆盖到不同类型的数据。

此外,真实的文本内容安全系统也不是几个模型就能搞定的,它是一套成熟的解决方案,使用丰富的检测手段分别覆盖不同的场景,保证较高的检测率。

参考文献

  • https://www.aclweb.org/anthology/D14-1181

  • http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/

  • https://medium.com/@saurabh.rathor092/simple-rnn-vs-gru-vs-lstm-difference-lies-in-more-flexible-control-5f33e07b1e57

  • https://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/download/9745/9552

  • https://arxiv.org/pdf/1706.03762.pdf

  • https://arxiv.org/pdf/1810.04805.pdf

2016-07-27 20:02:02 malefactor 阅读数 45570
  • 深度学习入门及如何转型AI领域

    深度学习入门转型视频教程,该课程主要告诉开发者如何快速入门深度学习。讲师是在机器学习,深度学习神经网络领域多年开发研究经验,精通算法原理与编程实践。曾完成过多项图像识别,目标识别,语音识别的实际项目,经验丰富。关注深度学习领域各种开源项目,如TensorFlow,Caffe,Torch等。喜欢理论与实践相结合的教学风格,课程编排由浅入深,体系清晰完整。

    2776 人正在学习 去看看 CSDN讲师

 

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/

 

                                                     author: 张俊林

 

 

                        深度学习在搜索和推荐领域的应用

 

 

                     (想更系统地学习深度学习知识?请参考:深度学习枕边书

 

 

大纲:

     

 

深度学习在搜索领域的应用

–通用框架与抽象模型

几种常见的DL搜索模型

搜索周边功能

深度学习在推荐领域的应用

 

 

扫一扫关注微信号:“布洛卡区” ,深度学习在自然语言处理等智能应用的技术研讨与科普公众号

 

 

 

2016-07-27 13:50:49 tangyudi 阅读数 151
  • 深度学习入门及如何转型AI领域

    深度学习入门转型视频教程,该课程主要告诉开发者如何快速入门深度学习。讲师是在机器学习,深度学习神经网络领域多年开发研究经验,精通算法原理与编程实践。曾完成过多项图像识别,目标识别,语音识别的实际项目,经验丰富。关注深度学习领域各种开源项目,如TensorFlow,Caffe,Torch等。喜欢理论与实践相结合的教学风格,课程编排由浅入深,体系清晰完整。

    2776 人正在学习 去看看 CSDN讲师

深度学习这个领域可以说是越来越让人眼红,层出不穷的黑科技技术,慢慢越来越占据互联网市场的份额。从技术的角度来说,深度学习确实有些难度,尤其是对于初入门的同学来说,这让国人望而止步,因为很多课程与文档都是英文原文的。本来就不熟悉这个领域,再去理解难懂难翻译的国外课程使得深度学习在国内推广起来有点难度。最近发现了一个中文的深度学习入门系列视频,旨在帮助更多的同学去入门深度学习这个领域,干货给大家分享一下链接内容。希望更多的同学可以加入到我们深度学习的大家庭中,为人工智能的事业而奋斗。

深度学习

阅读数 43

深度学习综述

阅读数 5478

深度学习总结

阅读数 26961

没有更多推荐了,返回首页