一维卷积神经网络_序列特征的处理方法之二:基于卷积神经网络方法

3c154fd915921698541e1c3c934f12cb.png

前言

上一篇文章介绍了基本的基于注意力机制方法对序列特征的处理,这篇主要介绍一下基本的基于卷积神经网络方法对序列特征的处理,也就是TextCNN方法。序列特征的介绍,背景以及应用可以参考上一篇的详细介绍,这里简单回顾一下定义,用户在使用APP或网站的时候,用户会产生一些针对物品的行为,比如点击感兴趣的物品,收藏或购买物品等,而这些行为往往代表着用户对这些物品是感兴趣的,而将这些交互过的物品放在时间轴来看,就形成了用户感兴趣的物品序列,我们要处理的数据对象类似如图 1 所示具有时序关系的序列特征,这里拿用户感兴趣的物品序列为例作为处理对象。

a2ac8b9d9ea119aa2a3ca41c1e6faf75.png
▲ 图1. 用户感兴趣的物品序列

我们都知道用户的历史行为中可能存在着一些局部的连续行为,比如最近新型冠状病毒疫情严重,可能用户在过去几天内连续买了口罩和酒精这种消毒和防护用品,那么在推荐中可以根据这种局部信息来推荐一些跟防护和消毒相关的商品。而浅层的卷积神经网络由于其卷积感受野比较小,善于捕获局部信息,因此可以利用浅层卷积神经网络来对序列特征中的局部行为模式进行建模。鉴于针对句子序列建模的卷积神经网络TextCNN也是针对embedding matrix做处理,因此选用TextCNN来对用户感兴趣的物品序列进行处理。

TextCNN原理

如图 2 所示为TextCNN对句子序列建模并进行分类的示意图:

6c0633fccb1379fc2c17c5cef5bb7b4e.png
▲ 图 2. TextCNN示意图[1]
  1. Embedding:每个单词包括标点都被处理成5维的embedding vector,句长为7,因此处理之后为7×5的矩阵,为图 2 的第一列所示。
  2. Convolution:经过 kernel_sizes分别为2,3,4的一维卷积层,每个kernel_size 都有2个卷积核,因此经过卷积之后输出6个卷积结果,其中卷积核的示意图为图 2 第二列所示,卷积后的结果为图 2 第三列所示。需要说明的一点是,从图 2 可以看出卷积核的高分别有2,3和4,而卷积核的宽都是都和embedding vector的维度一致,这是因为每一个向量代表一个词,在抽取特征的过程中,词做为文本的最小粒度,应该保证其信息的完整性。
  3. MaxPooling:对卷积后得到的6个结果进行MaxPooling,然后进行concact,最终得到一个6维的特征向量,如图 2 第四列所示。
  4. Fully Connect and Softmax:在6维的特征向量后加上一个神经元为2的全连接层,并进行softmax归一化得到分类概率值,如图 2 第五列所示。

应用在序列特征上

我们主要借鉴的是上面介绍的TextCNN提取特征的方法,也就是上面介绍的如何把embedding matrix变为最终的6维特征向量的方法。如图 3 所示:

1bffecae5803acac7bb02fd467c33a81.png
▲ 图 3. TextCNN的序列特征处理

一般在把TextCNN应用在序列特征的处理上时一维卷积的kernel_sizes设置为2或3,或者同时都用,每个kernel_sizes的卷积核个数一般都为1。一维卷积核大小分别设置为2和3时可以提取不同范围大小的局部信息,保证了特征的多样性。

除此之外,为了弥补有关全局信息提取的不足之处,还可以结合max/mean/sum pooling提取全局特征的方法,使得提取的特征既有全局信息又有局部信息[2],如图 4 所示,其中全局pooling和textCNN共享序列特征的embedding matrix。

0fa0b55af9512dcf8f5b852c43eb39ea.png
▲ 图 4. 结合TextCNN和全局pooling的序列特征处理

总结

卷积神经网络因其滑动卷积的计算方式对局部特征的提取有天然的优势,因此成为提取局部信息的首选建模方法。除此之外,还可以结合全局pooling的方法提取全局特征,弥补对全局特征提取的不足,提高特征的多样性。与此同时,之前介绍过多值类别特征的处理方法,同样可以采用textCNN进行局部特征的提取。

参考文献

[1] Convolutional Neural Networks for Sentence Classification

[2] Convolutional Sequence Embedding Recommendation Model

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macos降级_iOS12.3 beta2更新了什么 iOS12.3测试版2新特性与升降级方法

4月0日凌晨,苹果发布了iOS12.3 beta2,作为iOS12.3第二个测试版,相比前一个版本,发布时间间隔近2周,这次依然是小版本更新,不过相对良心一些,主要是多了一些与国内用户相关的东西。iOS12.3 beta …

linux配置usb主从_杂集:浅谈关于Mongodb数据库主从复制

Linux下Mongodb数据库主从复制配置Mongodb的三种集群搭建的方式:Master-Slaver:主从[目前被副本集取代]。Replica Set:副本集。Sharding:切片。Mongodb单实例缺点:适合简易开发时使用,生产使用不行&#xf…

java sax xml文件解析_java解析xml文件-DOM/SAX

java解析xml文件的两种方式1:DOM原理:把整个文档加载到内存,转化成dom树,之后应用程序可以随机的访问dom树的任何数据,灵活 快,但消耗内存一个简单的xml使用java解析//builder工厂DocumentBuilderFactory f…

python 远程控制_用 Python 远程控制你的电脑

