关键词:
Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Classification
这篇论文来自IJCAI-2019,其结果也是目前非Bert模型中已发表论文的最高水平。
这个模型相较于上面那一篇要复杂很多,是一篇名副其实的IJCAI论文。
这篇论文较于上一篇的改进之处在于:
- 整合了语义分析信息到记忆网络中而不是位置信息。
- 设计了辅助任务来学习整个句子的情感分布,这可以为目标aspect的情感分类提供想要的背景信息。
该论文提出模型被称作deep mask memory network with semantic dependency and context moment (DMMN-SDCM)。它基于记忆网络,引入语义分析信息来指导attention机制并有效学习其他aspect(非目标aspect)提供的信息。同时论文提出的context moment嵌入到了整个句子的情感分类,被设计用于为目标aspect提供背景信息。
模型主要包括以下三个部分:
- the semantic-dependency mask attention
- the inter-aspect semantic modeling
- the context-moment sentiment learning
- 除此之外还有基础的的embedding模块、memory building模块、实现分类的classification模块。
DMMN-SDCM整体架构
Embedding模块没有什么可讲的。
参考:苏剑林. (Dec. 03, 2016). 《词向量与Embedding究竟是怎么回事? 》
词向量,英文名叫Word Embedding,按照字面意思,应该是词嵌入。
词嵌入是一种语义空间到向量空间的映射,简单说就是把每个词语都转换为固定维数的向量,并且保证语义接近的两个词转化为向量后,这两个向量的相似度也高。
Embedding层就是以one hot为输入、中间层节点为字向量维数的全连接层!而这个全连接层的参数,就是一个“字向量表”!从这个层面来看,字向量没有做任何事情!它就是one hot,别再嘲笑one hot的问题了,字向量就是one hot的全连接层的参数!
Embedding 嵌入,我们可以将其理解为一种降维行为。可以将高维数据映射到低维空间来解决稀疏输入数据的问题。
embedding层做了什么呢?
它把我们的稀疏矩阵,通过一些线性变换(在CNN中用全连接层进行转换,也称为查表操作),变成了一个密集矩阵,这个密集矩阵用了N个特征来表征所有的文字,在这个密集矩阵中,表象上代表着密集矩阵跟单个字的一一对应关系,实际上还蕴含了大量的字与字之间,词与词之间甚至句子与句子之间的内在关系他们之间的关系,用的是嵌入层学习来的参数进行表征。
从稀疏矩阵到密集矩阵的过程,叫做embedding,很多人也把它叫做查表,因为他们之间也是一个一一映射的关系。
更重要的是,这种关系在反向传播的过程中,是一直在更新的,因此能在多次epoch后,使得这个关系变成相对成熟,即:正确的表达整个语义以及各个语句之间的关系。这个成熟的关系,就是embedding层的所有权重参数。Embedding是NPL领域最重要的发明之一,他把独立的向量一下子就关联起来了。
这就相当于你是你爸的儿子,你爸是A的同事,B是A的儿子,似乎跟你是八竿子才打得着的关系。结果你一看B,是你的同桌。Embedding层就是用来发现这个秘密的武器。
- Memory Building模块使用一个双向的LSTM网络来获取记忆 m 1 ∗ , m 2 2 , . . . , m n ∗ m_1^*,m_2^2,...,m_n^* m1∗,m22,...,mn∗,其中 m i ∗ = ( h i ← , h i → ) m_i^*=(\\overleftarrowh_i,\\overrightarrowh_i) mi∗=(hi,hi)
- The semantic-dependency-mask attention模块提取语义信息,并且为不同层选择不同的记忆元素来指导attention机制,该模块的输出记作 v s d v_sd vsd
- The inter-aspect semantic modeling模块使用语义依赖信息和attention机制来获取其他aspect的有用信息,其输出记为 v i m v_im vim
- The context-moment sentiment learning使用一个被称为context moment learning的任务来学习整个句子中所有aspect的信息,其输出记为 v c m v_cm vcm
以上三个模块的输出构成了sentiment representation(情感表征): v = v s d , v i m , v c m v = \\left\\ v_sd, v_im,v_cm \\right\\ v=vsd,vim,vcm
Classification模块就是一个前馈网络,将
v
v
v映射到目标分类:
y
=
s
o
f
t
m
a
x
(
W
c
v
+
b
c
)
y=softmax(W_cv+b_c)
y=softmax(Wcv+bc)
文中使用的loss包含三个部分,交叉熵+辅助任务loss +
L
2
L_2
L2正则:
辅助任务的loss稍后介绍。
损失函数loss的作用
- 损失函数用来评价模型的预测值和真实值不一样的程度,深度学习训练模型的时候就是通过计算损失函数,更新模型参数,从而减小优化误差,直到损失函数值下降到目标值或者达到了训练次数。
- 不同的模型用的损失函数一般也不一样。损失函数设置的越好,通常模型的性能越好。
- loss函数可以自定义
损失函数loss和准确率accuracy的比较
- 在分类问题中,准确率accuracy更加直观,也更具有可解释性;对于回归问题,accuracy不可用,只能用loss
- 准确率accuracy不可微分,无法直接用于网络训练,而反向传播算法要求损失函数是可微的
- 损失函数loss可微分,可以求梯度,运用反向传播更新参数。
Semantic-Dependency-Mask Attention
该模块依据语义依赖分析树(semantic dependency parsing tree),来对不同计算跳数的context memory施加mask。在每一个计算步骤,该模块在aspect的表示和记忆单元之间使用attention机制。
语义分析树使用开源工具spaCy生成。
原作者将语义分析树上词到aspect的路径长度作为距离,来提取语义分析信息。施加掩码的语义分析信息如下:
m
i
∗
=
m
i
∗
,
if
d
i
s
t
(
w
i
,
w
t
)
≤
l
0
,
o
t
h
e
r
w
i
s
e
m_i^*= \\begincases m_i^*, & \\textif dist(w_i,w_t)\\leq l \\\\ 0, & otherwise \\endcases
mi∗=mi∗,0,if dist(wi,wt)≤lotherwise
以上述方式得到整个层的
m
1
l
,
.
.
.
,
m
i
l
,
.
.
.
,
m
n
l
\\left\\ m_1^l,...,m_i^l,... ,m_n^l \\right\\
m1l,...,mil,...,mnl之后,以如下形式计算
l
l
l层的attention得分:
α
i
l
=
s
o
f
t
m
a
x
(
W
A
L
l
(
m
i
l
,
v
s
d
l
−
1
,
v
t
)
+
b
A
L
l
)
\\alpha_i^l= softmax(W_AL^l(m_i^l,v_sd^l-1,v_t)+b_AL^l)
αil=softmax(WALl(mil,vsdl−1,vt)+bALl)
其中
v
s
d
v_sd
vsd是上一层的计算结果,
v
t
v_t
vt是aspect的表示。
attention输出
i
l
A
L
i_l^AL
ilAL 以如下方式进行计算:
i
l
A
L
=
∑
i
=
1
n
α
i
l
m
i
l
i_l^AL = \\sum_i=1^n \\alpha_i^l m_i^l
ilAL=i=1∑nαilmil
在最后一层,作者采用另一个先行层来施加线性变换,作为一个门控函数来控制传递的转化特征和输入特征的比例: ...,并理解不同类别(如道路和人行道)之间的空间关系(上下文)。在典型的道路场景中,大多数像素属于道路、建筑等大类,因此网络必须产生平滑的分割。引擎还必须能够根据物体的形状描绘物体,尽管它们的尺寸很小。因... 查看详情 ...框和置信度得分。这样的模型捕获了围绕对象的整幅图像上下文,但如果不天真地复制每个实例的输出数量,就无法处理图像中同一对象的多个实例。在这篇论文中提出了一个显著性启发的神经网络检测模型,它预测了一组与类... 查看详情 ...表现出不令人满意的性能。在本文中,我们通过设计上下文相关层(CCL)同时解决这两个问题。CCL可以有效地捕获特征图中的远程相关性,并且可以灵活地用于学习框架中。此外,考虑到单个单应性不能代表具有视差的... 查看详情 本文为论文阅读笔记,不当之处,敬请指正。 AReviewonDeepLearningTechniquesAppliedtoSemanticSegmentation:原文链接5.1度量标准为何需要语义分割系统的评价标准?为了衡量分割系统的作用及贡献,其性能需要经过严格评估。并且,评估... 查看详情 论文阅读论文链接:https://arxiv.org/pdf/1903.07293.pdftensorflow版代码Github链接:https://github.com/Jhy1993/HAN介绍视频:https://www.bilibili.com/video/av53418944/参考博客:https://blog.csdn.net/yyl424525/article/details/103804574文中提出了一种新的基于注意力... 查看详情 ...上的应用前面的博文【自用】DeepMemoryNetwork深度记忆网络笔记已经非常详细地介绍了该种网络架构,下面来研究一下其在基于方面的情感分类的应用。AspectBasedSentiment是一种细粒度的情感分析问题,一个句子中可能有多个a... 查看详情 ...案,具体介绍了全卷积网络、空洞卷积与DeepLab模型、上下文信息与PSPNet模型等内容,最后就分割模型的评估方法做了讲述。关于语义分割的基础知识可以通过学习沐神的《动手学深度学习》第13章计算机视觉中的13.9.语义... 查看详情 参考技术A【阅读笔记一】Lattice-BasedRecurrentNeuralNetwork,EncodersforNeuralMachineTranslation(JinsongSuetal.)摘要介绍:NMT神经机器翻译很大程度上依赖于词级建模来学习输入句子的语义表示。对于处理没有自然语言分隔符的语言(比如中文... 查看详情 语义分割:基于openCV和深度学习(二)SemanticsegmentationinimageswithOpenCV开始吧-打开segment.py归档并插入以下代码:SemanticsegmentationwithOpenCVanddeeplearning#importthenecessarypackagesimportnumpyasnpimportargparseimportimutilsimporttimeimportcv2从输入必要的依... 查看详情 ...件(或者层)。下面我们逐个去分析了解。本文涉及到的论文范围如下图:二、网络架构的改进2.1.1FCN传统的CNN分割,为了对一个像素分类,使用该像素周围的一个图像块作为CNN的输入用于训练和预测。缺点很多:比如存储开销... 查看详情 ...息通信,并通过沿空间方向循环移动所有标记来捕获全局上下文。大量的实验证明了Hire-MLP作为多种视觉任务的通用骨干的有效性。特别是,Hire-MLP在图像分类、目标检测和语义分割任务上取得了具有竞争力的结果,例如,在Image... 查看详情 参考代码:BEVDistill1.概述介绍:基于相机的BEV感知算法可以从周视图像中获取丰富语义信息,但是缺乏深度信息的,对此一些方法中通过深度估计的形式对这部分缺乏的深度信息进行补充,从而实现网络性能... 查看详情 http://blog.csdn.net/u014593748/article/details/71698246本文为论文阅读笔记,不当之处,敬请指正。 AReviewonDeepLearningTechniquesAppliedtoSemanticSegmentation:原文链接5.1度量标准为何需要语义分割系统的评价标准?为了衡量分割系统的作用及贡献... 查看详情 ...较关注的是其在QA领域的应用和发展。本专栏会选择几篇论文比较系统的介绍MemoryNetwork相关的模型和应用。对一些论文也会结合TensorFlow的实现进行介绍。第一篇要介绍的论文是FaceBook在2014年发表的论文“MemoryNetworks”,与其同期... 查看详情 Abstract 在本文中,我们提出了一个基于掩码图像建模(MIM)的整体预训练框架。我们提倡 联合预训练backbone和neck,使MIM和下游识别任务之间的迁移差距最小。我们做出了两项技术贡献。首先,我们通过在预... 查看详情 摘要许多医学图像分割的SOTA模型都是UNet网络和FCN网络的变体。尽管这些模型十分成功,但仍然有两个限制:(1)这些模型的最佳深度是先验未知的(即网络深度是无法预知的超参数),需要广泛的架... 查看详情 ...软发布的DSSM模型,本篇文章将会从DSSM开始介绍几篇论文,看一下DSSM模型是怎么发展成为双塔模型并应用在推荐系统中做召回的。DSSMDSSM模型是2013年微软发布的,其论文全称为 查看详情 论文名称:SegNet:ADeepConvolutionalEncoder-DecoderArchitectureforImageSegmentation论文链接:SegNet项目地址:SegNetcaffe版本Motivation1、深度学习需提取图像的高阶语义特征,需要连续的下采样,连续的下采样会导致图像边界信... 查看详情
v
s
d
l
=
(
W
o
i
l
A
L
+
b
o
)
∗
T
+
v
s
d
l
−
1
∗
(
1
−
T
)
v_sd^l = (W_o i_l^AL + b_o) * T + v_sd^l-1 * (1-T)
vsdl=(WoilAL+bo)∗T+vsdl−1∗(1论文笔记segnet(代码片段)
【目标检测】论文推荐——基于深度神经网络的目标检测
[论文笔记]depth-awaremulti-griddeephomographyestimationwithcontextualcorrelation
基于深度学习的图像语义分割技术概述之5.1度量标准
论文阅读与模型复现——han
自用深度记忆网络在方面级情感分析上的应用
openmmlabai实战营打卡笔记——06语义分割算法基础
论文阅读笔记
语义分割:基于opencv和深度学习
自然和医学图像的深度语义分割:网络结构
论文阅读笔记:hire-mlpvisionmlpviahierarchicalrearrangement
bevdistill:cross-modalbevdistillationformulti-view3dobjectdetection——论文笔记
(新)基于深度学习的图像语义分割技术概述之5.1度量标准
memorynetwork---记忆网络
自监督论文阅读笔记integrallypre-trainedtransformerpyramidnetworks(2022)
unet++:redesigningskipconnectionstoexploitmultiscalefeaturesinimagesegmentation论文译读笔记
论文|从dssm语义匹配到google的双塔深度模型召回和广告场景中的双塔模型思考
segnet论文笔记及其创新点代码解析(代码片段)