CN110196906B - 面向金融行业的基于深度学习文本相似性检测方法 - Google Patents
面向金融行业的基于深度学习文本相似性检测方法 Download PDFInfo
- Publication number
- CN110196906B CN110196906B CN201910008264.4A CN201910008264A CN110196906B CN 110196906 B CN110196906 B CN 110196906B CN 201910008264 A CN201910008264 A CN 201910008264A CN 110196906 B CN110196906 B CN 110196906B
- Authority
- CN
- China
- Prior art keywords
- word
- similarity
- vector
- sequence
- conditional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 13
- 238000001514 detection method Methods 0.000 title claims abstract description 7
- 239000013598 vector Substances 0.000 claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000013528 artificial neural network Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 21
- 239000003550 marker Substances 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 238000007476 Maximum Likelihood Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 208000008918 voyeurism Diseases 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明提出了一种面向金融行业的基于深度学习文本相似性检测方法,包括:S1、步骤:建立专有名词词库,再基于条件随机场得到条件概率模型,通过条件概率模型进行概率计算。S2、使用Bi‑LSTM‑RNN模型按顺序将句子中的每个单词取出,提取其信息,并将其嵌入到语义向量中,从而获取句子的语义表示。S3、根据神经网络提取出的语义信息,分析句子的逻辑结构,将句子组织成树状结构,最后将段落按照向量树的方式表示出来。S4、将文本中提取到的向量树与数据库内的历史数据文档进行匹配,分别从两个角度比较相似性,一个是向量树之间的相似度,另一个是每个节点之间的相似度,最终得到结果。
Description
技术领域
本发明属于自然语言处理领域,具体设计一种面向金融行业的基于深度学习文本相似性检测方法。
背景技术
随着信息技术和人工智能的发展,越来越多的数据被归类整理,如何利用好这些大量的历史数据变得十分重要。对于很多科技公司来说,用户产生的历史数据是一份极其珍贵的财富。而现阶段很多数值型、可结构化储存的数据已经得到了很好的利用,各种数据挖掘的方法层出不穷,但是对于自然语言的数据,还没有得到比较好的结构化的整理,也缺乏成熟的挖掘技术。目前来说,很多领域都有自然语言写成的文档,而这些历史文档对于新的问题也有指导作用。中文领域中由于语言的特性,自然语言处理相对较难,而语料库也相对来说比较大,因此本文关注的是中文自然语言写成的文档的检索与利用。
目前的文本相似度算法大致分为三类:基于字符串的相似度算法、基于语料库的相似度算法,基于知识库的相似度算法。基于字符串的信息检索大多基于统计学或者是概率论的方法,如TF-IDF,BM25等方法。基于知识库的方法有利用混合相似度测量的方法测量文本相似度,也有构造语法树结合语法树和单词的相似度对文本的相似度进行分析。基于语料库的方法,在近些年来借助神经网络,将单词转化为向量再对文本的相似度进行分析。
但是单纯考虑单词的重合度,在某些领域中是有失偏颇的。同时,对于构建语法树的方法来说,如果句子的结构过长会导致语法树过于复杂,从而使比较过程陷入局部的树结构中。对于神经网络来说,同样对于长文本来说,其输入的维数会急剧上升。
发明内容
本发明提出了一个针对中文长文本的相似度计算方法。把单个句子作为最小的单元,而不是单词,同时保留语义属性。然后将最小的单元按照句子间的逻辑关系组织成一棵树,类似于一句话构造成的语法树。从而降低了匹配过程的复杂度。该方法基于一个语料库,利用神经网络压缩并保留句子内的语义关系,同时避免了统计学方法中对于大量单一的单词难以区分文本语料的劣势。
本发明的目的是研究自然语言处理的理论方面,提出一种面向金融行业的基于深度学习文本相似性检测方法,包括如下步骤:
S1、先将金融行业中的专有名词整理归纳成为一个专有名词词库,再基于条件随机场得到条件概率模型,通过条件概率模型进行概率计算;
S2、使用Bi-LSTM-RNN模型按顺序将句子中的每个单词取出,提取其信息,并将该单词嵌入到语义向量中,从而获取句子的语义表示;
S3、根据神经网络提取出的语义信息,采用非确定自动机实现对句子逻辑的构造分析句子的逻辑结构,将句子组织成树状结构,最后将段落按照向量树的方式表示出来;
S4、将向量树与已有文档数据库内的历史数据文档进行匹配,分别从两个角度比较相似性,一个是向量树之间的相似度,另一个是每个节点之间的相似度,最终得到该文档与已有的历史数据文档的相似度数值。
进一步的,所述步骤S1中获到条件概率模型的过程包括:定义条件随机场,线性链条件随机场和系统名称,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型P(Y|X)。预测时,对于给定的观测序列X,求出条件概率模型P(Y|X)最大的输出序列Y;
进一步的,定义条件随机场具体为:
设X与Y是随机变量,(|)是在给定X的条件下Y的条件概率分布,随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w~v) (1)
对任意节点v成立,则称条件概率分布P(Y|X)为条件随机场,式中w~v表示在图G=(V,E)中与节点v有边连接的所有节点w,w≠v表示节点v以外的所有节点,Yv与Yw为节点v与w对应的随机变量,从定义来看,左边到右边点的数量大大减小,w≠v的点有|V|-1个,而w~v就少了;
定义线性链条件随机场具体为:
设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列尤的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性:
其中X表示输入观测序列即状态序列,Y表示对应的输出序列即标记序列,i表示第i个序列,给定观测序列x,标记序列y的非规范化概率通过n+1个矩阵的乘积表示,于是,条件概率模型是Pw(y|x),y和x分别表示在Y和X中的取值,即实际观测到的序列,Pw(y|x)指的就是在给定了观测值x之后,输出值是y的概率:
其中,Mi(yi-1,yi|x)表示转换矩阵,Zw(x)为规范化因子,是n+1个矩阵的乘积的(start,stop)元素:
Zw(x)=(M1(x)M2(x)…Mn+1(x))start,stop y1y2…yn (4)
其中,y0=start与yn+1=stop表示开始状态与终止状态,规范化因子Zw(x)是以start为起点stop为终点通过状态的所有路径的非规范化概率y1,y2,…yn之和。
定义系统名称具体为:用[Name]替代英文系统名称,用[Digital]替代数字数据,其中对英文系统名称的定义由字母、数字、空格、下划线组成的连续字符串。
进一步的,通过条件概率模型进行概率计算如下:
在条件概率分布P(Y|X)中,输入观测序列X和输出序列Y,计算条件概率P(Yi=yi|x),P(Yi-1=yi-1,Yi=yi|x)以及相应的数学期望。
对于每个序列i=0,1,...,n+1,定义前向向量αi(x):
然后进行递推:
该公式又可表示为:
αi(yi|x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,yi可取的值有m个,所以αi(yi|x)是m维列向量,Mi(yi-1,yi|x)是转换矩阵。
同样,对每个序列i=0,1,...,n+1,定义后向向量βi(x):
递推:
βi(yi|x)=Mi(yi,yi+1|x)βi-1(yi+1|x) (9)
同样也可以表示为:
βi(x)=Mi+1(x)βi+1(x) (10)
βi(yi|x)表示在位置i的标记为yi,并且从i+1到n的后部分标记序列的非规范化概率。
由前向-后向向量定义不难得到:
这里,1是元素均为1的m维向量;Z(x)表示中间变量。
因此,依据前向-后向向量的定义,计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:
其中,
利用前向-后向向量,可以计算特征函数关于联合分布P(X,Y)和条件分布P(Y|X)的数学期望。
特征函数fk关于条件分布P(Y|X)的数学期望是
其中,
其中,
这个公式是特征函数数学期望的一般计算公式。对于转移特征tk(yi-1,yi,x,i),k=1,2,...,K,可以将式中的fk换成tk即转移特征;对于状态特征,可以将式中的fk换成si即状态特征。根据公式(27)-(39),对于给定的观测序列X与标记序列Y,通过一次前向扫描计算αi(x)及Z(x),通过一次后向扫描计算βi(x),从而计算所有的概率和特征的期望。
进一步的,所述步骤S2中获取句子的语义表示具体如下:
采用与长短时记忆神经网络(LSTM-RNN,Long Short Term Memory RecurrentNeural Network)进行句子的嵌入,将输入的单词按照字符编码成一位有效向量(One-HotVector),用于句子嵌入的LSTM-RNN神经网络的数学公式表示为:
y(t)=f(W·x(t)+Wrec·y(t-1)+b) (18)
其中W和Wrec是要学习的输入和循环矩阵,b是偏置向量,f()假设为tanh(),x(t)是第t个字,编码为1-hot向量,y(t)是循环神经网络(RNN,Recurrent Neural Network)的隐藏激活向量,用作第t个单词的语义表示,与最后一个单词x(m)相关联的y(t)是整个句子的语义向量,其中词袋(一组词语)表示用于整个文本并且不使用上下文信息,训练期间没有单词监督,而是整个句子都有标签;t代表单词序号,m代表最后一个单词的序号。
所述Bi-LSTM-RNN模型为:
其中,i(t),f(t),o(t),c(t)分别是输入门,忘记门,输出门和单元状态向量, 和/>是窥视孔连接,Wi,/>和bi,i=1,2,3,4分别是输入连接,循环连接和偏置值,g()和h()是tanh()函数,σ()是sigmoid函数,yg(t)表示中间变量,使用LSTM-RNN来找出每个单词的y(即每个单词的语义表示),然后使用对应于句子中最后一个单词的y(m)作为整个句子的语义向量,/>表示矩阵的哈达玛积。
进一步的,所述步骤S3包括:
采用基于规则的(Rule-based)的模式匹配,在规则库中加入了“如果…就…”的规则,采用类似正则表达式实现,采用非确定自动机实现逻辑的构造。
进一步的,所述匹配方式包括:单词到单词,单词到短语或短语到单词和短语到短语的匹配;
单词到单词的的匹配是通过提出的广义词库比较两个单词;
在单词到短语的的匹配是将单词与短语中除去本身的其他单词进行比较,以获得最佳匹配;
短语到短语的匹配采用g来获得两组子节点之间的最佳匹配,匹配方式如下:
Simword(a,b)=<a,b> (20)
a,b代表两个单词
其中单词与单词之间的相似度比较采用向量间的余弦相似度比较。
进一步的,所述匹配方式具体如下:
从输入查询以及QA对(即查询得到的答案对,一个查询对应一个结果)中提取的两个问题类别段QS1和QS2,并将QS1和QS2分别解析为两个QS解析树T1和T2,根据T1和T2之间的相似性估计两个问题类别段之间的相似性;估计QA解析树之间的相似性是从根到叶递归地,通过比较QA解析树的子树(利用文本构建出来的树的子树)来比较两个内部节点,因为内部节点表示更复杂的语义单元,例如动词短语QS解析树匹配公式如下:
其中,T1,T2代表两颗不同的树,Simtree(T1,T2)表示两棵树之间的最终相似度,Simword(T1,T2)表示两个单节点之间的相似性,即单词与单词间的相似度,T1,i和T2,j分别是T1和T2的子树,Simtree(T1,i,T2)表示单节点和树之间的相似性即对应的单词和短句之间的相似度,maxjSimtree(T1,T2,j)表示取单节点和树之间的相似性即对应的单词和短句之间的相似度的最大值,Simsubtree(T1,T2)表示两个树之间的相似性,即短句和短句之间的相似度,定义如下:
其中函数g表示通过最大化两组子树之间的所有可能映射从TA到TB的对齐,对齐是指最大化两组子树之间的一一映射,TA表示T1,T2中具有较少子树的一组,TB表示另一组,TA,k表示TA的第k棵子树,j表示树TA的子树数。
本发明相对于现有技术具有如下的优点及效果:
本发明提出了一个针对中文长文本的相似度计算方法,在长文本相似度计算中将于语义语法的相关的句子嵌入与简单逻辑结构结合起来综合考虑,提出了一个针对特定领域的抗单一重复内容的文本相似度算法,在计算复杂度与语义信息量的保留中取得了一个平衡。
附图说明
图1为实施例的整体RNN网络结构示意图。
图2为实施例的LSTM节点结构示意图。
图3为实施例中银行系统的专有名词标注流程图。
具体实施方式
下面结合实施例对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例:
一种面向金融行业的基于深度学习文本相似性检测方法,包括如下步骤:
S1,对中文文本进行断句、分词处理。因为中文文本无法通过空格分词,因此需要建立专有名词词库,并进一步利用条件随机场进行分词,然后剔除其中的停用词、数字和字母等。
S2,使用Bi-LSTM-RNN模型顺序地将句子中的每个单词取出,提取其信息,并将其嵌入到语义向量中,从而获取个句子的语义表示。
S3,借助神经网络提取出的语义信息,使用非确定自动机分析句子的逻辑结构,将句子组织成树状结构,最后将段落按照向量树的方式表示出来。见图3
S4,将文本中提取到的语义树与已有文档数据库内的历史数据文档进行匹配,分别从两个角度比较相似性,一个是树本身的形状的匹配度,另一方面是每个节点之间的相似度,最终得到结果。
步骤S1包括:
由于中文没有空格的特性,需要先建立起金融行业的专有名词词库,然后进行单词的条件随机场分割,然后在嵌入前对其中无用字段进行替换,剔除停用词等预处理,最后生成对应的词向量。
条件随机场是给定随机变量X条件下,随机变量Y的马尔可夫随机场。线性链条件随机场可以用于标注等问题。这时,在条件概率模型P(Y|X)中,Y是输出变量,表示标记序列,X是输入变量,表示需要标注的观测序列。标记序列也被称为状态序列(参见隐马尔可夫模型)。通过统计训练数据集数据,并计算相关后验概率进行学习训练,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型P(Y|X);预测时,对于给定的输入观测序列x,求出条件概率模型P(Y|X)最大的输出序列y。
定义条件随机场,设X与Y是随机变量,(|)是在给定X的条件下Y的条件概率分布。若随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w~v) (1)
对任意节点v成立,则称条件概率分布P(Y|X)为条件随机场。式中w~v表示在图G=(V,E)中与节点v有边连接的所有节点w,w≠v表示节点v以外的所有节点,Yv与Yw为节点v与w对应的随机变量。从定义来看,左边到右边点的数量大大减小,w≠v的点有|V|-1个,而w~v就少了。
定义线性链条件随机场,设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列尤的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性:
其中X表示输入观测序列,Y表示对应的输出标记序列序列。这样,给定观测序列x,标记序列y的非规范化概率可以通过n+1个矩阵的乘积表示,于是,条件概率模型是Pw(y|x):
其中,Zw(x)为规范化因子,是n+1个矩阵的乘积的(start,stop)元素:
Zw(x)=(M1(x)M2(x)…Mn+1(x))start,stop y1y2…yn (4)
其中,y0=start与yn+1=stop表示开始状态与终止状态,规范化因子Zw(x)是以start为起点stop为终点通过状态的所有路径的非规范化概率y1,y2,…yn之和。
定义系统名称具体为:用[Name]替代英文系统名称,用[Digital]替代数字数据,其中对英文系统名称的定义由字母、数字、空格、下划线组成的连续字符串。
条件随机场的概率计算是在条件概率分布P(Y|X)中,输入观测序列X和输出序列Y,,计算条件概率P(Yi=yi|x),P(Yi-1=yi-1,Yi=yi|x)以及相应的数学期望。
对于每个指标i=0,1,...,n+1,定义前向向量αi(x):
然后进行递推:
该公式又可表示为:
αi(yi|x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,yi可取的值有m个,所以αi(yi|x)是m维列向量,Mi(yi-1,yi|x)是转换矩阵。
同样,对每个指标i=0,1,...,n+1,定义后向向量βi(x):
递推:
βi(yi|x)=Mi(yi,yi+1|x)βi-1(yi+1|x) (9)
同样也可以表示为:
βi(x)=Mi+1(x)βi+1(x) (10)
βi(yi|x)表示在位置i的标记为yi,并且从i+1到n的后部分标记序列的非规范化概率。
由前向-后向向量定义不难得到:
这里,1是元素均为1的m维向量;Z(x)表示中间变量。
因此,依据前向-后向向量的定义,很容易计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:
其中,
利用前向-后向向量,可以计算特征函数关于联合分布P(X,Y)和条件分布P(Y|X)的数学期望。
特征函数fk关于条件分布P(Y|X)的数学期望是
其中,
其中,
这个公式是特征函数数学期望的一般计算公式。对于转移特征tk(yi-1,yi,x,i),k=1,2,...,K,可以将式中的fk换成tk即转移特征;对于状态特征,可以将式中的fk换成si即状态特征。根据公式(5)-(17),对于给定的观测序列X与标记序列Y,通过一次前向扫描计算αi(x)及Z(x),通过一次后向扫描计算βi(x),从而计算所有的概率和特征的期望。
在语义系统当中,文字描述应当占重要地位,很多时候数字字符并不是决定性因素。数字,名称等不重要的特征将会被特殊标记取代,因此,用[Name]替代了英文系统名称,用[Digital]替代数字数据。其中对英文系统名称的定义是由字母和/或数字和/或空格和/或下划线组成的连续字符串。
所述步骤S2包括:
采用与LSTM-RNN神经网络进行句子的嵌入。但没有对输入向量进行n-gram的哈希转换,原因是中文的单个字符种类繁多,不适合n-gram。同时因为同样的原因,将输入的单词按照字符编码成One-Hot Vector。整体RNN网络结构如图1所示,其中LSTM节点结构如图2所示。其中x(t)是第t个字,编码为1-hot向量,y(t)是RNN的隐藏激活向量,可以用作第t个单词的语义表示,与最后一个单词x(m)相关联的y(t)是整个句子的语义表示向量。其中词袋表示用于整个文本并且不使用上下文信息。
用于句子嵌入的上述RNN模型的数学公式可表示为
y(t)=f(W·x(t)+Wrec·y(t-1)+b) (18)
其中W和Wrec是要学习的输入和循环矩阵,b是偏置向量,f()假设为tanh()。训练期间没有单词监督,而是整个句子都有标签。
图2所示的LSTM的体系结构来提出句子嵌入方法。LSTM-RNN模型的正向通道如下:
其中,i(t),f(t),o(t),c(t)分别是输入门,忘记门,输出门和单元状态向量,Wp1,Wp2和Wp3是窥视孔连接,Wi,Wreci和bi,i=1,2,3,4分别是输入连接,循环连接和偏置值,g()和h()是tanh()函数,σ()是sigmoid函数。使用这种架构来找出每个单词的y,然后使用对应于句子中最后一个单词的y(m)作为整个句子的语义向量。表示矩阵的Hadamardproduct(哈达玛积)。
所述S3步骤包括:
采用Rule-based简单的模式匹配。在规则库中加入了例如“如果…就…”的规则,参考中文语言中的转折连词等,进行规则判断其逻辑关系。采用类似正则表达式的实现,采用非确定自动机实现逻辑的构造,构造过程基于规则,例如对如果A,则B,否则C,可判断整体为一个判断句,根节点是“如果A”,“则B”、“否则C”是子节点。进一步的推广了解析器的实现,使得可以处理句子为单位的匹配。整体的示例流程如图3。
所述S4步骤包括:
从输入查询以及QA对中提取的两个问题类别段QS1和QS2被解析为两个QS解析树T1和T2。根据两个QS解析树之间的相似性估计两个问题类别段之间的相似性。估计相应QA解析树之间的相似性的一种选择是从根到叶递归地比较它们。重申,通过比较它们的子树来比较两个内部节点,因为内部节点表示更复杂的语义单元,例如动词短语。因此,QS解析树匹配公式定义如下:
其中Simword(T1,T2)表示两个单顶点树之间的相似性,T1,i和T2,j分别是T1和T2的子树,T1和T2分别表示T1和T2的子树数,Simsubtree(T1,T2)表示两个非单顶点树之间的相似性,定义如下:
其中g表示通过最大化两组子树之间的所有可能映射从TA到TB的对齐,TA表示具有较少子树的树T1或T2之一,TB表示另一组,TA,k表示TA的子树,j表示树TA的子树数。
公式7可以分为三个比较,单词到单词,单词到短语(或短语到单词)和短语到短语。在单词到单词的比较中,通过提出的广义词库比较两个单词。在单词到短语的比较中,将单词与短语中的每个其他单词进行比较,以获得最佳匹配。(7)中定义的相似性度量用于短语-短语比较。该算法采用g来获得两组子节点之间的最佳匹配。
Simword(a,b)=<a,b> (22)
其中单词之间的相似度比较采用向量间的余弦相似度比较。两棵树之间的最终相似度就是Simtree(T1,T2)。
在试验中,进行了测试。银行系统十分复杂,包含数百个业务流程,上万个功能点,而实际的业务时常会改动,但是只改动一点点,比如利息计算的方式的改变,或者是增加或者删除一个验证功能。因此每次更新系统对于测试人员来说都十分困难,测试人员必须十分了解整个系统的流程才能保证测试的严谨性和完整性,对于新的业务人员来说,也十分难以上手。因此,利用历史测试文档能够帮助测试人员写出健壮的测试用例。因此利用这个实例,来评估的方法的实际应用价值。
系统采样了30,000条历史测试用例组织成历史数据库,采用了100份银行系统的测试需求文档(大约1000个测试点)进行评估,数据由人工标注出对应的系统以及相对应的历史测试用例。分词部分预先人工标注出银行系统的专有名词,整体示例流程如图3所示,由于考虑的语义系统当中,文字描述应当占重要地位,很多时候数字字符并不是决定性因素。数字、名称等不重要的特征将会被特殊标记取代,在实验中用[Name]替代了英文系统名称,用[Digital]替代数字数据。其中对英文系统名称的定义是由字母、数字、空格、下划线组成的连续字符串。检查Key盾管理工具是否最新:若是CDW Key盾,则按现有流程处理;若是QW Key盾,则调用QW Key盾相关方法判断,如果不是最新的Key盾管理工具,则弹出Key盾工具下载页面(页面显示样式与现有保持一致),客户点击【下载】按钮后则可下载QW的最新版Key盾管理工具。
检查Key盾管理工具是否最新:若是[Name1]Key盾,则按现有流程处理;若是[Name2]Key盾,则调用[Name2]Key盾相关方法判断,如果不是最新的Key盾管理工具,则弹出Key盾工具下载页面(页面显示样式与现有保持一致),客户点击【下载】按钮后则可下载[Name2]的最新版Key盾管理工具。
实验是一些一对一的历史案例,在实验中选取了30,000条历史测试用例组织成历史数据库,采用了100份银行系统的测试需求文档(大约1000个测试点)进行评估,数据由人工标注出对应的系统以及相对应的历史测试用例。分词部分预先人工标注出银行系统的专有名词。当对历史数据库中的数据进行查询时,将数据库中的数据与输入的查询文本进行相似度计算,取这些数据中相似度最高的案例,然后比较查询得到的数据是否为想要得到的数据,准确率用来评估最终的结果。例如52.84%说明在这些查询中正确找到想得到的数据所占的比例为52.84%。
采用本发明的方法与传统的方法TF-IDF(term frequency–inverse documentfrequency)以及BM25进行了对比,结果如下:
总体准确率 | |
TF-IDF(1-gram) | 27.66% |
TF-IDF(2-gram) | 31.21% |
BM25(1-gram) | 34.40% |
BM25(2-gram) | 36.85% |
本发明方法(1-gram) | 52.84% |
本发明方法(2-gram) | 47.16% |
表中的1-gram和2-gram是指分词之后用一个词还是两个词作为单独的单元去计算,2-gram的话就是分词之后相邻的两个词组合起来计算,这样的话就可以考虑到词之间的顺序问题。可以看出本发明的方法召回率高于传统算法,该方法在金融领域是有效的。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.面向金融行业的基于深度学习文本相似性检测方法,其特征在于,包括以下步骤:
S1、先将金融行业中的专有名词整理归纳成为一个专有名词词库,再基于条件随机场得到条件概率模型,通过条件概率模型进行概率计算;
S2、使用Bi-LSTM-RNN模型按顺序将句子中的每个单词取出,提取其信息,并将该单词嵌入到语义向量中,从而获取句子的语义表示;
S3、根据神经网络提取出的语义信息,采用非确定自动机实现对句子逻辑的构造分析句子的逻辑结构,将句子组织成树状结构,最后将段落按照向量树的方式表示出来;
S4、将向量树与已有文档数据库内的历史数据文档进行匹配,分别从两个角度比较相似性,一个是向量树之间的相似度,另一个是每个节点之间的相似度,最终得到该文档与已有的历史数据文档的相似度数值;
通过条件概率模型进行概率计算如下:
在条件概率分布P(Y|X)中,输入观测序列X和输出序列Y,计算条件概率P(Yi=yi|x),P(Yi-1=yi-1,Yi=yi|x)以及相应的数学期望;
对于每个序列i=0,1,...,n+1,定义前向向量αi(x):
然后进行递推:
该公式又可表示为:
αi(yi|x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,yi取的值有m个,所以αi(yi|x)是m维列向量,Mi(yi-1,yi|x)是转换矩阵;
同样,对每个序列i=0,1,...,n+1,定义后向向量βi(x):
递推:
βi(yi|x)=Mi(yi,yi+1|x)βi-1(yi+1|x) (5)
同样也可以表示为:
βi(x)=Mi+1(x)βi+1(x) (6)
βi(yi|x)表示在位置i的标记为yi,并且从i+1到n的标记序列的非规范化概率;
由前向-后向向量定义不难得到:
这里,1是元素均为1的m维向量;Z(x)表示中间变量;
依据前向-后向向量的定义,计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:
其中,
利用前向-后向向量,计算特征函数关于联合分布P(X,Y)和条件分布P(Y|X)的数学期望;
特征函数fk关于条件分布P(Y|X)的数学期望是
其中,
其中,
公式是(17)特征函数数学期望的计算公式;对于转移特征tk(yi-1,yi,x,i),k=1,2,...,K,能将式中的fk换成tk即转移特征;对于状态特征si,能将式中的fk换成si即状态特征,根据公式(5)-(17),对于给定的观测序列X与标记序列Y,通过一次前向扫描计算αi(x)及Z(x),通过一次后向扫描计算βi(x),从而计算所有的概率和特征的期望。
2.根据权利要求1所述的基于深度学习文本相似性检测方法,其特征在于,所述步骤S1中获到条件概率模型的过程包括:定义条件随机场,线性链条件随机场和系统名称,利用训练数据集通过极大似然估计或正则化的极大似然估计得到条件概率模型P(Y|X)。
3.根据权利要求2所述的基于深度学习文本相似性检测方法,其特征在于,定义条件随机场具体为:
设X与Y是随机变量,P(Y|X)是在给定X的条件下Y的条件概率分布,随机变量Y构成一个由无向图G=(V,E)表示的马尔可夫随机场,即
P(Yv|X,Yw,w≠v)=P(Yv|X,Yw,w~v) (14)
定义线性链条件随机场具体为:
设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若在给定随机变量序列的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔可夫性:
其中X表示输入观测序列即状态序列,Y表示对应的输出序列即标记序列,i表示第i个序列,给定观测序列x,标记序列y的非规范化概率通过n+1个矩阵的乘积表示,于是,条件概率是Pw(y|x),y和x分别表示在Y和X中的取值即实际观测到的序列,Pw(y|x)指在给定观测值x之后,输出值是y的概率:
其中,Mi(yi-1,yi|x)表示转换矩阵,Zw(x)为规范化因子,是n+1个矩阵的乘积的(start,stop)元素:
Zw(x)=(M1(x)M2(x)…Mn+1(x))start,stop y1y2…yn (17)
其中,y0=start与yn+1=stop表示开始状态与终止状态,规范化因子Zw(x)是以start为起点stop为终点通过状态的所有路径的非规范化概率y1,y2,…yn之和;
定义系统名称具体为:用[Name]替代英文系统名称,用[Digital]替代数字数据,其中对英文系统名称的定义由字母、数字、空格、下划线组成的连续字符串。
4.根据权利要求1所述的基于深度学习文本相似性检测方法,其特征在于,所述步骤S2中获取句子的语义表示具体如下:
采用与长短时记忆神经网络进行句子的嵌入,将输入的单词按照字符编码成一位有效向量,用于句子嵌入的LSTM-RNN神经网络的数学公式表示为:
y(t)=f(W·x(t)+Wrec·y(t-1)+b) (18)
其中W和Wrec是要学习的输入和循环矩阵,b是偏置向量,f()假设为tanh(),x(t)是第t个字,编码为1-hot向量,y(t)是循环神经网络的隐藏激活向量,用作第t个单词的语义表示,与最后一个单词x(m)相关联的y(m)是整个句子的语义向量,其中词袋即一组词语表示用于整个文本并且不使用上下文信息,训练期间没有单词监督,而是整个句子都有标签;t是单词的序号,m代表最后一个单词的序号;
所述Bi-LSTM-RNN模型为:
5.根据权利要求1所述的基于深度学习文本相似性检测方法,其特征在于,所述步骤S3包括:
采用Rule-based的模式匹配,在规则库中加入“如果…就…”的规则,采用类似正则表达式实现,参考中文语言中的转折连词,进行规则判断其逻辑关系,采用非确定自动机实现逻辑的构造。
6.根据权利要求1所述的基于深度学习文本相似性检测方法,其特征在于,所述匹配方式包括:单词到单词,单词到短句或短句到单词和短句到短句的匹配;
单词到单词的的匹配是通过提出的基于语义的词库比较两个单词;
在单词到短语的的匹配是将单词与短语中除去本身的其他单词进行比较,以获得最佳匹配;
短语到短语的匹配采用g来获得两组子节点之间的最佳匹配,匹配方式如下:
Simword(a,b)=<a,b> (20)
a,b代表两个单词,其中单词与单词之间的相似度比较采用向量间的余弦相似度比较。
7.根据权利要求6所述的基于深度学习文本相似性检测方法,其特征在于,所述匹配方式具体如下:
输入查询以及QA对中提取的两个问题类别段QS1和QS2,QA对为查询得到的答案对,一个查询对应一个结果,并将QS1和QS2分别解析为两个QS解析树T1和T2,根据T1和T2之间的相似性估计两个问题类别段之间的相似性;估计QA解析树之间的相似性是从根到叶递归地,通过比较QA解析树的子树来比较两个内部节点QS解析树匹配公式如下:
其中,T1,T2代表两颗不同的树,Simtree(T1,T2)表示两棵树之间的最终相似度,Simword(T1,T2)表示两个单节点之间的相似性,即单词与单词间的相似度,T1,i和T2,j分别是T1和T2的子树,Simtree(T1,i,T2)表示单节点和树之间的相似性即对应的单词和短句之间的相似度,maxjSimtree(T1,T2,j)表示取单节点和树之间的相似性即对应的单词和短句之间的相似度的最大值,Simsubtree(T1,T2)表示两个树之间的相似性,即短句和短句之间的相似度,定义如下:
其中函数g表示通过最大化两组子树之间的所有可能映射从TA到TB的对齐,对齐是指最大化两组子树之间的一一映射,TA表示T1,T2中具有较少子树的一组,TB表示另一组,TA,k表示TA的第k棵子树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008264.4A CN110196906B (zh) | 2019-01-04 | 2019-01-04 | 面向金融行业的基于深度学习文本相似性检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008264.4A CN110196906B (zh) | 2019-01-04 | 2019-01-04 | 面向金融行业的基于深度学习文本相似性检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110196906A CN110196906A (zh) | 2019-09-03 |
CN110196906B true CN110196906B (zh) | 2023-07-04 |
Family
ID=67751427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910008264.4A Active CN110196906B (zh) | 2019-01-04 | 2019-01-04 | 面向金融行业的基于深度学习文本相似性检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196906B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110892400B (zh) * | 2019-09-23 | 2023-05-09 | 香港应用科技研究院有限公司 | 使用句子提取来概括文本的方法 |
CN110781939A (zh) * | 2019-10-17 | 2020-02-11 | 中国铁塔股份有限公司 | 一种相似图片的检测方法、装置及项目管理系统 |
CN112749539B (zh) * | 2020-01-20 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 文本匹配方法、装置、计算机可读存储介质和计算机设备 |
CN111401353B (zh) * | 2020-03-17 | 2022-04-05 | 重庆邮电大学 | 一种数学公式的识别方法、装置及设备 |
CN111460808B (zh) * | 2020-03-23 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 同义文本识别及内容推荐方法、装置及电子设备 |
US11657229B2 (en) * | 2020-05-19 | 2023-05-23 | International Business Machines Corporation | Using a joint distributional semantic system to correct redundant semantic verb frames |
CN111652449A (zh) * | 2020-07-17 | 2020-09-11 | 上海积成能源科技有限公司 | 一种基于条件随机场模型预测短期光伏发电系统发电量的系统模型 |
CN111898379B (zh) * | 2020-08-14 | 2023-08-22 | 思必驰科技股份有限公司 | 槽填充模型训练方法、电子设备及存储介质 |
CN113221577A (zh) * | 2021-04-28 | 2021-08-06 | 西安交通大学 | 一种教育文本知识归纳方法、系统、设备及可读存储介质 |
CN113379032A (zh) * | 2021-06-08 | 2021-09-10 | 全球能源互联网研究院有限公司 | 基于分层双向lstm序列模型训练方法及系统 |
CN114398867B (zh) * | 2022-03-25 | 2022-06-28 | 北京大学 | 一种两阶段的长文本相似度计算方法 |
CN116342167B (zh) * | 2023-05-22 | 2023-08-08 | 中国电子技术标准化研究院 | 基于序列标注命名实体识别的智能成本度量方法和装置 |
CN116738968B (zh) * | 2023-08-14 | 2023-11-24 | 宁波深擎信息科技有限公司 | 内容建联方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062910A (zh) * | 2018-07-26 | 2018-12-21 | 苏州大学 | 基于深度神经网络的句子对齐方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020111B (zh) * | 2012-10-29 | 2015-06-17 | 苏州大学 | 基于词汇树层次语义模型的图像检索方法 |
CN103049569A (zh) * | 2012-12-31 | 2013-04-17 | 武汉传神信息技术有限公司 | 基于向量空间模型的文本相似性匹配方法 |
US20180232443A1 (en) * | 2017-02-16 | 2018-08-16 | Globality, Inc. | Intelligent matching system with ontology-aided relation extraction |
CN107844608B (zh) * | 2017-12-06 | 2021-11-30 | 湖南大学 | 一种基于词向量的句子相似度比较方法 |
-
2019
- 2019-01-04 CN CN201910008264.4A patent/CN110196906B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062910A (zh) * | 2018-07-26 | 2018-12-21 | 苏州大学 | 基于深度神经网络的句子对齐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110196906A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196906B (zh) | 面向金融行业的基于深度学习文本相似性检测方法 | |
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN110032648B (zh) | 一种基于医学领域实体的病历结构化解析方法 | |
CN108415953B (zh) | 一种基于自然语言处理技术的不良资产经营知识管理方法 | |
CN107766324B (zh) | 一种基于深度神经网络的文本一致性分析方法 | |
CN106599032B (zh) | 一种结合稀疏编码和结构感知机的文本事件抽取方法 | |
CN111325029B (zh) | 一种基于深度学习集成模型的文本相似度计算方法 | |
Roshanfekr et al. | Sentiment analysis using deep learning on Persian texts | |
CN113221567A (zh) | 司法领域命名实体及关系联合抽取方法 | |
CN109684642B (zh) | 一种结合页面解析规则和nlp文本向量化的摘要提取方法 | |
CN112084381A (zh) | 一种事件抽取方法、系统、存储介质以及设备 | |
CN112052684A (zh) | 电力计量的命名实体识别方法、装置、设备和存储介质 | |
CN109934251B (zh) | 一种用于小语种文本识别的方法、识别系统及存储介质 | |
CN114547298A (zh) | 基于多头注意力和图卷积网络结合R-Drop机制的生物医学关系抽取方法、装置和介质 | |
CN115019906B (zh) | 多任务序列标注的药物实体和相互作用联合抽取方法 | |
CN113282729B (zh) | 基于知识图谱的问答方法及装置 | |
CN112784532A (zh) | 用于短文本情感分类的多头注意力记忆网络 | |
CN112100212A (zh) | 一种基于机器学习和规则匹配的案件情节抽取方法 | |
CN115481635A (zh) | 一种地址要素解析方法和系统 | |
CN113609857A (zh) | 基于级联模型和数据增强的法律命名实体识别方法及系统 | |
CN112632978A (zh) | 基于端到端的变电站多元事件关系抽取的方法 | |
CN116342167A (zh) | 基于序列标注命名实体识别的智能成本度量方法和装置 | |
CN116127097A (zh) | 一种结构化文本关系抽取方法、装置、设备 | |
CN113312903B (zh) | 一种5g移动业务产品词库的构建方法及系统 | |
CN110807096A (zh) | 一种小样本集上的信息对匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |