CN112016299B - 计算机执行、利用神经网络生成依存句法树的方法及装置 - Google Patents
计算机执行、利用神经网络生成依存句法树的方法及装置 Download PDFInfo
- Publication number
- CN112016299B CN112016299B CN202010898079.XA CN202010898079A CN112016299B CN 112016299 B CN112016299 B CN 112016299B CN 202010898079 A CN202010898079 A CN 202010898079A CN 112016299 B CN112016299 B CN 112016299B
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- layer
- attention
- words
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013528 artificial neural network Methods 0.000 title claims description 33
- 239000013598 vector Substances 0.000 claims abstract description 301
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 67
- 230000009466 transformation Effects 0.000 claims description 34
- 238000012512 characterization method Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 23
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 15
- 230000007423 decrease Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例了提供一种生成依存句法树的方法及装置。该方法包括:在嵌入层,对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;在字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定第一字到第二字的字间依存度;第一字和第二字为所述待分析句子中两个不同位置的字;在词关系生成层,基于第一词中的字到第二词中的字的字间依存度,确定第一词到第二词的词间依存度,第一词和第二词为所述待分析句子所包含的多个词中的两个不同词;在输出层,基于所述多个词中各词相互的词间依存度,确定依存句法树。该方法可以减少集外词情况的发生,具有较高的新词容错能力。
Description
技术领域
本说明书一个或多个实施例涉及计算机信息处理领域,尤其涉及一种计算机执行、利用神经网络生成依存句法树的方法及装置。
背景技术
在人工智能的多项应用场景中,都需要完成自然语言处理的任务,例如语义分析、意图识别、智能翻译等等。依存句法分析(parser)为自然语言处理的一项基础研究,其主要用于研究一个句子中词与词之间的依存关系,并生成依存句法树,以此来描述该句子中词与词之间的依存关系。也就是说,依存句法树指出了词之间在句法上的搭配关系,该搭配关系是和词的语义相关联的。
依存句法分析广泛应用于关系抽取、知识图谱等领域。为了满足人工智能的发展需求,亟需一种计算机执行的可准确、快速地生成依存句法树的方案。
发明内容
本说明书一个或多个实施例描述了一种计算机执行、利用神经网络生成依存句法树的方法,可以提高对新词的容错能力。
根据第一方面,提供一种计算机执行的、利用神经网络生成依存句法树的方法,所述神经网络包括嵌入层、字关系生成层、词关系生成层、输出层,所述方法包括:
在所述嵌入层,对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;
在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;
在所述词关系生成层,基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;
在所述输出层,基于所述多个词中各词相互的词间依存度,确定依存句法树。
在一个实施例中,所述字关系生成层包括多个注意力层,其中任意的第一注意力层包括C个注意力头部;其中,C为自然数;
所述确定所述第一字到所述第二字的字间依存度,包括,在所述第一注意力层,执行以下步骤:
获取上一层输出的所述各个字的上一层表征向量,其中包括对应于第一字的第一表征向量和对应于第二字的第二表征向量;以及获取上一层字间依存矩阵,其中包括从第一字到第二字的上一层依存向量;
在所述C个注意力头部的每个注意力头部中,基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,从而得到C个注意力分数,所述C个注意力分数构成第一字到第二字的注意力向量;
基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,用于构成本层字间依存矩阵。
在该实施例的一种可能的实现方式中,所述第一注意力层是所述嵌入层的下一层;所述各个字的上一层表征向量等于所述嵌入层得到的各个字的特征向量;所述上一层字间依存矩阵为零矩阵。
在该实施例的一种可能的实现方式中,所述第一注意力层是所述词关系生成层的前一层;
所述确定所述第一字到所述第二字的字间依存度,还包括:
对所述本层依存向量进行第一线性变换,所述第一线性变换为转化为标量的线性变换,从而得到所述第一字到第二字的字间依存度。
在该实施例的一种可能的实现方式中,基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,包括:
利用当前注意力头部对应的键参数矩阵,将第一表征向量转化为第一键向量;
利用当前注意力头部对应的查询参数矩阵,将第二表征向量转化为第二查询向量;
基于第一键向量和第二查询向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
在该实施例的一种可能的实现方式中,基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,包括:
对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量;
对所述中间向量进行线性变换,得到所述本层依存向量。
在该实施例的一种可能的实现方式中,在所述第一注意力层,还执行以下步骤:
根据各个字的上一层表征向量,以及各个字相互之间的注意力向量,确定各个字的本层表征向量。
在一个实施例中,所述嵌入层包括字编码层和位置编码层;
所述对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量,包括:
在字编码层,对所述各个字分别进行编码处理,得到各个字各自的字编码向量;
在位置编码层,基于所述各个字在所述待分析句子当中的位置,各自生成所述各个字的位置向量,并将所述各个字的位置向量和对应的字编码向量进行组合,得到所述各个字各自的特征向量。
在一个实施例中,所述基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,包括:
获取所述多个词与所述各个位置对应的各个字之间的字词映射关系;
根据所述字词映射关系,确定所述第一词中的字和所述第二词中的字;
基于所述第一词中各个字到所述第二词中各个字的依存度的叠加,确定所述第一词到所述第二词的词间依存度。
在该实施例的一种可能的实现方式中,获取所述多个词与所述各个位置对应的各个字之间的字词映射关系,包括:
获取对所述待分析句子的分词结果,其中包括各个分词的词索引号;
依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。
在一个实施例中,所述基于所述多个词中各词相互的词间依存度,确定依存句法树,包括:
在所述依存句法树中构建对应于所述第一词的第一节点和对应于所述第二词的第二节点;
在所述第一词到所述第二词的词间依存度大于预设阈值的情况下,在第一节点和第二节点之间构建用于表示父子关系的连接边。
根据第二方面,提供了一种计算机执行的、训练神经网络的方法,所述神经网络包括嵌入层、字关系生成层、词关系生成层,所述方法包括:
在所述嵌入层,对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;
在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;
在所述词关系生成层,基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;
至少根据预测的词间依存度和所述标签数据中的词间依存度的对比,得到预测损失;
在所述预测损失减少的方向,更新所述神经网络。
根据第三方面,提供了一种生成依存句法树的装置,包括:
嵌入单元,配置为对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;
第一确定单元,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;
第二确定单元,配置为基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;
第三确定单元,配置为基于所述多个词中各词相互的词间依存度,确定依存句法树。
根据第四方面,一种训练神经网络的装置,包括:
嵌入单元,配置为对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;
第一确定单元,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;
第二确定单元,配置为基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;
对比单元,配置为至少根据预测的词间依存度和所述标签数据中的词间依存度的对比,得到预测损失;
更新单元,配置为在所述预测损失减少的方向,更新所述神经网络。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,可以先确定待分析句子中字到字的字间依存度;对于待分析句子中的词而言,词到词的词间依存度可通过词中的字到词中字的字间依存度得到,从而提高了对新词的容错能力,大幅减少了集外词的情况发生。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书披露的一个用于生成依存句法树的神经网络结构示意图;
图2示出根据一个实施例的计算机执行的、利用图1所示的神经网络,生成依存句法树的方法的流程图;
图3示出根据一个实施例的字关系生成层中的一个注意力层的结构示意图;
图4示出根据一个实施例的字关系生成层中的最后一个注意力层的结构示意图;
图5示出根据一个实施例的字到词的映射示意图;
图6示出根据一个实施例的计算机执行的、训练神经网络的方法的流程图;
图7示出根据一个实施例的生成依存句法树的装置的示意性框图;
图8示出根据一个实施例的训练神经网络的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
语言客观事实的描述,对于文本相似度、文本分类、阅读理解、机器翻译等自然语言处理(natural language processing,NLP)任务至关重要。可通过语言模型对语言客观事实进行描述。语言模型是一个单纯的、统一的、抽象的形式系统,其对语言客观事实的描述,比较适合于计算机自动处理。
通过语言模型描述句子所表述的客观事实,由此,来生成依存句法树,是依存句法分析可采用的方案。在一种具体方案中,可以基于长短期记忆网络(Long Short-TermMemory,LSTM)或卷积神经网络(Convolutional Neural Networks,CNN),分析句子中词的依存关系,并生成依存句法树。由于LSTM和CNN对语言客观事实描述能力有限,生成的依存句法树效果不佳。特别是,基于词的依存句法树生成方案,容易出现集外词(out ofvocabulary,oov)情况,导致泛化性差。
接下来,参考附图,对本说明书实施例提供的计算机执行的、利用神经网络生成依存句法树的方法进行具体介绍。该计算机可以为任何具有计算、处理能力的装置、设备、平台、设备集群。如图1所示,该神经网络包括由上至下(数据传递方向)依次相邻的嵌入层、字关系生成层、词关系生成层、输出层。如图2所示,该方法包括如下步骤:步骤200,在所述嵌入层,对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;步骤202,在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;步骤204,在所述词关系生成层,基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;步骤206,在所述输出层,基于所述多个词中各词相互的词间依存度,确定依存句法树。
接下来,结合具体例子对上述各步骤进行具体介绍。
首先,在步骤200,在所述嵌入层,对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量。
示例性的,待分析句子可以为由多个汉字组成的一个句子或一段文本,例如“白色的狗”。
在一些实施例中,如图1所示,嵌入层可以包括字编码层和位置编码层。
可以在字编码层,对待分析句子中的各个字分别进行编码处理,得到各个字各自的字编码向量。以待分析句子为“白色的狗”为例,可以对“白”进行编码处理,得到“白”的字编码向量;可以对“色”进行编码处理,得到“色”的字编码向量;可以对“的”进行编码处理,得到“的”的字编码向量;可以对“狗”进行编码处理,得到“狗”的字编码向量。
可以在位置编码层,基于各个字在待分析句子当中的位置,各自生成各个字的位置向量。以待分析句子“白色的狗”为例,可以设定“白”在该句子中的位置为0,“色”在该句子中的位置为1,“的”在该句子中的位置为2,“狗”在该句子中的位置为3。可以生成用于表示位置0的向量,用于表示位置1的向量,用于表示位置2的向量,用于表示位置3的向量。
可以将各个字的位置向量和对应的字编码向量进行组合,例如进行拼接,由此,得到各个字各自的特征向量。以待分析句子“白色的狗”为例,将“白”的字编码向量和用于表示位置0的向量进行组合,得到“白”的特征向量;将“色”的字编码向量和用于表示位置1的向量进行组合,得到“色”的特征向量;将“的”的字编码向量和用于表示位置2的向量进行组合,得到“的”的特征向量;将“狗”的字编码向量和用于表示位置3的向量进行组合,得到“狗”的特征向量。
其次,在步骤202中,在字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字。
在一些实施例中,字关系生成层可以包括多个注意力层,例如图1所示的注意力层A1,注意力层A1,…,注意力层Ab。该多个注意力层从上至下(数据传递方向)依次相邻。
对于该多个注意力层中的任一注意力层,其可以获取其上一层输出的待分析句子中各个字的上一层表征向量;以及获取其上一层字间依存矩阵。
对于注意力层A1(即多个注意力层的中最上层,也即嵌入层的下一层),其获取的各个字的表征向量为嵌入层输出的各个字的特征向量。
对于任一注意力层,其上一层字间依存矩阵由相关句子中各个字到该句子中其他字的上一层依存向量构成。具体而言,可以设定第一字和第二字为该句子中任意两个不同的字。该上一层字间依存矩阵包括第一字到第二字的上一层依存向量。其中,对于注意力层A1(即多个注意力层的中最上层,也即嵌入层的下一层),其上一层字间依存矩阵为零矩阵。
参阅图3,该多个注意力层中的每一注意力层可以为多头注意力(multi-headattention)层。具体而言,每一注意力层可以包括C个注意力头部,其中,C为自然数。在每一个注意力层,C个注意力头部相当于C个独立空间。可以在每一个独立空间(注意力头部),对第一字的上一层表征向量和第二字的上一层表征向量进行计算,得到第一字到第二字的注意力分数。在C个注意力头部,可以得到第一字到第二字的C个注意力分数。第一字到第二字的C个注意力分数可以构成第一字到第二字的注意力向量。进而,可以根据第一字到第二字的注意力向量,以及第一字到第二字的上一层依存向量,确定第一字到第二字的本层依存向量。第一字和第二字为句子中任意两个不同的字,参照前述对第一字到第二字的本层依存向量的确定过程的介绍,可以得到句子中各个字到该句子中其他字的本层依存向量,也就是说,可以得到句子中各个字两两相互的本层依存向量。该句子中各个字两两相互的本层依存向量,可以构成该句子的本层字间依存矩阵。
在下文,对步骤202的具体实现过程进行示例介绍。
在一个说明性示例中,步骤202中所述的基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,包括:利用当前注意力头部对应的键参数矩阵,将第一表征向量转化为第一键向量;利用当前注意力头部对应的查询参数矩阵,将第二表征向量转化为第二查询向量;基于第一键向量和第二查询向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
具体而言,对于任一注意力层的任一注意力头部,第一字到第二字的注意力分数可以通过公式(1.1)进行计算。
其中,i为第一字在待分析句子中的位置,j为第二字在待分析句子中的位置,L为当前注意力层的索引号,c为当前注意力头部的索引号,Kc为注意力头部c的键参数矩阵,Qc为注意力头部c的查询参数矩阵,为第一个字的第L-1层(当前注意力层的上一层)表征向量,/>为第二个字的第L-1层(第L层的上一层)表征向量,/>为在第L个注意力层的第c个注意力头部中,第一字到第二字的注意力分数。Kc、Qc可以通过训练得到。
在一个说明性示例中,步骤202中所述的基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,包括:利用当前注意力头部对应的查询参数矩阵,将第一表征向量转化为第一查询向量;利用当前注意力头部对应的键参数矩阵,将第二表征向量转化为第二键向量;基于第一查询向量和第二键向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
具体而言,对于任一注意力层的任一注意力头部,第一字到第二字的注意力分数可以通过公式(1.2)进行计算。
其中,i为第一字在待分析句子中的位置,j为第二字在待分析句子中的位置,L为当前注意力层的索引号,c为当前注意力头部的索引号,Qc为注意力头部c的查询参数矩阵,Kc为注意力头部c的键参数矩阵,为第一个字的第L-1层(当前注意力层的上一层)表征向量,/>为第二个字的第L-1层(第L层的上一层)表征向量,/>为在第L个注意力层的第c个注意力头部中,第一字到第二字的注意力分数。Kc、Qc可以通过训练得到。
可以理解,对于任一注意力层而言,每一个注意力头部得到一个第一字到第二字的注意力分数,则C个注意力头部得到C个第一字到第二字的注意力分数。
需要说明的是,在本说明书中,如无特殊说明,第L层、L层、第L-1层、L-1层,均是指字关系生成层中的某一注意力层。
继续参阅图3,可以将第L层得到的C个第一字到第二字的注意力分数进行组合,例如拼接,可以得到第L层的第一字到第二字的注意力向量,或者说,第一字到第二字的第L层注意力向量。其中,第一字到第二字的第L层注意力向量可以使用表示。
如此,可以得到句子中各个字两两相互的第L层注意力向量。进而可以利用各个字两两相互间的第L层注意力向量,确定各个字两两相互间的第L层依存向量。
在一个说明性示例中,步骤202中所述的基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,包括:对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量;对所述中间向量进行线性变换,得到所述本层依存向量。
如上所述,当第L层注意力层为注意力层A1(即L=1),对第L层而言,其上一层字间依存矩阵为零矩阵。因此,上文所述的对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量,具体可以包括,对第一字到第二字的第1层注意力向量进行线性变换,中间向量L=1。在一个例子中,当L=1时,可以通过公式(2)计算/>
其中,为第L注意力层的第一线性变换矩阵,/>为第L注意力层的第一偏斜。/>可以通过训练得到。
当第L层注意力层为注意力层A2至注意力层Ab中的任一层(即当L>1)时,可以对第一字到第二字的第L层注意力向量和第一字到第二字的第L-1层依存向量进行线性组合,得到中间向量在一个例子中,当L>1时,可以通过公式(3)计算/>
其中,为第L注意力层的第一线性变换矩阵,/>为第L注意力层的第一偏斜,/>为第L-1层依存向量。/>可以通过训练得到。
如此,可以得到第一字到第二字的第L层中间向量
可以对第一字到第二字的第L层中间向量进行线性变换,得到第一字到第二字的第L层依存向量/>在一个例子中,可以通过公式(4)计算/>
其中,为第L注意力层的第二线性变换矩阵,/>为第L注意力层的第二偏斜,为第L-1层依存向量。/>可以通过训练得到。
参照第一字到第二字的第L层依存向量的确定过程,可以得到句子中各个字两两相互的第L层依存向量。句子中各个字两两相互的第L层依存向量可以构成该句子的第L层字间依存矩阵RL。
若第L层的下一层为注意力层,第L层可以向其下一层输出第L层字间依存矩阵RL以及句子中各字的第L层表征向量。该下一层可以根据第L层字间依存矩阵RL以及各字的第L层表征向量,确定该下一层的字间依存矩阵。
若第L层的下一层为词关系生成层,则可以根据第L层字间依存矩阵RL,确定字间依存度。接下来,进行示例说明。
在一些实施例中,若步骤202中的第一注意力层是词关系生成层的前一层,即词关系生成层是第一注意力层的下一层,则步骤202中所述的确定所述第一字到所述第二字的字间依存度,还包括:对所述本层依存向量进行第一线性变换,所述第一线性变换为转化为标量的线性变换,从而得到所述第一字到第二字的字间依存度。
具体而言,参阅图4,可以对第L层(第L层为词关系生成层的前一层)字间依存矩阵RL进行线性变换,以将RL中的各依存向量转换为标量Sij,得到字间依存度矩阵S。其中,由第一字到第二字的依存向量转换的标量表示第一字到第二字的字间依存度。
在一个例子中,可以通过公式(5)计算标量Sij。
其中,Wscore为依存度线性变换矩阵,bscore为依存度偏斜。Wscore、bscore可以通过训练得到。
如此,可以在步骤202中,确定第一字到第二字的字间依存度。可以理解,第一字和第二字为待分析句子中任意两个不同的字。对于待分析句子而言,可以参照第一字到第二字的字间依存度的确定方式,可以确定出各字两两相互间的字间依存度。
接下来,介绍每一注意力层的表征向量的确定方案。
在一些实施例中,在步骤202中所述的第一注意力层,还执行:根据各个字的上一层表征向量,以及各个字两两相互之间的注意力向量,确定各个字的本层表征向量。
上述所述,各个字两两相互之间的注意向量由在C个注意力头部确定的C个注意力分数构成。可以在第一注意力层的任一注意力头部,根据在该注意力头部确定的各个字两两相互之间的注意力分数,以及各个字的上一层表征向量,确定各个字的在该注意力头部的第一注意力层表征向量。然后,可以将C个注意力头部的C个第一注意力层表征向量进行组合,例如拼接,可以得到各个字的第一注意力层表征向量。
在一个例子中,可以通过公式(6)计算第一字在注意力头部c的第L层表征向量。
其中,i为第一字在待分析句子中的位置。j为第二字在待分析句子中的位置。N为待分析句子的总字数。L为当前注意力层的索引。c为当前注意力头部的索引。为在第L个注意力层的第c个注意力头部中,第一字到第二字的注意力分数。/>为第二字的L-1层(L层的上一层)表征向量。V为线性变换矩阵。
如此,可以在每个注意力头部得到第一字的第L层表征向量。然后,将在C个注意力头部得到的C个第一字的第L层表征向量进行组合,例如拼接,得到第一字的第L层表征向量。
其次,在步骤204中,在所述词关系生成层,基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词。
在一些实施例中,步骤204包括:获取所述多个词与所述各个位置对应的各个字之间的字词映射关系;根据所述字词映射关系,确定所述第一词中的字和所述第二词中的字;基于所述第一词中各个字到所述第二词中各个字的依存度的叠加,确定所述第一词到所述第二词的词间依存度。
在一个说明性示例中,步骤204中所述的获取所述多个词与所述各个位置对应的各个字之间的字词映射关系包括:获取对所述待分析句子的分词结果,其中包括各个分词的词索引号;依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。
具体而言,可以通过分词工具(例如jieba),对待分析句子进行分词,从而将待分析句子分成多个词。以待分析句子为“白色的狗”为例,其可以分为“白色”、“的”、“狗”三个词。需要说明的是,在本说明书中,对待分析句子进行分词得到的词也可以称为分词。
可以按照待分析句子中各个词的位置先后顺序构建词位置索引表IndWord,以表示多个词中各词在待分析句子中的位置。其中,第一个词的词索引号为0,第二个词的词索引号为1,依存类推。例如,“白色”、“的”、“狗”的词位置索引表IndWord为[0:白色,1:的,2,狗]。还可以按照待分析句子中各个字的位置先后顺序构建字位置索引表IndChar。其中,第一个字的字索引号为0,第二字的字索引号为1,依存类推。例如,“白”、“色”、“的”、“狗”的字位置索引表IndChar为[0:白,1:色,2,的,3:狗]。
然后,可以借助词位置索引表IndWord和字位置索引表IndChar,以及各个词中字的个数来确定待分析句子中各个位置上的字所归属的词。也就是说,可以依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。具体而言,在确定多个词中任一个词中的字时,可以确定该任一个词中字的个数为e,以及词索引号小于该任一个词的索引号的词中字的总个数f;则可以确定该任一个词中字在IndChar中的字索引号为[f,…,f+e],也就是说,字位置索引表IndChar中,字索引号为[f,…,f+e]的字为该任一词中的字。由此,可以建立到分析句子中各个位置的位置索引号与所述词索引号的对应关系,得到字词映射关系。
在确定第一词中的字时,可以根据第一词的词索引号和上文确定的字词映射关系,确定第一词中的字。在确定第二词中的字时,可以根据第二词的词索引号和上文确定的字词映射关系,确定第二词中的字。
接下来,介绍词间依存度的确定方案。
示例性的,仍以第一词和第二词为例,可以通过公式(7)计算第一词到第二词的词间依存度。
其中,m为第一词的索引,n为第二词的索引,I(m)为第一词中字,I(n)为第二词中字,Sij为索引为字i到字j的字间依存度。
通过上述方式可以将待分析句子中各个字两两相互的字间依存度(S),转换为待分析句子中各个词两两相互的词间依存度(S')。也就说,通过上述方案,待分析句子中各个词两两相互的词间依存度可以通过待分析句子中各个字两两相互的字间依存度得到。
参阅图5,以待分析句子为“白色的狗”为例,可以“白”、“色”、“的”“狗”中的字两两相互间的字间依存度,转换为“白色”“的”、“狗”的词两两相互的词间依存度。
最后,在步骤206,在所述输出层,基于所述多个词中各词相互的词间依存度,确定依存句法树。
在一些实施例中,步骤206包括:在所述依存句法树中构建对应于所述第一词的第一节点和对应于所述第二词的第二节点;在所述第一词到所述第二词的词间依存度大于预设阈值的情况下,在第一节点和第二节点之间构建用于表示父子关系的连接边。预设阈值可以为根据经验设定的值。当第一词到第二词的词间依存度大于该阈值时,说明第一词到第二词的依存程度比较高,由此,可以在它们之间构建连接边,以表示它们之间具有父子关系。
在一些实施例中,在步骤206中,可以通过最小生成树算法,对待分析句子中各词相互的词间依存度进行计算,得到依存句法树。
需要说明的时,本说明书实施例不限定依存句法树的生成算法。在其他实施例中,还可以通过其他依存句法树的生成算法,对待分析句子中各词相互的词间依存度进行计算,得到依存句法树。其他依存句法树的生成算法可以参考现有技术介绍,此处不再一一列举。
在本说明书实施例中,可以先确定待分析句子中字到字的字间依存度;对于待分析句子中的词而言,词到词的词间依存度通过词中的字到词中字的字间依存度得到,从而可以提高对新词的容错能力,大幅减少集外词的情况发生。
本说明书实施例还提供的一种计算机执行的、训练神经网络的方法,该神经网络包括嵌入层、字关系生成层、词关系生成层。该计算机可以为任何具有计算、处理能力的装置、设备、平台、设备集群。如图6所示,该方法包括:步骤600,在所述嵌入层,对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标注数据,所述标注数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;步骤602,在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;步骤604,在所述词关系生成层,基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;步骤606,至少根据预测的词间依存度和所述标注数据中的词间依存度的对比,得到预测损失(loss);步骤608,在所述预测损失减少的方向,更新所述神经网络。
接下来,结合具体例子对上述各步骤进行具体介绍。
首先,在步骤600中,在所述嵌入层,对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词。
样本句子为已通过人工或其他方式标注的句子。示例性的,可以对样本句子进行分词,得到多个词。进而,可以人工标注任一个词到另外一个词的依存度,或者说,标注任一个词为另外一个词的父节点,其中,该任一词到其父节点的依存度为100%(即依存度为1)。例如,可以将第一词到第二词的依存度标注为100%,也就是说,第二词被标注为第一词的父节点。参照对第一词和第二词的标注方案,还可以标注样本句子中其他的词,直到根节点为止。
记录样本句子中词到该词的父节点依存度的数据可以称为标注数据。因此,标注数据可认为是数组P。其中,P[i]=j,代表词i的父节点是词j。
步骤600中,对字的嵌入处理,得到字的特征向量,可以参考上文对图2中步骤200的介绍,在此不再赘述。
接着,在步骤602中,在字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字。
步骤602的执行过程可以参考上文对步骤202的介绍。其中,步骤602和步骤202不同的是,步骤202执行过程中涉及的参数,例如查询参数矩阵、键参数矩阵、第一线性变换矩阵、第一偏斜、第二线性变换矩阵、第二偏斜、依存度线性变换矩阵、依存度偏斜等,均为已训练的参数。而在步骤602中涉及的例如查询参数矩阵、键参数矩阵、第一线性变换矩阵、第一偏斜、第二线性变换矩阵、第二偏斜、依存度线性变换矩阵、依存度偏斜等参数,为正在训练或待更新的参数。其中,在步骤602初步执行时,这些参数可以随机生成。
其次,在步骤604中,在所述词关系生成层,基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度。
步骤604的执行过程可以参考上文对步骤204的介绍。其中,步骤204涉及的相关参数为已训练的参数,而步骤604涉及的相关参数为为正在训练或待更新的参数。
步骤606,至少根据预测的词间依存度和所述标注数据的词间依存度的对比,得到预测损失(loss)。
如上所述,标注数据可认为是数组P。其中,P[i]=j,代表词i的父节点是词j。也就是说,词i到词j的词间依存度为1。由此,可以利用公式(8)得到预测损失(loss)。
其中,i为词索引号,N为样本句子中具有父节点的词的总个数,soft max(S′i)p[i]表示预测的词i到词j的依存度,词j为词i标注的父节点。
步骤608,在所述预测损失减少的方向,更新所述神经网络。
具体而言,在所述预测损失减少的方向,调整步骤602、步骤604涉及到的相关参数,不断更新对所述神经网络。由此,完成对所述神经网络的训练。
训练得到的神经网络,可以用于生成依存句法树,具体可以参考上文对图2所示各实施例的介绍,在此不再赘述。
利用本说明书实施例训练得到的神经网络在生成依存句法树时,可以先确定待分析句子中字到字的字间依存度;对于待分析句子中的词而言,词到词的词间依存度通过词中的字到词中字的字间依存度得到,从而可以提高对新词的容错能力,大幅减少集外词的情况发生。
本说明书的实施例还提供了一种生成依存句法树的装置700。参阅图7,装置700包括:
嵌入单元710,配置为对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;
第一确定单元720,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;
第二确定单元730,配置为基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;
第三确定单元740,配置为基于所述多个词中各词相互的词间依存度,确定依存句法树。
在一些实施例中,所述第一确定单元720包括多个注意力模块,其中任意的第一注意力模块包括C个注意力头部;其中,C为自然数;
所述第一注意力模块,配置为获取上一层输出的所述各个字的上一层表征向量,其中包括对应于第一字的第一表征向量和对应于第二字的第二表征向量;以及获取上一层字间依存矩阵,其中包括从第一字到第二字的上一层依存向量;
所述C个注意力头部的每个注意力头部,配置为基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,从而得到C个注意力分数,所述C个注意力分数构成第一字到第二字的注意力向量;
所述第一注意力模块还配置为,基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,用于构成本层字间依存矩阵。
在一些实施例中,所述第一注意力模块和所述嵌入单元连接;所述各个字的上一层表征向量等于所述嵌入层得到的各个字的特征向量;所述上一层字间依存矩阵为零矩阵。
在一些实施例中,所述第一注意力模块和所述第二确定单元连接;
所述第一注意力模块还配置为,对所述本层依存向量进行第一线性变换,所述第一线性变换为转化为标量的线性变换,从而得到所述第一字到第二字的字间依存度。
在一些实施例中,所述C个注意力头部的每个注意力头部还配置为:
利用当前注意力头部对应的键参数矩阵,将第一表征向量转化为第一键向量;
利用当前注意力头部对应的查询参数矩阵,将第二表征向量转化为第二查询向量;
基于第一键向量和第二查询向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
在一些实施例中,所述第一注意力模块还配置为:
对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量;
对所述中间向量进行线性变换,得到所述本层依存向量。
在一些实施例中,所述第一注意力模块还配置为,根据各个字的上一层表征向量,以及各个字相互之间的注意力向量,确定各个字的本层表征向量。
在一些实施例中,所述嵌入单元710包括字编码模块和位置编码模块;
所述字编码模块配置为,在字编码层,对所述各个字分别进行编码处理,得到各个字各自的字编码向量;
所述位置编码模块配置为,基于所述各个字在所述待分析句子当中的位置,各自生成所述各个字的位置向量,并将所述各个字的位置向量和对应的字编码向量进行组合,得到所述各个字各自的特征向量。
在一些实施例中,所述第二确定单元730包括:
获取模块,配置为获取所述多个词与所述各个位置对应的各个字之间的字词映射关系;
第一确定模块,配置为根据所述字词映射关系,确定所述第一词中的字和所述第二词中的字;
第二确定模块,配置为基于所述第一词中各个字到所述第二词中各个字的依存度的叠加,确定所述第一词到所述第二词的词间依存度。
在一些实施例中,所述获取模块配置为:
获取对所述待分析句子的分词结果,其中包括各个分词的词索引号;
依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。
在一些实施例中,所述第三确定单元740包括:
第一构建模块,配置为在所述依存句法树中构建对应于所述第一词的第一节点和对应于所述第二词的第二节点;
第二构建模块,配置为在所述第一词到所述第二词的词间依存度大于预设阈值的情况下,在第一节点和第二节点之间构建用于表示父子关系的连接边。
在本说明书实施例中,可以先确定待分析句子中字到字的字间依存度;对于待分析句子中的词而言,词到词的词间依存度通过词中的字到词中字的字间依存度得到,从而可以提高对新词的容错能力,大幅减少集外词的情况发生。
本说明书的实施例还提供了一种训练神经网络的装置800。参阅图8,装置800包括:
嵌入单元810,配置为对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;
第一确定单元820,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;
第二确定单元830,配置为基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;
对比单元840,配置为至少根据预测的词间依存度和所述标签数据中的词间依存度的对比,得到预测损失;
更新单元850,配置为在所述预测损失减少的方向,更新所述神经网络。
利用本说明书实施例训练得到的神经网络在生成依存句法树时,可以先确定待分析句子中字到字的字间依存度;对于待分析句子中的词而言,词到词的词间依存度通过词中的字到词中字的字间依存度得到,从而可以提高对新词的容错能力,大幅减少集外词的情况发生。
本说明书的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2和/或图6所示的方法。
本说明书的实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2和/或图6所示的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (26)
1.一种计算机执行的、利用神经网络生成依存句法树的方法,所述神经网络包括嵌入层、字关系生成层、词关系生成层、输出层,所述方法包括:
在所述嵌入层,对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;
在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;
在所述词关系生成层,基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;
在所述输出层,基于所述多个词中各词相互的词间依存度,确定依存句法树。
2.根据权利要求1所述的方法,其中,所述字关系生成层包括多个注意力层,其中任意的第一注意力层包括C个注意力头部;其中,C为自然数;
所述确定所述第一字到所述第二字的字间依存度,包括,在所述第一注意力层,执行以下步骤:
获取上一层输出的所述各个字的上一层表征向量,其中包括对应于第一字的第一表征向量和对应于第二字的第二表征向量;以及获取上一层字间依存矩阵,其中包括从第一字到第二字的上一层依存向量;
在所述C个注意力头部的每个注意力头部中,基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,从而得到C个注意力分数,所述C个注意力分数构成第一字到第二字的注意力向量;
基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,用于构成本层字间依存矩阵。
3.根据权利要求2所述的方法,其中,所述第一注意力层是所述嵌入层的下一层;所述各个字的上一层表征向量等于所述嵌入层得到的各个字的特征向量;所述上一层字间依存矩阵为零矩阵。
4.根据权利要求2所述的方法,其中,所述第一注意力层是所述词关系生成层的前一层;
所述确定所述第一字到所述第二字的字间依存度,还包括:
对所述本层依存向量进行第一线性变换,所述第一线性变换为转化为标量的线性变换,从而得到所述第一字到第二字的字间依存度。
5.根据权利要求2所述的方法,其中,基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,包括:
利用当前注意力头部对应的键参数矩阵,将第一表征向量转化为第一键向量;
利用当前注意力头部对应的查询参数矩阵,将第二表征向量转化为第二查询向量;
基于第一键向量和第二查询向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
6.根据权利要求2所述的方法,其中,基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,包括:
对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量;
对所述中间向量进行线性变换,得到所述本层依存向量。
7.根据权利要求2所述的方法,其中,在所述第一注意力层,还执行以下步骤:
根据各个字的上一层表征向量,以及各个字相互之间的注意力向量,确定各个字的本层表征向量。
8.根据权利要求1所述的方法,其中,所述嵌入层包括字编码层和位置编码层;
所述对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量,包括:
在字编码层,对所述各个字分别进行编码处理,得到各个字各自的字编码向量;
在位置编码层,基于所述各个字在所述待分析句子当中的位置,各自生成所述各个字的位置向量,并将所述各个字的位置向量和对应的字编码向量进行组合,得到所述各个字各自的特征向量。
9.根据权利要求1所述的方法,其中,所述基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,包括:
获取所述多个词与所述各个位置对应的各个字之间的字词映射关系;
根据所述字词映射关系,确定所述第一词中的字和所述第二词中的字;
基于所述第一词中各个字到所述第二词中各个字的依存度的叠加,确定所述第一词到所述第二词的词间依存度。
10.根据权利要求9所述的方法,其中,获取所述多个词与所述各个位置对应的各个字之间的字词映射关系,包括:
获取对所述待分析句子的分词结果,其中包括各个分词的词索引号;
依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。
11.根据权利要求1所述的方法,其中,所述基于所述多个词中各词相互的词间依存度,确定依存句法树,包括:
在所述依存句法树中构建对应于所述第一词的第一节点和对应于所述第二词的第二节点;
在所述第一词到所述第二词的词间依存度大于预设阈值的情况下,在第一节点和第二节点之间构建用于表示父子关系的连接边。
12.一种计算机执行的、训练神经网络的方法,所述神经网络包括嵌入层、字关系生成层、词关系生成层,所述方法包括:
在所述嵌入层,对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;
在所述字关系生成层,利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;
在所述词关系生成层,基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;
至少根据预测的词间依存度和所述标签数据中的词间依存度的对比,得到预测损失;
在所述预测损失减少的方向,更新所述神经网络。
13.一种生成依存句法树的装置,包括:
嵌入单元,配置为对待分析句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;
第一确定单元,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述待分析句子中两个不同位置的字;
第二确定单元,配置为基于第一词中的字到第二词中的字的字间依存度,确定所述第一词到所述第二词的词间依存度,所述第一词和所述第二词为所述待分析句子所包含的多个词中的两个不同词;
第三确定单元,配置为基于所述多个词中各词相互的词间依存度,确定依存句法树。
14.根据权利要求13所述的装置,其中,所述第一确定单元包括多个注意力模块,其中任意的第一注意力模块包括C个注意力头部;其中,C为自然数;
所述第一注意力模块,配置为获取上一层输出的所述各个字的上一层表征向量,其中包括对应于第一字的第一表征向量和对应于第二字的第二表征向量;以及获取上一层字间依存矩阵,其中包括从第一字到第二字的上一层依存向量;
所述C个注意力头部的每个注意力头部,配置为基于第一表征向量和第二表征向量,确定第一字到第二字的注意力分数,从而得到C个注意力分数,所述C个注意力分数构成第一字到第二字的注意力向量;
所述第一注意力模块还配置为,基于所述注意力向量和所述上一层依存向量,得到所述第一字到第二字的本层依存向量,用于构成本层字间依存矩阵。
15.根据权利要求14所述的装置,其中,所述第一注意力模块和所述嵌入单元连接;所述各个字的上一层表征向量等于所述嵌入层得到的各个字的特征向量;所述上一层字间依存矩阵为零矩阵。
16.根据权利要求14所述的装置,其中,所述第一注意力模块和所述第二确定单元连接;
所述第一注意力模块还配置为,对所述本层依存向量进行第一线性变换,所述第一线性变换为转化为标量的线性变换,从而得到所述第一字到第二字的字间依存度。
17.根据权利要求14所述的装置,其中,所述C个注意力头部的每个注意力头部还配置为:
利用当前注意力头部对应的键参数矩阵,将第一表征向量转化为第一键向量;
利用当前注意力头部对应的查询参数矩阵,将第二表征向量转化为第二查询向量;
基于第一键向量和第二查询向量的点乘,得到当前注意力头部中所述第一字到第二字的注意力分数。
18.根据权利要求14所述的装置,其中,所述第一注意力模块还配置为:
对所述注意力向量和所述上一层依存向量进行线性组合,得到中间向量;
对所述中间向量进行线性变换,得到所述本层依存向量。
19.根据权利要求14所述的装置,其中,所述第一注意力模块还配置为,根据各个字的上一层表征向量,以及各个字相互之间的注意力向量,确定各个字的本层表征向量。
20.根据权利要求13所述的装置,其中,所述嵌入单元包括字编码模块和位置编码模块;
所述字编码模块配置为,在字编码层,对所述各个字分别进行编码处理,得到各个字各自的字编码向量;
所述位置编码模块配置为,基于所述各个字在所述待分析句子当中的位置,各自生成所述各个字的位置向量,并将所述各个字的位置向量和对应的字编码向量进行组合,得到所述各个字各自的特征向量。
21.根据权利要求13所述的装置,其中,所述第二确定单元包括:
获取模块,配置为获取所述多个词与所述各个位置对应的各个字之间的字词映射关系;
第一确定模块,配置为根据所述字词映射关系,确定所述第一词中的字和所述第二词中的字;
第二确定模块,配置为基于所述第一词中各个字到所述第二词中各个字的依存度的叠加,确定所述第一词到所述第二词的词间依存度。
22.根据权利要求21所述的装置,其中,所述获取模块配置为:
获取对所述待分析句子的分词结果,其中包括各个分词的词索引号;
依次确定所述各个位置对应的各个字所归属的分词的词索引号,建立所述各个位置的位置索引号与所述词索引号的对应关系,作为所述字词映射关系。
23.根据权利要求13所述的装置,其中,所述第三确定单元包括:
第一构建模块,配置为在所述依存句法树中构建对应于所述第一词的第一节点和对应于所述第二词的第二节点;
第二构建模块,配置为在所述第一词到所述第二词的词间依存度大于预设阈值的情况下,在第一节点和第二节点之间构建用于表示父子关系的连接边。
24.一种训练神经网络的装置,包括:
嵌入单元,配置为对样本句子中各个位置对应的各个字分别进行嵌入处理,得到所述各个字各自的特征向量;所述样本句子具有标签数据,所述标签数据至少包括所述样本句子中第一词到第二词的词间依存度,所述第一词和第二词为所述样本句子所包含的多个词中两个不同的词;
第一确定单元,配置为利用自注意力机制,基于第一字的特征向量和第二字的特征向量,确定所述第一字到所述第二字的字间依存度;所述第一字和所述第二字为所述样本句子中两个不同位置的字;
第二确定单元,配置为基于所述第一词中的字到所述第二词中的字的字间依存度,预测所述第一词到所述第二词的词间依存度;
对比单元,配置为至少根据预测的词间依存度和所述标签数据中的词间依存度的对比,得到预测损失;
更新单元,配置为在所述预测损失减少的方向,更新所述神经网络。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
26.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898079.XA CN112016299B (zh) | 2020-08-31 | 2020-08-31 | 计算机执行、利用神经网络生成依存句法树的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898079.XA CN112016299B (zh) | 2020-08-31 | 2020-08-31 | 计算机执行、利用神经网络生成依存句法树的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112016299A CN112016299A (zh) | 2020-12-01 |
CN112016299B true CN112016299B (zh) | 2023-11-14 |
Family
ID=73502780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010898079.XA Active CN112016299B (zh) | 2020-08-31 | 2020-08-31 | 计算机执行、利用神经网络生成依存句法树的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112016299B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819011B (zh) * | 2021-01-28 | 2024-06-21 | 北京迈格威科技有限公司 | 对象间关系的识别方法、装置和电子系统 |
CN113408636B (zh) | 2021-06-30 | 2023-06-06 | 北京百度网讯科技有限公司 | 预训练模型获取方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844327A (zh) * | 2015-12-07 | 2017-06-13 | 科大讯飞股份有限公司 | 文本编码方法及系统 |
WO2019174422A1 (zh) * | 2018-03-16 | 2019-09-19 | 北京国双科技有限公司 | 实体关联关系的分析方法及相关装置 |
CN111177394A (zh) * | 2020-01-03 | 2020-05-19 | 浙江大学 | 基于句法注意力神经网络的知识图谱关系数据分类方法 |
KR20200072593A (ko) * | 2018-12-04 | 2020-06-23 | 동국대학교 산학협력단 | 신경망 네트워크에 기반한 의존 구문 분석 제어 방법 및 그것을 이용하는 의존 구문 분석 장치 |
-
2020
- 2020-08-31 CN CN202010898079.XA patent/CN112016299B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844327A (zh) * | 2015-12-07 | 2017-06-13 | 科大讯飞股份有限公司 | 文本编码方法及系统 |
WO2019174422A1 (zh) * | 2018-03-16 | 2019-09-19 | 北京国双科技有限公司 | 实体关联关系的分析方法及相关装置 |
KR20200072593A (ko) * | 2018-12-04 | 2020-06-23 | 동국대학교 산학협력단 | 신경망 네트워크에 기반한 의존 구문 분석 제어 방법 및 그것을 이용하는 의존 구문 분석 장치 |
CN111177394A (zh) * | 2020-01-03 | 2020-05-19 | 浙江大学 | 基于句法注意力神经网络的知识图谱关系数据分类方法 |
Non-Patent Citations (2)
Title |
---|
基于字符的中文分词、词性标注和依存句法分析联合模型;郭振;张玉洁;苏晨;徐金安;;中文信息学报(06);全文 * |
结合全局向量特征的神经网络依存句法分析模型;王衡军;司念文;宋玉龙;单义栋;;通信学报(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112016299A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487812B (zh) | 一种基于边界识别的嵌套实体识别方法及系统 | |
CN113590784B (zh) | 三元组信息抽取方法、装置、电子设备、及存储介质 | |
CN111914085A (zh) | 文本细粒度情感分类方法、系统、装置及存储介质 | |
CN115618045B (zh) | 一种视觉问答方法、装置及存储介质 | |
CN112015868A (zh) | 基于知识图谱补全的问答方法 | |
CN112016299B (zh) | 计算机执行、利用神经网络生成依存句法树的方法及装置 | |
CN113743119B (zh) | 中文命名实体识别模块、方法、装置及电子设备 | |
CN111611802B (zh) | 多领域实体识别方法 | |
CN113553850A (zh) | 一种基于有序结构编码指针网络解码的实体关系抽取方法 | |
CN112733768A (zh) | 基于双向特征语言模型的自然场景文本识别方法及装置 | |
CN114091450B (zh) | 一种基于图卷积网络的司法领域关系抽取方法和系统 | |
CN113221571A (zh) | 基于实体相关注意力机制的实体关系联合抽取方法 | |
CN115687638A (zh) | 基于三元组森林的实体关系联合抽取方法及系统 | |
CN115238026A (zh) | 一种基于深度学习的医疗文本主题分割方法和装置 | |
CN110909174B (zh) | 一种基于知识图谱的简单问答中实体链接的改进方法 | |
CN117312559A (zh) | 基于树结构信息感知的方面级情感四元组抽取方法及系统 | |
CN117407532A (zh) | 一种利用大模型与协同训练进行数据增强的方法 | |
CN117112743A (zh) | 文本自动生成问题的可回答性评估方法、系统及存储介质 | |
CN115310445A (zh) | 基于增强序列标注策略的单阶段联合实体关系抽取方法及系统 | |
CN115860002A (zh) | 一种基于事件抽取的作战任务生成方法及系统 | |
CN115759262A (zh) | 基于知识感知注意力网络的视觉常识推理方法及系统 | |
CN115906854A (zh) | 一种基于多级对抗的跨语言命名实体识别模型训练方法 | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
CN114329005A (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN114238579B (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 |