CN109902296A - 自然语言处理方法、训练方法及数据处理设备 - Google Patents
自然语言处理方法、训练方法及数据处理设备 Download PDFInfo
- Publication number
- CN109902296A CN109902296A CN201910108559.9A CN201910108559A CN109902296A CN 109902296 A CN109902296 A CN 109902296A CN 201910108559 A CN201910108559 A CN 201910108559A CN 109902296 A CN109902296 A CN 109902296A
- Authority
- CN
- China
- Prior art keywords
- network
- processing
- granularity
- word
- natural language
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- 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)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了人工智能领域中的一种自然语言处理方法、训练方法及数据处理设备,该方法包括:获得待处理的自然语言文本;利用训练得到的深度神经网络对所述自然语言文本做处理,输出处理所述自然语言文本得到的目标结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络。本申请中,数据处理设备利用相互解耦的网络来处理自然语言文本中不同粒度的词语,可以有效提高处理自然处理任务的性能。
Description
技术领域
本申请涉及自然语言处理领域,特别涉及一种自然语言处理方法、训练方法及数据处理设备。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
随着人工智能技术的不断发展,越来越多的自然语言处理任务可以采用人工智能技术来实现,例如采用人工智能技术来实现翻译任务。自然语言处理任务可以分为不同的粒度,一般分为字符级(character level)、词语级(word level)、短语级(phrase level)、句子级(sentence level)、篇章级(discourse level)等,这些粒度依次变粗。例如词性标注是词语级任务,命名实体识别(named entity recognition)是短语级任务,句法分析通常是句子级的任务。不同粒度上的信息并不是孤立的,而是相互传递的。例如在做句法分析时,通常也要考虑到词语级和短语级的特征。在一些相对更加复杂的任务中,例如句子的分类、句子与句子之间的语义匹配、句子的翻译或改写,通常需要用到多个粒度上的信息,最后再进行综合。
目前主流的基于深度学习的自然语言处理方法是通过神经网络对自然语言文本做处理。在主流的方法中,神经网络在处理过程中对不同粒度的词语的处理是混合在一起的,得到正确的处理结果的概率较低。因此,需要研究新的方案。
发明内容
本申请实施例提供一种自然语言处理方法、训练方法及数据处理设备,可以避免由较细粒度的信息得到较粗粒度的信息的过程,可以有效改善处理自然语言处理任务的性能。
第一方面本申请实施例提供了一种自然语言处理方法,该方法包括:获得待处理的自然语言文本;利用训练得到的深度神经网络对所述自然语言文本做处理,输出处理所述自然语言文本得到的目标结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述自然语言文本中各词语的粒度;利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至所述第一处理网络;利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第一特征信息做处理,将得到的第一处理结果输出至所述融合网络;利用所述第二处理网络对所述第二特征信息做所述处理,将得到的第二处理结果输出至所述融合网络;利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果;所述第一粒度和所述第二粒度不同。
该深度神经网络可以包括N个特征网络以及N个处理网络,该N个特征网络以及该N个处理网络一一对应,N为大于1的整数。一对相对应的特征网络和处理网络用于处理同一粒度的词语。由于数据处理设备将不同粒度的词语分开进行处理,对各粒度的词语所做的处理操作不依赖于其他粒度的词语的处理结果,这就避免了由较细粒度的信息得到较粗粒度的信息的过程,从而大大降低该数据处理设备得到错误结果的概率。
本申请实施例中,数据处理设备利用深度神经网络独立处理不同粒度的词语,避免了由较细粒度的信息得到较粗粒度的信息的过程,可以有效提高处理自然处理任务的性能。
在一个可选的实现方式中,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
不同粒度的词语的特征不同,采用不同架构的网络来处理不同粒度的词语,可以更有针对性的处理不同粒度的词语。
在该实现方式中,通过不同架构的特征网络或不同架构的处理网络来处理不同粒度的词语,进一步提升数据处理设备处理自然语言处理任务的性能。
在一个可选的实现方式中,所述粒度标注网络的输入为所述自然语言文本,所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:利用所述第一特征网络处理所述第一粒度的词语以得到所述第一特征信息,所述第一特征信息为表示所述第一粒度的词语的向量或矩阵;
所述利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取包括:利用所述第二特征网络处理所述第二粒度的词语以得到所述第二特征信息,所述述第二特征信息为表示所述第二粒度的词语的向量或矩阵。
在该实现方式中,粒度标注网络可以准确地确定自然语言文本中各词语的粒度,以便于各特征网络处理特定粒度的词语。
在一个可选的实现方式中,所述粒度标注网络包括长短期记忆网络LSTM和双向长短期记忆网络BiLSTM;所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:
利用所述粒度标注网络采用如下公式确定所述自然语言文本中各词语的粒度:
hl=BiLSTM([xl;hl-1,hl+1]);
gl=LSTM([hl,zl-1;gl-1]);
zl=GS(Wggl,τ);
其中,公式中的BiLSTM()表示所述LSTM的处理操作,LSTM()表示所述BiLSTM的处理操作,x表示所述自然语言文本中的词,xl表示所述自然语言文本x中的第l个词,h表示所述BiLSMT网络中的隐状态变量,hl、hl-1、hl+1依次表示所述BiLSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语、第(l+1)个词语时的隐状态变量。g表示所述LSTM网络中的隐状态变量,gl、gl-1分别表示所述LSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语时的隐状态变量。z表示词属于参考粒度的概率,zl-1、zl分别表示所述自然语言文本中第l个词语、第(l-1)个词语属于所述参考粒度的概率,所述参考粒度为所述N种粒度中的任一种,GS表示Gumbel Softmax函数,τ是Gumbel Softmax函数中的超参数(temperature),Wg是参数矩阵,即粒度标注网络中的一个参数矩阵。
在该实现方式中,粒度标注网络使用多层LSTM网络的架构来确定自然语言文本中各词语的粒度,可以充分利用已确定的词语的粒度来确定新的词语(待确定粒度的词语)的粒度,实现简单,处理效率高。
在一个可选的实现方式中,所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:
利用所述第一特征网络采用如下公式对所述自然语言文本中第一粒度的词语进行特征提取:
Uz=ENCz(X,Zx);
其中,ENCz表示所述第一特征网络,所述第一特征网络是一个Transformer模型,ENCz()表示所述第一特征网络所做的处理操作,X表示所述自然语言文本,ZX=[z1,z2,…,zL]表示所述标注信息,z1至z1依次表示所述自然语言文本中第一个词语至第L个(最后一个)词语的粒度,Uz表示所述第一特征网络输出的所述第一特征信息。
在该实现方式中,利用特征网络可以准确、快速地提取出相应粒度的词语的特征信息。
在一个可选的实现方式中,所述第一处理结果为包含一个或多个词语的序列,所述利用所述第一处理网络对所述第一特征信息做处理包括:利用所述第一处理网络对输入的所述第一特征信息和所述第一处理网络在处理所述第一特征信息的过程中已输出的词语做处理以得到所述第一处理结果。
在该实现方式中,第一处理网络采用递归的方式来处理对应特征网络输出的特征信息,可以充分利用自然语言文本中各词语的相关性,进而提高处理的效率和准确性。
在一个可选的实现方式中,所述融合网络输出的所述目标结果为包含一个或多个词语的序列,所述利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果包括:利用所述融合网络处理所述第一处理结果、所述第二处理结果以及所述融合网络在处理所第一处理结果和所述第二处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
在该实现方式中,融合网络采用递归的方式来处理各处理网络向其输入的处理结果,可以充分利用自然语言文本中各词语的相关性,进而提高其处理的效率和准确性。
在一个可选的实现方式中,所述融合网络包括至少一个LSTM网络,所述利用所述融合网络处理所述第一处理结果、所述第二处理结果以及所述融合网络在处理所第一处理结果和所述第二处理结果的过程中已输出的序列以确定待输出目标词语包括:
将所述第一处理结果和所述第二处理结果合并得到的向量输入至所述LSTM网络;
利用所述LSTM网络采用如下公式计算待输出参考粒度的词语的概率:
ht=LSMT(ht-1,yt-1,v0,v1);
P(zt|y1:t-1,X)=GS(Wz ht,τ);
其中,ht表示所述LSMT网络处理第t个词时所述LSMT网络中的隐状态变量,ht-1表示所述LSMT网络处理第(t-1)个词时所述LSMT网络中的隐状态变量,LSMT()表示LSMT所做的处理操作,所述LMST网络当前已输出(t-1)个词,所述yt-1表示所述融合网络输出的第(t-1)个词,v0表示所述第一处理结果,v1表示所述第二处理结果,Wz为所述融合网络中的一个参数矩阵,τ为超参数,P(zt|y1:t-1,X)为当前待输出所述参考粒度(粒度z)的词的概率,t为大于1的整数。
利用所述融合网络采用如下公式计算待输出所述目标词语的概率:
其中,PZt(yt|y1:t-1,X)表示在所述参考粒度上,输出所述目标词语yt的概率;P(yt|y1:t-1,X)表示输出所述目标词语的概率。
PZt(yt|y1:t-1,X)可以由处理网络给出。粒度z的处理网络可以向融合网络输入其当前待输出各词语(z粒度的词语)中每个词语被输出的概率。所述融合网络可以计算当前待输出的各词中每个词被输出的概率,并输出被输出的概率最高的词语(目标词语)。
第二方面本申请实施例提供了一种训练方法,该方法包括:将训练样本输入至深度神经网络做处理,得到预测处理结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述训练样本中各词语的粒度;利用所述第一特征网络对所述训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至所述第一处理网络;利用所述第二特征网络对所述训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第三特征信息做目标处理,将得到的第三处理结果输出至所述融合网络;利用所述第二处理网络对所述第四特征信息做所述目标处理,将得到的第四处理结果输出至所述融合网络;利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述预测处理结果;所述第一粒度和所述第二粒度不同;根据所述预测处理结果和标准结果,确定所述训练样本对应的损失;所述标准结果为利用所述深度神经网络处理所述训练样本期望得到的处理结果;利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数。
本申请实施例中,数据处理设备训练可以独立处理不同粒度的词语的深度神经网络,以便于得到能够避免由较细粒度的信息得到较粗粒度的信息的过程的深度神经网络,实现简单。
在一个可选的实现方式中,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
在一个可选的实现方式中,所述粒度标注网络的输入为所述自然语言文本,所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:利用所述第一特征网络处理所述第一粒度的词语以得到所述第三特征信息,所述第三特征信息为表示所述第一粒度的词语的向量或矩阵;
所述利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取包括:利用所述第二特征网络处理所述第二粒度的词语以得到所述第四特征信息,所述述第四特征信息为表示所述第二粒度的词语的向量或矩阵。
在一个可选的实现方式中,所述粒度标注网络包括长短期记忆网络LSTM和双向长短期记忆网络BiLSTM;所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:
利用所述粒度标注网络采用如下公式确定所述自然语言文本中各词语的粒度:
hl=BiLSTM([xl;hl-1,hl+1]);
gl=LSTM([hl,zl-1;gl-1]);
zl=GS(Wggl,τ);
其中,公式中的BiLSTM()表示所述LSTM的处理操作,LSTM()表示所述BiLSTM的处理操作,x表示所述自然语言文本中的词,xl表示所述自然语言文本x中的第l个词,h表示所述BiLSMT网络中的隐状态变量,hl、hl-1、hl+1依次表示所述BiLSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语、第(l+1)个词语时的隐状态变量。g表示所述LSTM网络中的隐状态变量,gl、gl-1分别表示所述LSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语时的隐状态变量。z表示词属于参考粒度的概率,zl-1、zl分别表示所述自然语言文本中第l个词语、第(l-1)个词语属于所述参考粒度的概率,所述参考粒度为所述N种粒度中的任一种,GS表示Gumbel Softmax函数,τ是Gumbel Softmax函数中的超参数(temperature),Wg是参数矩阵,即粒度标注网络中的一个参数矩阵。
在该实现方式中,粒度标注网络使用多层LSTM网络的架构来确定自然语言文本中各词语的粒度,可以充分利用已确定的词语的粒度来确定新的词语(待确定粒度的词语)的粒度,实现简单,处理效率高。
在一个可选的实现方式中,所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:
利用所述第一特征网络采用如下公式对所述自然语言文本中第一粒度的词语进行特征提取:
Uz=ENCz(X,Zx);
其中,ENCz表示所述第一特征网络,所述第一特征网络是一个Transformer模型,ENCz()表示所述第一特征网络所做的处理操作,X表示所述自然语言文本,ZX=[z1,z2,…,zL]表示所述标注信息,z1至z1依次表示所述自然语言文本中第一个词语至第L个(最后一个)词语的粒度,Uz表示所述第一特征网络输出的所述第三特征信息。
在一个可选的实现方式中,所述第三处理结果为包含一个或多个词语的序列,所述利用所述第一处理网络对所述第三特征信息做处理包括:利用所述第一处理网络对输入的所述第三特征信息和所述第一处理网络在处理所述第三特征信息的过程中已输出的词语做处理以得到所述第三处理结果。
在一个可选的实现方式中,所述融合网络输出的所述目标结果为包含一个或多个词语的序列,所述利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述目标结果包括:利用所述融合网络处理所述第三处理结果、所述第四处理结果以及所述融合网络在处理所第三处理结果和所述第四处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
在一个可选的实现方式中,所述融合网络包括至少一个LSTM网络,所述利用所述融合网络处理所述第三处理结果、所述第四处理结果以及所述融合网络在处理所第三处理结果和所述第四处理结果的过程中已输出的序列以确定待输出目标词语包括:
将所述第三处理结果和所述第四处理结果合并得到的向量输入至所述LSTM网络;
利用所述LSTM网络采用如下公式计算待输出参考粒度的词语的概率:
ht=LSMT(ht-1,yt-1,v2,v3);
P(zt|y1:t-1,X)=GS(Wz ht,τ);
其中,ht表示所述LSMT网络处理第t个词时所述LSMT网络中的隐状态变量,ht-1表示所述LSMT网络处理第(t-1)个词时所述LSMT网络中的隐状态变量,LSMT()表示LSMT所做的处理操作,所述LMST网络当前已输出(t-1)个词,所述yt-1表示所述融合网络输出的第(t-1)个词,v2表示所述第三处理结果,v3表示所述第四处理结果,Wz为所述融合网络中的一个参数矩阵,τ为超参数,P(zt|y1:t-1,X)为当前待输出所述参考粒度(粒度z)的词的概率,t为大于1的整数。
利用所述融合网络采用如下公式计算待输出所述目标词语的概率:
其中,PZt(yt|y1:t-1,X)表示在所述参考粒度上,输出所述目标词语yt的概率;P(yt|y1:t-1,X)表示输出所述目标词语的概率。
在一个可选的实现方式中,所述利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数包括:
利用损失函数相对于所述深度神经网络包括的至少一个网络的梯度值,更新所述至少一个网络的参数;所述损失函数用于计算所述预测处理结果和所述标准结果之间的损失;其中,所述第一特征网络、所述第二特征网络、所述第一处理网络、所述第二处理网络中的任一个网络在更新过程中,另外三个网络中任一个网络的参数保持不变。
第三方面本申请实施例提供了一种数据处理设备,该数据处理设备包括:获取单元,用于获得待处理的自然语言文本;处理单元,用于利用训练得到的深度神经网络对所述自然语言文本做处理;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述自然语言文本中各词语的粒度;利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至所述第一处理网络;利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第一特征信息做处理,将得到的第一处理结果输出至所述融合网络;利用所述第二处理网络对所述第二特征信息做所述处理,将得到的第二处理结果输出至所述融合网络;利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果;所述第一粒度和所述第二粒度不同;输出单元,用于输出处理所述自然语言文本得到的目标结果。
本申请实施例中,数据处理设备利用深度神经网络独立处理不同粒度的词语,避免了由较细粒度的信息得到较粗粒度的信息的过程,可以有效提高处理自然处理任务的性能。
在一个可选的实现方式中,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
在一个可选的实现方式中,所述粒度标注网络的输入为所述自然语言文本;所述处理单元,具体用于利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述处理单元,具体用于利用所述第一特征网络处理所述第一粒度的词语以得到所述第一特征信息,所述第一特征信息为表示所述第一粒度的词语的向量或矩阵;
所述处理单元,具体用于利用所述第二特征网络处理所述第二粒度的词语以得到所述第二特征信息,所述第二特征信息为表示所述第二粒度的词语的向量或矩阵。
在一个可选的实现方式中,所述粒度标注网络包括长短期记忆网络LSTM和双向长短期记忆网络BiLSTM;所述处理单元,具体用于利用所述粒度标注网络采用如下公式确定所述自然语言文本中各词语的粒度:
hl=BiLSTM([xl;hl-1,hl+1]);
gl=LSTM([hl,zl-1;gl-1]);
zl=GS(Wggl,τ);
其中,公式中的BiLSTM()表示所述LSTM的处理操作,LSTM()表示所述BiLSTM的处理操作,x表示所述自然语言文本中的词,xl表示所述自然语言文本x中的第l个词,h表示所述BiLSMT网络中的隐状态变量,hl、hl-1、hl+1依次表示所述BiLSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语、第(l+1)个词语时的隐状态变量。g表示所述LSTM网络中的隐状态变量,gl、gl-1分别表示所述LSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语时的隐状态变量。z表示词属于参考粒度的概率,zl-1、zl分别表示所述自然语言文本中第l个词语、第(l-1)个词语属于所述参考粒度的概率,所述参考粒度为所述N种粒度中的任一种,GS表示Gumbel Softmax函数,τ是Gumbel Softmax函数中的超参数(temperature),Wg是参数矩阵,即粒度标注网络中的一个参数矩阵。
在一个可选的实现方式中,所述处理单元,具体用于利用所述第一特征网络采用如下公式对所述自然语言文本中第一粒度的词语进行特征提取:
Uz=ENCz(X,Zx);
其中,ENCz表示所述第一特征网络,所述第一特征网络是一个Transformer模型,ENCz()表示所述第一特征网络所做的处理操作,X表示所述自然语言文本,ZX=[z1,z2,…,zL]表示所述标注信息,z1至z1依次表示所述自然语言文本中第一个词语至第L个(最后一个)词语的粒度,Uz表示所述第一特征网络输出的所述第一特征信息。
在一个可选的实现方式中,所述第一处理结果为包含一个或多个词语的序列;所述处理单元,具体用于利用所述第一处理网络对输入的所述第一特征信息和所述第一处理网络在处理所述第一特征信息的过程中已输出的词语做处理以得到所述第一处理结果。
在一个可选的实现方式中,所述融合网络输出的所述目标结果为包含一个或多个词语的序列;所述处理单元,具体用于利用所述融合网络处理所述第一处理结果、所述第二处理结果以及所述融合网络在处理所第一处理结果和所述第二处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
在一个可选的实现方式中,所述融合网络包括至少一个LSTM网络;
所述处理单元,具体用于利用将所述第一处理结果和所述第二处理结果合并得到的向量输入至所述LSTM网络;
所述处理单元,具体用于利用所述LSTM网络采用如下公式计算待输出参考粒度的词语的概率:
ht=LSMT(ht-1,yt-1,v0,v1);
P(zt|y1:t-1,X)=GS(Wz ht,τ);
其中,ht表示所述LSMT网络处理第t个词时所述LSMT网络中的隐状态变量,ht-1表示所述LSMT网络处理第(t-1)个词时所述LSMT网络中的隐状态变量,LSMT()表示LSMT所做的处理操作,所述LMST网络当前已输出(t-1)个词,所述yt-1表示所述融合网络输出的第(t-1)个词,v0表示所述第一处理结果,v1表示所述第二处理结果,Wz为所述融合网络中的一个参数矩阵,τ为超参数,P(zt|y1:t-1,X)为当前待输出所述参考粒度(粒度z)的词的概率,t为大于1的整数。
所述处理单元,具体用于利用所述融合网络采用如下公式计算待输出所述目标词语的概率:
其中,PZt(yt|y1:t-1,X)表示在所述参考粒度上,输出所述目标词语yt的概率;P(yt|y1:t-1,X)表示输出所述目标词语的概率。
第四方面本申请实施例提供了另一种数据处理设备,该数据处理设备包括:处理单元,用于将训练样本输入至深度神经网络做处理,得到预测处理结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述训练样本中各词语的粒度;利用所述第一特征网络对所述训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至所述第一处理网络;利用所述第二特征网络对所述训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第三特征信息做目标处理,将得到的第三处理结果输出至所述融合网络;利用所述第二处理网络对所述第四特征信息做所述目标处理,将得到的第四处理结果输出至所述融合网络;利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述预测处理结果;所述第一粒度和所述第二粒度不同;所述处理单元,还用于根据所述预测处理结果和标准结果,确定所述训练样本对应的损失;所述标准结果为利用所述深度神经网络处理所述训练样本期望得到的处理结果;利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数。
本申请实施例中,数据处理设备训练可以独立处理不同粒度的词语的深度神经网络,以便于得到能够避免由较细粒度的信息得到较粗粒度的信息的过程的深度神经网络,实现简单。
在一个可选的实现方式中,所述第一特征网络和所述第二特征网络架构不同,和/或,所述第一处理网络和所述第二处理网络架构不同。
在一个可选的实现方式中,所述粒度标注网络的输入为所述自然语言文本;所述处理单元,具体用于利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述处理单元,具体用于利用所述第一特征网络处理所述第一粒度的词语以得到所述第三特征信息,所述第三特征信息为表示所述第一粒度的词语的向量或矩阵;
所述处理单元,具体用于利用所述第二特征网络处理所述第二粒度的词语以得到所述第四特征信息,所述述第四特征信息为表示所述第二粒度的词语的向量或矩阵。
在一个可选的实现方式中,所述粒度标注网络包括长短期记忆网络LSTM和双向长短期记忆网络BiLSTM;所述处理单元,具体用于利用所述粒度标注网络采用如下公式确定所述自然语言文本中各词语的粒度:
hl=BiLSTM([xl;hl-1,hl+1]);
gl=LSTM([hl,zl-1;gl-1]);
zl=GS(Wggl,τ);
其中,公式中的BiLSTM()表示所述LSTM的处理操作,LSTM()表示所述BiLSTM的处理操作,x表示所述自然语言文本中的词,xl表示所述自然语言文本x中的第l个词,h表示所述BiLSMT网络中的隐状态变量,hl、hl-1、hl+1依次表示所述BiLSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语、第(l+1)个词语时的隐状态变量。g表示所述LSTM网络中的隐状态变量,gl、gl-1分别表示所述LSMT网络处理所述自然语言文本中的第l个词语、第(l-1)个词语时的隐状态变量。z表示词属于参考粒度的概率,zl-1、zl分别表示所述自然语言文本中第l个词语、第(l-1)个词语属于所述参考粒度的概率,所述参考粒度为所述N种粒度中的任一种,GS表示Gumbel Softmax函数,τ是Gumbel Softmax函数中的超参数(temperature),Wg是参数矩阵,即粒度标注网络中的一个参数矩阵。
在一个可选的实现方式中,所述处理单元,具体用于利用所述第一特征网络采用如下公式对所述自然语言文本中第一粒度的词语进行特征提取:
Uz=ENCz(X,Zx);
其中,ENCz表示所述第一特征网络,所述第一特征网络是一个Transformer模型,ENCz()表示所述第一特征网络所做的处理操作,X表示所述自然语言文本,ZX=[z1,z2,…,zL]表示所述标注信息,z1至z1依次表示所述自然语言文本中第一个词语至第L个(最后一个)词语的粒度,Uz表示所述第一特征网络输出的所述第三特征信息。
在一个可选的实现方式中,所述第一处理结果为包含一个或多个词语的序列;所述处理单元,具体用于利用所述第一处理网络对输入的所述第三特征信息和所述第一处理网络在处理所述第三特征信息的过程中已输出的词语做处理以得到所述第三处理结果。
在一个可选的实现方式中,所述融合网络输出的所述目标结果为包含一个或多个词语的序列;所述处理单元,具体用于利用所述融合网络处理所述第三处理结果、所述第四处理结果以及所述融合网络在处理所第三处理结果和所述第四处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
在一个可选的实现方式中,所述融合网络包括至少一个LSTM网络;所述处理单元,具体用于将所述第三处理结果和所述第四处理结果合并得到的向量输入至所述LSTM网络;
利用所述LSTM网络采用如下公式计算待输出参考粒度的词语的概率:
ht=LSMT(ht-1,yt-1,v2,v3);
P(zt|y1:t-1,X)=GS(Wz ht,τ);
其中,ht表示所述LSMT网络处理第t个词时所述LSMT网络中的隐状态变量,ht-1表示所述LSMT网络处理第(t-1)个词时所述LSMT网络中的隐状态变量,LSMT()表示LSMT所做的处理操作,所述LMST网络当前已输出(t-1)个词,所述yt-1表示所述融合网络输出的第(t-1)个词,v2表示所述第三处理结果,v3表示所述第四处理结果,Wz为所述融合网络中的一个参数矩阵,τ为超参数,P(zt|y1:t-1,X)为当前待输出所述参考粒度(粒度z)的词的概率,t为大于1的整数。
利用所述融合网络采用如下公式计算待输出所述目标词语的概率:
其中,PZt(yt|y1:t-1,X)表示在所述参考粒度上,输出所述目标词语yt的概率;P(yt|y1:t-1,X)表示输出所述目标词语的概率。
在一个可选的实现方式中,所述处理单元,具体用于利用损失函数相对于所述深度神经网络包括的至少一个网络的梯度值,更新所述至少一个网络的参数;所述损失函数用于计算所述预测处理结果和所述标准结果之间的损失;其中,所述第一特征网络、所述第二特征网络、所述第一处理网络、所述第二处理网络中的任一个网络在更新过程中,另外三个网络中任一个网络的参数保持不变。
第五方面本申请实施例提供了又一种数据处理设备,该数据处理设备包括:处理器、存储器、输入设备以及输出设备,该存储器用于存储代码;该处理器通过读取该存储器中存储的该代码以用于执行第一方面或上述第二方面提供的方法,该输入设备用于获得待处理的自然语言文本,该输出设备用于输出处理器处理该自然语言文本得到的目标结果。
第六方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面或上述第二方面方法。
第七方面本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如上述第一方面或上述第二方面方法。
附图说明
图1A至图1C为自然语言处理系统的应用场景;
图2为本申请实施例提供的一种自然语言处理方法流程图;
图3为本申请实施例提供的一种深度神经网络的结构示意图;
图4为本申请实施例提供的一种粒度标注网络301的结构示意图;
图5为本申请实施例提供的一种特征网络的结构示意图;
图6为本申请实施例提供的一种深度神经网络的结构示意图;
图7为本申请实施例提供的一种训练方法流程图;
图8为本申请实施例提供的一种数据处理设备的结构示意图;
图9为本申请实施例提供的一种神经网络处理器的结构示意图;
图10为本申请实施例提供的一种智能终端的部分结构的框图;
图11为本申请实施例提供的另一种数据处理设备的部分结构的框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。“和/或”用于表示在其所连接的两个对象之间选择一个或全部。例如“A和/或B”表示A、B或A+B。
目前,用于处理自然语言处理任务的网络模型中,例如典型的谷歌神经翻译系统(Google Neural Machine Translation,GNMT)、Transformer等模型,都没有对自然语言文本中不同粒度的词语所做的操作进行分离。也就是说,在当前采用的方案中,对不同粒度之间的词语所做的操作是非解耦的。当前采用某种深度神经网络来处理自然语言处理任务时,通常通过池化操作来综合较细粒度的特征,形成较粗粒度的特征。例如,通过池化操作来综合词语级和短语级的特征以形成句子级的特征。可以理解,若得到的较细粒度的特征是错误的,则由较细粒度的特征得到的较粗粒度的特征也会是错误的。这使得我们在理解和应用深度神经网络处理自然语言处理任务时碰到一些困难,例如当有错误发生时,不能定位哪个粒度的操作出了问题。对某种粒度的词语的操作可以理解为某种粒度的操作。例如,对短语级的词语的操作为短语级的操作,对句子级的词语的操作为句子级的操作。本申请方案的主要原理是采用相互解耦的网络来处理不同粒度的词语以得到不同粒度的词语的处理结果,进而融合不同粒度的词语的处理结果得到最终结果。也就是说,处理不同粒度的词语的多个网络之间是解耦的。两个之间网络是解耦的可以理解为这两个网络所做的处理互不影响。由于本申请采用的深度神经网络具备解耦的能力,采用本申请方案处理自然语言处理任务至少有以下好处:
可解释性:当利用深度神经网络处理某个自然语言文本得到错误结果时,可以准确地定位到是哪个粒度的操作出了问题,以便后续分析和修正。
可控性:在本申请方案中,由于处理不同粒度的词语的网络之间是解耦的,因此可以分析或调整深度神经网络实现不同粒度的操作的网络。本申请采用的深度神经网络包括多个相互之间解耦的用于处理不同粒度的词语的子网络,可以有针对性的优化这些子网络,以保证在各粒度上的操作都是可控的。
可复用、可迁移:不同粒度上的操作具有不同的可复用或可迁移特性。通常,在机器翻译或者句子改写中,句子级别的操作(句式的翻译或变换)更容易复用或更容易迁移到其他领域,短语或词语级的操作具有更多领域的特征。本申请方案中,由于深度神经网络包括多个独立的用于处理不同粒度的词语的子网络,采用某个领域的样本训练得到的一部分子网络,可以应用到其他领域。
下面介绍本申请方案可以应用的场景。
如图1A所示,一种自然语言处理系统包括用户设备以及数据处理设备。
所述用户设备可以是手机、个人电脑、平板电脑、可穿戴设备、个人数字助理、游戏机、信息处理中心等智能终端。所述用户设备为自然语言数据处理的发起端,作为自然语言处理任务(例如翻译任务、复述任务等)的发起方,通常用户通过所述用户设备发起自然语言处理任务。复述任务是将一个自然语言文本转换为另一个与该自然语言文本意思相同但表达不同的文本的任务。例如,“What makes the second world war happen”可以复述为“What is the reason of world war II”。
所述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。所述数据处理设备通过交互接口接收来自所述智能终端的查询语句/语音/文本等问句,再通过存储数据的存储器以及执行数据处理的处理器进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理。所述存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,所述数据库可以在数据处理设备上,也可以在其它网络服务器上。
如图1B所示为自然语言处理系统的另一个应用场景。此场景中智能终端直接作为数据处理设备,直接接收来自用户的输入并直接由智能终端本身的硬件进行处理,具体过程与图1A相似,可参考上面的描述,在此不再赘述。
如图1C所示,所述用户设备可以是本地设备101或102,所述数据处理设备可以是执行设备210,其中数据存储系统250可以集成在所述执行设备210上,也可以设置在云上或其它网络服务器上。
本申请方案可以应用到多种场景,下面介绍利用数据处理设备如何执行自然语言处理任务。图2为本申请实施例提供的一种自然语言处理方法流程图,如图2所示,该方法可包括:
201、获得待处理的自然语言文本。
该待处理的自然语言文本可以是数据处理设备当前待处理的一个句子。该数据处理设备可以逐句对接收到的自然语言文本或者识别语音得到的自然语言文本做处理。
在图1A和图1C场景中,获得待处理的自然语言文本可以是数据处理设备接收用户设备发送的语音或文本等数据,根据接收到的语音或文本等数据获得待处理的自然语言文本。举例来说,数据处理设备接收到用户设备发送的2个句子,该数据处理设备获取第1个句子(待处理的自然语言文本),利用训练得到的深度神经网络对该第1个句子做处理,输出处理该第1个句子得到结果;获取第2个句子(待处理的自然语言文本),利用训练得到的深度神经网络对该第2个句子做处理,输出处理该第2个句子得到结果。
在图1B场景中,获得待处理的自然语言文本可以是智能终端直接接收用户输入的语音或文本等数据,根据接收到的语音或文本等数据获得待处理的自然语言文本。举例来说,智能终端接收到用户输入的2个句子,该智能终端获取第1个句子(待处理的自然语言文本),利用训练得到的深度神经网络对该第1个句子做处理,输出处理该第1个句子得到结果;获取第2个句子(待处理的自然语言文本),利用训练得到的深度神经网络对该第2个句子做处理,输出处理该第2个句子得到结果。
202、利用训练得到的深度神经网络对该自然语言文本做处理,输出处理该自然语言文本得到的目标结果。
该深度神经网络可以包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,数据处理设备利用该深度神经网络对该自然语言文本所做的处理可以包括:利用该粒度标注网络确定该自然语言文本中各词语的粒度;利用该第一特征网络对该自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至该第一处理网络;利用该第二特征网络对该自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至该第二处理网络;利用该第一处理网络对该第一特征信息做目标处理,将得到的第一处理结果输出至该融合网络;利用该第二处理网络对该第二特征信息做该目标处理,将得到的第二处理结果输出至该融合网络;利用该融合网络融合该第一处理结果和该第二处理结果得到该目标结果;该第一粒度和该第二粒度不同。该第一粒度和该第二粒度可以为字符级、词语级、短语级、句子级中任意两种不同的粒度。本申请中,一个词语的粒度是指该词语在自然语言文本(句子)中所属的粒度。该目标处理可以是翻译、复述、摘要生成等。该目标结果为处理该自然语言文本得到的另一个自然语言文本。例如,目标结果为翻译该自然语言文本得到的一个自然语言文本。又例如,目标结果为复述该自然语言文本得到的另一个自然语言文本。待处理的自然语言文本可以视为输入序列,数据处理设备处理该自然语言文本得到的目标结果(另一个自然语言文本)可以视为生成序列。
该深度神经网络可以包括N个特征网络以及N个处理网络,该N个特征网络以及该N个处理网络一一对应,N为大于1的整数。一对相对应的特征网络和处理网络用于处理同一粒度的词语。例如,第一特征网络对自然语言文本中第一粒度的词语进行特征提取以得到第一特征信息,第一处理网络对该第一特征信息做目标处理。可以理解,该深度神经网络除了包括第一特征网络和第二特征网络之外,还可以包括用于对其他粒度(除第一粒度和第二粒度之外的粒度)的词语进行特征提取的特征网络;该深度神经网络除了包括第一处理网络和第二处理网络之外,还可以包括用于对其他粒度(除第一粒度和第二粒度之外的粒度)的词语的特征信息做目标处理的处理网络。本申请中,不对深度神经网络包括的特征网络的个数和处理网络的个数作限定。若自然语言文本中的词语被划为N种粒度,则该深度神经网络包括N个特征网络以及N个处理网络。也就是说,如果按照N种粒度划为自然语言文本中的各词语,则深度神经网络包括N个特征网络和N个特征网络。例如,自然语言文本中的词语划分为短语级词语和句子级词语,则深度神经网络包括两个特征网络,一个特征网络用于对短语级的词语进行特征提取以得到短语级的词语的特征信息,另一个特征网络用于对句子级的词语进行特征提取以得到句子级的词语的特征信息;该深度神经网络包括两个处理网络,一个处理网络用于对短语级的词语的特征信息做目标处理,另一个处理网络用于对句子级的词语的特征信息做目标处理。在该深度神经网络包括N个特征网络以及N个处理网络的情况下,该N个特征网络输出N个特征信息,该N个处理网络输出N个处理结果,该融合网络用于融合该N个处理结果得到最终的输出结果。也就是说,该融合网络并不限于融合两个处理结果。
该N个特征网络中任意两个特征网络对自然语言文本中不同粒度的词语进行特征提取;该N个处理网络中任意两个处理网络对不同粒度的词语的特征信息做目标处理。可选的,该N个特征网络中任意两个特征网络不共享参数;该N个处理网络中任意两个处理网络不共享参数。该目标处理可以是翻译、复述、摘要生成等。该第一特征网络和该第二特征网络的参数不同,且采用的架构相同或不同。例如,第一特征网络采用深度神经网络架构,第二特征网络采用Transformer架构。该第一处理网络和该第二处理网络的参数不同,且采用的架构相同或不同。例如,第一处理网络采用深度神经网络架构,第二处理网络采用Transformer架构。可以理解,该深度神经网络包括的多个特征网络采用的架构可以不同,该深度神经网络包括的多个处理网络采用的架构也可以不同。
本申请实施例中,数据处理设备利用深度神经网络中相互解耦的网络分别处理不同粒度的词语,可以有效提高处理自然处理任务的性能。
下面结合本申请采用的深度神经网络的结构来描述如何对自然语言文本做处理的流程。图3为本申请实施例提供的一种深度神经网络的结构示意图,该深度神经网络可以包括N个特征网络和N个处理网络,为方便理解图中仅示出2个特征网络(第一特征网络和第二特征网络)和2个处理网络(第一处理网络和第二处理网络)。如图3所示,301为粒度标注网络,302为第一特征网络,303为第二特征网络,304为第一处理网络,305为第二处理网络,306为融合网络。数据处理设备利用图3中的深度神经网络对自然语言文本的处理流程如下:
311、粒度标注网络301按照N种粒度确定自然语言文本中每个词语的粒度以得到该自然语言文本的标注信息,向第一特征网络302和第二特征网络303输出该标注信息。
粒度标注网络301的输入为待处理的自然语言文本;输出可以为标注信息,也可以为标注信息以及该自然语言文本。第一特征网络302的输入和第二特征网络303的输入均为该标注信息以及该自然语言文本。该标注信息用于描述自然语言文本中每个词语的粒度或者该自然语言文本中每个词语分别属于该N种粒度的概率;N为大于1的整数。
粒度标注网络301对输入的自然语言文本(输入序列)中的每个词(假设以词为基本处理单位)所属的粒度进行标注,即确定该自然语言文本中每个词的标注。假设我们考虑两种粒度:短语级粒度和句子级粒度,输入的自然语言文本(语句)中的每个词的粒度都被确定为这两种粒度中的一种。举例来说,粒度标注网络301确定输入的自然语言文本“whatmakes the second world war happen”中每个词语的粒度,其中,“what”、“makes”、“happen”等词被确定为句子级粒度,“the”、“second”、“world”、“war”等词被确定为短语级粒度。值得注意的是,对于待处理的自然语言文本中各词语所属的粒度,并没有标注数据(lable),而是由粒度标注网络301确定其输入的自然语言文本中各词语的粒度。
312、第一特征网络302利用输入的自然语言文本和标注信息进行特征提取,将得到的第一特征信息输出至第一处理网络304。
该第一特征信息为表示第一粒度的词语的向量或矩阵。第一特征网络302的输入为自然语言文本和标注信息,可以对该自然语言文本中第一粒度的词语进行特征提取,并得到自然语言文本中第一粒度的词语的向量或矩阵表示,即该第一特征信息。
313、第二特征网络303利用输入的自然语言文本和标注信息进行特征提取,将得到的第二特征信息输出至第二处理网络305。
该第二特征信息为表示第二粒度的词语的向量或矩阵。第二特征网络303的输入为自然语言文本和标注信息,可以对该自然语言文本中第二粒度的词语进行特征提取,并得到自然语言文本中第二粒度的词语的向量或矩阵表示,即该第二特征信息。本申请实施例不对数据处理设备执行步骤313和步骤312的顺序做限定,步骤313和步骤312可以同时执行,也可以先执行步骤312再执行步骤313,还可以先执行步骤313再执行步骤312。
314、第一处理网络304利用输入的第一特征信息和第一处理网络304在处理该第一特征信息的过程中已输出的处理结果做处理以得到第一处理结果。
第一处理网络304通过递归的方式对输入的该第一特征信息做处理(例如翻译、复述、摘要提取等),即第一处理网络304以其对应的第一特征网络302的输出(第一特征信息)以及其之前已经输出的处理结果(序列)为输入,通过深度神经网络计算出向量或矩阵的表示(第一处理结果)。
315、第二处理网络305利用输入的第二特征信息和第二处理网络305在处理该第二特征信息的过程中已输出的处理结果做处理以得到第二处理结果。
第二处理网络305通过递归的方式对输入的该第二特征信息做处理(例如翻译、复述、摘要提取等),即第二处理网络305以其对应的第二特征网络303的输出(第二特征信息)以及其之前已经输出的处理结果(序列)为输入,通过深度神经网络计算出向量或矩阵的表示(第二处理结果)。本申请实施例不对数据处理设备执行步骤314和步骤315的顺序做限定,步骤314和步骤315可以同时执行,也可以先执行步骤314再执行步骤315,还可以先执行步骤315再执行步骤314。
316、融合网络306利用第一处理结果、第二处理结果以及融合网络306在处理该第一处理结果和该第二处理结果的过程中已输出的处理结果,确定待输出目标词语,输出该目标词语。
该目标词语包含于该第一处理结果或该第二处理结果。融合网络306可以将不同粒度的处理网络的输出进行融合,即确定当前待输出词的粒度进而确定待输出的词。例如,第一步确定待输出“句子级”粒度的词语,输出“what”;第二步确定待输出“句子级”粒度的词语,输出“is”;重复之前的操作,直至最终完成输出语句(对应于目标结果)的生成。需要指出的是,上述步骤311至316均通过深度神经网络计算完成。
本申请实施例中,数据处理设备利用不同粒度的特征网络和不同粒度的处理网络独立处理不同粒度的词语,可以有效提高得到正确结果的概率。
下面结合粒度标注网络301的结构来描述粒度标注网络301如何确定自然语言文本中各词语的粒度。图4为本申请实施例提供的一种粒度标注网络301的结构示意图。如图4所示,粒度标注网络301包括长短期记忆网络(Long Short-Term Memory,LSTM)402和BiLSTM(双向LSTM)网络401。从图4可以看出,粒度标注网络301使用多层LSTM网络的架构。BiLSTM401的输入为自然语言文本,LSTM402的输出为标注信息,即每个词语的粒度标签或者每个词分别属于各种粒度的概率。粒度标注网络301用于预测输入句子(自然语言文本)中的每个词所对应的粒度。可选的,利用BiLSTM网络401将输入的自然语言文本转换成向量,作为下一层的LSTM网络402的输入;LSTM网络402计算该自然语言文本中每一个词属于每种粒度的概率并输出。为了保证整个粒度标注网络301的可微分,同时进一步地解耦开不同粒度的信息,标注信息可以使用GS(Gumbel-Softmax)函数代替常用的Softmax操作。这种情况下,每个词都有属于每种粒度的概率,且这个值接近0或1。
下面借助数学公式来描述粒度标注网络301预测自然语言文本中各词语的粒度的方式。BiLSTM网络401的处理过程对应的数学公式如下:
hl=BiLSTM([xl;hl-1,hl+1]);
LSTM网络402的处理过程对应的数学公式如下:
gl=LSTM([hl,zl-1;gl-1]);
zl=GS(Wggl,τ);
其中,公式中的BiLSTM()表示双向递归深度神经网络的处理,LSTM()表示(单向)递归深度神经网络的处理,l表示词的位置的角标,x表示输入句子(自然语言文本)中的词,xl表示该输入句子x中的第l个词,h表示BiLSMT网络401中的隐状态变量(hidden states),hl、hl-1、hl+1依次表示BiLSMT网络401处理该输入句子中的第l个词语、第(l-1)个词语、第(l+1)个词语时的隐状态变量。g表示(单向)LSTM网络中的隐状态变量,其计算过程遵从LSTM网络的计算规则,gl、gl-1分别表示LSTM网络402处理该输入句子中的第l个词语、第(l-1)个词语时的隐状态变量。z表示词属于某个粒度(短语级粒度、句子级粒度或其他级别的粒度)的概率,zl-1、zl分别表示该输入句子中第l个词语、第(l-1)个词语属于某个粒度的概率,GS表示Gumbel Softmax函数,τ是Gumbel Softmax函数中的超参数(temperature),Wg是参数矩阵,即粒度标注网络中的一个参数矩阵。
粒度标注网络301使用多层LSTM网络的架构来确定自然语言文本中各词语的粒度,可以充分利用已确定的词语的粒度来确定新的词语(待确定粒度的词语)的粒度,实现简单,处理效率高。
下面结合第一特征网络302的结构和第二特征网络303的结构来介绍特征网络的特征提取操作。图5为本申请实施例提供的一种第一特征网络302和第二特征网络303的结构示意图。如图5所示,第一特征网络302的输入和第二特征网络303的输入相同,第一特征网络302对自然语言文本中第一粒度的词语进行特征提取,第二特征网络303对自然语言文本中第二粒度的词语进行特征提取。第一特征网络302和第二特征网络303采用的网络架构可以相同,也可以不同。处理某种粒度的词语的特征网络可以理解为该粒度的特征网络,不同粒度的特征网络处理不同粒度的词语。第一特征网络302和第二特征网络303的参数不共享,且超参数的设置不同。可选的,第一特征网络302和第二特征网络303都采用Transformer模型,此模型基于多头自注意力机制(Multi-head Self-Attention),处理输入语句(自然语言文本)中某一粒度的词语,从而构造一个向量作为该粒度的词语的特征信息。在粒度特征网络301确定自然语言文本中每个词语的粒度的情况下,第一特征网络302可以仅关注输入语句(自然语言文本)中的第一粒度的词语;第二特征网络303可以仅关注输入语句(自然语言文本)中的第二粒度的词语。在粒度特征网络301确定自然语言文本中每个词语分别属于上述N种粒度的概率的情况下,第一特征网络302可以重点关注输入语句(自然语言文本)中的第一粒度的词语;第二特征网络303可以重点关注输入语句(自然语言文本)中的第二粒度的词语。在这种情况下,对于第一特征网络302来说,其重点关注输入语句中属于第一粒度的概率较高的词语;对于第二特征网络303来说,其重点关注输入语句中属于第二粒度的概率较高的词语。可以理解,一个词属于第一粒度的概率越高,第一特征网络302对该词语的关注度越高。
如5所示,第一特征网络302可以采用限定窗口的自注意力(Self-Attention)机制(类似深度神经网络的机制,但其权重仍由attention计算得出。对于输入语句(自然语言文本),第一特征网络302会重点关注该输入语句中第一粒度的词,而忽视其他粒度层级上的词。第一特征网络302可以是短语级粒度的特征网络,提取每个词语的特征时仅关注该词相邻的两个词语,如图5所示。第二特征网络303可以采用整句范围的Self-Attention机制,从而能够关注到句子全局的信息。第二特征网络303可以是句子级粒度的特征网络,提取每个词语的特征时都关注整个输入语句,如图5所示。对于输入语句(自然语言文本),第二特征网络303会重点关注该输入语句中第二粒度的词,而忽略其他粒度层级上的词。Transformer模型是本领域常用的一种模型,这里不再详述该模型的工作原理。最终,第一特征网络302可以得到输入语句(自然语言文本)中第一粒度的各词语的向量表示(第一特征信息);第二特征网络303可以得到输入语句(自然语言文本)中第二粒度的各词语的向量表示(第二特征信息)。在实际应用中,通过深度神经网络(Transformer)的计算,每个粒度上的特征网络得到该粒度上的词语的向量表示,记为Uz。
下面借助数学公式来描述第一特征网络302和第二特征网络303实现的处理操作。第一特征网络302和第二特征网络303实现的处理操作对应的数学公式如下:
Uz=ENCz(X,Zx);
其中,z表示粒度层级的指标(例如z=0表示词语级粒度,z=1表示句子级粒度),ENCz表示粒度z上的特征网络(第一特征网络或第二特征网络),特征网络ENCz是一个Transformer模型,ENCz()表示特征网络所做的处理操作,X表示特征网络的输入语句(自然语言文本),ZX=[z1,z2,…,zL]表示该输入语句的标注信息(粒度层级),该标注信息是由粒度标注网络的输出决定的,z1至z1依次表示该输入语句中第一个词语至第L个(最后一个)词语的粒度,Uz表示特征网络ENCz的最终输出。特征网络的输入为输入语句X以及标注信息ZX。在粒度标注网络301输出的标注信息为自然语言文本中每个词语的粒度的情况下,特征网络输入的输入语句的标注信息为粒度标注网络301输出的标注信息。例如,粒度标注网络301输出的标注信息为[1100001],这些二进制数值依次表示输入语句中第一个词语至最后一个词语的粒度,0表示词语级粒度,1表示句子级粒度。在粒度标注网络301输出的标注信息为自然语言文本中每个词语分别属于上述N种粒度的概率的情况下,特征网络输入的输入语句的标注信息为根据粒度标注网络301输出的标注信息得到的标注信息。在实际应用中,数据处理设备可以对粒度标注网络301输出的标注信息做进一步处理以得到可以输入至特征网络的标注信息。
在一个可选的实现方式中,数据处理设备将自然语言文本中每个词语属于最大概率的那种粒度作为每个词语的粒度。举例来说,输入语句(自然语言文本)中某个词语属于短语级粒度、句子级粒度的概率分别为0.85和0.15,则该词语的粒度为短语级粒度。又举例来说,按照短语级粒度和句子级粒度划为自然语言文本中的各词语的粒度,粒度标注网络301输出的标注信息为[0.92 0.88 0.08 0.07 0.04 0.06 0.97],该标注信息中的数值依次表示该自然语言文本中第一个词语至最后一个词语分别属于句子级粒度的概率,数据处理设备可以将标注信息中小于0.5的数值置为0,大于或等于0.5的数值置为1,得到新的标注信息[1100001]并输入至特征网络。
在一个可选的实现方式中,数据处理设备根据自然语言文本中每个词语分别属于上述N种粒度的概率进行采样,利用采样得到的每个词语所属的粒度得到该自然语言文本的标注信息,并输入至特征网络。
深度神经网络包括的各特征网络独立处理不同粒度的词语,采用不同架构的网络来处理不同粒度的词语,特征提取性能较好。
下面结合第一特征网络302、第二特征网络303、第一处理网络304、第二处理网络305以及融合网络306的结构来介绍处理网络所做的处理以及融合网络306所做的处理。
图6为本申请实施例提供的一种深度神经网络的结构示意图,图6未示出粒度标注网络。图6所示,第一处理网络304的输入为第一特征网络302输出的第一特征信息以及第一处理网络304在处理该第一特征信息的过程出已输出的处理结果(词语);第二处理网络305的输入为第二特征网络303输出的第二特征信息以及第二处理网络305在处理该第二特征信息的过程出已输出的处理结果(词语);融合网络306的输入为第一处理结果、第二处理结果以及在处理该第一处理结果和该第二处理结果的过程中已输出的词语,融合网络306的输出为融合该第一处理结果和该第二处理结果得到的目标结果。第一处理网络304和第二处理网络305采用的架构可以相同,也可以不同。第一处理网络304和第二处理网络305可以不共享参数。
处理某种粒度的词语的处理网络可以理解为该粒度的处理网络,不同粒度的处理网络处理不同粒度的词语。也就是说,每种粒度有一个对应的处理网络。举例来说,自然语言文本中的各词语所属的粒度被分为短语级粒度和句子级粒度,深度神经网络包括一个短语级粒度的处理网络以及一个句子级粒度的处理网络。不同粒度的处理网络之间是解耦的,意味着它们不共享参数,并且可以采用不同的架构。例如,短语级粒度的处理网络采用深度神经网络架构,句子级粒度的处理网络采用Transformer架构。处理网络可以每次输出一个词语以及该词语的粒度。处理网络可以通过递归的方式进行,即每种粒度的处理网络以其对应粒度的特征网络的输出以及其之前已经输出的词语为输入,计算当前待输出的多个词语的概率,并输出概率最高的词以及该词对应的标注信息。可选的,处理网络利用其输入计算当前待输出的每个词语的概率,并根据每个词语的概率进行采样,输出采样得到的词语以及该词对应的标注信息。可选的,处理网络利用其输入计算其当前待输出每个词语的概率(即当前每个词语被输出的概率),输出其当前待输出每个词语的概率。举例来说,处理网络当前待输出的词语有F个,该处理网络利用其输入计算其当前待输出第1个词语的概率、待输出第2个词语的概率、待输出第F个词语的概率,并将这些概率输入至融合网络,F为大于1的整数。一个词对应的标注信息可以是该词属于某种粒度的概率,也可以是该词的粒度,还可以是该词分别属于各种粒度的概率。
第一处理网络302所做的处理可以如下:第一步、第一处理网络302对输入的第一特征信息做处理以预测当前所需输出的第一词语(一个词语),输出该第一词语和该第一词语对应的标注信息;第二步、第一处理网络302对输入的第一特征信息和该第一词语做处理以预测当前所需输出的第二词语(一个词语),输出该第二词语和该第二词语对应的标注信息;第一处理网络302对输入的第一特征信息、该第一词语、该第二词语做处理以预测当前所需输出的第三词语(一个词语),输出该第三词语和该第三词语对应的标注信息;重复之前的步骤直到完成对该第一处理结果的处理。应理解,深度神经网络包括的每个处理网络可以采用与第一处理网络302类似的方式对输入的特征信息做处理。举例来说,某个处理网络的输入为其对应的特征网络对“a good geologist”做特征提取得到的特征信息,该处理网络对输入的该特征信息做处理,预测当前需要输出“a”并输出;该处理网络对输入的该特征信息以及之前输出的“a”做处理,预测当前需要输出“great”并输出;该处理网络对输入的该特征信息、之前输出的“a”和“great”做处理,预测当前需要输出“geologist”并输出。
如图6所示,第一处理网络304接收第一特征网络302的输入以及其已经输出的词语进行计算,其计算方式是采用限定窗口的Self-Attention机制;第二处理网络305接收第二特征网络303的输入以及其已经输出的词语进行计算,其计算方式是采用整句范围的Self-Attention机制。每个粒度上的处理网络得到的处理结果记为Vz,z表示粒度层级的指标,即粒度z。第一处理网络304和第二处理网络305也可以采用不同的架构。下面介绍融合网络305对各处理网络输入的处理结果所做的操作。
融合网络306可以将不同粒度上的处理网络输出的处理结果进行融合,得到目标结果。融合网络306的输出为包含词语的序列。融合网络306的输入为各处理网络的处理结果(第一处理结果和第二处理结果)以及融合网络306在处理这些处理结果的过程中已输出的序列。融合网络306所做的操作可以如下:融合网络306将各处理网络输入的各处理结果合并为一个向量;将该向量输入至一个LSTM网络做处理以确定当前待输出粒度的词,即确定当前待输出哪一个粒度级别的词;融合网络306输出该粒度的处理网络当前待输出的目标词语。所述将该向量输入至一个LSTM网络做处理以确定当前待输出粒度的词可以是将该向量输入至一个LSTM网络做处理以确定上述N种粒度中每种粒度的词被输出的概率,进而确定当前待输出粒度的词;其中,该待输出粒度的词当前被输出的概率最高。该粒度为上述N种粒度中的任一种。该目标词语为该待输出粒度的处理网络当前待输出的多个词语中被输出的概率最高的词语。举例来说,参考粒度的处理网络当前待输出第1个词、第2个词以及第3个词的概率分别为0.06、0.8、0.14,该参考粒度的处理网络当前待输出的目标词语为该第2个词,即被输出概率最高的词。可以理解,融合网络306可以先确定当前待输出哪种粒度的词语,然后输出这种粒度的处理网络待输出的词语。
融合网络306所做的操作也可以如下:融合网络306将各处理网络输入的各处理结果合并为一个向量;将该向量输入至一个LSTM网络做处理以确定各处理网络当前待输出的各词语中每个词被输出的概率;融合网络306输出各词语中被输出的概率最高的目标词语。各处理网络是指各粒度的处理网络。举例来说,第一处理网络当前待输出的词包括“a”、“good”以及“geologist”,第二处理网络当前待输出的词包括:“How”、“can”、“I”以及“be”,融合网络计算这7个词中每个词当前被输出的概率,并输出这7个词中被输出的概率最高的那个词。
下面介绍如何计算参考粒度的处理网络当前待输出的各词语中每个词被输出的概率。参考粒度为上述N种粒度中的任一种。
假定融合网络306在输出第t个词之前,融合网络306已经输出的(t-1)个词,记为[y1,y2,…,yt-1],t为大于1的整数,第一处理网络和第二处理网络输出的向量(处理结果)分别为v0和v1,融合网络306将这两个向量以及融合网络306已输出的序列进行合并(concatenation),将合并后的向量输入LSTM网络做处理以计算待输出参考粒度的词语的概率。融合网络306包括该LSTM网络。LSTM网络可以采用如下公式计算待输出参考粒度的词语的概率:
ht=LSMT(ht-1,yt-1,v0,v1);
P(zt|y1:t-1,X)=GS(Wz ht,τ);
其中,ht表示该LSMT网络处理第t个词时该LSMT网络中的隐状态变量,LSMT()表示该LSMT所做的处理操作,yt-1表示该融合网络输出的第(t-1)个词,Wz为该融合网络中的一个参数矩阵,τ为超参数,P(zt|y1:t-1,X)为当前待输出粒度z的词的概率。可以理解,融合网络306可以采用类似的方式计算当前输出上述N粒度中任一种粒度的词语的概率。在计算出该概率后,再通过混合概率模型,计算输出目标词语的概率。该目标词语为该粒度z的处理网络当前待输出的一个词语。计算输出该目标词语的概率的公式如下:
其中,PZt(yt|y1:t-1,X)表示在粒度z上,输出该目标词语yt的概率;P(yt|y1:t-1,X)表示输出该目标词语的概率。PZt(yt|y1:t-1,X)可以由处理网络给出。粒度z的处理网络可以向融合网络输入其当前待输出每个词语(z粒度的词语)的概率,即该处理网络当前待输出的各词中每个词被输出的概率。举例来说,第一处理网络的输入为第一特征网络对“a goodgeologist”做特征提取得到的特征信息,该处理网络对该特征信息做处理,以得到当前待输出“a”的概率、待输出“great”的概率以及待输出“geologist”的概率,并将这些词语以及相应的概率输入至融合网络。假定目标词语yt为“great”,则PZt(yt|y1:t-1,X)表示在粒度z上,输出“great”的概率。可以理解,融合网络306可以先计算当前待输出上述N种粒度中每种粒度的词语的概率,然后计算当前待输出的每个词被输出的概率,最后,输出被输出概率最高的那个词。
前述实施例描述了利用训练得到的深度神经网络来实现自然语言处理方法,下面介绍如何训练得到所需的深度神经网络。
图7为本申请实施例提供的一种训练方法流程图,如图7所示,该方法可包括:
701、数据处理设备将训练样本输入至深度神经网络做处理,得到预测处理结果。
该深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,该处理包括:利用该粒度标注网络确定该训练样本中各词语的粒度;利用该第一特征网络对该训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至该第一处理网络;利用该第二特征网络对该训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至该第二处理网络;利用该第一处理网络对该第三特征信息做目标处理,将得到的第三处理结果输出至该融合网络;利用该第二处理网络对该第四特征信息做该目标处理,将得到的第四处理结果输出至该融合网络;利用该融合网络融合该第三处理结果和该第四处理结果得到该预测处理结果;该第一粒度和该第二粒度不同。
该第一特征网络和该第二特征网络的架构不同,和/或,该第一处理网络和该第二处理网络的架构不同。该粒度标注网络的输入为该自然语言文本,该粒度标注网络用于按照N种粒度确定该自然语言文本中每个词语的粒度以得到该自然语言文本的标注信息,向该第一特征网络和该第二特征网络输出该标注信息;其中,该标注信息用于描述该每个词语的粒度或者该每个词语分别属于该N种粒度的概率;N为大于1的整数。该第一特征网络用于利用输入的该自然语言文本和该标注信息进行特征提取,将得到的该第三特征信息输出至该第一处理网络;其中,该第三特征信息为表示该第一粒度的词语的向量或矩阵;该第一处理网络用于利用输入的该第三特征信息和该第一处理网络已输出的处理结果做目标处理以得到该第三处理结果。该融合网络每次输出一个词语,该融合网络用于利用该第三处理结果、该第四处理结果以及该融合网络在处理该第三处理结果和该第四处理结果的过程中已输出的词语,确定待输出目标词语,输出该目标词语。
702、数据处理设备根据该预测处理结果和标准结果,确定该训练样本对应的损失。
该标准结果,也即ground truth,为利用该深度神经网络处理该训练样本期望得到的处理结果。可以理解,每一个训练样本对应一个标准结果,以便于数据处理设备计算利用深度神经网络处理每一个训练样本的损失,进而优化深度神经网络。下面以训练深度神经网络处理复述任务为例,介绍数据处理装置训练该深度神经网络可以采用的训练样本和标准结果。
表1
对于训练样本中每个词的粒度,并没有标注数据。粒度标注网络301是通过端到端学习得到的。由于要进行端到端学习,为了保证粒度标注网络301可微分,在训练过程中,粒度标注网络301给出的实际上是每个词属于不同粒度的概率,而非绝对的0/1标签。应理解,数据处理设备训练深度神经网络处理的自然语言处理任务不同,采用的训练样本以及标准结果不同。举例来说,若数据处理设备训练处理复述任务,可以采用类似表1中的训练样本和标准结果。又举例来说,若数据处理设备训练处理翻译任务,采用的训练样本为英语文本,标准结果为训练样本对应的标准的中文文本。
703、数据处理设备利用该训练样本对应的损失,通过优化算法更新该深度神经网络的参数。
在实际应用中,数据处理设备可以训练深度神经网络处理不同的自然语言处理任务。数据处理设备训练深度神经网络处理的自然语言处理任务不同,该数据处理设备计算预测处理结果和标准结果之间的损失的方法也就不同,即计算训练样本对应的损失的方法不同。
在一个可选的实现方式中,数据处理设备利用该训练样本对应的损失,通过优化算法更新该深度神经网络的参数可以是利用损失函数相对于该深度神经网络包括的至少一个网络的梯度值,更新该至少一个网络的参数;该损失函数用于计算该预测处理结果和该标准结果之间的损失;其中,该第一特征网络、该第二特征网络、该第一处理网络、该第二处理网络中的任一个网络在更新过程中,另外三个网络中任一个网络的参数保持不变。利用损失函数相对于一个网络的梯度值,通过优化算法(例如梯度下降算法)更新该网络的参数是本领域常用的技术手段,这里不再详述。
前述实施例采用的深度神经网络为采用图7中的训练方法得到的网络,应理解图7中的深度神经网络与前述实施例中的深度神经网络的结构和处理过程均相同。
本申请实施例中,数据处理设备训练可以独立处理不同粒度的词语的深度神经网络,以便于得到能够避免由较细粒度的信息得到较粗粒度的信息的过程的深度神经网络,实现简单。
前述实施例介绍了自然语言处理方法训练方法,下面介绍实现这些方法的数据处理设备的结构。图8为本申请实施例提供的一种数据处理设备的结构示意图,如图8所示,该数据处理设备可包括:
获取单元801,用于获得待处理的自然语言文本;
处理单元802,用于利用训练得到的深度神经网络对该自然语言文本做处理;
输出单元803,用于输出处理该自然语言文本得到的目标结果。
该深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,该处理包括:利用该粒度标注网络确定该自然语言文本中各词语的粒度;利用该第一特征网络对该自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至该第一处理网络;利用该第二特征网络对该自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至该第二处理网络;利用该第一处理网络对该第一特征信息做处理,将得到的第一处理结果输出至该融合网络;利用该第二处理网络对该第二特征信息做该处理,将得到的第二处理结果输出至该融合网络;利用该融合网络融合该第一处理结果和该第二处理结果得到该目标结果;该第一粒度和该第二粒度不同。
处理单元802可以是数据处理设备中的中央处理器(Central Processing Unit,CPU),也可以是神经网络处理器(Neural-network Processing Unit,NPU),还可以是其他类型的处理器。输出单元803可以是显示器、显示屏、音频设备等。该目标结果可以是由该自然语言文本得到的另一个自然语言文本,数据处理设备的显示屏显示得到的自然语言文本。该目标结果可以由该自然语言文本得到的另一个自然语言文本对应的语音,数据处理设备中的音频设备播放该语音。
在一个可选的实现方式中,处理单元802,还用于将训练样本输入至深度神经网络做处理,得到预测处理结果;根据该预测处理结果和标准结果,确定该训练样本对应的损失;该标准结果为利用该深度神经网络处理该训练样本期望得到的处理结果;利用该训练样本对应的损失,通过优化算法更新该深度神经网络的参数。
该深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,该处理包括:利用该粒度标注网络确定该训练样本中各词语的粒度;利用该第一特征网络对该训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至该第一处理网络;利用该第二特征网络对该训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至该第二处理网络;利用该第一处理网络对该第三特征信息做目标处理,将得到的第三处理结果输出至该融合网络;利用该第二处理网络对该第四特征信息做该目标处理,将得到的第四处理结果输出至该融合网络;利用该融合网络融合该第三处理结果和该第四处理结果得到该预测处理结果;该第一粒度和该第二粒度不同。
详细的训练方法参阅图7,这里不再详述。
前述实施例描述了数据处理设备利用深度神经网络来处理自然语言任务的方法。下面介绍一下深度神经网络以方便读者进一步理解本方案。
深度神经网络(Deep Neural Network,DNN),可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准,我们常说的多层神经网络和深度神经网络其本质上是同一个东西。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,则系数W和偏移向量的数量也就是很多了。那么,具体的参数在DNN是如何定义的呢?首先我们来看看系数W的定义。以一个三层的DNN为例,如:第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结下,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为注意,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。
前述实施例中数据处理设备采用深度神经网络所执行的方法可以在NPU中实现。图9为本申请实施例提供的一种神经网络处理器的结构示意图。
神经网络处理器NPU 90NPU作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务(例如自然语言处理任务)。NPU的核心部分为运算电路90,通过控制器904控制运算电路903提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路903内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路903是二维脉动阵列。运算电路903还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路903是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器902中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器901中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器908accumulator中。
统一存储器906用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)905被搬运到权重存储器902中。输入数据也通过DMAC被搬运到统一存储器906中。
总线接口单元(Bus Interface Unit,BIU)510,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer)909的交互。
总线接口单元510还用于取指存储器909从外部存储器获取指令,还用于存储单元访问控制器905从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器906或将权重数据搬运到权重存储器902中或将输入数据数据搬运到输入存储器901中。
向量计算单元907多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如Pooling(池化),Batch Normalization(批归一化),Local ResponseNormalization(局部响应归一化)等。
在一些实现种,向量计算单元能907将经处理的输出的向量存储到统一缓存器906。例如,向量计算单元907可以将非线性函数应用到运算电路903的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元907生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路903的激活输入,例如用于在神经网络中的后续层中的使用。
控制器904连接的取指存储器(instruction fetch buffer)909,用于存储控制器904使用的指令;
统一存储器906,输入存储器901,权重存储器902以及取指存储器909均为On-Chip存储器。
其中,图3所示的深度神经网络中各层的运算可以由矩阵计算单元212或向量计算单元907执行。
本申请采用NPU实现基于深度神经网络的自然语言处理方法以及训练方法,可以大大提高数据处理设备的处理自然语言处理任务以及训练深度神经网络的效率。
下面从硬件处理的角度对本发明实施例中的数据处理设备进行描述。
图10为本申请实施例提供的一种智能终端的部分结构的框图。参考图10,智能终端包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、片上系统(System On Chip,SoC)1080以及电源1090等部件。
存储器1020包括DDR存储器,当然还可以包括高速随机存取存储器,或者包括非易失性存储器等其他存储单元,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
本领域技术人员可以理解,图10中示出的智能终端结构并不构成对智能终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对智能终端的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给SoC 1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,SoC 1080通过运行存储在存储器1020的软件程序以及模块,从而执行智能终端的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能、翻译功能、复述功能等)等;存储数据区可存储根据智能终端的使用所创建的数据(比如音频数据、电话本等)等。
输入单元1030可用于接收输入的自然语言文本以及语音数据,以及产生与智能终端的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1031用于接收用户输入的自然语言文本,并将该自然语言文本输入至SoC1080。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给SoC 1080,并能接收SoC 1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、触摸屏、话筒等中的一种或多种。输入设备1032包括的话筒可以接收用户输入的语音数据,并将该语音数据输入至SoC1080。
SoC 1080通过运行存储在存储器1020的软件程序以及模块,从而执行本申请提供的数据处理方法对输入单元1030输入的自然语言文本做处理,得到目标结果。SoC 1080也可以在将输入单元1030输入的语音数据转换为自然语言文本后,执行本申请提供的数据处理方法对该自然语言文本做处理,得到目标结果。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及智能终端的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。显示单元1040可用于显示SoC 1080处理自然语言文本得到的目标结果。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给SoC 1080以确定触摸事件的类型,随后SoC 1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现智能终端的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现智能终端的输入和输出功能。
智能终端还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在智能终端移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与智能终端之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出SoC 1080处理后,经RF电路1010以发送给比如另一智能终端,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,智能终端通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于智能终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
SoC 1080是智能终端的控制中心,利用各种接口和线路连接整个智能终端的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行智能终端的各种功能和处理数据,从而对智能终端进行整体监控。可选的,SoC 1080可包括多个处理单元,例如CPU或者各种业务处理器;SoC 1080还可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到SoC 1080中。
智能终端还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与SoC 1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能终端还可以包括摄像头、蓝牙模块等,在此不再赘述。
图11是本申请实施例提供的一种数据处理设备的部分结构的框图。如图11所示,数据处理设备1100可以处理器1101、存储器1102、输入设备1103、输出设备1104以及总线1105。其中,处理器1101、存储器1102、输入设备1103、输出设备1104通过总线1105实现彼此之间的通信连接。
处理器1101可以采用通用的CPU,微处理器,应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。处理器1101对应于图8中的处理单元802。
存储器1102可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1102可以存储操作系统、以及其他应用程序。用于通过软件或者固件来实现本申请实施例提供的数据处理设备包括的模块以及部件所需执行的功能,或者用于实现本申请方法实施例提供的上述方法的程序代码存储在存储器1102中,并由处理器1101读取存储器1102中的代码来执行数据处理设备包括的模块以及部件所需执行的操作,或者执行本申请实施例提供的上述方法。
输入设备1103,对应于获取单元801,用于输入数据处理设备待处理的自然语言文本。
输出设备1104,对应于输出单元803,用于输出数据处理设备得到的目标结果。
总线1105可包括在数据处理设备各个部件(例如处理器1101、存储器1102、输入设备1103、输出设备1104)之间传送信息的通路。
应注意,尽管图11所示的数据处理设备1100仅仅示出了处理器1101、存储器1102、输入设备1103、输出设备1104以及总线1105,但是在具体实现过程中,本领域的技术人员应当明白,数据处理设备1100还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,数据处理设备1100还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,数据处理设备1100也可仅仅包含实现本申请实施例所必须的器件,而不必包含图11中所示的全部器件。
本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括软件程序指令,上述程序指令被数据处理设备中的处理器执行时实现前述实施例中的数据处理方法和/或训练方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种自然语言处理方法,其特征在于,包括:
获得待处理的自然语言文本;
利用训练得到的深度神经网络对所述自然语言文本做处理,输出处理所述自然语言文本得到的目标结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述自然语言文本中各词语的粒度;利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至所述第一处理网络;利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第一特征信息做处理,将得到的第一处理结果输出至所述融合网络;利用所述第二处理网络对所述第二特征信息做处理,将得到的第二处理结果输出至所述融合网络;利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果;所述第一粒度和所述第二粒度不同。
2.根据权利要求1所述的方法,其特征在于,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
3.根据权利要求1或2所述的方法,其特征在于,所述粒度标注网络的输入为所述自然语言文本,所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:
利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:
利用所述第一特征网络处理所述第一粒度的词语以得到所述第一特征信息,所述第一特征信息为表示所述第一粒度的词语的向量或矩阵;
所述利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取包括:
利用所述第二特征网络处理所述第二粒度的词语以得到所述第二特征信息,所述述第二特征信息为表示所述第二粒度的词语的向量或矩阵。
4.根据权利要求3所述的方法,其特征在于,所述第一处理结果为包含一个或多个词语的序列,所述利用所述第一处理网络对所述第一特征信息做处理包括:
利用所述第一处理网络对输入的所述第一特征信息和所述第一处理网络在处理所述第一特征信息的过程中已输出的词语做处理以得到所述第一处理结果。
5.根据权利要求4所述的方法,其特征在于,所述融合网络输出的所述目标结果为包含一个或多个词语的序列,所述利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果包括:
利用所述融合网络处理所述第一处理结果、所述第二处理结果以及所述融合网络在处理所第一处理结果和所述第二处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
6.一种训练方法,其特征在于,包括:
将训练样本输入至深度神经网络做处理,得到预测处理结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述训练样本中各词语的粒度;利用所述第一特征网络对所述训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至所述第一处理网络;利用所述第二特征网络对所述训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第三特征信息做目标处理,将得到的第三处理结果输出至所述融合网络;利用所述第二处理网络对所述第四特征信息做所述目标处理,将得到的第四处理结果输出至所述融合网络;利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述预测处理结果;所述第一粒度和所述第二粒度不同;
根据所述预测处理结果和标准结果,确定所述训练样本对应的损失;所述标准结果为利用所述深度神经网络处理所述训练样本期望得到的处理结果;
利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数。
7.根据权利要求6所述的方法,其特征在于,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络架构的不同。
8.根据权利要求6或7所述的方法,其特征在于,所述粒度标注网络的输入为所述自然语言文本,所述利用所述粒度标注网络确定所述自然语言文本中各词语的粒度包括:
利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取包括:
利用所述第一特征网络处理所述第一粒度的词语以得到所述第三特征信息,所述第三特征信息为表示所述第一粒度的词语的向量或矩阵;
所述利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取包括:
利用所述第二特征网络处理所述第二粒度的词语以得到所述第四特征信息,所述述第四特征信息为表示所述第二粒度的词语的向量或矩阵。
9.根据权利要求8所述的方法,其特征在于,所述第一处理结果为包含一个或多个词语的序列,所述利用所述第一处理网络对所述第三特征信息做处理包括:
利用所述第一处理网络对输入的所述第三特征信息和所述第一处理网络在处理所述第三特征信息的过程中已输出的词语做处理以得到所述第三处理结果。
10.根据权利要求9所述的方法,其特征在于,所述融合网络输出的所述目标结果为包含一个或多个词语的序列,所述利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述目标结果包括:
利用所述融合网络处理所述第三处理结果、所述第四处理结果以及所述融合网络在处理所第三处理结果和所述第四处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
11.根据权利要求6至10任一项所述的方法,其特征在于,所述利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数包括:
利用损失函数相对于所述深度神经网络包括的至少一个网络的梯度值,更新所述至少一个网络的参数;所述损失函数用于计算所述预测处理结果和所述标准结果之间的损失;其中,所述第一特征网络、所述第二特征网络、所述第一处理网络、所述第二处理网络中的任一个网络在更新过程中,另外三个网络中任一个网络的参数保持不变。
12.一种数据处理设备,其特征在于,包括:
获取单元,用于获得待处理的自然语言文本;
处理单元,用于利用训练得到的深度神经网络对所述自然语言文本做处理;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述自然语言文本中各词语的粒度;利用所述第一特征网络对所述自然语言文本中第一粒度的词语进行特征提取,将得到的第一特征信息输出至所述第一处理网络;利用所述第二特征网络对所述自然语言文本中第二粒度的词语进行特征提取,将得到的第二特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第一特征信息做处理,将得到的第一处理结果输出至所述融合网络;利用所述第二处理网络对所述第二特征信息做所述处理,将得到的第二处理结果输出至所述融合网络;利用所述融合网络融合所述第一处理结果和所述第二处理结果得到所述目标结果;所述第一粒度和所述第二粒度不同;
输出单元,用于输出处理所述自然语言文本得到的目标结果。
13.根据权利要求12所述的数据处理设备,其特征在于,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
14.根据权利要求12或13所述的数据处理设备,其特征在于,所述粒度标注网络的输入为所述自然语言文本;
所述处理单元,具体用于利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述处理单元,具体用于利用所述第一特征网络处理所述第一粒度的词语以得到所述第一特征信息,所述第一特征信息为表示所述第一粒度的词语的向量或矩阵;
所述处理单元,具体用于利用所述第二特征网络处理所述第二粒度的词语以得到所述第二特征信息,所述第二特征信息为表示所述第二粒度的词语的向量或矩阵。
15.根据权利要求14所述的数据处理设备,其特征在于,所述第一处理结果为包含一个或多个词语的序列;
所述处理单元,具体用于利用所述第一处理网络对输入的所述第一特征信息和所述第一处理网络在处理所述第一特征信息的过程中已输出的词语做处理以得到所述第一处理结果。
16.根据权利要求15所述的数据处理设备,其特征在于,所述融合网络输出的所述目标结果为包含一个或多个词语的序列;
所述处理单元,具体用于利用所述融合网络处理所述第一处理结果、所述第二处理结果以及所述融合网络在处理所第一处理结果和所述第二处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
17.一种数据处理设备,其特征在于,包括:
处理单元,用于将训练样本输入至深度神经网络做处理,得到预测处理结果;其中,所述深度神经网络包括:粒度标注网络、第一特征网络、第二特征网络、第一处理网络、第二处理网络以及融合网络,所述处理包括:利用所述粒度标注网络确定所述训练样本中各词语的粒度;利用所述第一特征网络对所述训练样本中第一粒度的词语进行特征提取,将得到的第三特征信息输出至所述第一处理网络;利用所述第二特征网络对所述训练样本中第二粒度的词语进行特征提取,将得到的第四特征信息输出至所述第二处理网络;利用所述第一处理网络对所述第三特征信息做目标处理,将得到的第三处理结果输出至所述融合网络;利用所述第二处理网络对所述第四特征信息做所述目标处理,将得到的第四处理结果输出至所述融合网络;利用所述融合网络融合所述第三处理结果和所述第四处理结果得到所述预测处理结果;所述第一粒度和所述第二粒度不同;
所述处理单元,还用于根据所述预测处理结果和标准结果,确定所述训练样本对应的损失;所述标准结果为利用所述深度神经网络处理所述训练样本期望得到的处理结果;利用所述训练样本对应的损失,通过优化算法更新所述深度神经网络的参数。
18.根据权利要求17所述的数据处理设备,其特征在于,所述第一特征网络和所述第二特征网络的架构不同,和/或,所述第一处理网络和所述第二处理网络的架构不同。
19.根据权利要求17或18所述的数据处理设备,其特征在于,所述粒度标注网络的输入为所述自然语言文本;
所述处理单元,具体用于利用所述粒度标注网络按照N种粒度确定所述自然语言文本中每个词语的粒度以得到所述自然语言文本的标注信息,向所述第一特征网络和所述第二特征网络输出所述标注信息;其中,所述标注信息用于描述所述每个词语的粒度或者所述每个词语分别属于所述N种粒度的概率;N为大于1的整数;
所述处理单元,具体用于利用所述第一特征网络处理所述第一粒度的词语以得到所述第三特征信息,所述第三特征信息为表示所述第一粒度的词语的向量或矩阵;
所述处理单元,具体用于利用所述第二特征网络处理所述第二粒度的词语以得到所述第四特征信息,所述述第四特征信息为表示所述第二粒度的词语的向量或矩阵。
20.根据权利要求19所述的数据处理设备,其特征在于,所述第三处理结果为包含一个或多个词语的序列;
所述处理单元,具体用于利用所述第一处理网络对输入的所述第三特征信息和所述第一处理网络在处理所述第三特征信息的过程中已输出的词语做处理以得到所述第三处理结果。
21.根据权利要求20所述的数据处理设备,其特征在于,所述融合网络输出的所述目标结果为包含一个或多个词语的序列;
所述处理单元,具体用于利用所述融合网络处理所述第三处理结果、所述第四处理结果以及所述融合网络在处理所第三处理结果和所述第四处理结果的过程中已输出的词语以确定待输出目标词语,输出所述目标词语。
22.根据权利要求17至21任一项所述的数据处理设备,其特征在于,
所述处理单元,具体用于利用损失函数相对于所述深度神经网络包括的至少一个网络的梯度值,更新所述至少一个网络的参数;所述损失函数用于计算所述预测处理结果和所述标准结果之间的损失;其中,所述第一特征网络、所述第二特征网络、所述第一处理网络、所述第二处理网络中的任一个网络在更新过程中,另外三个网络中任一个网络的参数保持不变。
23.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-11任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108559.9A CN109902296B (zh) | 2019-01-18 | 2019-01-18 | 自然语言处理方法、训练方法及数据处理设备 |
PCT/CN2019/114146 WO2020147369A1 (zh) | 2019-01-18 | 2019-10-29 | 自然语言处理方法、训练方法及数据处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108559.9A CN109902296B (zh) | 2019-01-18 | 2019-01-18 | 自然语言处理方法、训练方法及数据处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902296A true CN109902296A (zh) | 2019-06-18 |
CN109902296B CN109902296B (zh) | 2023-06-30 |
Family
ID=66944544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910108559.9A Active CN109902296B (zh) | 2019-01-18 | 2019-01-18 | 自然语言处理方法、训练方法及数据处理设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109902296B (zh) |
WO (1) | WO2020147369A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472063A (zh) * | 2019-07-12 | 2019-11-19 | 新华三大数据技术有限公司 | 社交媒体数据处理方法、模型训练方法及相关装置 |
CN110674783A (zh) * | 2019-10-08 | 2020-01-10 | 山东浪潮人工智能研究院有限公司 | 一种基于多级预测架构的视频描述方法及系统 |
CN110705273A (zh) * | 2019-09-02 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 基于神经网络的信息处理方法及装置、介质和电子设备 |
CN110837738A (zh) * | 2019-09-24 | 2020-02-25 | 平安科技(深圳)有限公司 | 相似问识别方法、装置、计算机设备及存储介质 |
WO2020147369A1 (zh) * | 2019-01-18 | 2020-07-23 | 华为技术有限公司 | 自然语言处理方法、训练方法及数据处理设备 |
CN111444686A (zh) * | 2020-03-16 | 2020-07-24 | 上海联影智能医疗科技有限公司 | 医学数据标注方法、装置、存储介质及计算机设备 |
CN112329465A (zh) * | 2019-07-18 | 2021-02-05 | 株式会社理光 | 一种命名实体识别方法、装置及计算机可读存储介质 |
CN112488290A (zh) * | 2020-10-21 | 2021-03-12 | 上海旻浦科技有限公司 | 具有依赖关系的自然语言多任务建模、预测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011279A1 (en) * | 2015-07-07 | 2017-01-12 | Xerox Corporation | Latent embeddings for word images and their semantics |
CN107797985A (zh) * | 2017-09-27 | 2018-03-13 | 百度在线网络技术(北京)有限公司 | 建立同义鉴别模型以及鉴别同义文本的方法、装置 |
CN107918782A (zh) * | 2016-12-29 | 2018-04-17 | 中国科学院计算技术研究所 | 一种生成描述图像内容的自然语言的方法与系统 |
CN108460089A (zh) * | 2018-01-23 | 2018-08-28 | 哈尔滨理工大学 | 基于Attention神经网络的多元特征融合中文文本分类方法 |
EP3376400A1 (en) * | 2017-03-14 | 2018-09-19 | Fujitsu Limited | Dynamic context adjustment in language models |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248653B2 (en) * | 2014-11-25 | 2019-04-02 | Lionbridge Technologies, Inc. | Information technology platform for language translation and task management |
CN107145483B (zh) * | 2017-04-24 | 2018-09-04 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN108268643A (zh) * | 2018-01-22 | 2018-07-10 | 北京邮电大学 | 一种基于多粒度lstm网络的深层语义匹配实体链接方法 |
CN109902296B (zh) * | 2019-01-18 | 2023-06-30 | 华为技术有限公司 | 自然语言处理方法、训练方法及数据处理设备 |
-
2019
- 2019-01-18 CN CN201910108559.9A patent/CN109902296B/zh active Active
- 2019-10-29 WO PCT/CN2019/114146 patent/WO2020147369A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011279A1 (en) * | 2015-07-07 | 2017-01-12 | Xerox Corporation | Latent embeddings for word images and their semantics |
CN107918782A (zh) * | 2016-12-29 | 2018-04-17 | 中国科学院计算技术研究所 | 一种生成描述图像内容的自然语言的方法与系统 |
EP3376400A1 (en) * | 2017-03-14 | 2018-09-19 | Fujitsu Limited | Dynamic context adjustment in language models |
CN107797985A (zh) * | 2017-09-27 | 2018-03-13 | 百度在线网络技术(北京)有限公司 | 建立同义鉴别模型以及鉴别同义文本的方法、装置 |
CN108460089A (zh) * | 2018-01-23 | 2018-08-28 | 哈尔滨理工大学 | 基于Attention神经网络的多元特征融合中文文本分类方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020147369A1 (zh) * | 2019-01-18 | 2020-07-23 | 华为技术有限公司 | 自然语言处理方法、训练方法及数据处理设备 |
CN110472063B (zh) * | 2019-07-12 | 2022-04-08 | 新华三大数据技术有限公司 | 社交媒体数据处理方法、模型训练方法及相关装置 |
CN110472063A (zh) * | 2019-07-12 | 2019-11-19 | 新华三大数据技术有限公司 | 社交媒体数据处理方法、模型训练方法及相关装置 |
CN112329465A (zh) * | 2019-07-18 | 2021-02-05 | 株式会社理光 | 一种命名实体识别方法、装置及计算机可读存储介质 |
CN110705273A (zh) * | 2019-09-02 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 基于神经网络的信息处理方法及装置、介质和电子设备 |
CN110837738A (zh) * | 2019-09-24 | 2020-02-25 | 平安科技(深圳)有限公司 | 相似问识别方法、装置、计算机设备及存储介质 |
WO2021056709A1 (zh) * | 2019-09-24 | 2021-04-01 | 平安科技(深圳)有限公司 | 相似问识别方法、装置、计算机设备及存储介质 |
CN110837738B (zh) * | 2019-09-24 | 2023-06-30 | 平安科技(深圳)有限公司 | 相似问识别方法、装置、计算机设备及存储介质 |
CN110674783A (zh) * | 2019-10-08 | 2020-01-10 | 山东浪潮人工智能研究院有限公司 | 一种基于多级预测架构的视频描述方法及系统 |
CN110674783B (zh) * | 2019-10-08 | 2022-06-28 | 山东浪潮科学研究院有限公司 | 一种基于多级预测架构的视频描述方法及系统 |
CN111444686A (zh) * | 2020-03-16 | 2020-07-24 | 上海联影智能医疗科技有限公司 | 医学数据标注方法、装置、存储介质及计算机设备 |
CN112488290A (zh) * | 2020-10-21 | 2021-03-12 | 上海旻浦科技有限公司 | 具有依赖关系的自然语言多任务建模、预测方法及系统 |
CN112488290B (zh) * | 2020-10-21 | 2021-09-07 | 上海旻浦科技有限公司 | 具有依赖关系的自然语言多任务建模、预测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020147369A1 (zh) | 2020-07-23 |
CN109902296B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902296A (zh) | 自然语言处理方法、训练方法及数据处理设备 | |
CN110599557B (zh) | 图像描述生成方法、模型训练方法、设备和存储介质 | |
CN104217717B (zh) | 构建语言模型的方法及装置 | |
CN110490213A (zh) | 图像识别方法、装置及存储介质 | |
CN108304388A (zh) | 机器翻译方法及装置 | |
CN111816159B (zh) | 一种语种识别方法以及相关装置 | |
CN111553162A (zh) | 一种意图识别的方法以及相关装置 | |
CN110334360A (zh) | 机器翻译方法及装置、电子设备及存储介质 | |
CN109948633A (zh) | 用户性别预测方法、装置、存储介质及电子设备 | |
CN108228270A (zh) | 启动资源加载方法及装置 | |
CN113284142B (zh) | 图像检测方法、装置、计算机可读存储介质及计算机设备 | |
CN111985240A (zh) | 命名实体识别模型的训练方法、命名实体识别方法及装置 | |
CN110704661A (zh) | 一种图像分类方法和装置 | |
CN110069715A (zh) | 一种信息推荐模型训练的方法、信息推荐的方法及装置 | |
CN110555337B (zh) | 一种指示对象的检测方法、装置以及相关设备 | |
CN115512005A (zh) | 一种数据处理方法及其装置 | |
CN114065900A (zh) | 数据处理方法和数据处理装置 | |
CN112862021B (zh) | 一种内容标注方法和相关装置 | |
CN112907255A (zh) | 一种用户分析方法和相关装置 | |
CN107807940B (zh) | 信息推荐方法和装置 | |
CN110019648B (zh) | 一种训练数据的方法、装置及存储介质 | |
CN115392405A (zh) | 模型训练方法、相关装置及存储介质 | |
CN114840563B (zh) | 一种字段描述信息的生成方法、装置、设备及存储介质 | |
CN113569043A (zh) | 一种文本类别确定方法和相关装置 | |
CN113822435A (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 |