本发明涉及sahs识别技术,具体设计一种通过c4/a1单通道脑电、胸腹部位移和口鼻气流三通道生理监护信息,利用lstm-cnn神经网络对sahs进行识别的装置。
背景技术:
睡眠呼吸暂停与低通气综合征(sleepapneahypopneasyndrome,sahs)是一种在睡眠期间普遍发作的、不易被人察觉的慢性睡眠紊乱疾病。该病的主要症状为患者夜间睡眠时因呼吸受阻导致打鼾严重并伴有多次的呼吸表浅或呼吸暂停现象。该病轻则导致患者白天过度嗜睡、注意力不集中、降低生活质量;重则引发高血压、糖尿病、脑卒中等多种并发症,严重威胁患者的生命健康。
睡眠多导图(psg)是现阶段临床上诊断sahs的金标准,由于该项检查检查程序繁杂、成本高昂,因此不能满足大部分患者的需求。近些年来的国内外的研究趋势是希望能够从某一或某几个通道信号入手,利用ai算法尝试提出一套智能辅助检测方案用以替代psg检测。目前有许多利用单通道生理信号对sahs进行诊断的研究报道,主要侧重于睡眠质量统计评价,并没有关注多通道信息尤其是融合脑电睡眠信息进行sahs识别的装置的研究。
经过专利申请人检索,目前与sahs识别装置有关的国内发明专利主要集中在利用鼾声进行sahs的筛查方面。侯丽敏等利用鼾声信号的能量特征进行osahs的筛查[1],刘文龙等利用鼾声的共振峰特性作为筛查osahs的技术指标[2],张海秀等求解鼾声段的能量比特征并以此进行sahs的筛查[3]。相对而言基于鼾声的检测技术易受外界环境因素干扰,检测质量波动大、不稳定。
参考文献:
[1]侯丽敏,张长恒,殷善开,易红良,孟丽丽,专利名称:一种基于鼾声筛查osahs的装置,申请号:201410000686.4
[2]刘文龙,张海秀,赵玉霞,专利名称:阻塞性睡眠呼吸暂停低通气综合症筛查方法及其装置,申请号:201110289150.5
[3]刘文龙,赵玉霞,张海秀,专利名称:家庭环境中睡眠呼吸暂停综合征的筛查系统,申请号:201110355375.6
技术实现要素:
本发明的目的是提供一种具有良好的准确性和鲁棒性的睡眠呼吸暂停与低通气综合征识别装置。本发明能基于c4/a1单通道脑电信号、胸腹部位移信号和口鼻气流信号三路信号进行对sahs的识别。技术方案如下:
一种基于lstm-cnn的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,包括:
脑电信号预处理模块,用于将原始脑电信号使用滑动窗分割为多段数据,以每个片段中某段时间对应的睡眠状态作为相应数据片段的标签,标签分为睡眠期和非睡眠期;
脑电信号特征提取模块,用于根据脑电信号预处理模块输出的预处理后的脑电信号提取睡眠状态识别的特征;
睡眠状态识别模块,用于将脑电信号特征提取模块得到的特征组成特征向量,分为测试集和训练集,输入采用径向基核函数的支持向量机(svm)中进行睡眠期与非睡眠期的二分类;
胸腹部位移信号和口鼻气流信号的预处理模块,作用如下:
第1步:根据睡眠状态识别模块得到的结果,删除患者非睡眠时间对应的胸腹部位移信号和口鼻气流信号;
第2步:对胸腹部位移信号和口鼻气流信号进行预处理;
第3步:使用所述的滑动窗切割两路数据,以每个片段中某段时间对应的事件作为相应片段的标签,标签分为四类,第一类为正常,设置为0;第二类为低通气事件,设置为1;第三类为阻塞型睡眠呼吸暂停事件osas,设置为2;第四类为中枢型睡眠呼吸暂停事件csas或混合型睡眠呼吸暂停事件msas,设置为3;1-3类标签均为睡眠呼吸异常标签;
5)lstm-cnn神经网络模块,用于将预处理后的胸腹部位移信号和口鼻气流信号组成的混合数据片段输入lstm-cnn神经网络,采用十折交叉验证法进行训练,判断输入片段的具体分类并输出预测结果;
sahs状态识别模块,用于对lstm-cnn神经网络输出的片段预测结果进行后处理,从而对预测结果进行修正,输出的修正后的预测结果即为最终预测结果,后处理的方法为:若同类型睡眠呼吸异常片段数小于第一预设值,则将其修正为正常,即将标签置0;若相邻两个同类型睡眠呼吸异常片段之间的正常片段数小于第二预设值,则将正常片段修正为同类型的睡眠呼吸异常片段,第一预设值大于第二预设值。
进一步地,所述的滑动窗为窗宽60秒、步长1秒的滑动窗。第一预设值为10;第二预设值为4。
脑电信号预处理模块还可以包括:对各段数据进行滤波处理的模块,进行滤波处理的方法为:采用iir滤波器去除50hz工频干扰,然后通过切比雪夫ⅰ型低通滤波器截断高于30hz的频段,以去除肌电干扰。
脑电信号特征提取模块,具体包括:将预处理后的脑电信号进行4层小波分解,然后根据分解结果计算出α能量与总能量之比、β能量与总能量之比、δ能量与总能量之比、θ能量与总能量之比、δ波样本熵均值、θ波样本熵均值、δ波样本熵方差、θ波样本熵方差8个特征值并进行主成分分析,最终选择β能量与总能量之比、θ波样本熵方差、θ波样本熵均值这三个特征作为睡眠状态识别的特征。
对胸腹部位移信号和口鼻气流信号进行预处理,具体包括:使用3阶iir巴特沃斯高通滤波器消除基线偏移和高频噪音的干扰,对口鼻气流信号使用6点滑动平均值滤波器消除噪音并通过3阶iir巴特沃斯高通滤波器解决基线偏移问题。
lstm-cnn神经网络模块,具体为:lstm-cnn神经网络主要由卷积层、批标准化层、池化层、lstm层、随机失活层、全连接层和输出层组成,卷积层提取片段中的特征;池化层减少数据和参数的数目,防止过拟合;批标准化层把输入调整为接近于标准的正态分布,避免梯度消失现象;lstm层对提取的特征进行选择性遗忘与学习;随机失活层使部分神经元按照某个概率失活,防止神经网络过拟合;全连接层对前面得到的特征映射做加权求和;由softmax函数判断输入片段的具体分类并输出预测结果。
本专利提出的一种基于lstm-cnn的三通道睡眠呼吸暂停与低通气综合征识别装置,包括脑电信号预处理模块、脑电信号特征提取模块、睡眠状态识别模块、胸腹部位移和口鼻气流信号的预处理模块、lstm-cnn神经网络模块和sahs状态识别模块。首先对脑电信号进行分割、去噪等预处理;然后进行小波变换并计算其特征;通过主成分分析方法获得贡献率最高的三个特征后,再运用svm分类器进行睡眠期与非睡眠期的划分;接下来删除腹部位移信号和口鼻气流信号的非睡眠期信号并进行预处理;最后构建lstm-cnn神经网络对混合数据片段进行sahs的识别。
附图说明
图1:本发明装置结构图
图2:本发明装置具体流程图
图3:db7小波波形图
图4:脑电信号预处理前后对比图
图5:正常口鼻气流信号和失真信号对比图
图6:胸腹部位移信号、口鼻气流信号切割分段方式图
图7:胸腹部位移信号、口鼻气流信号预处理前后波形对比图
图8:lstm网络结构图
图9:随机失活层结构图
图10:数据在lstm-cnn神经网络中各层维度的变化图
图11:预测结果后处理示意图
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施方案进行详细描述。
本发明专利主要是利用受试者c4/a1单通道脑电信号进行睡眠状态识别,然后筛选出睡眠期的胸腹部位移信号和口鼻气流信号,输入长短期记忆-卷积(lstm-cnn)神经网络模块进行sahs的识别,信息仅依赖受试者本身生理状态,受外界影响小,稳定性好,检测质量有保证。具体包括:
1、脑电信号预处理模块
在本发明实施例中,所述的数据是在天津胸科医院呼吸科的睡眠实验室中通过飞利浦alice5多导睡眠仪和安波澜n7000全数字多导睡眠仪采集的,共采集到126位睡眠呼吸暂停与低通气综合征患者的临床睡眠多导图数据。脑电信号采集于c4/a1(右中央-左耳垂)部位,原始采样率为125hz,医生已标注出每位患者整夜的睡眠结构及各阶段的开始和持续时间。
使用窗宽60s、步长5s的滑动窗对采集到的原始脑电数据进行切割,以片段最后5s对应的睡眠状态作为该数据片段的标签,标签分为睡眠期和非睡眠期。由于采集的方法限制,脑电信号中无可避免的会引入呼吸、眼动、肌电等生理因素的干扰,同时会带来50hz工频干扰。采用无限脉冲响应(iir)滤波器对脑电数据进行滤波处理,去除50hz工频干扰;再通过一个切比雪夫i型低通数字滤波器截断高于30hz的频段,在尽可能保留脑电信号的同时去除其中包含的肌电干扰。
2、脑电信号特征提取模块
为了更好地提取出脑电信号中的特征,对于每一段预处理后的脑电信号进行4层小波分解,母小波选用db小波系列中的“db7”小波基,分解后各小波对应的频率及脑电各节律与分解后各小波的对应关系如表1、表2所示:
表1
表2
根据分解结果计算出α能量与总能量之比、β能量与总能量之比、δ能量与总能量之比、θ能量与总能量之比、δ波样本熵均值、θ波样本熵均值、δ波样本熵方差、θ波样本熵方差8个特征值,其中脑电各波段能量公式如公式(1)所示,脑电各波段能量占比公式如公式(2)所示:
样本熵用一个非负数表示时间序列的复杂性,计算不同脑电波段的样本熵均值和方差可以用来度量脑电信号片段中波段的复杂程度和混乱程度,进而体现被测者当前大脑的活跃程度反应睡眠状态。其具体计算步骤如下:
第1步:定义一个有n个数据点的原始序列u={u(1),u(2),...,u(n)},按照时间先后顺序将其排列成一组m维向量:xm(1),xm(2),...,xm(n-m 1),其中:
xm(i)=[u(i),u(i 1),...,u(i m-1)],(1≤i≤n-m 1)(3)
该向量表示从第i点开始的连续m个u的值;
第2步:定义两个m维向量xm(i)和xm(j)之间的距离d[xm(i),xm(j)]为两者对应元素中差值最大值,即:
d[xm(i),xm(j)]=max{|u(i k)-u(j k)|}
(0≤k≤m-1,1≤i≤n-m 1,1≤j≤n-m 1,i≠j)(4)
第3步:给定阈值r(r>0),对每一个i值,统计d[xm(i),xm(j)]小于r的数目nm(i),并计算此数目与距离总数n-m的比值,记作:
第4步:计算
第5步:将m 1替代m,重复步骤1-4,构造
第6步:样本熵公式如下所示:
其中,sd为原始数列的标准差,m为嵌入维数,r为公差阈值sampen的值与m,r均相关,一般情况下,m取值为1或2,r取值为0.1sd≤r≤0.25sd。本文选择计算的特征为δ波样本熵均值、θ波样本熵均值、δ波样本熵方差、θ波样本熵方差,取嵌入维数m=1,公差阈值r=0.1sd。
将计算得出的8个特征进行主成分分析,最终选择β能量与总能量之比、θ波样本熵方差、θ波样本熵均值这三个特征作为睡眠状态识别的特征。主成分分析的算法步骤如下:
第1步:计算样本数据集x中样本的均值向量μ,即
第2步:对每个样本去均值,即将样本数据中心化,即
第3步:构造数据矩阵
第4步:对矩阵v进行特征分解,求取特征值λi和对应的特征向量wi,降序排列特征值λi;
第5步:根据贡献率的大小,取前d个特征值∧=diag[λi,λ2,…,λd]和相应的特征向量wd=[w1,w2,…,wd]作为子空间的基,那么所要提取的d个主成分为
第6步:由所提取的主成分重建元数据x=wf μ。
3、睡眠状态识别模块
随机抽取5位待测者获得其共计2495分钟的睡眠脑电数据,经过脑电信号预处理模块,共获得4990个片段,其中有3791段睡眠期,1199段非睡眠期。从睡眠期和非睡眠期中各选择70%的片段作为训练集,各自剩下的30%片段即为测试集。将每个片段通过脑电信号特征提取模块后获得的β能量与总能量之比、θ波样本熵方差和θ波样本熵均值组成三维向量输入采用径向基核函数的支持向量机(svm)中进行睡眠期与非睡眠期的二分类。径向基核函数的公式如公式(8)所示:
把分类结果对应到原始数据中,便于进行后续的处理。
4、胸腹部位移信号和口鼻气流信号的预处理模块
在本发明实施例中,所述的胸腹部位移信号和口鼻气流信号数据也是在天津胸科医院呼吸科的睡眠实验室中通过飞利浦alice5多导睡眠仪和安波澜n7000全数字多导睡眠仪采集的,共采集到126位患者的数据,两种信号的原始采样率均为10hz。
胸腹部位移信号和口鼻气流信号的预处理模块的具体作用如下:
第1步:根据睡眠状态识别模块得到的结果,删除患者非睡眠时间对应的胸腹部位移信号和口鼻气流信号;同时,删除测量时因患者翻身等原因造成传感器接触不良而导致的失真信号,为了保证信号的时间一致性,只要有一路信号失真,该时间段内的两路信号同时删除。
第2步:对口鼻气流信号,使用6点滑动平均值滤波器消除噪音,计算过程如公式(9)所示,然后采用截止频率为0.05hz的3阶iir巴特沃斯高通滤波器解决基线偏移问题,该滤波器的线性差分方程如公式(10)所示;对胸腹部位移信号使用截止频率为0.1hz的3阶iir巴特沃斯高通滤波器消除基线偏移和高频噪音的干扰。
y(n)=0.981x(n)-2.942x(n-1) 2.942x(n-2)-0.981x(n-3)-2.961y(n-1) 2.922y(n-2)-0.962y(n-3)(10)
第3步:使用窗宽60秒、步长1秒的滑动窗同时切割两路数据,形成两路时间坐标相同的、每路长度为60s共计600个数据点的数据片段。然后,以片段最后5s对应的事件作为该片段的标签,若最后5s的片段内对应的事件不止一件,则以发生时间较长的事件作为该段的标签。标签共分为四类,第一类为正常,设置为0;第二类为低通气事件,设置为1;第三类为阻塞型睡眠呼吸暂停事件(osas),设置为2;第四类为中枢型睡眠呼吸暂停事件(csas)或混合型睡眠呼吸暂停事件(msas),设置为3。切割分段方式如图6所示。
5、lstm-cnn神经网络模块
将预处理后的60s混合数据片段输入lstm-cnn神经网络,采用十折交叉验证法进行训练。将采集到的271620段数据随机分成十份,每份27162段数据,每次选取其中一份作为测试集,剩余九份作为训练集用于训练模型和调参,训练结束后更换下一份作为测试集,重复上述过程直到全部循环结束。
本发明采用的lstm-cnn神经网络模型,由输入层、卷积层、批标准化层、池化层、lstm层、随机失活层、全连接层和输出层组成,模型结构及数据在神经网络中各层维度的变化如图10所示,该模型具体参数如下:
1)输入层:
输入时间坐标相同的胸腹部位移信号和口鼻气流信号的混合数据片段,共两路,每路长度为60s共计600个数据点。
2)卷积层conv1:
采用30种大小为5的卷积核,对输入数据进行步长为2的卷积,得到30个维度为298的特征,卷积运算公式如公式(11)所示:
其中,l表示当前层数,
采用relu函数对卷积层conv1的输出进行激活操作,relu函数的公式如式(12)所示:
y=max(0,x)(12)
3)批标准化层bn1:
批标准池化层对数据进行调整使其变为接近于标准的正态分布,使输入激活函数的数据分布在激活函数的线性区内,从而输入数据的微小变化便能引起较大的改变函数的输出,保证激活函数对输入数据有着很强的区分力。批标准化层的具体计算公式如式(13)(14)所示:
zj为原始输入值,
4)池化层mp1:
选用最大池化方式,池化核的大小为2,步长为2,经过池化层后,特征个数为30,维度为149。池化公式如式(15)所示:
5)卷积层conv2:
采用30种大小为2的卷积核,对输入数据进行步长为1的卷积,得到30个维度为148的特征。
采用relu函数对卷积层conv2的输出进行激活操作.
6)批标准化层bn2:
对数据进行批标准化操作。
7)池化层mp2:
选用最大池化方式,池化核的大小为2,步长为2,经过池化层后,特征个数为30,维度为74。
8)lstm层:
lstm层对前面提取得到的特征序列进行学习与选择,本发明中lstm层单元数设为32,得到1个32维的数据。
lstm单元的更新由遗忘门ft,输入门it,输出门ot三者协同控制,主要包括四个过程。lstm层工作示意图如图8所示,具体步骤如下:
步骤1:由遗忘门(forgetgate)决定上一个单元的隐藏状态中哪些信息需要被丢弃,具体计算过程如式(16)所示:
ft=σ(wf·[ht-1,xt] bf)(16)
其中σ表示sigmiod函数。
步骤2:由输入门(inputgate)决定让哪些更新的信息加入到现细胞状态中,具体计算过程如式(17)(18)所示:
it=σ(wi·[ht-1,xt] bi)(17)
步骤3:进行旧细胞ct状态的更新,具体计算过程如式(19)所示:
ct=ft*ct-1 it*ct(19)
步骤4:由输出门(outputgate)来最终确定当前单元的最终输出值,基于细胞的当前状态经过滤后得到输出,具体计算过程如式(20)(21)所示:
ot=σ(wo·[ht-1,xt] bo)(20)
ht=ot*tanh(ct)(21)
9)全连接层dc1:
全连接层dc1单元数设为16,输出1个16维的数据。
采用tanh函数对全连接层dc1的输出进行激活操作,tanh函数的公式如式(22)所示:
10)随机失活层:
随机失活层(dropout)在模型训练时使神经元以一定的概率失活,降低神经网络的过拟合风险,本发明中随机失活率设为0.3,随机失活层的结构图如图9所示。
11)全连接层dc2:
全连接层dc2单元数设为4,输出1个4维的数据。
采用softmax激活函数完成多分类,softmax函数的公式如式(23)所示:
损失函数选用的是交叉熵函数,采用均方根反向传播算法(rmsprop)对权重进行优化。均方根反向传播算法的具体运算步骤如下:
步骤1:给每一个权值定义一个变量meansquare(w,t)用来记录第t次更新步长时前t次的梯度平方的平均值。
步骤2:然后再用第t次的梯度除上前t次的梯度的平方的平均值,得到学习步长的更新比例。
步骤3:根据此比例去得到新的学习步长。如果当前得到的梯度为负,那学习步长就会减小一点点;如果当前得到的梯度为正,那学习步长就会增大一点点。
12)输出层:
最终输出softmax的分类结果,即输入的胸腹部位移信号和口鼻气流信号的混合数据被预测为每个标签的概率分布,是一个4维数据,概率最大的标签即为混合数据片段的预测结果。
lstm-cnn神经网络参数设置的汇总表如表3所示:
表3
6、sahs状态识别模块
lstm-cnn神经网络输出的是片段预测结果,片段的分类结果由于存在一定比例的分类错误,再加上片段的分类本身就割裂了完整睡眠呼吸异常事件的意义,因此分类结果其中有部分是不准确的,需要分类结果后处理对其进行修正,修正后的结果即为输入混合数据的最终预测结果。
对片段预测结果的后处理有以下两个步骤:
步骤1:根据临床医学上定义:每次发病的最短时间为10s,低于10s的则不认为是一次完整的发病事件,因此后处理算法定义连续9个或以上相同的睡眠呼吸异常片段才被认为是一次完整的发病事件。当同种睡眠呼吸异常片段数小于10时,将其归为正常(标签置0),原理图如图11-1所示。
步骤2:根据临床医学上定义:相邻两次睡眠呼吸异常事件之间必须间隔一次完成的呼吸周期即5秒或以上,因此后处理算法定义连续4个或以上的正常片段才能将相邻的两段发病片段隔开,否则将少数几个正常片段修正为同类型的发病片段,使多段短时发病合并成一个完整的长时间发病,原理图如图11-2所示。
1.一种基于lstm-cnn的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,包括:
脑电信号预处理模块,用于将原始脑电信号使用滑动窗分割为多段数据,以每个片段中某段时间对应的睡眠状态作为相应数据片段的标签,标签分为睡眠期和非睡眠期;
脑电信号特征提取模块,用于根据脑电信号预处理模块输出的预处理后的脑电信号提取睡眠状态识别的特征;
睡眠状态识别模块,用于将脑电信号特征提取模块得到的特征组成特征向量,分为测试集和训练集,输入采用径向基核函数的支持向量机(svm)中进行睡眠期与非睡眠期的二分类;
胸腹部位移信号和口鼻气流信号的预处理模块。作用如下:
第1步:根据睡眠状态识别模块得到的结果,删除患者非睡眠时间对应的胸腹部位移信号和口鼻气流信号;
第2步:对胸腹部位移信号和口鼻气流信号进行预处理;
第3步:使用所述的滑动窗切割两路数据,以每个片段中某段时间对应的事件作为相应片段的标签,标签分为四类,第一类为正常,设置为0;第二类为低通气事件,设置为1;第三类为阻塞型睡眠呼吸暂停事件osas,设置为2;第四类为中枢型睡眠呼吸暂停事件csas或混合型睡眠呼吸暂停事件msas,设置为3;1-3类标签均为睡眠呼吸异常标签;
lstm-cnn神经网络模块,用于将预处理后的胸腹部位移信号和口鼻气流信号组成的混合数据片段输入lstm-cnn神经网络,采用十折交叉验证法进行训练,判断输入片段的具体分类并输出预测结果;
sahs状态识别模块,用于对lstm-cnn神经网络输出的片段预测结果进行后处理,从而对预测结果进行修正,输出的修正后的预测结果即为最终预测结果,后处理的方法为:若同类型睡眠呼吸异常片段数小于第一预设值,则将其修正为正常,即将标签置0;若相邻两个同类型睡眠呼吸异常片段之间的正常片段数小于第二预设值,则将正常片段修正为同类型的睡眠呼吸异常片段,第一预设值大于第二预设值。
2.根据权利要求1所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,所述的滑动窗为窗宽60秒、步长1秒的滑动窗。
3.根据权利要求2所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,第一预设值为10;第二预设值为4。
4.根据权利要求1所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,脑电信号预处理模块还包括:对各段数据进行滤波处理的模块,进行滤波处理的方法为:采用iir滤波器去除50hz工频干扰,然后通过切比雪夫ⅰ型低通滤波器截断高于30hz的频段,以去除肌电干扰。
5.根据权利要求1所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,脑电信号特征提取模块,用于:将预处理后的脑电信号进行4层小波分解,然后根据分解结果计算出α能量与总能量之比、β能量与总能量之比、δ能量与总能量之比、θ能量与总能量之比、δ波样本熵均值、θ波样本熵均值、δ波样本熵方差、θ波样本熵方差8个特征值并进行主成分分析,最终选择β能量与总能量之比、θ波样本熵方差、θ波样本熵均值这三个特征作为睡眠状态识别的特征。
6.根据权利要求1所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,对胸腹部位移信号和口鼻气流信号进行预处理,包括:使用3阶iir巴特沃斯高通滤波器消除基线偏移和高频噪音的干扰,对口鼻气流信号使用6点滑动平均值滤波器消除噪音并通过3阶iir巴特沃斯高通滤波器解决基线偏移问题。
7.根据权利要求1所述的三通道睡眠呼吸暂停与低通气综合征识别装置,其特征在于,lstm-cnn神经网络模块,具体为:lstm-cnn神经网络主要由卷积层、批标准化层、池化层、lstm层、随机失活层、全连接层和输出层组成,卷积层提取片段中的特征;池化层减少数据和参数的数目,防止过拟合;批标准化层把输入调整为接近于标准的正态分布,避免梯度消失现象;lstm层对提取的特征进行选择性遗忘与学习;随机失活层使部分神经元按照某个概率失活,防止神经网络过拟合;全连接层对前面得到的特征映射做加权求和;由softmax函数判断输入片段的具体分类并输出预测结果。
技术总结