CN115713079A - 用于自然语言处理、训练自然语言处理模型的方法及设备 - Google Patents
用于自然语言处理、训练自然语言处理模型的方法及设备 Download PDFInfo
- Publication number
- CN115713079A CN115713079A CN202110947769.4A CN202110947769A CN115713079A CN 115713079 A CN115713079 A CN 115713079A CN 202110947769 A CN202110947769 A CN 202110947769A CN 115713079 A CN115713079 A CN 115713079A
- Authority
- CN
- China
- Prior art keywords
- matrix
- word vector
- natural language
- language processing
- model
- 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.)
- Pending
Links
- 238000003058 natural language processing Methods 0.000 title claims abstract description 278
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012549 training Methods 0.000 title claims abstract description 101
- 239000011159 matrix material Substances 0.000 claims abstract description 690
- 238000012545 processing Methods 0.000 claims abstract description 83
- 239000013598 vector Substances 0.000 claims description 486
- 230000009466 transformation Effects 0.000 claims description 68
- 238000010606 normalization Methods 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 50
- 238000013528 artificial neural network Methods 0.000 claims description 25
- 238000003062 neural network model Methods 0.000 claims description 11
- 238000000844 transformation Methods 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 13
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 10
- PXXLQQDIFVPNMP-UHFFFAOYSA-N 3-(diethylcarbamoyl)benzoic acid Chemical compound CCN(CC)C(=O)C1=CC=CC(C(O)=O)=C1 PXXLQQDIFVPNMP-UHFFFAOYSA-N 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/0499—Feedforward 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本公开涉及一种用于自然语言处理的方法及训练自然语言处理模型的方法、电子设备,以及计算机可读存储介质,涉及自然语言处理技术领域。用于自然语言处理的方法包括:获取文本数据;利用自然语言处理模型,对所述文本数据进行处理,得到输出信息,其中,所述自然语言处理模型包括第一注意力模型,所述第一注意力模型包括顺序编码矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息。根据本公开,通过在第一注意力模型中增加顺序编码矩阵,可以使自然语言处理模型更方便、更快速地学习文本数据的语序信息,以更方便、更快速地理解文本数据的语义信息,从而可以提高自然语言处理的准确性。
Description
技术领域
本公开涉及自然语言处理技术领域,特别涉及一种用于自然语言处理的方法及训练自然语言处理模型的方法、电子设备,以及计算机可读存储介质。
背景技术
自然语言处理(NLP,Natural Language Processing)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。例如,利用自然语言处理技术可以对文本数据进行处理。
相关技术中,通过对文本数据中的词的位置进行位置编码,并将文本数据与位置编码一起输入到自然语言处理模型中,得到自然语言处理结果。
发明内容
根据本公开的一些实施例,提出了一种用于自然语言处理的方法,包括:获取文本数据;利用自然语言处理模型,对所述文本数据进行处理,得到输出信息,其中,所述自然语言处理模型包括第一注意力模型,所述第一注意力模型包括顺序编码矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息。
根据本公开的一些实施例,提出了一种用于自然语言处理的方法,包括:获取文本数据;对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:对所述词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵;根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述第四词向量矩阵,确定所述自然语言处理模型的输出信息。
根据本公开的一些实施例,提出了一种用于自然语言处理的方法,包括:获取文本数据;对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:获取所述词向量数据的关联矩阵,所述关联矩阵用于表征所述文本数据中至少一个词与其他词之间的关联关系信息;根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息。
根据本公开的一些实施例,提出了一种训练自然语言处理模型的方法,包括:获取文本数据;利用自然语言处理模型,对所述文本数据进行处理,得到输出信息,所述自然语言处理模型包括第一注意力模型,其中,所述第一注意力模型包括顺序编码矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
根据本公开的一些实施例,提出了一种训练自然语言处理模型的方法,包括:获取文本数据;对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:对所述词向量数据中进行线性变换,得到第一词向量矩阵和第二词向量矩阵;根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述第四词向量矩阵,确定所述自然语言处理模型的输出信息;根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
根据本公开的一些实施例,提出了一种训练自然语言处理模型的方法,包括:获取文本数据;对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:获取所述词向量数据的关联矩阵,所述关联矩阵用于表征所述文本数据中至少一个词与其他词之间的关联关系信息;根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息;根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
在一些实施例中,所述顺序编码矩阵由上三角矩阵和下三角矩阵组成,所述上三角矩阵与所述下三角矩阵不同,且所述顺序编码矩阵的任何一个元素值均不为0。
在一些实施例中,所述上三角矩阵的元素值与所述下三角矩阵的元素值不同。
在一些实施例中,所述顺序编码矩阵满足如下条件中的至少一个:所述上三角矩阵的各个元素值相同;所述下三角矩阵的各个元素值相同。
在一些实施例中,所述上三角矩阵的元素值和所述下三角矩阵的元素值互为相反数。
在一些实施例中,所述上三角矩阵和所述下三角矩阵的元素值的绝对值为1。
在一些实施例中,所述顺序编码矩阵中的元素值为所述自然语言处理模型的训练参数。
在一些实施例中,所述顺序编码矩阵与所述关联矩阵的矩阵结构相同。
在一些实施例中,根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵包括:根据所述关联矩阵与顺序编码矩阵的乘积,确定顺序关联矩阵。
在一些实施例中,根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵包括:根据所述第三词向量矩阵与顺序编码矩阵,利用尺度变换,确定第四词向量矩阵。
在一些实施例中,利用自然语言处理模型,对所述文本数据进行处理,得到输出信息包括:对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用所述自然语言处理模型,对所述词向量数据进行处理,得到所述输出信息。
在一些实施例中,获取所述词向量数据的关联矩阵包括:对所述词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵;根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;根据所述第三词向量矩阵,确定所述关联矩阵;根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵包括:根据所述第三词向量矩阵和所述顺序编码矩阵,确定第四词向量矩阵;根据所述第四词向量矩阵,确定所述顺序关联矩阵。
在一些实施例中,根据所述第三词向量矩阵和所述顺序编码矩阵,确定第四词向量矩阵包括:根据所述第三词向量矩阵和所述顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵。
在一些实施例中,根据所述第三词向量矩阵和所述顺序编码矩阵,确定所述第四词向量矩阵包括:确定所述第三词向量矩阵与所述顺序编码矩阵的乘积;根据所述乘积,利用尺度变换,确定第四词向量矩阵。
在一些实施例中,根据所述第三词向量矩阵和所述顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵包括:对所述第三词向量矩阵进行尺度变换;根据变换后的第三词向量矩阵与所述顺序编码矩阵的乘积,确定第四词向量矩阵。
在一些实施例中,根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息包括:对所述第四词向量矩阵依次进行对齐操作和归一化操作,得到第一注意力分数矩阵,所述第一注意力分数矩阵用于描述所述词向量数据中每个词向量的注意力权重分数;根据所述第一注意力分数矩阵,确定所述自然语言处理模型的输出信息。
在一些实施例中,对所述词向量数据进行线性变换包括:对所述词向量数据进行线性变换,得到第五词向量矩阵;根据所述第一注意力分数矩阵,确定所述自然语言处理模型的输出信息包括:根据所述第一注意力分数矩阵与所述第五词向量矩阵的乘积,确定所述自然语言处理模型的输出信息。
在一些实施例中,所述第一词向量矩阵和所述第二词向量矩阵基于同一词向量的不同线性变换得到;或者所述第一词向量矩阵和所述第二词向量矩阵分别基于不同词向量的线性变换得到。
在一些实施例中,利用自然语言处理模型,对所述文本数据进行处理,得到所述自然语言处理模型的输出信息包括:对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;利用所述第一注意力模型,对所述词向量数据执行如下操作:对所述词向量数据中进行线性变换,得到与所述文本数据对应的第一词向量矩阵和第二词向量矩阵;根据与所述文本数据对应的第一词向量矩阵和与所述文本数据对应的第二词向量矩阵,确定第一注意力模型中的第三词向量矩阵;根据与所述文本数据对应的第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;根据所述第四词向量矩阵,确定所述第一注意力模型的输出;根据所述第一注意力模型的输出,确定所述自然语言处理模型的输出信息。
在一些实施例中,所述自然语言处理模型还包括前馈神经网络,所述词向量数据为所述第一注意力模型的输入,所述第一注意力模型的输出为所述前馈神经网络的输入。
在一些实施例中,所述自然语言处理模型包括编码层和解码层,所述编码层包括所述第一注意力模型和所述前馈神经网络,所述前馈神经网络的输出为所述编码层的输出,所述编码层的输出为所述解码层的输入,所述解码层的输出为所述自然语言处理模型的输出信息。
在一些实施例中,所述解码层包括第二注意力模型和第三注意力模型,所述第三注意力模型的输入包括所述编码层的输出和所述第二注意力模型的输出,所述第三注意力模型的输出为所述解码层的输出。
在一些实施例中,所述自然语言处理模型包括多个串联的所述编码层和多个串联的所述解码层,第一个编码层的输入为所述词向量数据,最后一个编码层的输出为每个解码层的输入,最后一个解码层的输出为所述自然语言处理模型的输出信息。
在一些实施例中,所述解码层包括第二注意力模型和第三注意力模型,根据所述第一注意力模型的输出,确定所述自然语言处理模型的输出信息包括:利用所述第二注意力模型,对其输入进行线性变换,得到所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵;根据所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵,确定所述第二注意力模型中的第三词向量矩阵;根据所述第二注意力模型中的第三词向量矩阵,确定所述第二注意力模型的输出;利用所述第三注意力模型,对所述第二注意力模型的输出进行线性变换,得到所述第三注意力模型中的第一词向量矩阵;对所述编码层的输出进行线性变换,得到所述第三注意力模型中的第二词向量矩阵;根据所述第三注意力模型中的第一词向量矩阵和第二词向量矩阵,确定所述第三注意力模型中的第三词向量矩阵;根据所述第三注意力模型中的第三词向量矩阵,确定所述自然语言处理模型的输出信息。
在一些实施例中,根据所述第二注意力模型中的第三词向量矩阵,确定所述第二注意力模型的输出包括:对所述第二注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作、顺序屏蔽操作和归一化操作,得到第二注意力分数矩阵,所述第二注意力分数矩阵用于描述所述第二注意力模型的输入的注意力权重分数;根据所述第二注意力分数矩阵,确定所述第二注意力模型的输出。
在一些实施例中,根据所述第三注意力模型中的第三词向量矩阵,确定所述自然语言处理模型的输出信息包括:对所述第三注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作和归一化操作,得到第三注意力分数矩阵,所述第三注意力分数矩阵用于描述所述第三注意力模型的输入的注意力权重分数;根据所述第三注意力分数矩阵,确定所述自然语言处理模型的输出信息。
在一些实施例中,所述第一注意力模型和所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵都是基于同一词向量的不同线性变换得到;所述第三注意力模型中的第一词向量矩阵和第二词向量矩阵基于不同词向量的线性变换得到。
在一些实施例中,所述解码层包括神经网络模型,所述编码层的输出为所述神经网络模型的输入,所述神经网络的输出为所述自然语言处理模型的输出信息。
在一些实施例中,所述自然语言处理模型包括编码层和解码层,所述编码层的输出为所述解码层的输入,所述编码层包括所述第一注意力模型,根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型包括:利用所述编码层对所述文本数据进行处理,得到所述编码层的输出;将所述编码层的输出,输入到所述解码层,得到所述解码层的输出;根据所述解码层的输出,确定所述自然语言处理模型的输出信息;根据所述输出信息,确定损失函数的损失值;根据所述损失函数的损失值,训练所述自然语言处理模型。
在一些实施例中,所述文本数据包括第一训练文本数据和第二训练文本数据,所述自然语言处理模型包括编码层和解码层,所述编码层的输出为所述解码层的输入,所述编码层包括所述第一注意力模型,根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型包括:利用所述编码层对所述第一训练文本数据进行处理,得到所述编码层的输出;根据所述编码层的输出,确定第一损失函数的损失值;根据所述第一损失函数的损失值,对所述编码层进行第一训练;利用经过第一训练后的编码层,对所述第二训练文本数据进行处理,得到所述经过第一训练后的编码层的输出;将经过第一训练后的编码层的输出输入到所述解码层,得到所述自然语言处理模型的输出信息;根据所述自然语言处理模型的输出信息,确定第二损失函数的损失值;在冻结经过第一训练后的编码层的情况下,根据所述第二损失函数的损失值,对所述解码层进行第二训练。
在一些实施例中,所述自然语言处理模型为自然语言生成类模型或者自然语言理解类模型。
在一些实施例中,所述输出信息为以下信息中的至少一种:所述文本数据的译文信息、所述文本数据的答复信息、所述文本数据的分类信息或者所述文本数据与其他参考文本数据之间的关联关系信息。
根据本公开的一些实施例,提出了一种电子设备,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行本公开任意一些实施例所述的方法
根据本公开的一些实施例,提出了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现本公开任意一些实施例所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1A是示出根据本公开一些实施例的用于自然语言处理的方法的流程图;
图1B是示出根据本公开一些实施例的训练自然语言模型的方法的流程图;
图2A是示出根据本公开一些实施例的顺序编码矩阵的示意图;
图2B是示出根据本公开另一些实施例的顺序编码矩阵的示意图;
图2C是示出根据本公开再一些实施例的顺序编码矩阵的示意图;
图2D是示出根据本公开又一些实施例的顺序编码矩阵的示意图;
图3A是示出根据本公开另一些实施例的用于自然语言处理的方法的流程图;
图3B是示出根据本公开另一些实施例的用于自然语言处理的方法的流程图;
图4A是示出根据本公开一些实施例的对文本数据的词向量数据进行处理的流程图;
图4B是示出根据本公开另一些实施例的对文本数据的词向量数据进行处理的流程图;
图5是示出根据本公开一些实施例的对文本数据的词向量数据进行处理的示意图;
图6是示出根据本公开一些实施例的利用自然语言处理模型,对文本数据进行处理的流程图;
图7A是示出根据本公开一些实施例的自然语言处理模型的框图;
图7B是示出根据本公开另一些实施例的自然语言处理模型的框图;
图8是示出根据本公开一些实施例的根据第一注意力模型的输出确定自然语言处理模型的输出信息的流程图;
图9A是示出根据本公开一些实施例的文本数据ABCD的关联矩阵的示意图。
图9B是示出根据本公开一些实施例的文本数据DCBA的关联矩阵的示意图;
图9C是示出根据本公开一些实施例的文本数据ABCD的值向量矩阵的示意图;
图9D是示出根据本公开一些实施例的文本数据DCBA的值向量矩阵的示意图;
图10是示出根据本公开一个实施例的电子设备的框图;
图11是示出用于实现本公开一些实施例的计算机系统的框图。
应当明白,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。此外,相同或类似的参考标号表示相同或类似的构件。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。本公开可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本公开透彻且完整,并且向本领域技术人员充分表达本公开的范围。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置应被解释为仅仅是示例性的,而不是作为限制。
本公开使用的所有术语(包括技术术语或者科学术语)与本公开所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
相关技术中,位置编码是对文本数据中的不同词的位置进行不同的编码,例如将文本数据中位于位置1、2、3、……、n的词的位置编码为A、B、C、……、M,n为正整数。虽然位置编码可以在一定程度上记录语序信息,但当相同表达结构的语句在不同句子中的位置发生变化时,其位置编码也会变化,因此语义理解的准确性上会出现问题。
针对上述技术问题,本公开提供了一种用于自然语言处理的方法和训练自然语言处理模型的方法,可以提高自然语言处理的准确性。
图1A是示出根据本公开一些实施例的用于自然语言处理的方法的流程图。
如图1A所示,用于自然语言处理的方法包括:步骤S10,获取文本数据;和步骤S20,利用自然语言处理模型,对文本数据进行处理,得到输出信息。在步骤S10中,文本数据作为待处理文本。
图1B是示出根据本公开一些实施例的训练自然语言模型的方法的流程图。
如图1B所示,训练自然语言模型的方法包括步骤S10',获取文本数据;步骤S20',利用自然语言处理模型,对文本数据进行处理,得到输出信息;和步骤S30',根据自然语言处理模型的输出信息,训练自然语言处理模型,得到训练后的自然语言处理模型。在步骤S10'中,文本数据作为训练文本。
上述自然语言处理模型包括第一注意力模型。第一注意力模型包括顺序编码矩阵。顺序编码矩阵用于在文本数据的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息。根据顺序关系信息可以确定针对某个词,哪些词在该词之后,哪些词在该词之前。在一些实施例中,针对一个词,可以将位于该词的位置之前的词编码为a,而将位于该词的位置之后的词编码为b,以区分哪些词位于该词之前,哪些词位于该词之后。例如,第一注意力模型可以为多头注意力模型。在上述实施例中,通过在自然语言处理模型的第一注意力模型中增加顺序编码矩阵,可以以更简便的形式在文本数据的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息,从而可以使自然语言处理模型更方便、更快速地学习文本数据的语序信息,以更方便、更快速地理解文本数据的语义信息,从而提高自然语言处理的准确性和效率。
在一些实施例中,自然语言处理模型为自然语言生成类模型或者自然语言理解类模型。输出信息为以下信息中的至少一种:文本数据的译文信息、文本数据的答复信息、文本数据的分类信息(例如,情感分类等)或者文本数据与其他参考文本数据之间的关联关系信息。例如,上述第一注意力模型可以应用到Transformer、Bert等包括注意力机制的网络结构中。
在一些实施例中,顺序编码矩阵由上三角矩阵和下三角矩阵组成。上三角矩阵与下三角矩阵不同,且顺序编码矩阵的任何一个元素值均不为0。
图2A是示出根据本公开一些实施例的顺序编码矩阵的示意图。
如图2A所示,顺序编码矩阵包括右上三角矩阵A和左下三角矩阵B。右上三角矩阵A和左下三角矩阵B不同,且任何一个元素值均不为0。
在一些实施例中,顺序编码矩阵还可以包括左上三角矩阵和右下三角矩阵。本领域技术人员应当理解,为了适应性计算,可以通过矩阵转置操作来改变顺序编码矩阵的矩阵结构。
在一些实施例中,上三角矩阵的元素值与下三角矩阵的元素值不同。
在一些实施例中,顺序编码矩阵满足如下条件中的至少一个:上三角矩阵的各个元素值相同;下三角矩阵的各个元素值相同。例如,上三角矩阵的各个元素值相同,下三角矩阵的各个元素值也相同。
通过为上三角矩阵和下三角矩阵分别设置相同的元素值,在保留词与词之间的前后顺序的同时,隐去了词与词之间的距离信息,使得在训练自然语言处理模型的过程中以及利用自然语言处理模型进行自然语言处理的过程中增加语序的同时,保证相同表达结构的语句在不同句子中的位置发生变化时,其语义理解不变,从而保证了语义的灵活性。
另外,通过为上三角矩阵和下三角矩阵分别设置相同的元素值,不仅可以隐去了词与词之间的距离信息,降低训练压力,提高训练效率,还可以进一步提高自然语言处理的准确性和效率。
图2B是示出根据本公开另一些实施例的顺序编码矩阵的示意图。
如图2B所示,顺序编码矩阵的右上三角矩阵的元素值均为a,左下三角矩阵的元素值均为b。a和b均不为0。应当理解,图2B仅仅是一种示例,顺序编码矩阵还可以是一个三角矩阵的各个元素值相同,另一个三角矩阵的各个元素值不完全相同或完全不同。
在一些实施例中,上三角矩阵的元素值和下三角矩阵的元素值互为相反数。
图2C是示出根据本公开再一些实施例的顺序编码矩阵的示意图。
如图2C所示,顺序编码矩阵的右上三角矩阵的元素值为a,左下三角矩阵的元素值为-a。例如,顺序编码矩阵的右上三角矩阵的元素值还可以为-a,左下三角矩阵的元素值为a。a不为0。在顺序编码矩阵的对角线上的元素值可以为a,也可以为-a。
在一些实施例中,上三角矩阵的元素值和下三角矩阵的元素值的绝对值为1。
图2D是示出根据本公开又一些实施例的顺序编码矩阵的示意图。
如图2D所示,顺序编码矩阵的右上三角矩阵的元素值为1,左下三角矩阵的元素值为-1。例如,顺序编码矩阵的右上三角矩阵的元素值还可以为-1,左下三角矩阵的元素值还可以为1。在顺序编码矩阵的对角线上的元素值可以为1,也可以为-1。
在一些实施例中,顺序编码矩阵中的元素值可以是自然语言处理模型的训练参数,也可以是预设固定值。
在顺序编码矩阵的元素值作为自然语言处理模型的训练参数的情况下,在训练自然语言处理模型的过程中可以对顺序编码矩阵进行训练,使得顺序编码矩阵能够更准确地表征文本数据的语序,更灵活地学习词与词之间的距离信息,从而使得自然语言处理模型能够利用训练后的顺序编码矩阵更准确地学习文本数据的语序信息,以更准确、更灵活地理解文本数据的语义信息,从而进一步提高自然语言处理的准确性。
上述实施例所涉及的关于顺序编码矩阵的矩阵结构和元素值的描述,均适用于本公开任意实施例,在后续实施例中将不再重复描述。
图3A是示出根据本公开另一些实施例的用于自然语言处理的方法的流程图。
如图3A所示,用于自然语言处理的方法包括:步骤S10,获取文本数据;和步骤S20,利用自然语言处理模型,对文本数据进行处理,得到输出信息。该输出信息为自然语言处理模型的输出信息。在步骤S10中,文本数据作为待处理数据,用于自然语言处理过程。
图3B是示出根据本公开另一些实施例的用于自然语言处理的方法的流程图。
如图3B所示,用于自然语言处理的方法包括:步骤S10',获取文本数据;步骤S20',利用自然语言处理模型,对文本数据进行处理,得到输出信息;和步骤S30',根据自然语言处理模型的输出信息,训练自然语言处理模型,得到训练后的自然语言处理模型。该输出信息为自然语言处理模型的输出信息。在步骤S10'中,文本数据作为训练数据,用于自然语言处理模型的训练过程。
在一些实施例中,如图3A和图3B所示,利用自然语言处理模型,对文本数据进行处理,得到输出信息通过如图3A所示的步骤S21和步骤S22实现或者通过图3B所示的步骤S21'和步骤S22'。
在步骤S21或步骤S21'中,对文本数据中的至少一个词进行词嵌入处理,得到词向量数据。在一些实施例中,文本数据中的每个词为一句话被分词后,每句话被拆分成的最小单元。例如,针对中文文本,可以根据词组来进行分词,也可以根据汉字来进行分词。以中文文本“苹果是红色的”为例,词可以包括“苹果”、“是”、“红色的”。词“苹果”和“红色的”为词组,词“是”为汉字。又例如,针对英文文本,可以根据英文单词来来进行分词,也可以根据词根来进行分词。以英文文本“I like biology”为例,词可以包括“I”、“like”、“bio”等。词“I”、“like”均为单词,词“bio”为词根。
在一些实施例中,可以利用one-hot编码技术和word2vec(word to vector,词到向量)模型中的至少一种,对文本数据中的至少一个词进行词嵌入处理。
在一些实施例中,对文本数据中的至少一个词进行one-hot编码,得到one-hot编码向量。根据one-hot编码向量,确定词向量数据。
例如,可以将one-hot编码向量直接输入到自然语言处理模型中。
又例如,还可以将one-hot编码向量与一个可训练的权重相乘后,输入到自然语言处理模型中。该权重可以在自然语言处理模型中训练,也可以在word2vec模型中训练。在该权重在word2vec模型中训练的情况下,可以在训练自然语言处理模型的过程中一起训练word2vec模型,也可以冻结word2vec模型,只训练自然语言处理模型。假设one-hot编码向量为X(X的大小为N×V),可训练的权重为W(W大小为V×M),则词向量数据为Y=X×W(Y的大小为N×M)。
在步骤S22或步骤S22'中,利用自然语言处理模型,对词向量数据进行处理,得到输出信息。
下面将结合图4A、图4B和图5详细描述上述步骤“利用自然语言处理模型,对词向量数据进行处理,得到输出信息”。
图4A是示出根据本公开一些实施例的对文本数据的词向量数据进行处理的流程图。
图4B是示出根据本公开另一些实施例的对文本数据的词向量数据进行处理的流程图。
图5是示出根据本公开一些实施例的对文本数据的词向量数据进行处理的示意图。
例如,可以通过如图4A所示的方式实现上述步骤“利用自然语言处理模型,对词向量数据进行处理,得到输出信息”。
如图4A所示,对文本数据的词向量数据进行处理包括步骤S221-步骤S227。
在步骤S221中,对文本数据的词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵。例如,可以对文本数据的词向量数据进行一次线性变换,也可以对文本数据的词向量数据进行多次线性变换。在一些实施例中,第一词向量矩阵为查询向量(query,q)矩阵,第二词向量矩阵为键向量(key,k)矩阵。例如,第一词向量矩阵和第二词向量矩阵均不包含位置编码。在一些实施例中,对文本数据的词向量数据进行线性变换,还可以得到值向量矩阵(value,v)。
在一些实施例中,第一词向量矩阵和第二词向量矩阵基于同一词向量的不同线性变换得到。这种情况下,自然语言处理模型采用的是自注意力机制。例如,自注意力模型的输入为X,则查询向量矩阵q=X×Wq,键向量矩阵k=X×Wk,值向量矩阵v=X×Wv,Wq、Wk和Wv均为权重矩阵。在一些实施例中,权重矩阵均可作为训练参数进行训练。
在另一些实施例中,第一词向量矩阵和第二词向量矩阵分别基于不同词向量的线性变换得到。这种情况下,自然语言处理模型采用的是注意力机制。本领域技术人员应当理解,自注意力机制为注意力机制的变型。例如,注意力模型的编码层的输入是X,解码层的输入是Y,则查询向量矩阵q=Y×Wq,键向量矩阵k=X×Wk,值向量矩阵v=X×Wv,Wq、Wk和Wv均为权重矩阵。在一些实施例中,权重矩阵均可作为训练参数进行训练。
在步骤S223中,根据第一词向量矩阵和第二词向量矩阵,确定第三词向量矩阵。在一些实施例中,可以根据第一词向量矩阵与第二词向量矩阵的转置之间的乘积,确定第三词向量矩阵。以第一词向量矩阵为查询向量矩阵、第二词向量矩阵为键向量矩阵为例,根据查询向量矩阵与键向量矩阵的转置之间的乘积,确定第三词向量矩阵。
例如,如图5所示,第三词向量矩阵通过利用MatMul函数对第一词向量矩阵和第二词向量矩阵进行相乘操作得到。MatMul函数用于矩阵相乘。
在步骤S225中,根据第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵。如图5所示,根据第三词向量矩阵和顺序编码矩阵,可以确定第四词向量矩阵。顺序编码矩阵用于在文本数据的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息。例如,顺序编码矩阵用于在第三词向量矩阵的基础上增加文本数据中至少一个词与其他词之间的顺序关系信息。
在一些实施例中,可以根据第三词向量矩阵和顺序编码矩阵,利用尺度变换,确定第四词向量矩阵。
在一些实施例中,确定第三词向量矩阵与顺序编码矩阵的乘积,并根据所确定的第三词向量矩阵与顺序编码矩阵之间的乘积,利用尺度变换,确定第四词向量矩阵。在一些实施例中,可以对第三词向量矩阵与顺序编码矩阵之间的乘积进行尺度变换,得到第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对第三词向量矩阵和顺序编码矩阵进行相乘操作后,对相乘操作得到的乘积进行尺度变换得到。Mul函数用于矩阵元素对应位置相乘。尺度变换为将第三词向量矩阵除以dk为词嵌入维度。
在另一些实施例中,还可以对第三词向量矩阵进行尺度变换后,根据变换后的第三词向量矩阵与顺序编码矩阵之间的乘积,确定第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对变换后的第三词向量矩阵和顺序编码矩阵进行相乘操作得到。例如,尺度变换为将第三词向量矩阵除以dk为词嵌入维度。
在步骤S227中,根据第四词向量矩阵,确定自然语言处理模型的输出信息。在一些实施例中,对文本数据的词向量数据进行线性变换,还可以得到第五词向量矩阵。例如,第五词向量矩阵为值向量(value,v)矩阵。
例如,根据第四词向量矩阵和第五词向量矩阵,确定自然语言处理模型的输出信息。
在一些实施例中,如图5所示,第四词向量矩阵经过掩码(Mask)操作处理后,又对掩码处理的结果进行归一化操作(例如,softmax归一化操作)。最后利用MatMul函数将归一化操作的结果(例如为第一注意力分数矩阵)与第五词向量矩阵进行相乘操作,得到自然语言处理模型的第一注意力模型的输出。根据第一注意力模型的输出,可以确定自然语言处理模型的输出信息。
又例如,还可以通过如图4B所示的方式实现上述步骤“利用自然语言处理模型,对词向量数据进行处理,得到输出信息”。
如图4B所示,对文本数据的词向量数据进行处理包括步骤S222-步骤S226。
在步骤S222中,获取词向量数据的关联矩阵。关联矩阵用于表征文本数据中至少一个词与其他词之间的关联关系信息。例如,关联关系信息表征文本数据中至少一个词与其他词之间的权重关联关系。
例如,通过如下方式实现获取词向量数据的关联矩阵。
首先,对文本数据的词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵。例如,可以对文本数据的词向量数据进行一次线性变换,也可以对文本数据的词向量数据进行多次线性变换。在一些实施例中,第一词向量矩阵为查询向量(query,q)矩阵,第二词向量矩阵为键向量(key,k)矩阵。例如,第一词向量矩阵和第二词向量矩阵均不包含位置编码。
在一些实施例中,第一词向量矩阵和第二词向量矩阵基于同一词向量的不同线性变换得到。这种情况下,自然语言处理模型采用的是自注意力机制。在另一些实施例中,第一词向量矩阵和第二词向量矩阵分别基于不同词向量的线性变换得到。这种情况下,自然语言处理模型采用的是注意力机制。本领域技术人员应当理解,自注意力机制为注意力机制的变型。
然后,根据第一词向量矩阵和第二词向量矩阵,确定第三词向量矩阵。在一些实施例中,可以根据第一词向量矩阵与第二词向量矩阵的转置之间的乘积,确定第三词向量矩阵。以第一词向量矩阵为查询向量矩阵、第二词向量矩阵为键向量矩阵为例,根据查询向量矩阵与键向量矩阵的转置之间的乘积,确定第三词向量矩阵。
例如,如图5所示,第三词向量矩阵通过利用MatMul函数对第一词向量矩阵和第二词向量矩阵进行相乘操作得到。MatMul函数用于矩阵相乘。
最后,根据第三词向量矩阵,确定关联矩阵。例如,关联矩阵为第三词向量矩阵。
在步骤S224中,根据关联矩阵和顺序编码矩阵,确定顺序关联矩阵。顺序编码矩阵用于在文本数据的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息。例如,顺序编码矩阵用于在关联矩阵的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息。
在一些实施例中,顺序编码矩阵与关联矩阵的矩阵结构相同。
在一些实施例中,根据关联矩阵与顺序编码矩阵的乘积,确定顺序关联矩阵。
在另一些实施例中,以根据第三词向量矩阵确定关联矩阵为例,可以通过如下的方式实现根据关联矩阵和顺序编码矩阵,确定顺序关联矩阵。
首先,根据第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵。在一些实施例中,根据第三词向量矩阵与顺序编码矩阵,利用尺度变换,确定第四词向量矩阵。例如,顺序编码矩阵用于在第三词向量矩阵的基础上增加文本数据中至少一个词与其他词之间的顺序关系信息。
在一些实施例中,可以根据第三词向量矩阵和顺序编码矩阵,利用尺度变换,确定第四词向量矩阵。
在一些实施例中,根据确定第三词向量矩阵与顺序编码矩阵的乘积,并根据所确定的乘积,利用尺度变换,确定第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对第三词向量矩阵和顺序编码矩阵进行相乘操作后,对相乘操作得到的乘积进行尺度变换得到。Mul函数用于矩阵元素对应位置相乘。
在另一些实施例中,还可以对第三词向量矩阵进行尺度变换后,根据变换后的第三词向量矩阵与顺序编码矩阵的乘积,确定第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对变换后的第三词向量矩阵和顺序编码矩阵进行相乘操作得到。例如,尺度变换为将第三词向量矩阵除以dk为词嵌入维度。
然后,根据第四词向量矩阵,确定顺序关联矩阵。例如,将顺序关联矩阵确定为第四词向量矩阵。
在步骤S226中,根据顺序关联矩阵,确定自然语言处理模型的输出信息。
在一些实施例中,以根据第四词向量矩阵确定顺序关联矩阵为例,可以通过如下的方式实现根据顺序关联矩阵,确定自然语言处理模型的输出信息。
首先,对第四词向量矩阵依次进行对齐操作和归一化操作,得到第一注意力分数矩阵。第一注意力分数矩阵用于描述词向量数据中每个词向量的注意力权重分数。
在一些实施例中,如图5所示,对第四词向量矩阵进行掩码(Mask)处理后,又对掩码处理的结果进行归一化操作(例如,softmax归一化操作)。最后利用MatMul函数将归一化操作的结果与第五词向量矩阵进行相乘操作。利用MatMul函数将归一化操作的结果与第五词向量矩阵进行相乘操作的结果,作为第一注意力分数矩阵,即自然语言处理模型的第一注意力模型的输出。MatMul函数用于矩阵相乘。
其次,根据第一注意力分数矩阵,确定自然语言处理模型的输出信息。以对文本数据的词向量数据进行线性变换还可以得到第五词向量矩阵为例,可以根据第一注意力分数矩阵与第五词向量矩阵的乘积,确定自然语言处理模型的输出信息。例如,第五词向量矩阵为值向量矩阵。
下面将结合图5和图6,从词向量与第一注意力模型的关系角度详细描述步骤“利用自然语言处理模型,对文本数据进行处理,得到输出信息”的过程。
在一些实施例中,图3A所示的步骤S20和图3B所示的步骤S20'“利用自然语言处理模型,对文本数据进行处理,得到输出信息”还可以通过如图6所示的步骤S23-步骤S28实现。
图6是示出根据本公开一些实施例的利用自然语言处理模型,对文本数据进行处理的流程图。
如图6所示,利用自然语言处理模型,对文本数据进行处理包括步骤S23-步骤S28。
在步骤S23中,对文本数据中的至少一个词进行词嵌入处理,得到词向量数据。在一些实施例中,文本数据中的每个词为一句话被分词后,每句话被拆分成的最小单元。例如,针对中文文本,可以根据词组来进行分词,也可以根据汉字来进行分词。以中文文本“苹果是红色的”为例,词可以包括“苹果”、“是”、“红色的”。词“苹果”和“红色的”为词组,词“是”为汉字。又例如,针对英文文本,可以根据英文单词来来进行分词,也可以根据词根来进行分词。以英文文本“I like biology”为例,词可以包括“I”、“like”、“bio”等。词“I”、“like”均为单词,词“bio”为词根。
在步骤S24中,利用第一注意力模型,对词向量数据中进行线性变换,得到与文本数据对应的第一词向量矩阵和第二词向量矩阵。例如,可以对文本数据的词向量数据进行一次线性变换,也可以对文本数据的词向量数据进行多次线性变换。在一些实施例中,第一词向量矩阵为查询向量(query,q)矩阵,第二词向量矩阵为键向量(key,k)矩阵。例如,第一词向量矩阵和第二词向量矩阵均不包含位置编码。
在一些实施例中,第一词向量矩阵和第二词向量矩阵基于同一词向量的不同线性变换得到。这种情况下,自然语言处理模型采用的是自注意力机制。在另一些实施例中,第一词向量矩阵和第二词向量矩阵分别基于不同词向量的线性变换得到。这种情况下,自然语言处理模型采用的是注意力机制。本领域技术人员应当理解,自注意力机制为注意力机制的变型。
在步骤S25中,利用第一注意力模型,根据与文本数据对应的第一词向量矩阵和与文本数据对应的第二词向量矩阵,确定第一注意力模型中的第三词向量矩阵。以第一词向量矩阵为查询向量矩阵、第二词向量矩阵为键向量矩阵为例,根据查询向量矩阵与键向量矩阵的转置之间的乘积,确定第三词向量矩阵。
例如,如图5所示,第三词向量矩阵通过利用MatMul函数对第一词向量矩阵和第二词向量矩阵进行相乘操作得到。
在步骤S26中,利用第一注意力模型,根据与文本数据对应的第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵。顺序编码矩阵用于在文本数据的基础上增加文本数据中的至少一个词与其他词之间的顺序关系信息。例如,顺序编码矩阵用于在第三词向量矩阵的基础上增加文本数据中至少一个词与其他词之间的顺序关系信息。
在一些实施例中,可以根据第三词向量矩阵和顺序编码矩阵,利用尺度变换,确定第四词向量矩阵。
在一些实施例中,根据第三词向量矩阵与顺序编码矩阵的乘积,并根据乘积,利用尺度变换,确定第四词向量矩阵。在一些实施例中,可以对第三词向量矩阵与顺序编码矩阵之间的乘积进行尺度变换,得到第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对第三词向量矩阵和顺序编码矩阵进行相乘操作后,对相乘操作得到的乘积进行尺度变换得到。Mul函数用于矩阵元素对应位置相乘。
在另一些实施例中,还可以对第三词向量矩阵进行尺度变换后,根据变换后的第三词向量矩阵与顺序编码矩阵的乘积,确定第四词向量矩阵。例如,第四词向量矩阵通过利用Mul函数对变换后的第三词向量矩阵和顺序编码矩阵进行相乘操作得到。例如,尺度变换为将第三词向量矩阵除以dk为词嵌入维度。
在步骤S27中,利用第一注意力模型,根据第四词向量矩阵,确定第一注意力模型的输出。在一些实施例中,对文本数据的词向量数据进行线性变换,还可以得到第五词向量矩阵。例如,第五词向量矩阵为值向量(value,v)矩阵。
例如,根据第四词向量矩阵和第五词向量矩阵,确定第一注意力模型的输出。在一些实施例中,如图5所示,对第四词向量矩阵进行掩码(Mask)处理后,又对掩码处理的结果进行归一化操作。最后利用MatMul函数将归一化操作的结果与第五词向量矩阵进行相乘操作。利用MatMul函数将归一化操作的结果与第五词向量矩阵进行相乘操作的结果,作为自然语言处理模型的第一注意力模型的输出。MatMul函数用于矩阵相乘。
在步骤S28中,根据第一注意力模型的输出,确定自然语言处理模型的输出信息。
为帮助理解上述步骤S28,下面将结合图7A和图7B详细描述自然语言处理模型的模型结构。
图7A是示出根据本公开一些实施例的自然语言处理模型的框图。
如图7A所示,自然语言处理模型7A包括编码层71,编码层71包括第一注意力模型712。第一注意力模型712执行如图6所示的步骤S24-步骤S27。
在一些实施例中,编码层71还包括前馈神经网络714。文本数据的词向量数据为第一注意力模型712的输入。第一注意力模型712的输出为前馈神经网络714的输入。前馈神经网络714的输出为编码层71的输出。例如,自然语言处理模型7A包括多个串联的编码层71。第一个编码层的输入为文本数据的词向量数据,最后一个编码层的输出为由多个串联的编码层构成的整个编码结构的输出。第二个编码层至最后一个编码层的输入为前一个编码层的输出。
在一些实施例中,编码层71还包括第一求和与归一化模块713和第二求和与归一化模块715。第一求和与归一化模块713和第二求和与归一化模块715均被配置为对其输入进行求和操作与归一化操作。
第一求和与归一化模块713被配置为对第一注意力模型712的输入和输出进行求和操作与归一化操作。第二求和与归一化模块715被配置为对前馈神经网络714的输入和输出进行求和操作与归一化操作。
在一些实施例中,自然语言处理模型7A还包括解码层72。编码层71的输出为解码层72的输入。解码层72的输出为自然语言处理模型7A的输出信息。在自然语言处理模型7A包括多个串联的编码层71的情况下,最后一个编码层的输出为解码层72的输入。
在一些实施例中,解码层72包括神经网络模型721。编码层71的输出为神经网络模型721的输入。神经网络模型721的输出为自然语言处理模型7A的输出信息。例如,神经网络模型721被配置为执行特定的自然语言处理任务。在一些实施例中,神经网络模型721为全连接层结构。
基于图7A,根据第一注意力模型的输出,确定自然语言处理模型的输出信息包括:将第一注意力模型的输出依次经过第一求和与归一化模块713、前馈神经网络714和第二求和与归一化模块715后,得到编码层71的输出。经编码层71的输出作为解码层72中的神经网络模型721的输入,经过神经网络模型721的处理,得到解码层72的输出,作为自然语言处理模型的输出信息。
图7B是示出根据本公开另一些实施例的自然语言处理模型的框图。
如图7B所示,自然语言处理模型7B包括编码层71,编码层71包括第一注意力模型712。第一注意力模型712执行如图6所示的步骤S24-步骤S27。例如,自然语言处理模型7B包括多个串联的编码层71。第一个编码层的输入为文本数据的词向量数据,最后一个编码层的输出为由多个串联的编码层构成的整个编码结构的输出。第二个编码层至最后一个编码层的输入为前一个编码层的输出。
在一些实施例中,编码层71还包括第一前馈神经网络714。文本数据的词向量数据为第一注意力模型712的输入。第一注意力模型712的输出为第一前馈神经网络714的输入。第一前馈神经网络714的输出为编码层71的输出。
在一些实施例中,编码层71还包括第一求和与归一化模块713和第二求和与归一化模块715。第一求和与归一化模块713和第二求和与归一化模块715均被配置为对其输入进行求和操作与归一化操作。
第一求和与归一化模块713被配置为对第一注意力模型712的输入和输出进行求和操作与归一化操作。第二求和与归一化模块715被配置为对前馈神经网络714的输入和输出进行求和操作与归一化操作。
在一些实施例中,自然语言处理模型7B还包括解码层72。编码层71的输出为解码层72的输入。解码层72的输出为自然语言处理模型7的输出信息。在自然语言处理模型7B包括多个串联的编码层71的情况下,最后一个编码层的输出为解码层72的输入。
在一些实施例中,解码层72包括第二注意力模型722和第三注意力模型724。第三注意力模型724的输入包括编码层71的输出和第二注意力模型722的输出。第三注意力模型724的输出为解码层72的输出。
在一些实施例中,自然语言处理模型7B包括多个串联的解码层72。以自然语言处理模型7B包括多个串联的编码层71为例,最后一个编码层71的输出为每个解码层72的输入,最后一个解码层72的输出为自然语言处理模型7B的输出信息。最后一个编码层71的输出为每个解码层72中的第三注意力模型724的输入。除最后一个解码层以外的每个解码层的输出作为串联在其后的解码层的输入。
例如,在利用自然语言处理模型进行自然语言处理的过程中,第一个解码层的第二注意力模型的输入为最后一个解码层的输出,第二个解码层至最后一个解码层的第二注意力模型的输入为前一个解码层的输出。多个串联的解码层是针对每个位置进行一步处理,在处理最后一个位置之前的其他位置时,最后一个解码层的输出为第一个解码层的第二注意力模型的输入,也为由多个串联的解码层构成的解码结构对每个位置的输出。在处理最后一个位置时,最后一个解码层的输出为整个解码结构对最后一个位置的输出。
又例如,在对自然语言处理模型进行训练的过程中,第一个解码层的第二注意力模型的输入为训练数据的标签数据,第二个解码层至最后一个解码层的第二注意力模型的输入为前一个解码层的输出。在一些实施例中,在自然语言处理模型用于中译英的情况下,训练数据为中文文本数据,标签数据为对中文文本数据正确翻译的英文文本数据。
在一些实施例中,第一注意力模型、第二注意力模型和第三注意力模型均可以为多头注意力模型。在多头注意力模型中,多头注意力模型的输入数据被划分为多份子数据,多份子数据被输入到多头注意力模型的每一头中进行相应处理后,将多头的输出依次进行拼接操作、线性变换操作,得到多头注意力模型的输出。
在一些实施例中,解码层72还包括第三求和与归一化模块723、第四求和与归一化模块725、第二前馈神经网络726和第五求和与归一化模块727。第三求和与归一化模块723、第四求和与归一化模块725和第五求和与归一化模块727均被配置为对其输入进行求和操作与归一化操作。
例如,第三求和与归一化模块723被配置为对第二注意力模型722的输入和输出进行求和操作与归一化操作。第三求和与归一化模块723的输出为第三注意力模型724的输入。第四求和与归一化模块725被配置为对第三注意力模型724的输入和输出进行求和操作与归一化操作。第四求和与归一化模块725的输出为第二前馈神经网络726的输入。第五求和与归一化模块727被配置为对第二前馈神经网络726的输入和输出进行求和操作与归一化操作。第五求和与归一化模块727的输出为解码层72的输出。
在一些实施例中,自然语言处理模型7B还包括线性变换模块73。线性变换模块73被配置为对解码层72的输出进行线性变换。
在一些实施例中,自然语言处理模型7B还包括归一化模块74。归一化模块74被配置为对线性变换模块73的输出进行归一化操作,得到自然语言处理模型7B的输出信息。例如,归一化模块74对线性变换模块73的输出进行softmax归一化操作。
基于图7B,以解码层包括第二注意力模型和第三注意力模型为例,下面结合图8详细描述上述步骤S28。
图8是示出根据本公开一些实施例的根据第一注意力模型的输出确定自然语言处理模型的输出信息的流程图。
如图8所示,根据第一注意力模型的输出,确定自然语言处理模型的输出信息包括步骤S281-步骤S287。
在步骤S281中,利用第二注意力模型,对其输入进行线性变换,得到第二注意力模型中的第一词向量矩阵和第二词向量矩阵。例如,第二注意力模型中的第一词向量矩阵和第二词向量矩阵基于同一词向量的不同线性变换得到。例如,第一词向量矩阵为查询向量矩阵,第二词向量矩阵为键向量矩阵。
下面将以自然语言处理模型包括多个串联的解码层为例,详细描述在利用自然语言处理模型进行自然语言处理过程中和训练自然语言处理模型的过程中第二注意力模型的输入。
在利用自然语言处理模型进行自然语言处理的过程中,第一个解码层的第二注意力模型的输入为最后一个解码层的输出,第二个解码层至最后一个解码层的第二注意力模型的输入为前一个解码层的输出。在训练自然语言处理模型的过程中,第一个解码层的第二注意力模型的输入为训练数据的标签数据,第二个解码层至最后一个解码层的第二注意力模型的输入为前一个解码层的输出。
在一些实施例中,如图7B所示,在解码层72包括第四求和与归一化模块725、第二前馈神经网络726和第五求和与归一化模块727、且自然语言处理模型7B包括线性变换模块73和归一化模块74的情况下,第二注意力模型722对归一化模块74的输出进行线性变换,得到第二注意力模型中的第一词向量矩阵和第二词向量矩阵。
在步骤S282中,根据第二注意力模型中的第一词向量矩阵和第二词向量矩阵,确定第二注意力模型中的第三词向量矩阵。
在步骤S283中,根据第二注意力模型中的第三词向量矩阵,确定第二注意力模型的输出。
在一些实施例中,对第二注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作、顺序屏蔽操作和归一化操作,得到第二注意力分数矩阵。进而,根据第二注意力分数矩阵,确定第二注意力模型的输出。第二注意力分数矩阵用于描述第二注意力模型的输入的注意力权重分数。
在步骤S284中,利用第三注意力模型,对第二注意力模型的输出进行线性变换,得到第三注意力模型中的第一词向量矩阵。例如,第一词向量矩阵为查询向量矩阵。
在一些实施例中,如图7B所示,在解码层72包括第三求和与归一化模块723的情况下,第三注意力模型724对第三求和与归一化模块723的输出进行线性变换,得到第三注意力模型中的第一词向量矩阵。
在步骤S285中,对编码层的输出进行线性变换,得到第三注意力模型中的第二词向量矩阵。例如,第二词向量矩阵为键向量矩阵。在一些实施例中,第三注意力模型中的第一词向量矩阵和第二词向量矩阵基于不同词的线性变换得到。例如,还可以对编码层的输出进行线性变换,得到第五词向量矩阵,即值向量矩阵。
在一些实施例中,如图7B所示,在编码层71包括第一求和与归一化模块713、第一前馈神经网络714和第二求和与归一化模块715的情况下,第三注意力模型724对第二求和与归一化模块715的输出进行线性变换,得到第三注意力模型中的第二词向量矩阵。
在步骤S286中,根据第三注意力模型中的第一词向量矩阵和第二词向量矩阵,确定第三注意力模型中的第三词向量矩阵。
在步骤S287中,根据第三注意力模型中的第三词向量矩阵,确定自然语言处理模型的输出信息。
在一些实施例中,对第三注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作和归一化操作,得到第三注意力分数矩阵。根据第三注意力分数矩阵,确定自然语言处理模型的输出信息。第三注意力分数矩阵用于描述第三注意力模型的输入的注意力权重分数。例如,根据第三注意力分数矩阵与第三注意力模型中的第五词向量矩阵的乘积,确定自然语言处理模型的输出信息。
以图7B为例,将第三注意力分数矩阵依次经过第四求和与归一化模块725、第二前馈神经网络726和第五求和与归一化模块727的处理,得到解码层72的输出。将解码层72的输出依次经过线性变换模块73和归一化模块74的处理,得到自然语言处理模型的输出信息。
基于上述实施例,以自然语言处理模型包括编码层和解码层为例,编码层的输出为解码层的输入,编码层包括第一注意力模型。例如,可以通过如下步骤(1)-(5)实现根据自然语言处理模型的输出信息,训练自然语言处理模型。
(1)利用编码层对所述文本数据进行处理,得到编码层的输出。
(2)将编码层的输出,输入到解码层,得到解码层的输出。
(3)根据解码层的输出,确定自然语言处理模型的输出信息。
(4)根据自然语言处理模型的输出信息,确定损失函数的损失值。例如,损失函数为交叉熵函数。例如,交叉熵函数为 mi∈[1,2…,|M|],θ表示模型参数。M表示词集合,mi为词集合M中的第i个标签,|M|表示词集合M的词典大小。P()表示概率。
(5)根据损失函数的损失值,训练自然语言处理模型。
又例如,文本数据包括第一训练文本数据和第二训练文本数据。还可以通过如下步骤1)-7)实现根据自然语言处理模型的输出信息,训练自然语言处理模型。
1)利用编码层对第一训练文本数据进行处理,得到编码层的输出。例如,第一训练文本数据为维基百科等文本数据,不区分数据的使用场景。
2)根据编码层的输出,确定第一损失函数的损失值。
3)根据第一损失函数的损失值,对编码层进行第一训练。例如,第一训练采用LM(Language Modeling,语言建模)训练方法、MLM(Masked Language Modeling,掩码语言建模)训练方法、NSP(Next Sentence Prediction,下一句预测)训练方法、SOP(SentenceOrder Prediction,句子顺序预测)训练方法和DAE(De-noising Auto-encoder,去噪自编码)训练方法中的至少一种。
以第一训练为MLM训练方法和NSP训练方法为例,第一损失函数可以为 mi∈[1,2…,|M|],ni∈[IsNext,NotNext]。θ表示编码层的参数,例如为BERT中编码器的参数。θ1和θ2分别表示MLM训练任务中在编码器上所接的输出层的参数和NSP训练任务中在编码器上所接的分类器的参数。M表示词集合,mi为词集合M中的第i个标签,|M|表示词集合M的词典大小。N表示另一词集合,ni表示另一词集合N中的第i个标签,其取值为IsNext或NotNext。IsNext和NotNext分别表示两句话中的第二句话是否是第一句话的下一句话。P()表示概率。
4)利用经过第一训练后的编码层,对第二训练文本数据进行处理,得到经过第一训练后的编码层的输出。例如,第二训练文本数据为与自然语言处理模型的自然语言处理任务密切相关的文本数据。
5)将经过第一训练后的编码层的输出输入到解码层,得到自然语言处理模型的输出信息。在一些实施例中,解码层为全连接层。
6)根据自然语言处理模型的输出信息,确定第二损失函数的损失值。例如,第二损失函数也可以是前述的交叉熵函数。此处不再赘述。
7)在冻结经过第一训练后的编码层的情况下,根据第二损失函数的损失值,对解码层进行第二训练。
下面将结合一个具体的示例,来进一步阐述本公开的自然语言处理模型中应用顺序编码矩阵的原理和效果。
例如,将包括四个单词的文本数据ABCD和DCBA分别输入到自然语言处理模型中。
假设文本数据ABCD和文本数据DCBA的关联矩阵分别表示为如图9A和图9B所示的结构。关联矩阵由文本数据的查询向量矩阵(多个查询向量的合并)和键向量(多个键向量的合并)矩阵的转置确定。
如图9A所示,每个格子代表一个元素值,第一行到第四行分别代表单词A、B、C、D的第三词向量矩阵。如图9B所示,每个格子也代表一个元素值,第一行到第四行分别代表单词D、C、B、A的第三词向量矩阵。
文本数据ABCD和文本数据DCBA的值向量矩阵(多个值向量的合并)分别表示为如图9C和图9D所示的结构。采用函数S()表示第一注意力模型中的尺度变换、掩码操作和归一化操作的合并。
如图9C所示,每个格子代表一个元素值,第一行到第四行分别代表单词A、B、C、D的值向量。如图9D所示,每个格子也代表一个元素值,第一行到第四行分别代表单词D、C、B、A的值向量。
在不使用顺序编码矩阵的情况下,第一注意力模型通过利用S()函数对图9A所示的关键矩阵进行处理后,与图9C所示的值向量矩阵进行乘积,得到针对文本数据ABCD的输出。
第一注意力模型通过利用S()函数对图9B所示的关键矩阵进行处理后,与图9D所示的值向量矩阵进行乘积,得到针对文本数据DCBA的输出。
表1示出了在不使用顺序编码矩阵情况下,第一注意力模型针对文本数据ABCD和DCBA的输出。
表1
在表1中,针对每个单词,会生成多个注意力分数,多个注意力分数之间以分号“;”相隔。省略号表示未展示出的注意力分数,可以采用与其他注意力分数类似的计算方式计算。通过比较可知,在不使用顺序编码矩阵的情况下,相同单词在不同语序的文本数据中,会生成相同的注意力分数,无法区分相同单词在不同语序的文本数据中的语序和语义信息。
在使用顺序编码矩阵的情况下,第一注意力模型通过利用顺序编码矩阵、S()函数依次对图9A所示的关键矩阵进行处理后,与图9C所示的值向量矩阵进行乘积,得到针对文本数据ABCD的输出。
第一注意力模型通过利用顺序编码矩阵、S()函数依次对图9B所示的关键矩阵进行处理后,与图9D所示的值向量矩阵进行乘积,得到针对文本数据ABCD的输出。
下面以顺序编码矩阵为图2D所示矩阵结构为例进行计算。
表2示出了在使用顺序编码矩阵情况下,第一注意力模型针对文本数据ABCD和DCBA的输出。
表2
在表1中,针对每个单词,会生成多个注意力分数,多个注意力分数之间以分号“;”相隔。省略号表示未展示出的注意力分数,可以采用与其他注意力分数类似的计算方式计算。通过比较可知,在使用顺序编码矩阵的情况下,相同单词在不同语序的文本数据中,会生成不同的注意力分数,可以区分相同单词在不同语序的文本数据中的语序和语义信息,相对于不使用顺序编码矩阵的情况,可以提高自然语言处理的准确性。实验表明,基于Wiki(维基百科)和BookCorpus等训练集进行训练,本公开的模型实施例相较于现有自然语言处理模型,尤其是基于位置编码的自然语言处理模型,在GLUE各项评估指标上均有显著提升。
至此,已经详细描述了本公开各种方法实施例,下面描述相应的产品实施例。本公开实施例还提供了一种电子设备。
图10是示出根据本公开一个实施例的电子设备的框图。
如图10所示,电子设备10包括:存储器101以及耦接至该存储器101的处理器102。存储器101配置成存储执行用于自然语言处理的方法或训练自然语言处理模型的方法对应实施例的指令。处理器102被配置为基于存储在存储器101中的指令,执行本公开中任意一些实施例中的用于自然语言处理的方法或训练自然语言处理模型的方法中的一个或多个步骤。
应当理解,前述用于自然语言处理的方法或训练自然语言处理模型的方法中的一个或多个步骤可以通过处理器来实现,并且可以软件、硬件、固件或其结合的任一种方式实现。
除了用于自然语言处理的方法或训练自然语言处理模型的方法和电子设备之外,本公开实施例还可采用在一个或多个包含有计算机程序指令的非易失性存储介质上实施的计算机程序产品的形式。因此,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意实施例中的用于自然语言处理的方法或训练自然语言处理模型的方法中的一个或多个步骤。
图11是示出用于实现本公开一些实施例的计算机系统的框图。
如图11所示,计算机系统可以通用计算设备的形式表现,该计算机系统可以用来实现上述实施例的手绘图形识别装置。计算机系统包括存储器1110、处理器1120和连接不同系统组件的总线1100。
存储器1110例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行本公开方法的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器1120可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断设备和确定设备的每个设备,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线1100可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统还可以包括输入输出接口1130、网络接口1140、存储接口1150等。这些接口1130、1140、1150以及存储器1110和处理器1120之间可以通过总线1100连接。输入输出接口1130可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口1140为各种联网设备提供连接接口。存储接口1140为软盘、U盘、SD卡等外部存储设备提供连接接口。
至此,已经详细描述了本公开的各种实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (39)
1.一种用于自然语言处理的方法,包括:
获取文本数据;
利用自然语言处理模型,对所述文本数据进行处理,得到输出信息,其中,所述自然语言处理模型包括第一注意力模型,所述第一注意力模型包括顺序编码矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息。
2.一种用于自然语言处理的方法,包括:
获取文本数据;
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:
对所述词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵;
根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;
根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述第四词向量矩阵,确定所述自然语言处理模型的输出信息。
3.一种用于自然语言处理的方法,包括:
获取文本数据;
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:
获取所述词向量数据的关联矩阵,所述关联矩阵用于表征所述文本数据中至少一个词与其他词之间的关联关系信息;
根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息。
4.一种训练自然语言处理模型的方法,包括:
获取文本数据;
利用自然语言处理模型,对所述文本数据进行处理,得到输出信息,所述自然语言处理模型包括第一注意力模型,其中,所述第一注意力模型包括顺序编码矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
5.一种训练自然语言处理模型的方法,包括:
获取文本数据;
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:
对所述词向量数据中进行线性变换,得到第一词向量矩阵和第二词向量矩阵;
根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;
根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述第四词向量矩阵,确定所述自然语言处理模型的输出信息;
根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
6.一种训练自然语言处理模型的方法,包括:
获取文本数据;
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用自然语言处理模型,对所述词向量数据进行处理,得到输出信息,包括:
获取所述词向量数据的关联矩阵,所述关联矩阵用于表征所述文本数据中至少一个词与其他词之间的关联关系信息;
根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息;
根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型,得到训练后的自然语言处理模型。
7.根据权利要求1-6任一项所述的方法,其中,所述顺序编码矩阵由上三角矩阵和下三角矩阵组成,所述上三角矩阵与所述下三角矩阵不同,且所述顺序编码矩阵的任何一个元素值均不为0。
8.根据权利要求7所述的方法,其中,所述上三角矩阵的元素值与所述下三角矩阵的元素值不同。
9.根据权利要求8所述的方法,其中,所述顺序编码矩阵满足如下条件中的至少一个:
所述上三角矩阵的各个元素值相同;
所述下三角矩阵的各个元素值相同。
10.根据权利要求9所述的方法,其中,所述上三角矩阵的元素值和所述下三角矩阵的元素值互为相反数。
11.根据权利要求10所述的方法,其中,所述上三角矩阵和所述下三角矩阵的元素值的绝对值为1。
12.根据权利要求1-6任一项所述的方法,其中,所述顺序编码矩阵中的元素值为所述自然语言处理模型的训练参数。
13.根据权利要求3或6所述的方法,其中,所述顺序编码矩阵与所述关联矩阵的矩阵结构相同。
14.根据权利要求3或6所述的方法,其中,根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵包括:
根据所述关联矩阵与顺序编码矩阵的乘积,确定顺序关联矩阵。
15.根据权利要求2或5所述的方法,其中,根据所述第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵包括:
根据所述第三词向量矩阵与顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵。
16.根据权利要求1或4所述的方法,其中,利用自然语言处理模型,对所述文本数据进行处理,得到输出信息包括:
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用所述自然语言处理模型,对所述词向量数据进行处理,得到所述输出信息。
17.根据权利要求3或6所述的方法,其中,获取所述词向量数据的关联矩阵包括:
对所述词向量数据进行线性变换,得到第一词向量矩阵和第二词向量矩阵;
根据所述第一词向量矩阵和所述第二词向量矩阵,确定第三词向量矩阵;
根据所述第三词向量矩阵,确定所述关联矩阵;
根据所述关联矩阵和顺序编码矩阵,确定顺序关联矩阵包括:
根据所述第三词向量矩阵和所述顺序编码矩阵,确定第四词向量矩阵;
根据所述第四词向量矩阵,确定所述顺序关联矩阵。
18.根据权利要求17所述的方法,其中,根据所述第三词向量矩阵和所述顺序编码矩阵,确定第四词向量矩阵包括:
根据所述第三词向量矩阵和所述顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵。
19.根据权利要求18所述的方法,其中,
根据所述第三词向量矩阵和所述顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵包括:
确定所述第三词向量矩阵与所述顺序编码矩阵的乘积;
根据所述乘积,利用尺度变换,确定第四词向量矩阵。
20.根据权利要求18所述的方法,其中,
根据所述第三词向量矩阵和所述顺序编码矩阵,利用尺度变换,确定所述第四词向量矩阵包括:
对所述第三词向量矩阵进行尺度变换;
根据变换后的第三词向量矩阵与所述顺序编码矩阵的乘积,确定第四词向量矩阵。
21.根据权利要求18所述的方法,其中,
根据所述顺序关联矩阵,确定所述自然语言处理模型的输出信息包括:
对所述第四词向量矩阵依次进行对齐操作和归一化操作,得到第一注意力分数矩阵,所述第一注意力分数矩阵用于描述所述词向量数据中每个词向量的注意力权重分数;
根据所述第一注意力分数矩阵,确定所述自然语言处理模型的输出信息。
22.根据权利要求21所述的方法,其中,
对所述词向量数据进行线性变换包括:对所述词向量数据进行线性变换,得到第五词向量矩阵;
根据所述第一注意力分数矩阵,确定所述自然语言处理模型的输出信息包括:根据所述第一注意力分数矩阵与所述第五词向量矩阵的乘积,确定所述自然语言处理模型的输出信息。
23.根据权利要求2或5所述的方法,其中:
所述第一词向量矩阵和所述第二词向量矩阵基于同一词向量的不同线性变换得到;或者
所述第一词向量矩阵和所述第二词向量矩阵分别基于不同词向量的线性变换得到。
24.根据权利要求1或4所述的方法,其中,利用自然语言处理模型,对所述文本数据进行处理,得到所述自然语言处理模型的输出信息包括:
对所述文本数据中的至少一个词进行词嵌入处理,得到词向量数据;
利用所述第一注意力模型,对所述词向量数据执行如下操作:
对所述词向量数据中进行线性变换,得到与所述文本数据对应的第一词向量矩阵和第二词向量矩阵;
根据与所述文本数据对应的第一词向量矩阵和与所述文本数据对应的第二词向量矩阵,确定第一注意力模型中的第三词向量矩阵;
根据与所述文本数据对应的第三词向量矩阵和顺序编码矩阵,确定第四词向量矩阵,所述顺序编码矩阵用于在所述文本数据的基础上增加所述文本数据中的至少一个词与其他词之间的顺序关系信息;
根据所述第四词向量矩阵,确定所述第一注意力模型的输出;
根据所述第一注意力模型的输出,确定所述自然语言处理模型的输出信息。
25.根据权利要求24所述的方法,其中,所述自然语言处理模型还包括前馈神经网络,所述词向量数据为所述第一注意力模型的输入,所述第一注意力模型的输出为所述前馈神经网络的输入。
26.根据权利要求25所述的方法,其中,所述自然语言处理模型包括编码层和解码层,所述编码层包括所述第一注意力模型和所述前馈神经网络,所述前馈神经网络的输出为所述编码层的输出,所述编码层的输出为所述解码层的输入,所述解码层的输出为所述自然语言处理模型的输出信息。
27.根据权利要求26所述的方法,其中,所述解码层包括第二注意力模型和第三注意力模型,所述第三注意力模型的输入包括所述编码层的输出和所述第二注意力模型的输出,所述第三注意力模型的输出为所述解码层的输出。
28.根据权利要求26所述的方法,其中,所述自然语言处理模型包括多个串联的所述编码层和多个串联的所述解码层,第一个编码层的输入为所述词向量数据,最后一个编码层的输出为每个解码层的输入,最后一个解码层的输出为所述自然语言处理模型的输出信息。
29.根据权利要求26所述的方法,其中,所述解码层包括第二注意力模型和第三注意力模型,根据所述第一注意力模型的输出,确定所述自然语言处理模型的输出信息包括:
利用所述第二注意力模型,对其输入进行线性变换,得到所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵;
根据所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵,确定所述第二注意力模型中的第三词向量矩阵;
根据所述第二注意力模型中的第三词向量矩阵,确定所述第二注意力模型的输出;
利用所述第三注意力模型,对所述第二注意力模型的输出进行线性变换,得到所述第三注意力模型中的第一词向量矩阵;
对所述编码层的输出进行线性变换,得到所述第三注意力模型中的第二词向量矩阵;
根据所述第三注意力模型中的第一词向量矩阵和第二词向量矩阵,确定所述第三注意力模型中的第三词向量矩阵;
根据所述第三注意力模型中的第三词向量矩阵,确定所述自然语言处理模型的输出信息。
30.根据权利要求29所述的方法,其中,根据所述第二注意力模型中的第三词向量矩阵,确定所述第二注意力模型的输出包括:
对所述第二注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作、顺序屏蔽操作和归一化操作,得到第二注意力分数矩阵,所述第二注意力分数矩阵用于描述所述第二注意力模型的输入的注意力权重分数;
根据所述第二注意力分数矩阵,确定所述第二注意力模型的输出。
31.根据权利要求29所述的方法,其中,根据所述第三注意力模型中的第三词向量矩阵,确定所述自然语言处理模型的输出信息包括:
对所述第三注意力模型中的第三词向量矩阵依次进行尺度变换、对齐操作和归一化操作,得到第三注意力分数矩阵,所述第三注意力分数矩阵用于描述所述第三注意力模型的输入的注意力权重分数;
根据所述第三注意力分数矩阵,确定所述自然语言处理模型的输出信息。
32.根据权利要求29所述的方法,其中:
所述第一注意力模型和所述第二注意力模型中的第一词向量矩阵和第二词向量矩阵都是基于同一词向量的不同线性变换得到;
所述第三注意力模型中的第一词向量矩阵和第二词向量矩阵基于不同词向量的线性变换得到。
33.根据权利要求26所述的方法,其中,所述解码层包括神经网络模型,所述编码层的输出为所述神经网络模型的输入,所述神经网络的输出为所述自然语言处理模型的输出信息。
34.根据权利要求4所述的方法,其中,所述自然语言处理模型包括编码层和解码层,所述编码层的输出为所述解码层的输入,所述编码层包括所述第一注意力模型,根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型包括:
利用所述编码层对所述文本数据进行处理,得到所述编码层的输出;
将所述编码层的输出,输入到所述解码层,得到所述解码层的输出;
根据所述解码层的输出,确定所述自然语言处理模型的输出信息;
根据所述输出信息,确定损失函数的损失值;
根据所述损失函数的损失值,训练所述自然语言处理模型。
35.根据权利要求4所述的方法,其中,所述文本数据包括第一训练文本数据和第二训练文本数据,所述自然语言处理模型包括编码层和解码层,所述编码层的输出为所述解码层的输入,所述编码层包括所述第一注意力模型,根据所述自然语言处理模型的输出信息,训练所述自然语言处理模型包括:
利用所述编码层对所述第一训练文本数据进行处理,得到所述编码层的输出;
根据所述编码层的输出,确定第一损失函数的损失值;
根据所述第一损失函数的损失值,对所述编码层进行第一训练;
利用经过第一训练后的编码层,对所述第二训练文本数据进行处理,得到所述经过第一训练后的编码层的输出;
将经过第一训练后的编码层的输出输入到所述解码层,得到所述自然语言处理模型的输出信息;
根据所述自然语言处理模型的输出信息,确定第二损失函数的损失值;
在冻结经过第一训练后的编码层的情况下,根据所述第二损失函数的损失值,对所述解码层进行第二训练。
36.根据权利要求1-6任一项所述的方法,其中,所述自然语言处理模型为自然语言生成类模型或者自然语言理解类模型。
37.根据权利要求1-6任一项所述的方法,其中,所述输出信息为以下信息中的至少一种:
所述文本数据的译文信息、所述文本数据的答复信息、所述文本数据的分类信息或者所述文本数据与其他参考文本数据之间的关联关系信息。
38.一种电子设备,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至37任一项所述的方法。
39.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至37任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110947769.4A CN115713079A (zh) | 2021-08-18 | 2021-08-18 | 用于自然语言处理、训练自然语言处理模型的方法及设备 |
PCT/CN2022/112930 WO2023020522A1 (zh) | 2021-08-18 | 2022-08-17 | 用于自然语言处理、训练自然语言处理模型的方法及设备 |
US18/554,730 US20240330658A1 (en) | 2021-08-18 | 2022-08-17 | Method for natural language processing, method of training natural language processing model, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110947769.4A CN115713079A (zh) | 2021-08-18 | 2021-08-18 | 用于自然语言处理、训练自然语言处理模型的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115713079A true CN115713079A (zh) | 2023-02-24 |
Family
ID=85229862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110947769.4A Pending CN115713079A (zh) | 2021-08-18 | 2021-08-18 | 用于自然语言处理、训练自然语言处理模型的方法及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240330658A1 (zh) |
CN (1) | CN115713079A (zh) |
WO (1) | WO2023020522A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383391B (zh) * | 2023-06-06 | 2023-08-11 | 深圳须弥云图空间科技有限公司 | 一种文本分类方法及装置 |
CN117236323B (zh) * | 2023-10-09 | 2024-03-29 | 京闽数科(北京)有限公司 | 一种基于大数据的信息处理方法及系统 |
CN117315056B (zh) * | 2023-11-27 | 2024-03-19 | 支付宝(杭州)信息技术有限公司 | 视频编辑方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019793A (zh) * | 2017-10-27 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种文本语义编码方法及装置 |
CN112288075B (zh) * | 2020-09-29 | 2024-02-02 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN112241631A (zh) * | 2020-10-23 | 2021-01-19 | 平安科技(深圳)有限公司 | 文本语义识别方法、装置、电子设备及存储介质 |
CN113239700A (zh) * | 2021-04-27 | 2021-08-10 | 哈尔滨理工大学 | 改进bert的文本语义匹配设备、系统、方法及存储介质 |
-
2021
- 2021-08-18 CN CN202110947769.4A patent/CN115713079A/zh active Pending
-
2022
- 2022-08-17 WO PCT/CN2022/112930 patent/WO2023020522A1/zh active Application Filing
- 2022-08-17 US US18/554,730 patent/US20240330658A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240330658A1 (en) | 2024-10-03 |
WO2023020522A1 (zh) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7285895B2 (ja) | 質問応答としてのマルチタスク学習 | |
US11132512B2 (en) | Multi-perspective, multi-task neural network model for matching text to program code | |
CN113987209B (zh) | 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质 | |
Meng et al. | Aspect based sentiment analysis with feature enhanced attention CNN-BiLSTM | |
US9720907B2 (en) | System and method for learning latent representations for natural language tasks | |
CN115713079A (zh) | 用于自然语言处理、训练自然语言处理模型的方法及设备 | |
Zohourianshahzadi et al. | Neural attention for image captioning: review of outstanding methods | |
CN111460812B (zh) | 语句情感分类方法及相关设备 | |
CN113641819B (zh) | 基于多任务稀疏共享学习的论辩挖掘系统及方法 | |
Elleuch et al. | Arabic handwritten characters recognition using deep belief neural networks | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
US11941356B2 (en) | Systems and methods for multi-scale pre-training with densely connected transformer | |
Adi et al. | Analysis of sentence embedding models using prediction tasks in natural language processing | |
CN114528835A (zh) | 基于区间判别的半监督专业术语抽取方法、介质及设备 | |
Fleuret | The little book of deep learning | |
Pal et al. | R-GRU: Regularized gated recurrent unit for handwritten mathematical expression recognition | |
Rodriguez | Deep Learning Systems: Algorithms, Compilers, and Processors for Large-Scale Production | |
CN117151121B (zh) | 一种基于波动阈值与分割化的多意图口语理解方法 | |
Yao et al. | Tessp: text-enhanced self-supervised speech pre-training | |
CN117725211A (zh) | 一种基于自构建提示模板的文本分类方法和系统 | |
CN115759098B (zh) | 一种航天文本数据的中文实体和关系联合抽取方法、系统 | |
Chen et al. | Audio captioning with meshed-memory transformer | |
CN117131868A (zh) | 一种基于“表格-图”两阶段的面向文档级别实体关系联合抽取方法及装置 | |
US20230124006A1 (en) | System and method for training a transformer-in-transformer-based neural network model for audio data | |
Liu et al. | A Chinese question answering system based on gpt |
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 |