用 Python 远程控制你的电脑一、前言很多时候我们有这种需求,因为程序运行比较耗时,但是我们没有足够的时间等待。这个时候我们就可以用 Python 做一个远程控制电脑的小工具,实现远程控制电脑。当然,我们能做的操作十分有限&#…

摄像头图像分析目标物体大小位置_一文读懂图像定位及跟踪技术

文 | 传感器技术在科学技术日新月异的今天,人们对机器设备的智能性、自主性要求也越来越高,希望其完全替代人的角色,把人们从繁重、危险的工作任务中解脱出来,而能否像人一样具有感知周围环境的能力已成为设备实现智能化自主化的关…

pat乙级相当于什么水平_雅思6.5是什么水平?相当于托福多少分?

雅思和托福是当前社会中非母语人士的主流英语水平测试。准备出国留学的学生对这两项考试并不陌生。对于一些学生来说,仅靠雅思成绩并不足以申请他们最喜欢的学校。特别是对于申请北美院校的学生,托福成绩是申请时提交语言成绩的优先考虑事项。那么&#…

java时间方法_JAVA处理日期时间常用方法

转载JAVA处理日期时间常用方法:1.java.util.CalendarCalendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可…

双飞翼布局内容不换行_web前端入门到实战:圣杯布局和双飞翼布局

稍微了解前端的人都知道,圣杯布局和双飞翼布局是前端面试时必问的问题,因为它既能体现你懂HTML结构又能体现出你对DIVCSS布局的掌握,毕竟我们学习CSS主要就是为了更好地布局带来最好的用户体验嘛~事实上,圣杯布局其实和…

数据结构知识点总结_大牛带你学 | 考研数据结构中线性表中顺序结构的知识点总结...

前言我们都知道,数据结构中逻辑结构可以划分为线性结构(线性表)与非线性结构两大类。而存储结构指的是数据元素在计算机中的存储及其逻辑关系的表现,也就是在计算机当中对逻辑结构的表示。线性表的存储结构主要有顺序结构和链式结构两种实现形式。本文主…

java矩形翻转_如何判断一个点在旋转后的矩形中

前言最近在做的一款游戏中,用到点与旋转矩形的判定来获得一个选中的物体。在此做个记录如图所示,黄色的颜料屏是旋转的,如果不做处理直接判断点是否在矩形中,那么点击红点的位置会判定为选中物体。显然这是不对的。如果物体没有旋…

openssl 生成证书_CentOS7 httpd(Apache)SSL 证书部署

在之前我的文章中我已经搭建了nextcloud服务器,现在我们需要通过域名及https访问怎么办1. 进行了简单的httpd设置后,就可以为网站添加SSL证书功能了。2. 首先得获取证书,有了证书才能添加。我们采用本地上传的方式将SSL证书上传到CentOS上。获…

FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA

问题描述FJ在沙盘上写了这样一些字符串:A1 “A”A2 “ABA”A3 “ABACABA”A4 “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N ≤ 26。输出格式请输出相应的字符串AN,以一个换行符结束。…

java编写系统登录界面_java 登陆界面怎么写,连接数据库后

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼界面是package 界面类;import javax.jws.soap.SOAPBinding.Use;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing…

我的世界seus光影java版下载_我的世界0.17SEUS PE光影材质包(水反高清)下载

我的世界0.17SEUS PE光影材质包已经震撼发布,随着我的世界pe0.17系列版本疯狂的出现,很多玩家都有点开始不适应了,毕竟这个更新的频率和速度太快了,0.16.0版本还没有玩够了,下面给大家提供我的世界0.17SEUS PE光影材质…

针式打印机风格英文字体_可爱漂亮的圣诞节和新年贺卡艺术字体推荐!

圣诞节即将到来,各种相应的促销活动和宴会搞起来,今天macz小编为您带来几款风格可爱漂亮的圣诞节和新年贺卡艺术字体推荐!可以用于卡片、海报、邀请函、徽标、产品介绍、T恤等,效果魅力非常哦!可爱漂亮的圣诞节和新年贺…

miniui展示日历能点击_2020年日历设计,除了366天有新字体,还有新形式

点击上方蓝字,把我设置为星标☆吧今天是12月1日,距离2020年还有最后一个月。在我们度过的日子中,我们应该铭记每一天,每一个日子。讲究仪式感的人,才是生活真正的智者。那么,对于2020年的日历,应…

容器中apscheduler不执行_APScheduler:定时任务框架

APScheduler:定时任务框架安装文档: https://apscheduler.readthedocs.io/en/stable/userguide.html安装$ pip install apscheduler>>> import apscheduler>>> apscheduler.version3.6.3组件APScheduler由一下四部分组成triggers:触发器,指定定时任务执行的时…

织梦php网站修改教程,织梦DEDEcms织梦软件模型增加图集功能教程(含修改文件下载)...

这篇文章主要为大家详细介绍了织梦DEDEcms织梦软件模型增加图集功能教程(含修改文件下载),具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。织梦DEDEcms织梦软件模型增加图集功能,这是今天361模板要给大家分享的。下…

nikita popov php,PHP中对performance的考虑点

Nikita Popov 在他的演讲中谈了几个PHP 程序中和performance相关的point。1.PHP使用shared memory, preload的方式事先分配,而只有在所有的处理结束之后,share memory 才会断开和所有进程或者thread之间的联系。光是opcode,FPM的设定还不足以…

优化matlab作业,现代设计优化算法MATLAB实现

开篇语前阵子做现代设计方法的时候,发现网上很是缺乏这种作业形式的简易算法实现,所以特地来简书写一篇。有两份,一份是我的(说来惭愧,我的大部分都是在网上找的代码,然后在自己的电脑上跑一次,跑出来了就行…