一种引入大数据分析的自然语言模糊边界确定方法
技术领域
本发明涉及自然语言模糊边界确定算法,特别是一种引入大数据分析的自然语言模糊边界确定方法。
背景技术
随着人类社会信息化程度和计算机软硬件水平的提高,自然语言逐步变成了计算机应用与人工智能研究领域的热点,其基本目标技术使计算机具有人类的语言功能,如像人一样能够听、说、读、写的能力。根据应用领域的不同,自然语言存在多处模糊边界不能确定,导致利用率低的问题,受到广大学者的关注,也出现了很多好的方法。
现有技术有采用词联接的方法,对自然语言模糊边界进行确定,该方法主要在自然语言环境建立动态语料库,并基于动态语料库建立词联接实例知识库和高级知识库,提取自然语言的特征,通过词联接对其进行分类确定,实现对自然语言模糊边界的确定,但是存在确定时间过长的问题。
现有技术还有通过建立语言实体关系模型,根据该模型指定语言分析的流程和算法,推导出自然语言的结构,并以此为基础,进行自然语言模糊边界确定,但是改方法存在结果准确度低的问题;针对自然语言存在粗粒度语言无法表示自然语言的复杂对象间关系的问题。另外还有文献通过认知语言学理论的方法进行模糊边界确定,该方法采用意向图表示自然语言中对象节点间的联系,通过属性空间表示能够数值化的自然语言,并在此基础上,建立自然语言属性空间及修改过程转化的操作序列,实现自然语言模糊边界的确定,但是该方法存在对抽象的自然语言模糊边界难以确定的问题。
针对传统方法存在的问题,提出基于大数据分析的自然语言模糊边界确定方法。根据自然语言识别原理,对声学特征进行分析,建立自然语言声学模型及统计模型,采用维特比解码算法对自然语言进行解码分析,并以此为基础,采用深度学习法进行自然语言特征识别,同时采用支持向量机法,根据自然语言特征的显著性进行划分,在根据其约束条件,结合大数据分析法,确定自然语言模糊边界。实验结果标明,采用改进的方法,相比传统的方法其查全率和准确率均有一定的提高,具有一定的优势。
发明内容
有鉴于此,本发明的目的是提出一种引入大数据分析的自然语言模糊边界确定方法,提高了查全率和准确率。
本发明采用以下方案实现:一种引入大数据分析的自然语言模糊边界确定方法,包括以下步骤:
步骤S1:进行自然语言解码识别分析:从原始波形语言数据中提取的声学特征经过训练得到声学模型,与发声词典、语言模型组成网络,对新来的语言提取特征,经声学模型表示,通过维特比解码得到识别结果;
步骤S2:进行基于深度学习的自然语言特征识别;
步骤S3:在步骤S2的基础上,采用大数据分析法对自然语言模糊边界进行确定;采用支持向量机法,根据自然语言特征的显著性进行划分,再根据其约束条件,结合大数据分析法,确定自然语言模糊边界。
进一步地,所述步骤S1具体包括以下步骤;
步骤S11:从原始波形语言数据中提取的声学特征,并对其做归一化处理;
步骤S12:建立自然语言声学模型;
步骤S13:以步骤S12建立的自然语言声学模型为基础,进一步建立自然语言统计模型,通过概率来表示词序列在自然语言环境中出现的可能性;
步骤S14:在步骤S13建立自然语言统计模型的基础上,采用维特比解码算法对自然语言进行解码分析,为自然语言特征识别提供依据;得到解码后的自然语言用下式进行表示:
其中,Pj,m为自然语言的输出,j表示第j个特征图,m表示第m个解码特征图,n是下采样因子,r是解码大小,hj,k表示自然语言输出层的第j张特征图的第k个激活值。
进一步地,所述步骤S2具体包括以下步骤:
步骤S21:对自然语言进行预训练,计算出隐含层的概率,并对其进行权重参数更新;
步骤S22:当采用无监督逐层预训练算法初始化深度神经网络参数后,按照误差方向传播对整个网络参数进行调整;
步骤S23:对自然语言特征进行提取识别。
与现有技术相比,本发明有以下有益效果:本发明针对传统的确定方法一直存在确定结果不准确的问题,提出基于大数据分析的自然语言模糊边界确定方法,根据自然语言识别原理,对声学特征进行分析,建立自然语言声学模型及统计模型,采用维特比解码算法对自然语言进行解码分析,并以此为基础,采用深度学习法进行自然语言特征识别,同时采用支持向量机法,根据自然语言特征的显著性进行划分,在根据其约束条件,结合大数据分析法,确定自然语言模糊边界。实验结果标明,采用改进的方法,相比传统的方法其查全率和准确率均有提高,具有一定的优势。
附图说明
图1为本发明的方法流程示意图。
图2为本发明实施例的自然语言声学模型结构图。
图3为本发明实施例的自然语言识别中的C-l eve l网络和H-l eve l网络示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本实施例提供了一种引入大数据分析的自然语言模糊边界确定方法,包括以下步骤:
步骤S1:进行自然语言解码识别分析:从原始波形语言数据中提取的声学特征经过训练得到声学模型,与发声词典、语言模型组成网络,对新来的语言提取特征,经声学模型表示,通过维特比解码得到识别结果;
步骤S2:进行基于深度学习的自然语言特征识别;
步骤S3:在步骤S2的基础上,采用大数据分析法对自然语言模糊边界进行确定;采用支持向量机法,根据自然语言特征的显著性进行划分,再根据其约束条件,结合大数据分析法,确定自然语言模糊边界。
在本实施例中,所述步骤S1具体包括以下步骤;
步骤S11:从原始波形语言数据中提取的声学特征,并对其做归一化处理;
步骤S12:建立自然语言声学模型;
步骤S13:以步骤S12建立的自然语言声学模型为基础,进一步建立自然语言统计模型,通过概率来表示词序列在自然语言环境中出现的可能性;
步骤S14:在步骤S13建立自然语言统计模型的基础上,采用维特比解码算法对自然语言进行解码分析,为自然语言特征识别提供依据;得到解码后的自然语言用下式进行表示:
其中,Pj,m为自然语言的输出,j表示第j个特征图,m表示第m个解码特征图,n是下采样因子,r是解码大小,hj,k表示自然语言输出层的第j张特征图的第k个激活值。
在本实施例中,所述步骤S2具体包括以下步骤:
步骤S21:对自然语言进行预训练,计算出隐含层的概率,并对其进行权重参数更新;
步骤S22:当采用无监督逐层预训练算法初始化深度神经网络参数后,按照误差方向传播对整个网络参数进行调整;
步骤S23:对自然语言特征进行提取识别。
具体的,在本实施例中,首先进行自然语言的解码识别分析。
自然语言识别主要作用就是把一段语言信号转换成相应的文本信息,系统主要由自然语言特征提取,语言模型、声学模型和解码器等组成。训练识别的进程是从原始波形语言数据中提取的声学特征经过训练得到声学模型,与发声词典、语言模型组成网络,对新来的语言提取特征,经声学模型表示,通过维特比解码得到识别结果。
大词量连续自然语言识别系统实在隐马尔科夫模型为框架的基础上进行统计训练,在给定自然语言特征序列OT 1={o1,02,...,0T}后,结合声学模型和语言模型,根据最大后验概率算法输出词序列其数学表示如下所示:
式中,P(W)为自然语言模型,表示特定自然语言词序列W出现的先验概率;P(OT 1|W)是声学模型,表示给定自然语言词序列为W时,输出OT 1的声学特征时的概率;P(OT 1)为声学特征OT 1的概率,与自然语言词序列W无关,所以可以忽略掉。因而,式(1)可转变为:
声学特征在一定程度上代表自然语言的声学信号,特征的好坏对自然语言识别的性能影响很大。只有从自然语言数据中提取出区分度较高的特征,通过这些特征数据训练的一些数据,学习模型才能表现突出。由于说话人因为地域、年龄、说话方式、发音习惯、说话环境等不同,生成的自然语言或多或少会有一些差异。如何将声学特征中表现说话人个性的部分去掉,保留表达相同内容的共性的东西,这对性能的提升很重要。声学特征的提取可以认为是对原始自然语言波形信号压缩的过程,也可以认为是对自然语言信号进行解卷积的过程,这样做是为了达到最好的分类效果。语音信号在短时内随时间变化很缓慢,在10~30ms范围里自然语言信号特征保持相对稳定,这样对自然语言信号处理可以通过短时分析。在自然语言识别中特征包括:线性预测参数,倒谱系数、梅尔频率倒谱系数和感知线性预测系数等。由于倒谱系数是重要的自然语言特征参数,是以同态处理方法为基础实现的,公式如下所示:
CEP(t)=DEF-1(ln|DEF(Frame(t))|) (3)
式中:Frame(t)为第t帧自然语言信号,DFT(·)和DFT-1(·)分别表示离散傅里叶变换和反傅里叶变换。对语音波形信号提取特征之后,为了增强鲁棒性,或者降低特征的维度,需要对原始特征做归一化处理,表达式如下所示:
式中,N(s,w'i)表示s与w'互为搭配的自然语言声学特征在训练语料中出现的次数,N(w')为w'在训练语料中出现的次数。
声学模型在自然语言学中起着重要的作用,表示了声学基元产生特征序列的转变进程。给出一个声学特征矢量,依据声学模型来计算它属于每个基元的概率值,通过最大似然准则得出与特征序列对应的状态序列。大部分的自然语音声学模型建立时,都使用隐马尔科夫模型,用来描述自然语言内的隐含状态和时间序列的转换关系。HMM是一个使用参数来描述随机过程统计特性状态的概率模型,它对动态时间序列的建模能力很突出,HMM主要分为两部分,具体为有固定状态数的隐式马尔科夫链模型还有显式的随机函数集。这中间每个随机函数值都与链中一个状态有关联,这样就可以通过显式过程产生的观察序列来获取隐式过程的相关信息。
HMM可以用以下五个参数来进行描述,即为:
M={S,O,A,B,π} (5)
式中:S为模型所包含的有限隐含状态的集合,O为输出的可观测序列的集合,A为状态之间的转移概率的集合,B为给定状态的下输出相应输出观测值的概率,ρ为自然语言初始状态概率的集合。自然语言声学模型结构如图2所示,其中bij为状态i到状态j的转移概率。
语音信号特征分布情况用简单高斯概率密度函数难以描述,实际应用中常采用混合高斯模型来拟合语音信号,主要通过混合高斯函数来表示输出概率B。即:
式中:O表示输出状态,i和j分别对应相邻两个要转换的状态,p为混合数,μij和∑ij分别表示从状态i转换到j输出状态的均值和方差。
以上文建立的自然语言声学模型为基础,进一步建立自然语言模型。自然语言统计模型,主要通过概率来表示词序列在自然语言环境中出现的可能性,并不是基于语法规则的简单判断。假设词序列它出现的概率值可以表示为:
P(W3|W1W2)...P(Wn|W1W2...Wn-1) (7)
式中:P(W1)是W1出现的概率,P(W2|W1)为在一直W1、W2的概率,则可类推得到出现第n个词的概率与它之前的n-1个词相关。通过上式直接计算,不但会让计算量随着n的增大而增加,也会出现统计模型训练中数据稀疏的问题。假设,词wi出现的概率只能由它前面的n-1个词wi-n+1,wi-N+2,...,wi-2wi-1所决定,则自然语言的统计模型可用下式进行表示:
建立自然语言的统计模型,主要是解决自然语言数据稀疏的问题,这是由于训练的语料库规模不大,涵盖的领域不广泛,解决方法可以针对不同的领域收集自然语言,把这些自然语言合成大型语料库,合的时候可以考虑应用场景按比例加入,另外还能对训练好的自然语言进行平滑处理。
在建立自然语言统计模型的基础上,采用维特比解码算法对自然语言进行解码分析,为自然语言特征识别提供依据。维特比解码算法运用动态规划在由多个状态构成的搜索空间中寻找一条最佳的状态序列路径。语音识别中,声学模型采取以HMM为基础,喊同步维特比解码算法思路是以顿为单位,任意时刻对于每条路径都假设当前时刻为该路径的连续部分,即某一路径在某一时刻接下来的所有发展方向都要考虑,来进行一个完整的搜索。但是在大词汇连续语音识别中搜索路径会随着搜索的进行急剧增多,应对的方法就是加入一些剪枝的策略,有的还用一些路径合并的方法。
加权有限状态转换器在自然语言识别过程中的作用就是构建大规模静态网络,这种网络包含了很多自然语言学知识,包括发声词典、语言模型、上下文关系和隐马尔科夫模型等,使用WFST的解码公式如下所示:
式中:o为自然语言的输入特征序列,ω为寻找的最优词序列,f(ω)为自然语言模型,f(l|ω)为发生词典,f(c|l)为上下文相关模型,f(h|c)为隐马尔科夫模型,f(l|ω)f(ω)为单音子构成的网络结构,f(c|l)f(l|ω)f(ω)为上下文相关音子构成的网络结构(C-level网络),f(h|c)f(c|l)f(l|ω)f(ω)为HMM状态构成的网络结构(H-level网络)。根据加权有限状态机理论方法可将上述的各种知识进行组合、优化得到C-level网络和H-level网络如下所示:
式中:为组合操作,det()为确定化操作,min()为最小化操作,具体静态搜索网络的示意图如图3所示。假设,v=[v1,v2,...,vB],vB为第B个自然语言频带的特征值,则其激活值可以通过下式进行计算:
式中:hj,k为自然语言输出层的第j张特征图,第k个激活值,s为卷积核的长度,WT b,j为T时刻对应第j个输出值第b个频带的权重,aj是对应第j张特征图的偏置,θ(·)为激活函数。通过降采样的方法计算出激活值的低分辨率,得到其解码后的自然语言可用下式进行表示:
式中:Pj,m为自然语言的输出,j表示第j个特征图,m表示第m个解码特征图,n是下采样因子,r是解码大小,表示要把多少自然语言进行解码。
和浅层网络相比,深度学习网络层次更深,是一种深层非线性网络,可以通过海量数据的训练来构建具有多层隐含层的深层模型,让每层学习得到简单有用的特征,最终得到低维、稀疏、区分性的高层特征。详细的步骤如下所示:
(1)自然语言预训练
给定训练的自然语言数据样本v,则可表示出隐含层节点hj的激活概率为:
式中:σ(·)为sigmoid函数,具体为σ(·)=1/[1+exp(-x)]。
对获得隐含层节点值做随机化生成0.1的激活状态,又可以根据隐含层节点状态推出可见层输入v',对于线性可见层单元,重构公式表示为:
式中:N(·)为高斯分布。在此基础上,通过重构后的可见层状态值v'作为RBM结构的输入,计算出隐含层概率h',并对其进行权重参数更新为:
Δwij=ε(〈vihj〉-〈v'ih'j〉) (15)
式中〈·〉为对每个样本取平均值,ε为学习率。
(2)网络协调
当采用无监督逐层预训练算法初始化深度神经网络参数后,按照误差方向传播对整个网络参数进行调整。假设有m个样本训练集{(x(1),y(1)),...,(x(m),y(m))},采用批量的梯度下降法去调整深度学习网络。对于单个样本(x,y),其代价函数为:
(3)自然语言特征提取识别
假设,对于样本训练集{(x(1),y(1)),...,(x(m),y(m))},有y(i)∈{1,2,...,k},对于给定的输入值x,进行分类的概率为p(y=j|x)。因此,该函数应输出K维概率向量,该函数的形式如下:
其中:θ∈Rn+1为自然语言模型的参数,为对概率分布进行归一化处理,使概率向量累加和为1。概率向量结合神经元的理论,得到输出为第l隐含层的自然语言i,输入为从第l-1层的所有自然语言数据的加权和,即:
式中:N(l-1)为第l-1层的自然语言个数,xj为深度学习中第l-1层第j个输出值,wji为自然语言i到j的连接权重,θi为第i个自然语言的偏置值。
假设有n个自然语言数据,隐含单元为m个,向量u和h分别表示可见单元和隐含单元状态,则得到自然语言的特征可用下式表示:
式中:θ={wij,ai,bj}为模型参数,且均为实数。
在采用深度学习对自然语言特征进行识别的基础上,采用大数据分析法对自然语言模糊边界进行确定。采用支持向量机法,根据自然语言特征的显著性进行划分,在根据其约束条件,结合大数据分析法,确定自然语言模糊边界。
给定一个训练样本Di=(xi,yi),i=1,2,...,l;yi∈{+1,-1},输入样本用xi表示,l表示样本数,yi则表示两类自然语言数据的类别值。要想同时满足正确分开样本和保证间隔最大,可将其转变为含有约束条件最小值问题,表达式如下所示:
subject to yi[(WXi)+b]-1≥0,i=1,2,...,l (21)
当训练集为线性不可分时,需要引入新的变量即松弛变量εi≥0,表达式转变为如下所示:
subject to yi[(WXi)+b]≥1-εi,i=1,2,...,l (23)
式中:c为惩罚系数,通常大于0,表示对错分样本的惩罚程度,εi≥0。对二次固话的求解问题,需要引入拉格朗日函数:
式中:αi>0,表示拉格朗日系数,经过求解可得到最优分类函数:
此时需要满足一下约束条件:
∫∫K(x1,x2)f(x1)f(x2)dx1dx2≥0 (26)
此时,若d(x1)<d(x2),则表示在满足上述约束条件的基础上,引入大数据分析法,对自然语言模糊边界进行确定。
假设检测区域内,mn是检测时的期望值,mf是自然语言属性读取的期望,那么最优门限判定阈值为:
Vth=0.5(mn+mf) (27)
在此基础上,引入的大数据分析法,将自然语言划分为两类:上升型自然语言属性及下降型自然语言属性。其中上升型自然语言属性值在进行检测时比没有检测的自然语言属性值要大,下降型自然语言属性值在检测时比没有检测时的自然语言属性值要小。
假设是上升型的自然语言属性,则判决公式为:
若是下降型自然语言属性,则判决公式为:
式中:B为进行检测后的判决结果,对检测结果进行判决为1,未判决用0。V是自然语言数据的感知读数。
由此发现,自然语言的模糊边界即为检测时的阈值Vth的等值线,距离等值线越近的自然语言数据其感应到的属性读数和阈值Vth越接近,因此将自然语言的邻居数据感知读数依据读数大小进行不稳定排序,若是上升型自然语言属性,则根据降序进行排列,若是下降型自然语言属性,则根据升序进行排列。然后获取自然语言检测时的阈值Vth在序列里的位置,左右各选取间隔阈值最近的个自然语言属性值。对于多属性的自然语言进行检测时,若mi n是对自然语言模糊边界检测时的属性读数期望值,mi f是对自然语言进行检测时的属性读数期望值,对于各属性判定是否是边界时的最优门限值为:
Vi th=0.5(mi n+mi f) (30)
若自然语言有m个属性,Vi为一个自然语言对于属性i的读数,对于多属性自然语言模糊边界判定是否为边界,可先对单个属性的自然语言进行判决,那么多属性自然语言边界的判决结果为:
式中,Bi为单个属性判决结果,m为常数。则自然语言模糊边界确定理论要满足:的数据所形成的闭合曲线,然后按照各个属性阈值间隔各自序列左端的距离远近排出一个大小顺序,得到拟合节点集合S,并以此为基础进行拟合,确定其是否为模糊边界。
假设自然语言属性集合S中有X个坐标最大的属性值,记作NXmax,其坐标为(X max,Y),找到X坐标里最小节点记作NXmin,其坐标为(Xmin,Y),找到Y坐标最小节点,记作NYmin,其坐标为(X,Ymin),则其拟合函数表达式如下所示:
若max-Xmin≥Ymax-Ymin,则采用y=ax2+bs+c进行拟合,若Xmax-Xmin<Ymax-Ymin,那么采用x=ay2+by+c进行拟合。已知拟合函数,则采用大数据分析法进行分析,计算出自然语言模糊边界阀值,解决自然语言模糊边界确定不准确的问题。假设自然语言属性1到属性2(xi,yi)(i=1,2,...,m)的距离平方和是最小曲线yi=p(xi),得到多项式拟合函数为:
若要分析结果更为精准,需要满足其必要条件,表达式为:
在满足其必要条件的基础上,计算得到自然语言模糊边界阀值为:
式中,Dt为设定阀值。由此可知,当D≤Dt时,D=1,此时自然语言数据远离疑似边界,可确定其不是所需的边界;反之,当D>Dt时,D=0,此时自然语言数据距离模糊边界很近,确定模糊边界为所需的边界。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。