一种文本编码方法、模型训练方法、模型匹配方法及装置转让专利

申请号 : CN202310520313.9

文献号 : CN116246288B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王立李仁刚范宝余郭振华

申请人 : 浪潮电子信息产业股份有限公司

摘要 :

本发明公开了一种文本编码方法、模型训练方法、模型匹配方法及装置,涉及数据编码技术领域,该文本编码方法包括:获取程序性文本数据;其中,程序性文本数据包括步骤文本和成分文本;根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列;根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树;根据特征树,生成程序性文本数据对应的文本编码;本发明以程序性文本中步骤信息和成分信息的结构建立树形关系,使得编码结果能够包含程序性文本中步骤与成分之间的相互依赖关系,提升了编码结果的准确性。

权利要求 :

1.一种文本编码方法,其特征在于,包括:

获取程序性文本数据;其中,所述程序性文本数据包括步骤文本和成分文本;

获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;

按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数;

根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树;其中,所述特征树包括:所述重组序列对应的链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征;

根据所述特征树,生成所述程序性文本数据对应的文本编码。

2.根据权利要求1所述的文本编码方法,其特征在于,所述根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树,包括:获取各所述重组序列各自对应的重组序列特征;

获取各所述步骤文本特征与各所述重组序列特征之间的关联系数;

根据所述关联系数,建立所述程序性文本数据对应的生成树;其中,所述生成树包括所述链状连接关系树和挂载在所述链状连接关系树上的步骤文本特征,所述链状连接关系树为按照所述重组序列的长度建立的链状连接的所述重组序列的树,所述链状连接关系树的根节点为最长的重组序列;

获取所述程序性文本数据中各成分文本各自对应的成分特征;

根据各所述成分文本与各所述步骤文本的对应关系,将各所述成分特征挂载到所述生成树中对应的步骤文本特征上,生成所述程序性文本数据对应的特征树。

3.根据权利要求2所述的文本编码方法,其特征在于,所述获取各所述重组序列各自对应的重组序列特征,包括:将各所述重组序列分别输入到双向长短期记忆网络,获取所述双向长短期记忆网络输出的各所述重组序列各自对应的重组序列特征。

4.根据权利要求2所述的文本编码方法,其特征在于,所述获取各所述步骤文本特征与各所述重组序列特征之间的关联系数,包括:计算每个所述步骤文本特征分别与各所述重组序列特征之间的距离,得到所述关联系数。

5.根据权利要求1至4任一项所述的文本编码方法,其特征在于,所述根据所述特征树,生成所述程序性文本数据对应的文本编码,包括:根据所述特征树的结构,按照由下向上的顺序依次对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码。

6.根据权利要求5所述的文本编码方法,其特征在于,所述根据所述特征树的结构,按照由下向上的顺序依次对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码,包括:根据所述特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码。

7.根据权利要求6所述的文本编码方法,其特征在于,所述根据所述特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码,包括:获取当前特征树中最底层的底层特征;其中,所述底层特征包括所述步骤文本特征、所述成分特征和聚合特征;

若所述底层特征的数量为1且不存在级联的上一层的上层特征,则根据所述底层特征确定所述文本编码;

若所述底层特征的数量为1且存在所述上层特征,则以双特征聚合的方式将所述底层特征与所述上层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行所述获取当前特征树中最底层的底层特征的步骤;

若所述底层特征的数量大于1,则以双特征聚合的方式将任意两个所述底层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行所述获取当前特征树中最底层的底层特征的步骤。

8.根据权利要求7所述的文本编码方法,其特征在于,所述以双特征聚合的方式将所述底层特征与所述上层特征进行聚合,生成相应的聚合特征并更新当前特征树,包括:通过 ,将所述底层特征与所述上层特征进行聚合,生成相应

的聚合特征;其中, 为所述聚合特征, ,  ,

, , ,  ,j=1,

k=2或3, 为所述底层特征与所述上层特征,U和b分别为预设矩阵, 为 对应的隐含状态; 为 对应的隐含状态, 为所述步骤文本特征或所述成分特征时, 为随机初始化的向量, 为超参数。

9.一种文本编码装置,其特征在于,包括:

文本获取模块,用于获取程序性文本数据;其中,所述程序性文本数据包括步骤文本和成分文本;

步骤融合模块,用于根据所述步骤文本的顺序,对各所述步骤文本进行融合,生成重组序列;

树生成模块,用于根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树;其中,所述特征树包括:所述重组序列对应的链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征;

文本编码模块,用于根据所述特征树,生成所述程序性文本数据对应的文本编码;其中,所述步骤融合模块,包括:

文本提取子模块,用于获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;

特征重组子模块,用于按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数。

10.一种图文互检的模型训练方法,其特征在于,包括:

获取训练数据;其中,所述训练数据包括预设训练数量对的程序性文本数据和步骤图数据;

获取各所述程序性文本数据的文本编码;其中,所述文本编码为利用所述程序性文本数据对应的特征树生成的编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述程序性文本数据中步骤文本的特征,所述成分特征所述程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;获取所述重组序列的过程包括:获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数;

获取各所述步骤图数据的图像编码;

根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用所述检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。

11.根据权利要求10所述的图文互检的模型训练方法,其特征在于,所述预设损失函数包括三元损失函数或所述三元损失函数和树形结构损失函数,所述三元损失函数为, 为当前批次中N个图像编码中的任一图像编码, 为当前批次中与 配对的文本编码,为当前批次中与 不配对的文本编码, 为预设超参数, 为当前批次中N个文本编码中的任一文本编码, 为当前批次中与 配对的图像编码, 为当前批次中与 不配对的图像编码;所述树形结构损失函数包括局部结构比对损失、全局结构比对损失和/或节点度数损失,a为锚点样本。

12.根据权利要求11所述的图文互检的模型训练方法,其特征在于,所述预设损失函数包括所述三元损失函数和所述树形结构损失函数时,所述根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:获取所述程序性文本数据对应的预设目标树;

根据所述文本编码、所述图像编码、所述特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型。

13.根据权利要求12所述的图文互检的模型训练方法,其特征在于,所述根据所述文本编码、所述图像编码、所述特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:所述树形结构损失函数的输出过程;其中,所述树形结构损失函数包括所述局部结构比对损失、所述全局结构比对损失和所述节点度数损失时,所述树形结构损失函数的输出过程包括:根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建每个节点各自对应的第一邻接矩阵;其中,当前特征树为当前程序性文本数据的特征树,当前程序性文本数据为任一训练用的程序性文本数据,当前预设目标树为当前程序性文本数据对应的预设目标树;

根据所述第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵;

计算所述第一嵌入向量矩阵和所述第二嵌入向量矩阵的相似度,得到局部结构相似度矩阵;

根据所述局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失;

根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建当前特征树和当前预设目标树各自对应的第二邻接矩阵;

根据所述第二邻接矩阵,生成当前特征树对应的第一嵌入向量和当前预设目标树对应的第二嵌入向量;

计算所述第一嵌入向量和所述第二嵌入向量的相似度,得到全局结构相似度;

根据所述全局结构相似度,获取当前程序性文本数据对应的全局结构比对损失;

计算当前特征树和当前预设目标树中的每个节点的度数;

计算当前特征树和当前预设目标树中全部节点的度数差异,得到度数差异矩阵;

根据所述度数差异矩阵,获取当前程序性文本数据对应的节点度数损失;

将当前程序性文本数据对应的局部结构比对损失、全局结构比对损失和节点度数损失相加,得到当前程序性文本数据对应的树形结构损失函数。

14.根据权利要求13所述的图文互检的模型训练方法,其特征在于,所述根据所述第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵,包括:计算各所述第一邻接矩阵各自对应的拉普拉斯矩阵;

计算各所述拉普拉斯矩阵的特征向量;

根据各所述拉普拉斯矩阵的特征向量,获取各所述第一邻接矩阵各自对应的向量表示;其中,当前第一邻接矩阵对应的向量表示包括当前第一邻接矩阵对应的拉普拉斯矩阵的特征向量中按特征值由小到大排序的前预设数量个特征向量;

根据各所述第一邻接矩阵各自对应的向量表示,生成所述第一嵌入向量矩阵和所述第二嵌入向量矩阵。

15.根据权利要求13所述的图文互检的模型训练方法,其特征在于,所述根据所述局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失,包括:通过 ,计算得到所述局部结构比对损失;L1为所述局部结构比对损失,H为所述局部结构相似度矩阵。

16.根据权利要求11所述的图文互检的模型训练方法,其特征在于,所述预设损失函数包括三元损失函数时,所述根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:对所述预设匹配模型中全部网络层的权值进行初始化,获取初始化完成的所述预设匹配模型;

将当前批次的训练数据分别输入到所述预设匹配模型,获取所述预设匹配模型输出的训练匹配结果;其中,所述训练数据包括当前批次的N对程序性文本数据和步骤图数据;

判断是否达到预设迭代次数或所述训练匹配结果与预设匹配结果之间的误差小于收敛阈值;

若是,则将所述预设匹配模型作为训练完成的检索匹配模型;

若否,则利用所述预设损失函数,获取所述训练匹配结果对应的损失值;

根据所述损失值,获取所述预设匹配模型中各网络层的反向传播误差;

根据所述反向传播误差,更新所述预设匹配模型中各网络层的权值,获取更新后的所述预设匹配模型;

选取下一批次的训练数据,并将下一批次的训练数据作为当前批次的训练数据,执行所述将当前批次的训练数据分别输入到所述预设匹配模型,获取所述预设匹配模型输出的训练匹配结果的步骤。

17.根据权利要求10所述的图文互检的模型训练方法,其特征在于,所述获取各所述步骤图数据的图像编码,包括:提取当前步骤图数据中各步骤图的步骤图特征;其中,当前步骤图数据为任一所述步骤图数据;

根据各所述步骤图对应的类别标签和所述步骤图特征,生成当前步骤图数据对应的异质图;其中,所述异质图包括所述类别标签对应的成分节点、所述步骤图特征对应的步骤图节点和各所述步骤图节点与各自对应的成分节点之间的连接边;

根据所述异质图,生成当前步骤图数据对应的图像编码。

18.根据权利要求17所述的图文互检的模型训练方法,其特征在于,所述提取所述步骤图数据中各步骤图的步骤图特征,包括:将当前步骤图输入到预设残差网络,获取所述预设残差网络的池化层输出的特征向量,并将所述特征向量确定为当前步骤图对应的步骤图特征;其中,当前步骤图为任一所述步骤图。

19.一种图文互检的模型训练装置,其特征在于,包括:

数据获取模块,用于获取训练数据;其中,所述训练数据包括预设训练数量对的程序性文本数据和步骤图数据;

文本编码模块,用于获取各所述程序性文本数据的文本编码;其中,所述文本编码为利用所述程序性文本数据对应的特征树生成的编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述程序性文本数据中步骤文本的特征,所述成分特征所述程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;获取所述重组序列的过程包括:获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数;

图像编码模块,用于获取各所述步骤图数据的图像编码;

模型训练模块,用于根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用所述检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。

20.一种图文互检的模型匹配方法,其特征在于,包括:

获取待检索数据;其中,所述待检索数据为待检索程序性文本数据或待检索步骤图数据;

利用检索匹配模型,提取所述待检索数据的数据编码,并将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据;其中,所述样本数据集为样本步骤图数据集或样本程序性文本数据集;若所述待检索数据为所述待检索程序性文本数据,则所述数据编码为利用所述待检索程序性文本数据对应的特征树生成的文本编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述待检索程序性文本数据中步骤文本的特征,所述成分特征所述待检索程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;获取所述重组序列的过程包括:获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数。

21.根据权利要求20所述的图文互检的模型匹配方法,其特征在于,所述将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据,包括:分别计算所述数据编码与各所述样本数据的样本编码的欧氏距离;

将最小的所述欧氏距离对应的样本数据作为所述匹配样本数据。

22.一种图文互检的模型匹配装置,其特征在于,包括:

检索获取模块,用于获取待检索数据;其中,所述待检索数据为待检索程序性文本数据或待检索步骤图数据;

模型匹配模块,用于利用检索匹配模型,提取所述待检索数据的数据编码,并将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据;其中,所述样本数据集为样本步骤图数据集或样本程序性文本数据集;若所述待检索数据为所述待检索程序性文本数据,则所述数据编码为利用所述待检索程序性文本数据对应的特征树生成的文本编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述待检索程序性文本数据中步骤文本的特征,所述成分特征所述待检索程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;获取所述重组序列的过程包括:获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数。

23.一种电子设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的文本编码方法、权利要求10至18任一项所述的图文互检的模型训练方法和/或权利要求20或21所述的图文互检的模型匹配方法的步骤。

24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的文本编码方法、权利要求10至18任一项所述的图文互检的模型训练方法和/或权利要求20或21所述的图文互检的模型匹配方法的步骤。

说明书 :

一种文本编码方法、模型训练方法、模型匹配方法及装置

技术领域

[0001] 本发明涉及数据编码技术领域,特别涉及一种文本编码方法及装置、图文互检的模型训练方法及装置、图文互检的模型匹配方法及装置、电子设备和计算机可读存储介质。

背景技术

[0002] 程序性文本是人们日常生活中是常用的文本数据;例如,记录科学实验、物品修理和菜品烹饪等过程的文本数据。程序性文本通常是多结构的,如程序性文本不仅可以包含步骤信息,还可以包括材料等各类成分信息;例如,记录手工制作过程的程序性文本中可以包含所用到各种材料和制作步骤。
[0003] 目前,如何对多结构化的程序性文本编码是还未解决的问题,常规的仅是对程序性文本的文本内容进行直接编码,会使编码结果并不能体现程序性文本中多结构之间的相互依赖关系,致使编码结果不够准确。因此,如何能够提供一种程序性文本的编码方法,深度挖掘程序性文本中多结构之间的相互依赖关系,提升编码结果的准确性,是现今急需解决的问题。

发明内容

[0004] 本发明的目的是提供一种文本编码方法及装置、图文互检的模型训练方法及装置、图文互检的模型匹配方法及装置、电子设备和计算机可读存储介质,以深度挖掘程序性文本中多结构之间的相互依赖关系,提升编码结果的准确性。
[0005] 为解决上述技术问题,本发明提供一种文本编码方法,包括:
[0006] 获取程序性文本数据;其中,所述程序性文本数据包括步骤文本和成分文本;
[0007] 根据所述步骤文本的顺序,对各所述步骤文本进行融合,生成重组序列;
[0008] 根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树;其中,所述特征树包括:所述重组序列对应的链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征;
[0009] 根据所述特征树,生成所述程序性文本数据对应的文本编码。
[0010] 在一些实施例中,所述根据所述步骤文本的顺序,对各所述步骤文本进行融合,生成重组序列,包括:
[0011] 获取所述程序性文本数据中各步骤文本各自对应的步骤文本特征;
[0012] 按照所述步骤文本的顺序,对所述步骤文本特征进行组合,生成所述重组序列;其中,所述重组序列和所述步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数。
[0013] 在一些实施例中,所述根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树,包括:
[0014] 获取各所述重组序列各自对应的重组序列特征;
[0015] 获取各所述步骤文本特征与各所述重组序列特征之间的关联系数;
[0016] 根据所述关联系数,建立所述程序性文本数据对应的生成树;其中,所述生成树包括所述链状连接关系树和挂载在所述链状连接关系树上的步骤文本特征,所述链状连接关系树为按照所述重组序列的长度建立的链状连接的所述重组序列的树,所述链状连接关系树的根节点为最长的重组序列;
[0017] 获取所述程序性文本数据中各成分文本各自对应的成分特征;
[0018] 根据各所述成分文本与各所述步骤文本的对应关系,将各所述成分特征挂载到所述生成树中对应的步骤文本特征上,生成所述程序性文本数据对应的特征树。
[0019] 在一些实施例中,所述获取各所述重组序列各自对应的重组序列特征,包括:
[0020] 将各所述重组序列分别输入到双向长短期记忆网络,获取所述双向长短期记忆网络输出的各所述重组序列各自对应的重组序列特征。
[0021] 在一些实施例中,所述获取各所述步骤文本特征与各所述重组序列特征之间的关联系数,包括:
[0022] 计算每个所述步骤文本特征分别与各所述重组序列特征之间的距离,得到所述关联系数。
[0023] 在一些实施例中,所述根据所述特征树,生成所述程序性文本数据对应的文本编码,包括:
[0024] 根据所述特征树的结构,按照由下向上的顺序依次对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码。
[0025] 在一些实施例中,所述根据所述特征树的结构,按照由下向上的顺序依次对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码,包括:
[0026] 根据所述特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码。
[0027] 在一些实施例中,所述根据所述特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对所述步骤文本特征和所述成分特征进行聚合,生成所述文本编码,包括:
[0028] 获取当前特征树中最底层的底层特征;其中,所述底层特征包括所述步骤文本特征、所述成分特征和聚合特征;
[0029] 若所述底层特征的数量为1且不存在级联的上一层的上层特征,则根据所述底层特征确定所述文本编码;
[0030] 若所述底层特征的数量为1且存在所述上层特征,则以双特征聚合的方式将所述底层特征与所述上层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行所述获取当前特征树中最底层的底层特征的步骤;
[0031] 若所述底层特征的数量大于1,则以双特征聚合的方式将任意两个所述底层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行所述获取当前特征树中最底层的底层特征的步骤。
[0032] 在一些实施例中,所述以双特征聚合的方式将所述底层特征与所述上层特征进行聚合,生成相应的聚合特征并更新当前特征树,包括:
[0033] 通过 ,将所述底层特征与所述上层特征进行聚合,生成相应的聚合特征;其中, 为所述聚合特征, , ,
, , ,  ,j=1,
k=2或3, 为所述底层特征与所述上层特征,W、U和b分别为预设矩阵, 为 对应的隐含状态; 为 对应的隐含状态, 为所述步骤文本特征或所述成分特征时, 为随机初始化的向量。
[0034] 本发明还提供了一种文本编码装置,包括:
[0035] 文本获取模块,用于获取程序性文本数据;其中,所述程序性文本数据包括步骤文本和成分文本;
[0036] 步骤融合模块,用于根据所述步骤文本的顺序,对各所述步骤文本进行融合,生成重组序列;
[0037] 树生成模块,用于根据各所述成分文本的成分特征、各所述步骤文本的步骤文本特征和所述重组序列,生成所述程序性文本数据对应的特征树;其中,所述特征树包括:所述重组序列对应的链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征;
[0038] 文本编码模块,用于根据所述特征树,生成所述程序性文本数据对应的文本编码。
[0039] 本发明还提供了一种图文互检的模型训练方法,包括:
[0040] 获取训练数据;其中,所述训练数据包括预设训练数量对的程序性文本数据和步骤图数据;
[0041] 获取各所述程序性文本数据的文本编码;其中,所述文本编码为利用所述程序性文本数据对应的特征树生成的编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述程序性文本数据中步骤文本的特征,所述成分特征所述程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;
[0042] 获取各所述步骤图数据的图像编码;
[0043] 根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用所述检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。
[0044] 在一些实施例中,所述预设损失函数包括三元损失函数或所述三元损失函数和树形结构损失函数,所述三元损失函数为
[0045], 为当前批次中N个图像编码中的任一图像编码, 为当前批次中与 配对的文本编码, 为当前批次中与 不配对的文本编码, 为预设超参数, 为当前批次中N个文本编码中的任一文本编码, 为当前批次中与 配对的图像编码, 为当前批次中与不配对的图像编码;所述树形结构损失函数包括局部结构比对损失、全局结构比对损失和/或节点度数损失。
[0046] 在一些实施例中,所述预设损失函数包括所述三元损失函数和所述树形结构损失函数时,所述根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:
[0047] 获取所述程序性文本数据对应的预设目标树;
[0048] 根据所述文本编码、所述图像编码、所述特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型。
[0049] 在一些实施例中,所述根据所述文本编码、所述图像编码、所述特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:所述树形结构损失函数的输出过程;其中,所述树形结构损失函数包括所述局部结构比对损失、所述全局结构比对损失和所述节点度数损失时,所述树形结构损失函数的输出过程包括:
[0050] 根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建每个节点各自对应的第一邻接矩阵;其中,当前特征树为当前程序性文本数据的特征树,当前程序性文本数据为任一训练用的程序性文本数据,当前预设目标树为当前程序性文本数据对应的预设目标树;
[0051] 根据所述第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵;
[0052] 计算所述第一嵌入向量矩阵和所述第二嵌入向量矩阵的相似度,得到局部结构相似度矩阵;
[0053] 根据所述局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失;
[0054] 根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建当前特征树和当前预设目标树各自对应的第二邻接矩阵;
[0055] 根据所述第二邻接矩阵,生成当前特征树对应的第一嵌入向量和当前预设目标树对应的第二嵌入向量;
[0056] 计算所述第一嵌入向量和所述第二嵌入向量的相似度,得到全局结构相似度;
[0057] 根据所述全局结构相似度,获取当前程序性文本数据对应的全局结构比对损失;
[0058] 计算当前特征树和当前预设目标树中的每个节点的度数;
[0059] 计算当前特征树和当前预设目标树中全部节点的度数差异,得到度数差异矩阵;
[0060] 根据所述度数差异矩阵,获取当前程序性文本数据对应的节点度数损失;
[0061] 将当前程序性文本数据对应的局部结构比对损失、全局结构比对损失和节点度数损失相加,得到当前程序性文本数据对应的树形结构损失函数。
[0062] 在一些实施例中,所述根据所述第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵,包括:
[0063] 计算各所述第一邻接矩阵各自对应的拉普拉斯矩阵;
[0064] 计算各所述拉普拉斯矩阵的特征向量;
[0065] 根据各所述拉普拉斯矩阵的特征向量,获取各所述第一邻接矩阵各自对应的向量表示;其中,当前第一邻接矩阵对应的向量表示包括当前第一邻接矩阵对应的拉普拉斯矩阵的特征向量中按特征值由小到大排序的前预设数量个特征向量;
[0066] 根据各所述第一邻接矩阵各自对应的向量表示,生成所述第一嵌入向量矩阵和所述第二嵌入向量矩阵。
[0067] 在一些实施例中,所述根据所述局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失,包括:
[0068] 通过 ,计算得到所述局部结构比对损失;L1为所述局部结构比对损失,H为所述局部结构相似度矩阵。
[0069] 在一些实施例中,所述预设损失函数包括三元损失函数时,所述根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,包括:
[0070] 对所述预设匹配模型中全部网络层的权值进行初始化,获取初始化完成的所述预设匹配模型;
[0071] 将当前批次的训练数据分别输入到所述预设匹配模型,获取所述预设匹配模型输出的训练匹配结果;其中,所述训练数据包括当前批次的N对程序性文本数据和步骤图数据;
[0072] 判断是否达到预设迭代次数或所述训练匹配结果与预设匹配结果之间的误差小于收敛阈值;
[0073] 若是,则将所述预设匹配模型作为训练完成的检索匹配模型;
[0074] 若否,则利用所述预设损失函数,获取所述训练匹配结果对应的损失值;
[0075] 根据所述损失值,获取所述预设匹配模型中各网络层的反向传播误差;
[0076] 根据所述反向传播误差,更新所述预设匹配模型中各网络层的权值,获取更新后的所述预设匹配模型;
[0077] 选取下一批次的训练数据,并将下一批次的训练数据作为当前批次的训练数据,执行所述将当前批次的训练数据分别输入到所述预设匹配模型,获取所述预设匹配模型输出的训练匹配结果的步骤。
[0078] 在一些实施例中,所述获取各所述步骤图数据的图像编码,包括:
[0079] 提取当前步骤图数据中各步骤图的步骤图特征;其中,当前步骤图数据为任一所述步骤图数据;
[0080] 根据各所述步骤图对应的类别标签和所述步骤图特征,生成当前步骤图数据对应的异质图;其中,所述异质图包括所述类别标签对应的成分节点、所述步骤图特征对应的步骤图节点和各所述步骤图节点与各自对应的成分节点之间的连接边;
[0081] 根据所述异质图,生成当前步骤图数据对应的图像编码。
[0082] 在一些实施例中,所述提取所述步骤图数据中各步骤图的步骤图特征,包括:
[0083] 将当前步骤图输入到预设残差网络,获取所述预设残差网络的池化层输出的特征向量,并将所述特征向量确定为当前步骤图对应的步骤图特征;其中,当前步骤图为任一所述步骤图。
[0084] 本发明还提供了一种图文互检的模型训练装置,包括:
[0085] 数据获取模块,用于获取训练数据;其中,所述训练数据包括预设训练数量对的程序性文本数据和步骤图数据;
[0086] 文本编码模块,用于获取各所述程序性文本数据的文本编码;其中,所述文本编码为利用所述程序性文本数据对应的特征树生成的编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述程序性文本数据中步骤文本的特征,所述成分特征所述程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树;
[0087] 图像编码模块,用于获取各所述步骤图数据的图像编码;
[0088] 模型训练模块,用于根据所述文本编码和所述图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用所述检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。
[0089] 本发明还提供了一种图文互检的模型匹配方法,包括:
[0090] 获取待检索数据;其中,所述待检索数据为待检索程序性文本数据或待检索步骤图数据;
[0091] 利用检索匹配模型,提取所述待检索数据的数据编码,并将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据;其中,所述样本数据集为样本步骤图数据集或样本程序性文本数据集;若所述待检索数据为所述待检索程序性文本数据,则所述数据编码为利用所述待检索程序性文本数据对应的特征树生成的文本编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述待检索程序性文本数据中步骤文本的特征,所述成分特征所述待检索程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树。
[0092] 在一些实施例中,所述将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据,包括:
[0093] 分别计算所述数据编码与各所述样本数据的样本编码的欧氏距离;
[0094] 将最小的所述欧氏距离对应的样本数据作为所述匹配样本数据。
[0095] 本发明还提供了一种图文互检的模型匹配装置,包括:
[0096] 检索获取模块,用于获取待检索数据;其中,所述待检索数据为待检索程序性文本数据或待检索步骤图数据;
[0097] 模型匹配模块,用于利用检索匹配模型,提取所述待检索数据的数据编码,并将所述数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取所述待检索数据对应的匹配样本数据;其中,所述样本数据集为样本步骤图数据集或样本程序性文本数据集;若所述待检索数据为所述待检索程序性文本数据,则所述数据编码为利用所述待检索程序性文本数据对应的特征树生成的文本编码,所述特征树包括链状连接关系树、挂载在所述链状连接关系树上的步骤文本特征和挂载在所述步骤文本特征上的成分特征,所述步骤文本特征为所述待检索程序性文本数据中步骤文本的特征,所述成分特征所述待检索程序性文本数据中成分文本的特征,所述链状连接关系树为按所述步骤文本的顺序对各所述步骤文本进行融合得到的重组序列对应的树。
[0098] 本发明还提供了一种电子设备,包括:
[0099] 存储器,用于存储计算机程序;
[0100] 处理器,用于执行所述计算机程序时实现如上述所述的文本编码方法、上述所述的图文互检的模型训练方法和/或上述所述的图文互检的模型匹配方法的步骤。
[0101] 此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的文本编码方法、上述所述的图文互检的模型训练方法和/或上述所述的图文互检的模型匹配方法的步骤。
[0102] 本发明所提供的一种文本编码方法,包括:获取程序性文本数据;其中,程序性文本数据包括步骤文本和成分文本;根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列;根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树;其中,特征树包括:重组序列对应的链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征;根据特征树,生成程序性文本数据对应的文本编码。
[0103] 可见,本发明通过根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树,以程序性文本中步骤信息和成分信息的结构建立树形关系,利用树形关系体现步骤与成分之间相互依赖的关系;通过根据特征树,生成程序性文本数据对应的文本编码,使得编码结果能够包含程序性文本中步骤与成分之间的依赖关系,提升了编码结果的准确性。此外,本发明还提供了一种文本编码装置、图文互检的模型训练方法及装置、图文互检的模型匹配方法及装置、电子设备和计算机可读存储介质,同样具有上述有益效果。

附图说明

[0104] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0105] 图1为本发明实施例所提供的一种文本编码方法的流程图;
[0106] 图2为本发明实施例所提供的另一种文本编码方法的特征树示意图;
[0107] 图3为本发明实施例所提供的另一种文本编码方法的特征树生成过程的流程图;
[0108] 图4为本发明实施例所提供的另一种文本编码方法的概率矩阵的成分示意图;
[0109] 图5为本发明实施例所提供的另一种文本编码方法的概率矩阵的展示图;
[0110] 图6为本发明实施例所提供的另一种文本编码方法的链状连接关系树的示意图;
[0111] 图7为本发明实施例所提供的一种双特征聚合方式的示意图;
[0112] 图8为本发明实施例所提供的另一种双特征聚合方式的示意图;
[0113] 图9为本发明实施例所提供的另一种文本编码方法的树形长短期记忆网络的基本单元结构的示意图;
[0114] 图10为本发明实施例所提供的一种图文互检的模型训练方法的流程图;
[0115] 图11为本发明实施例所提供的另一种图文互检的模型训练方法的图像编码过程的流程图;
[0116] 图12为本发明实施例所提供的另一种图文互检的模型训练方法的ResNet骨干网络的结构示意图;
[0117] 图13为本发明实施例所提供的另一种图文互检的模型训练方法的流程示意图;
[0118] 图14为本发明实施例所提供的另一种图文互检的模型训练方法的异质图构建的示意图;
[0119] 图15为本发明实施例所提供的另一种图文互检的模型训练方法的局部结构比对损失的输出过程的流程图;
[0120] 图16为本发明实施例所提供的一种图文互检的模型匹配方法的流程图;
[0121] 图17为本发明实施例所提供的一种文本编码装置的结构框图;
[0122] 图18为本发明实施例所提供的一种图文互检的模型训练装置的结构框图;
[0123] 图19为本发明实施例所提供的一种图文互检的模型匹配装置的结构框图;
[0124] 图20为本发明实施例所提供的一种电子设备的结构示意图;
[0125] 图21为本发明实施例所提供的一种电子设备的具体结构示意图;
[0126] 图22为本发明实施例所提供的一种计算机可读存储介质的结构示意图。

具体实施方式

[0127] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0128] 请参考图1,图1为本发明实施例所提供的一种文本编码方法的流程图。该方法可以包括:
[0129] 步骤101:获取程序性文本数据;其中,程序性文本数据包括步骤文本和成分文本。
[0130] 其中,本实施例中的程序性文本数据可以为任一程序性文本的数据,即本实施例是以一个程序性文本数据的编码为例进行的展示,对于多个程序性文本数据的编码,可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不做任何限制。
[0131] 具体的,本实施例中的程序性文本数据可以包括步骤信息对应的步骤文本(即步骤信息)和成分信息对应的成分文本,如程序性文本数据为菜谱操作步骤文本时,菜谱操作步骤文本可以包括做菜步骤信息(即步骤文本)和材料信息(即成分文本)。对于本实施例中的程序性文本数据的具体数据类型,可以由设计人员根据实用场景和用户需求自行设置,如程序性文本数据可以为菜谱操作步骤文本,也就是说,程序性文本数据包括做菜步骤信息(即步骤文本)和材料信息(即成分文本);程序性文本数据也可以为手工品制作步骤文本,也就是说,程序性文本数据可以包括制作步骤信息(即步骤文本)和工具信息(即成分文本);程序性文本数据还可以为论文摘要文本,也就是说,程序性文本数据可以包括摘要步骤信息(即步骤文本)和关键字信息(即成分文本)。本实施例对此不做任何限制。
[0132] 举例来说,程序性文本数据为纸杯花制作步骤文本时,可以包括步骤1:首先在距离纸杯的杯底大概2厘米地方用小刀切开,让纸杯变成两个部分—杯身和杯底。步骤2:取切的杯底部分,用剪刀沿着残留的杯壁剪出间距相等的缺口。步骤3:继续将剪开的杯壁向外翻折,形成花朵的花瓣,任取2片相邻的花瓣,在接近杯底的地方剪开大概三分之二的宽度的缺口,两个缺口相对。步骤4:接着将杯身捏扁,两侧向内折叠出细长的三角形,让杯身变成一个梯形。步骤5:然后沿着杯身两侧的折线向内推,把两侧向内折叠,剪掉阴影部分,形成花朵的叶子和茎。步骤6:组装杯身和杯底,再整理一下叶子,一次性纸杯手工制作花朵就完成了。该纸杯花制作步骤文本可以包括步骤1对应的工具:小刀,步骤2对应的工具:剪刀。
[0133] 步骤102:根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列。
[0134] 可以理解的是,本实施例中的程序性文本数据可以为多句话组成的一个段落,程序性文本数据可以包含语义信息(即步骤文本和成分文本),同时也包含步骤与步骤、步骤与成分之间相互依赖的关系信息,也称为工作流信息。如上述纸杯花制作步骤文本中步骤2和3与步骤4和5分别是:花瓣与叶子的制作步骤,它们是步骤6的子步骤;同时,在纸杯花制作步骤文本中也包含着工具信息(如剪刀和小刀);本实施例中,可以将上述纸杯花制作步骤文本所示的多结构的程序性文本数据的步骤之间梳理成层次递进和相互融合的树形关系,以树形关系反应了步骤与步骤和步骤与工具之间的相互依赖关系。也就是说,本实施例中可以提供一种基于生成树的多结构文本(即程序性文本数据)关系挖掘方案来挖掘多结构文本中的树形层次关系。
[0135] 其中,本步骤中处理器可以根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列,以利用重组序列建立生成树。本步骤中的步骤文本可以为程序性文本数据中各步骤的文本内容;本步骤中的重组序列可以为按照步骤文本的顺序,对各步骤文本进行融合后生成的序列,即每个重组序列可以对应一个或多个步骤文本。
[0136] 具体的,对于本步骤中处理器根据根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列的具体方式,即步骤文本的具体融合方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以直接按照步骤文本的顺序,对步骤文本进行组合,生成重组序列;例如,重组序列和步骤文本的数量可以相同,如重组序列和步骤文本的数量均为t,第1重组序列可以包括第1步骤文本,第s重组序列包括第1步骤文本至第s步骤文本,s为大于1且小于或等于t的正整数。处理器也可以按照步骤文本的顺序,对各步骤文本各自对应的步骤文本特征进行组合,生成重组序列;也就是说,本步骤中处理器可以获取程序性文本数据中各步骤文本各自对应的步骤文本特征;按照步骤文本的顺序,对步骤文本特征进行组合,生成重组序列。其中,重组序列和步骤文本的数量可以相同,如重组序列和步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于或等于t的正整数;重组序列和步骤文本的数量也可以不相同,如步骤文本的数量为t,重组序列的数量为t‑1,第q重组序列包括第1步骤文本特征至第q+1步骤文本特征,q为大于或等于1且小于或等于t‑1的正整数。本实施例对此不做任何限制。
[0137] 举例来说,处理器可以获取程序性文本数据中各步骤文本,将全部步骤文本依次输入到文本编码器,得到文本编码器输出的每个步骤文本的特征(即步骤文本特征),可以记为第1步骤文本特征(即步骤1文本特征),……,第t步骤文本特征(即步骤t文本特征)。例如,本实施例可以采用基于transformer(一种神经网络)的文本编码器,即处理器可以利用transformer模型,提取各步骤文本的步骤文本特征;处理器也可以采用其他方式提取各步骤文本的步骤文本特征,本实施例对此不做任何限制。
[0138] 相应的,处理器可以按照步骤文本的先后顺序,对步骤文本特征进行组合,得到重组序列,如重组序列和步骤文本的数量均为t,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于或等于t的正整数;即步骤1文本特征à重组序列1(即第1重组序列),步骤1文本特征和步骤2文本特征à重组序列2,步骤1文本特征、步骤2文本特征和步骤3文本特征à重组序列3,………,步骤1文本特征—步骤t文本特征à重组序列t(即第t重组序列)。
[0139] 步骤103:根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树;其中,特征树包括:重组序列对应的链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征。
[0140] 可以理解的是,本步骤中处理器可以根据程序性文本数据中各成分文本的特征(即成分特征)、程序性文本数据中各步骤文本的特征(即步骤文本特征)和各重组序列,生成程序性文本数据对应的树形关系(即特征树),以利用特征树来体现步骤与步骤和步骤与成分之间相互依赖的关系。
[0141] 其中,本实施例中的特征树可以包括重组序列对应的链状连接的树(即链状连接关系树),链状连接关系树上的全部或部分节点(如重组序列)可以挂载对应的步骤文本特征,全部或部分步骤文本特征可以挂载对应的成分特征。如图2所示,特征树可以包括重组序列2和3(即重组序列)组成的链状连接关系树,挂载在重组序列2和3上的步骤1‑3文本特征(即步骤文本特征),以及挂载在步骤1‑3文本特征上的成分1‑4特征(即成分特征)。
[0142] 具体的,对于本步骤中处理器根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如图3所示,本步骤可以包括:
[0143] 步骤1031:获取各重组序列各自对应的重组序列特征。
[0144] 其中,本步骤中处理器可以获取各重组序列各自对应的特征(即重组序列特征)。
[0145] 具体的,本实施例并不限定处理器获取各重组序列各自对应的重组序列特征的具体方式,如重组序列包括相应的步骤文本特征,即重组序列由步骤文本特征组合得到时,处理器可以利用双向长短期记忆网络(BiLSTM),获取各重组序列各自对应的重组序列特征;例如,处理器可以将各重组序列分别输入到双向长短期记忆网络,获取双向长短期记忆网络输出的各重组序列各自对应的重组序列特征;重组序列包括相应的步骤文本,即重组序列由步骤文本组合得到时,处理器也可以先获取各重组序列各自对应的步骤文本特征,再根据每个重组序列各自对应的步骤文本特征,利用双向长短期记忆网络,获取各重组序列各自对应的重组序列特征。只要处理器可以获取各重组序列各自对应的一个重组序列特征,本实施例对此不做任何限制。
[0146] 步骤1032:获取各步骤文本特征与各重组序列特征之间的关联系数。
[0147] 其中,本步骤中的关联系数可以为步骤文本特征与相应的重组序列特征之间关联性的数值。本实施例并不限定处理器获取各步骤文本特征与各重组序列特征之间的关联系数的具体方式,如处理器可以计算每个步骤文本特征分别与各重组序列特征之间的距离(如欧几里得距离、余弦相似度距离、汉明距离、切比雪夫距离等),得到关联系数;例如,处理器可以计算当前步骤文本特征与当前重组序列特征之间的欧几里得距离,将该欧几里得距离作为当前步骤文本特征分别与当前重组序列特征之间的关联系数;当前步骤文本特征为任一步骤文本特征,当前重组序列特征为任一重组序列特征。
[0148] 具体的,本实施例是以处理器计算得到各步骤文本特征与各重组序列特征之间的关联系数为例进行的展示,处理器也可以计算得到目标步骤文本特征与各自对应的目标重组序列特征之间的关联系数,如图4和图5所示的概率矩阵,目标步骤文本特征和相应的目标重组序列特征可以为上三角阵内的关联系数(如A12、A13、A22、A23和A31等)对应的步骤文本特征和目标重组序列特征,即目标步骤文本特征可以为第1步骤文本特征之外的步骤文本特征;第s步骤文本特征对应的目标重组序列特征可以为第s重组序列特征至t重组序列特征,重组序列和步骤文本的数量均为t。
[0149] 步骤1033:根据关联系数,建立程序性文本数据对应的生成树;其中,生成树包括链状连接关系树和挂载在链状连接关系树上的步骤文本特征,链状连接关系树为按照重组序列的长度建立的链状连接的重组序列的树,链状连接关系树的根节点为最长的重组序列。
[0150] 具体的,本步骤中处理器可以利用各步骤文本特征与各重组序列特征之间的关联系数,建立程序性文本数据对应的生成树。例如,处理器可以构建由步骤文本特征和重组序列特征组成的概率矩阵;利用概率矩阵中上三角阵内的关联系数,建立程序性文本数据对应的生成树。如图4和图5所示的概率矩阵中上三角阵之外的区域可以表示相应的步骤文本与重组序列并不是生成树所需的关联关系,如图4中步骤3文本特征与重组序列2没有关联关系。
[0151] 对应的,处理器可以先按照重组序列的长度(即时序扩展关系),建立链状连接的重组序列的树(即链状连接关系树),也就是说,链状连接关系树的根节点为最长的重组序列,如图6所示的链状连接关系树,根节点可以为重组序列3;然后按照每个步骤文本特征与各重组序列特征之间的关联系数,将该步骤文本特征挂在到最大的关联系数对应的重组序列上,如图5至7所示,步骤1文本特征与重组序列2特征之间的关联系数最大,即步骤1文本特征隶属于重组序列2的概率最高,可以建立步骤1文本特征与重组序列2的连接线,使步骤1文本特征挂在到重组序列2上。
[0152] 步骤1034:获取程序性文本数据中各成分文本各自对应的成分特征。
[0153] 其中,本步骤中处理器可以获取程序性文本数据中各成分文本各自对应的特征(即成分特征)。
[0154] 具体的,本实施例并不限定处理器获取程序性文本数据中各成分文本各自对应的成分特征的具体方式,如处理器可以利用transformer编码器,获取各成分文本各自对应的成分特征;例如,处理器可以将各成分文本分别输入到transformer编码器,获取transformer编码器输出的各成分文本各自对应的成分特征。
[0155] 需要说明的是,本实施例并不限定处理器获取程序性文本数据中各成分文本各自对应的成分特征的具体时间,如本实施例所示处理器可以在建立程序性文本数据对应的生成树之后,再获取各成分文本各自对应的成分特征,也可以在步骤1031获取各重组序列各自对应的重组序列特征和各成分文本各自对应的成分特征。
[0156] 步骤1035:根据各成分文本与各步骤文本的对应关系,将各成分特征挂载到生成树中对应的步骤文本特征上,生成程序性文本数据对应的特征树。
[0157] 其中,各成分文本与各步骤文本的对应关系可以为步骤文本与成分文本的包含关系,即步骤文本中是否包含有相应的成分文本;例如,步骤1文本是将西红柿洗净切碎备用,成分文本是西红柿,则步骤1文本包含该成分文本(西红柿)。也就是说,处理器可以通过判断步骤文本中是否包含成分文本,确定该成分文本与该步骤文本的对应关系,如该步骤文本中包含该成分文本,则对应关系可以为1;该步骤文本中不包含该成分文本,则对应关系可以为0。
[0158] 具体的,对于本步骤中处理器根据各成分文本与各步骤文本的对应关系,将各成分特征挂载到生成树中对应的步骤文本特征上,生成程序性文本数据对应的特征树的具体方式,可以由设计人员自行设置,如处理器可以遍历所有成分文本和步骤文本,建立各成分文本与各步骤文本的对应关系;根据建立的对应关系,将各成分特征挂载到生成树中对应的步骤文本特征上,生成程序性文本数据对应的特征树。
[0159] 需要说明的是,图3所示的特征树生成过程是以每个重组序列直接作为特征树中链状连接关系树上的一个节点为例进行的展示;也可以将部分重组序列直接作为特征树中链状连接关系树上的节点,如将第1重组序列之外的其他重组序列作为特征树中链状连接关系树上的节点;还可以将重组序列对应的标识(如重组序列特征)作为特征树中链状连接关系树上的节点,本实施例对此不做任何限制。
[0160] 步骤104:根据特征树,生成程序性文本数据对应的文本编码。
[0161] 其中,本实施例中处理器可以利用特征树上挂载的步骤文本特征和成分特征,生成程序性文本数据对应的文本编码,以使编码结果(即文本编码)能够包含步骤与步骤和步骤与成分之间的依赖关系。
[0162] 具体的,对于本实施例中处理器根据特征树,生成程序性文本数据对应的文本编码的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器根据特征树的结构,按照由下向上的顺序依次对步骤文本特征和成分特征进行聚合,生成文本编码;例如,处理器可以根据特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对步骤文本特征和成分特征进行聚合,生成文本编码,即处理器可以每次聚合两个特征,如两个成分特征、一个成分特征与一个步骤文本特征、一个成分特征与一个聚合特征、一个步骤文本特征与一个聚合特征等;处理器也可以根据特征树的结构,按照由下向上的顺序依次以三特征聚合的方式,对步骤文本特征和成分特征进行聚合,生成文本编码。本实施例对此不做任何限制。
[0163] 对应的,对于上述处理器根据特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对步骤文本特征和成分特征进行聚合,生成文本编码的具体方式,可以由设计人员自行设置,如处理器可以获取当前特征树中最底层的底层特征;其中,底层特征包括步骤文本特征、成分特征和聚合特征;当前特征树可以为当前的特征树。
[0164] 若底层特征的数量为1且不存在级联的上一层的上层特征,则根据底层特征确定文本编码;即当前特征树中最底层的底层特征已经融合到了顶层,可以利用该底层特征确定文本编码。
[0165] 若底层特征的数量为1且存在上层特征,则以双特征聚合的方式将底层特征与上层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行获取当前特征树中最底层的底层特征的步骤,以继续进行双特征聚合;即当前特征树中仅有一个底层特征且该底层特征与上一层的上层特征级联时,可以将该底层特征与该上层特征进行双特征聚合,得到相应的融合特征,并更新当前特征树,如图7所示直接级联的两个特征可以直接进行双特征聚合。
[0166] 若底层特征的数量大于1,则以双特征聚合的方式将任意两个底层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行获取当前特征树中最底层的底层特征的步骤,以继续进行双特征聚合。即当前特征树中有多个底层特征时,可以将选择任意两个底层特征进行双特征聚合,得到相应的融合特征,并更新当前特征树;如图8所示,可以按照先聚合成分特征后聚合步骤文本特征的原则,选择相应的两个底层特征进行双特征聚合,得到相应的融合特征,并更新当前特征树。
[0167] 具体的,对于本实施例中特征树中的步骤文本特征和成分特征的具体聚合过程,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以根据特征树,利用树形长短期记忆网络(Tree LSTM)生成程序性文本数据对应的文本编码。例如,本实施例中的树形长短期记忆网络可以采用图9所示的结构,包含3个节点:node1、node2和node3。对于所有节点,包含隐含状态(h1、h2或h3)以及节点细胞状态(c1、c2或c3);树形长短期记忆网络的计算方式可以如下:
[0168]                          (1)
[0169]                                           (2)
[0170]                                 (3)
[0171]                          (4)
[0172]                     (5)
[0173] 式(1)中 可以为遗忘系数,可以代表图9中的f2和f3,本实施例中,j=1,k=2或3,遗忘系数的值取决于当前节点输入和子节点的隐含状态输出 。
[0174] 式(2)中可以取得所有子节点隐含状态 并对其求和得到 。
[0175] 式(3)中 可以为输入门权重值,其控制当前j节点输入值的权重系数。
[0176] 式(4)中 可以为备选细胞状态,其代表当前j节点的输入值大小。
[0177] 式(5)可以为对根节点j的状态 的更新。
[0178] 最终根节点j的隐含状态输出 由如下公式计算:
[0179]                            (6)
[0180]                                (7)
[0181] 其中,可以为输出权重。公式(1)‑(7)中W、U和b矩阵内均可以为训练参数,在初始化时可以为随机值;即W、U和b可以分别为预设矩阵。
[0182] 也就是说,图9所示的树形长短期记忆网络的输入可以为node2与node3节点输入的特征,如成分特征、聚合特征或步骤文本特征;将两个特征输入到node2和node3的状态输入端C_k(如c2或c3),初始节点的h_j(如h2或h3)输入为随机初始化的向量,向量维度与C_k一致;树形长短期记忆网络的输出可以为C_j(如c1)。
[0183] 相应的,本实施例中处理器可以根据特征树的结构,按照由下向上的顺序依次以树形长短期记忆网络的双特征聚合方式,对步骤文本特征和成分特征进行聚合,生成文本编码。也就是说,处理器可以以树形长短期记忆网络的双特征聚合方式,对上述底层特征与上层特征或两个底层特征进行聚合,即上述以双特征聚合的方式将底层特征与上层特征进行聚合,生成相应的聚合特征并更新当前特征树的过程,可以包括:通过,将底层特征与上层特征进行聚合,生成相应的聚合特征;其中,
为聚合特征, , , ,
, , ,j=1,k=2或3, 为底层特征与上层特征,
W、U和b分别为预设矩阵, 为 对应的隐含状态; 为 对应的隐含状态, 为步骤文本特征或成分特征时, 为随机初始化的向量。
[0184] 也就是说,本实施例中处理器可以将最顶层的根节点的对应的树形长短期记忆网络的特征编码输出做为整个特征树中特征的输出,即文本编码;如 , 可以为文本编码, 可以为特征树的最顶层对应的根节点的隐含状态,即上述根据底层特征确定文本编码,可以为将底层特征对应的隐含状态确定为文本编码。
[0185] 需要说明的是,本实施例中对程序性文本数据进行的编码,可以使编码结果(即文本编码)能够包含程序性文本中步骤与步骤和步骤与成分之间的依赖关系,提升了程序性文本的编码准确性,从而使得后续能够利用文本编码进行其他处理,如步骤图数据的匹配检索或检索匹配模型的训练等。
[0186] 本实施例中,本发明实施例通过根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树,以程序性文本中步骤信息和成分信息的结构建立树形关系,利用树形关系体现步骤与成分之间相互依赖的关系;通过根据特征树,生成程序性文本数据对应的文本编码,使得编码结果能够包含程序性文本中步骤与成分之间的依赖关系,提升了编码结果的准确性。
[0187] 基于上述实施例,本发明实施例还提供了一种图文互检的模型训练方法,以利用通过上述实施例得到的程序性文本数据对应的文本编码,完成程序性文本与步骤图的图文互检所使用的检索匹配模型的训练。具体的,请参考图10,图10为本发明实施例所提供的一种图文互检的模型训练方法的流程图。该方法可以包括:
[0188] 步骤201:获取训练数据;其中,训练数据包括预设训练数量对的程序性文本数据和步骤图数据。
[0189] 可以理解的是,本实施例中的训练数据可以为训练预设匹配模型所需使用的数据。本实施例中训练数据可以包括预设训练数量对的程序性文本数据和步骤图数据,即训练数据可以包括成对设置的程序性文本数据和步骤图数据,程序性文本数据和步骤图数据的数量均为预设训练数量。
[0190] 对应的,本实施例中的训练数据中的步骤图数据可以为程序性文本数据所对应的步骤图数据,如程序性文本数据中的各步骤文本所对应的图像数据,如上述纸杯花制作步骤文本中步骤1‑6各自对应制作时拍摄的照片图像。
[0191] 步骤202:获取各程序性文本数据的文本编码。
[0192] 其中,文本编码为利用程序性文本数据对应的特征树生成的编码,特征树包括链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征,步骤文本特征为程序性文本数据中步骤文本的特征,成分特征程序性文本数据中成分文本的特征,链状连接关系树为按步骤文本的顺序对各步骤文本进行融合得到的重组序列对应的树。
[0193] 需要说明的是,本实施例中处理器可以采用与上述实施例所提供的文本编码方法相同或相似的方式,获取训练数据中各程序性文本数据的文本编码;例如,本实施例中处理器可以获取当前程序性文本数据;其中,当前程序性文本数据为训练数据中的任一程序性文本数据,当前程序性文本数据包括步骤文本和成分文本;根据步骤文本的顺序,对当前程序性文本数据中的各步骤文本进行融合,生成重组序列;根据当前程序性文本数据中的各成分文本的成分特征、当前程序性文本数据中的各步骤文本的步骤文本特征和重组序列,生成当前程序性文本数据中的对应的特征树;其中,特征树包括:重组序列对应的链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征;根据特征树,生成当前程序性文本数据中的对应的文本编码。
[0194] 步骤203:获取各步骤图数据的图像编码。
[0195] 其中,本实施例中的步骤图数据可以为程序性文本数据所对应的步骤图的数据,如程序性文本数据中的各步骤文本所对应的图像数据,如各步骤文本各自对应的照片图像。
[0196] 可以理解的是,本实施例中训练数据中的程序性文本数据和步骤图数据可以为成对配置的用于训练预设匹配模型的训练数据,即训练预设匹配模型的训练数据可以包括预先设置的多对(即预设训练数量对)程序性文本数据和步骤图数据。本实施例中的图像编码可以为对步骤图数据进行编码得到的编码结果(即图像编码)。
[0197] 具体的,对于本步骤中处理器获取程序性文本数据对应的步骤图数据的图像编码的具体方式,可以由设计人员自行设置,如处理器可以基于异质图,获取步骤图数据的图像编码。如图11所示,本步骤可以包括:
[0198] 步骤2031:提取当前步骤图数据中各步骤图的步骤图特征。
[0199] 其中,当前步骤图数据可以为训练数据中的任一步骤图数据。本步骤中处理器可以提取到当前步骤图数据中各步骤图各自对应的特征(即步骤图特征)。对于本实施例中处理器提取当前步骤图数据中各步骤图的步骤图特征的具体方式,可以由设计人员自行设置,如处理器可以采用深度残差网络(ResNet)的骨干网络(backbone)提取每个步骤图各自对应的步骤图特征,例如将ResNet骨干网络在分类层前一层(如池化层avg pool层)的特征作为步骤图特征,即本步骤中处理器可以将当前步骤图输入到预设残差网络,获取预设残差网络的池化层输出的特征向量,并将特征向量确定为当前步骤图对应的步骤图特征;其中,当前步骤图为当前步骤图数据中的任一步骤图。处理器也可以采用其他方式提取步骤图数据中各步骤图的步骤图特征,本实施例对此不做任何限制。
[0200] 具体的,ResNet骨干网络(即预设残差网络)的结构可以如图12所示,包括依次连接的七个部分,第一部分可以不包括残差块,主要对输入进行卷积、正则化、激活函数和最大池化的计算,第二、三、四和五部分都可以包含残差块,每个残差块包括三层卷积,经过前五部分的卷积计算后,第六部分的池化层将输入转化为一个特征向量,最后第七部分的分类器对这个特征向量进行计算并输出类别概率(output);本实施例中处理器可以将各步骤图通过第六部分的池化层输出的特征向量作为各步骤图的步骤图特征。
[0201] 步骤2032:根据各步骤图对应的类别标签和步骤图特征,生成当前步骤图数据对应的异质图;其中,异质图包括类别标签对应的成分节点、步骤图特征对应的步骤图节点和各步骤图节点与各自对应的成分节点之间的连接边。
[0202] 可以理解的是,各步骤图对应的类别标签可以为按照步骤图中的成分对步骤图进行分类得到的类别标签,如图13所示,步骤图数据中的步骤图(做菜过程拍摄图像1‑Q)可以通过分类网络(lassification network)进行分类,得到类别标签(标签1‑M,即ing1‑ingM);如菜谱步骤图通过图像分类共获得多少类别标签多少成分;例如西红柿炒鸡蛋的菜谱步骤图可以包括西红柿、鸡蛋和油等类别标签。
[0203] 具体的,本步骤中处理器可以根据任一步骤图数据中各步骤图对应的类别标签和步骤图特征,生成该步骤图数据对应的异质图。如图14所示,异质图可以包括节点和关系(connection);节点可以包括类别标签对应的成分节点 (ingredient node)和步骤图特征对应的步骤图节点 (instruction node), 可以代表菜谱步骤图(cooking step images)的步骤图特征( ), 代表ResNet骨干网络;如 = 。成分节点 可以来自于图像分类网络的对于步骤图的分类标签,如图14中菜(dish)的配料(ingredient,即成分)对步骤图进行分类得到的类别标签(芒果mango、水water和糖sugar);本实施例中可以获取类别标签对应的类别特征,将类别特征作为相应的成分节点 ,如将类别标签输入到神经网络编码器(如Transformer编码器,Transformer layers,例如bert网络模型)中,获取每个类别标签对应的编码特征(即类别特征),该编码特征可以作为该类别标签对应的成分节点 。关系可以为各步骤图节点与各自对应的成分节点之间的连接边,即关系可以通过分类网络建立,某步骤图的分类标签包括某个成分节点对应的分类标签,则该步骤图对应的步骤图节点与该成分节点建立一条连接边;如图14所示,芒果在全部步骤图中都出现了,因此全部步骤图节点均与芒果的成分节点建立连接边;糖的成分节点与第三张步骤图的步骤图节点建立连接边e43。
[0204] 步骤2033:根据异质图,生成当前步骤图数据对应的图像编码。
[0205] 其中,本步骤中处理器可以利用异质图,生成步骤图数据对应的图像编码。
[0206] 具体的,对于本步骤中处理器根据异质图,生成步骤图数据对应的图像编码的具体方式,可以由设计人员自行设置,如处理器可以采用图注意力网络对异质图中的节点进行聚合,生成步骤图数据对应的图像编码。举例来说,本实施例中可以采用图注意力网络实现特征聚合与更新,更新方法是依次遍历每个异质节点进行更新。
[0207]  (8)
[0208] 式(8)中,Wd、We和Wf均为 维矩阵, 可以代表矩阵乘法,也代表了向量映射。
[0209] 如式(8)所示,首先对步骤图节点进行更新, 可以代表第m个步骤图节点, 可以代表第n个成分节点。若第m个步骤图节点与成分节点的第n个成分节点之间有连接边,则可以用第n个成分节点更新第m个步骤图节点,但是需要计算一个权重,式(8)便是算权重的,其中 可以代表第m个步骤图节点与第n个成分节点的相关权重。
[0210] 对于每个步骤图节点,如 ,遍历所有与其有连接边的成分节点,假设有 个,都可以通过式(8)得到与其对应的相关权重 。
[0211] 通过如下式(9)对所有与步骤图节点相连的成分节点,进行相关权重的归一化:
[0212]                                    (9)
[0213] 得到了归一化的相关权重 ,exp代表求指数函数。 代表求取所有与步骤图节点相连的成分节点的相关权重的总和。
[0214] 最后通过归一化的相关权重对步骤节点的节点特征进行更新。公式如下:
[0215]                                       (10)
[0216] 其中, 代表超参数,在[0,1]区间内。 是 维矩阵。 是被与其相连的成分节点更新后的新的步骤图节点。
[0217] 进一步,本实施中可以引入残差网络的思想,将更新后的 与未更新前的初始特征 相加。公式如下:
[0218]                               (11)
[0219] 其中,  可以代表总共M个步骤图节点与该成分节点相连。
[0220] 遍历完所有的成分节点和步骤图节点,即完成图注意力网络一层的网络更新。
[0221] 本实施例中可以叠加T层图注意力网络,每一层的节点特征的更新方式都如上所述,以用t代表第t层的图注意力网络。本实施例中可以在每层图注意力网络后面加入集成全连接层,实现对节点特征(包括成分节点和步骤图节点)特征的再编码,如通过和 ,对节点特征进行在再编码;其中,FFN可以代表全连接层, 和 可以代表t+1层的图注意力网络的初始化节点特征。
[0222] 如上完成了对异质图中节点的更新,本实施例中由于步骤图节点融合了成分节点的信息,成分节点通过图神经网络更新,以关键词的形式对相关步骤节图节点的特征进行了强调,从而方便后续程序性文本数据与步骤图数据之间的检索。
[0223] 接下来,本实施例中可以将异质图中的步骤图节点输入到长短期记忆网络(LSTM网络),获取整体步骤图节点的总体特征。公式如下:
[0224]                       (12)
[0225] 其中, 可以表示LSTM网络的每一个单元。 可以代表第m个LSTM单元的输出。 代表步骤图节点,来自于最后一层的异质图节点特征,m代表第m张步骤图。
[0226] 最后,本实施例中可以将最后一个LSTM单元的特征编码输出做为整个步骤图数据的特征的输出;即 ;其中, 可以为步骤图数据对应的图像编码,以用来进行接下来的检索。
[0227] 步骤204:根据文本编码和图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。
[0228] 可以理解的是,本实施例中的预设匹配模型可以为预先设置的用于检索匹配待检索程序性文本数据对应的样本步骤图数据和/或检索匹配步骤图数据对应的样本程序性文本数据的网络模型,即预设匹配模型可以包括文本特征编码网络(如图13中左侧的网络)和/或图像特征编码网络(如图13中右侧的网络),以实现上述程序性文本数据编码和/或步骤图数据编码的过程,即步骤202和步骤203的过程中处理器可以利用预设匹配模型实现。本实施例中处理器可以利用包括多对程序性文本数据和步骤图数据的训练数据,根据多对程序性文本数据对应的文本编码和步骤图数据对应的图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的预设匹配模型(即检索匹配模型)。
[0229] 具体的,对于本步骤中预设损失函数的具体设置,可以由设计人员根据使用场景和用户需求自行设置,如预设损失函数包括三元损失函数(如图13中的Triplet Loss)或三元损失函数和树形结构损失函数,例如预设损失函数可以为三元损失函数与树形结构损失函数之和;其中,三元损失函数可以为; 为
当前批次中N个图像编码中的任一图像编码(即图像编码), 为当前批次中与 配对的文本编码, 为当前批次中与 不配对的文本编码, 为预设超参数, 为当前批次中N个图像编码中的任一文本编码, 为当前批次中与 配对的图像编码, 为当前批次中与 不配对的图像编码。
[0230] 例如,预设损失函数包括三元损失函数时,对于成对的程序性文本数据和步骤图数据组成的训练数据,可以遍历每一个图像编码和文本编码,通过如下公式求取损失函数的平均值 :
[0231] 。
[0232] 也就是说,本实施例中每batch(批次)可以选取N个成对的训练数据;对图像编码进行遍历(共N个),遍历选中每个图像编码可以为 ,a可以代表anchor(锚点样本)。与锚点样本配对的文本编码记为 ,即匹配正确的文本编码。同理,在本batch中与 不配对的文本特征记为 ,即匹配错误的文本编码。为预先设置的超参数,可以为固定的0.3。同理,对于文本编码也做相似的遍历操作, 代表遍历中被选中的文本编码,与其对应的图像编码记为 ,不对应的记为 。
[0233] 对应的,预设损失函数包括三元损失函数时,步骤202可以包括:对预设匹配模型中全部网络层的权值进行初始化,获取初始化完成的预设匹配模型;将当前批次的训练数据分别输入到预设匹配模型,获取预设匹配模型输出的训练匹配结果;其中,训练数据包括当前批次的N对程序性文本数据和步骤图数据;判断是否达到预设迭代次数或训练匹配结果与预设匹配结果之间的误差小于收敛阈值;若是,则将预设匹配模型作为训练完成的检索匹配模型;若否,则利用预设损失函数,获取训练匹配结果对应的损失值;根据损失值,获取预设匹配模型中各网络层(如图神经网络层、全连接层和卷积层等)的反向传播误差;根据反向传播误差,更新预设匹配模型中各网络层的权值,获取更新后的预设匹配模型;选取下一批次的训练数据,并将下一批次的训练数据作为当前批次的训练数据,执行将当前批次的训练数据分别输入到预设匹配模型,获取预设匹配模型输出的训练匹配结果的步骤。
[0234] 也就是说,预设损失函数包括三元损失函数时,预设匹配模型(如卷积神经网络)的训练过程分为两个阶段。第一个阶段是数据由低层次向高层次传播的阶段,即前向传播阶段。另外一个阶段是,当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段。具体的,训练过程可以为:1、对预设匹配模型的所有网络层权值进行初始化,一般采用随机初始化;2、输入图像和文本数据经过图神经网络、卷积层、下采样层、全连接层等各层的前向传播得到输出值;3、求出网络的输出值,根据三元损失函数公式求取网络的输出值的三元损失函数值 。4、将误差( )反向传回网络中,依次求得网络各层:图神经网络层,全连接层,卷积层等各层的反向传播误差。5、网络各层根据各层的反向传播误差对网络中的所有权重系数进行调整,即进行权重的更新。6、重新随机选取新的batch的图像文本数据,然后进入到步骤2,获得网络前向传播得到输出值。7、无限往复迭代,当求出网络的输出值与目标值(即预设匹配结果)之间的误差小于某个阈值(即收敛阈值),或者迭代次数超过某个阈值时,结束训练。8、训练结束后,保存训练好的所有层的网络参数,得到检索匹配模型。
[0235] 需要说明的是,预设损失函数包括树形结构损失函数时,本实施例中可以利用树形结构损失函数保证程序性文本数据生成的特征树与预设目标树之间的结构相似性。相应的,步骤202中处理器可以获取程序性文本数据对应的预设目标树;根据文本编码、图像编码、特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型。
[0236] 其中,上述根据文本编码、图像编码、特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型可以包括:树形结构损失函数的输出过程;在树形结构损失函数可以包括局部结构比对损失、全局结构比对损失和节点度数损失的情况下:树形结构损失函数的输出过程可以包括局部结构比对损失的输出过程、全局结构比对损失的输出过程和节点度数损失的输出过程。
[0237] 具体的,局部结构比对损失的输出过程可以如图15所示,包括:
[0238] 步骤301:根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建每个节点各自对应的第一邻接矩阵;其中,当前特征树为当前程序性文本数据的特征树,当前程序性文本数据为任一训练用的程序性文本数据,当前预设目标树为当前程序性文本数据对应的预设目标树。
[0239] 可以理解的是,对于当前特征树和当前预设目标树中的每个节点,本实施例中可以使用的邻居节点和自身的属性构建一个子图,并将其表示为一个邻接矩阵,即第一邻接矩阵A;从而能够通过辨别子图是否同构来计算当前特征树和当前预设目标树之间的局部结构相似度。
[0240] 具体的,本实施例中是以第一邻接矩阵表示子图结构,假设共有r个节点,第一邻接矩阵可以为一个 的矩阵,其中 r 是子图的节点数。第一邻接矩阵的元素   表示节点 u和节点v 之间是否有边相连,如果有边相连,则  =1,否则  =0。
[0241] 步骤302:根据第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵。
[0242] 其中,本步骤中处理器可以利用第一邻接矩阵,将每个子图表示为1个向量,即子图嵌入向量,将当前特征树和当前预设目标树中的所有子图嵌入向量组成矩阵,即第一嵌入向量矩阵和第二嵌入向量矩阵。
[0243] 相应的,本步骤中处理器可以计算各第一邻接矩阵各自对应的拉普拉斯矩阵;计算各拉普拉斯矩阵的特征向量;根据各拉普拉斯矩阵的特征向量,获取各第一邻接矩阵各自对应的向量表示;其中,当前第一邻接矩阵对应的向量表示包括当前第一邻接矩阵对应的拉普拉斯矩阵的特征向量中按特征值由小到大排序的前预设数量个特征向量,当前第一邻接矩阵为任一第一邻接矩阵;根据各第一邻接矩阵的向量表示,生成第一嵌入向量矩阵和第二嵌入向量矩阵。
[0244] 可以理解的是,第一邻接矩阵A对应的拉普拉斯矩阵可以有三种,如拉普拉斯矩阵可以采用邻接矩阵A对应的度数矩阵 D,也可以直接采用邻接矩阵A,还可以采用度数矩阵与邻接矩阵之差 L=D‑A;其中,度数矩阵 D 是一个对角矩阵,其元素  表示节点 u的度数。
[0245] 对应的,计算各拉普拉斯矩阵的特征向量的过程可以为通过对拉普拉斯矩阵进行特征值分解,可以得到拉普拉斯矩阵的特征向量。特征向量可以用来描述子图的结构信息,每个特征向量对应一个特征值,特征值越小,对应的特征向量描述的结构信息越重要。
[0246] 相应的,处理器可以根据特征值的大小,选择拉普拉斯矩阵内由小到大排序的前 k 个特征向量作为子图(即第一邻接矩阵)的向量表示。这些特征向量组成的矩阵可以为子图的向量表示矩阵,可以表示子图的结构信息,即子图嵌入向量;当前特征树和当前预设目标树各自对应的所有子图嵌入向量分别可以矩阵X1(即第一嵌入向量矩阵)和矩阵X2(即第二嵌入向量矩阵)。第一嵌入向量矩阵和第二嵌入向量矩阵。
[0247] 步骤303:计算第一嵌入向量矩阵和第二嵌入向量矩阵的相似度,得到局部结构相似度矩阵。
[0248] 可以理解的是,本步骤中处理器可以通过计算第一嵌入向量矩阵和第二嵌入向量矩阵之间的相似度(如余弦相似度或欧几里得距离),可以到的一个矩阵,即局部结构相似度矩阵;例如,本步骤中处理器可以计算第一嵌入向量矩阵和第二嵌入向量矩阵的余弦相似度,得到局部结构相似度矩阵。
[0249] 步骤304:根据局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失。
[0250] 可以理解的是,本步骤中处理器可以利用局部结构相似度矩阵,计算得到当前程序性文本数据对应的局部结构比对损失。对于处理器根据局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失的具体方式,可以由设计人员自行设置,如处理器可以通过 ,计算得到局部结构比对损失;L1为局部结构比对损失,H为局部结构相似度矩阵, 可以代表求矩阵二范数。
[0251] 需要说明的是,上述全局结构比对损失的输出过程可以包括:根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建当前特征树和当前预设目标树各自对应的第二邻接矩阵;根据第二邻接矩阵,生成当前特征树对应的第一嵌入向量和当前预设目标树对应的第二嵌入向量;计算第一嵌入向量和第二嵌入向量的相似度,得到全局结构相似度;根据全局结构相似度,获取当前程序性文本数据对应的全局结构比对损失。
[0252] 也就是说,处理器可以采用与上述局部结构比对损失的输出过程相似的方式,将当前特征树和当前预设目标树映射到同一向量空间,得到当前特征树对应的第一嵌入向量和当前预设目标树对应的第二嵌入向量;计算第一嵌入向量和第二嵌入向量的相似度,得到全局结构相似度;根据全局结构相似度,获取当前程序性文本数据对应的全局结构比对损失。
[0253] 例如,处理器可以利用当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建当前特征树和当前预设目标树各自对应的一个邻接矩阵(即第二邻接矩阵);计算两个第二邻接矩阵各自对应的拉普拉斯矩阵;计算各拉普拉斯矩阵的特征向量;根据两个拉普拉斯矩阵各自的特征向量,获取两个第二邻接矩阵各自对应的向量表示;其中,当前第二邻接矩阵对应的向量表示包括当前第二邻接矩阵对应的拉普拉斯矩阵的特征向量中按特征值由小到大排序的前预设向量数量个特征向量,当前第二邻接矩阵为任一第二邻接矩阵;根据各第二邻接矩阵的向量表示,生成第一嵌入向量和第二嵌入向量,如将当前特征树对应的第二邻接矩阵的向量表示中的特征向量组成的矩阵作为当前特征树对应的嵌入向量(即第一嵌入向量)。处理器在采用上述图嵌入算法将当前特征树和当前预设目标树映射到同一向量空间,得到两个嵌入向量(即第一嵌入向量和第二嵌入向量)后,可以计算第一嵌入向量和第二嵌入向量之间的相似度(如余弦相似度或欧几里得距离),得到一个全局结构相似度;之后可以计算全局结构相似度与全局权重系数乘积,得到当前程序性文本数据对应的全局结构比对损失;如通过L2 = w1*sim(X3, X4)计算全局结构比对损失L2,w1为全局权重系数,X3和X4分别为第一嵌入向量和第二嵌入向量,sim( )可以表示求取余弦相似度。
[0254] 相应的,上述节点度数损失的输出过程可以包括:计算当前特征树和当前预设目标树中的每个节点的度数;计算当前特征树和当前预设目标树中全部节点的度数差异,得到度数差异矩阵;根据度数差异矩阵,获取当前程序性文本数据对应的节点度数损失。其中,节点度数反映了节点与其他节点之间的连接数量,本实施例中将节点度数纳入损失函数中,以加强对节点连接关系的约束。
[0255] 例如,处理器可以先计算当前特征树和当前预设目标树中的每个节点的度数;然后计算当前特征树和当前预设目标树中的全部节点的度数之间的差异,得到度数差异矩阵;最后可以通过 ,将度数差异矩阵D求二范数,得到节点度数损失L3。
[0256] 对应的,在得到当前程序性文本数据对应的局部结构比对损失、全局结构比对损失和节点度数损失后,可以将当前程序性文本数据对应的局部结构比对损失、全局结构比对损失和节点度数损失相加,得到当前程序性文本数据对应的树形结构损失函数,即树形结构损失函数L_structure = L1 + L2 + L3。本实施例中可以在训练过程中,通过优化树形结构损失函数,来使预设目标树和生成的特征树尽可能相似;如可以采用梯度下降等优化算法来求解最优参数,从而得到最小化损失函数的模型。
[0257] 进一步的,步骤204之后,处理器还可以获取待检索数据;其中,待检索数据为待检索程序性文本数据或待检索步骤图数据;利用检索匹配模型,提取待检索数据的数据编码,并将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据;其中,样本数据集为样本步骤图数据集或样本程序性文本数据集。
[0258] 例如,待检索数据为待检索程序性文本数据时,处理器可以检索匹配模型,提取待检索程序性文本数据的文本编码,并将该文本编码与样本步骤图数据集中各样本步骤图数据的步骤图编码进行距离匹配,获取待检索程序性文本数据对应的匹配样本数据,如将与该文本编码距离最近的步骤图编码对应的样本步骤图数据确定为匹配样本数据。
[0259] 本实施例中,本发明实施例通过根据文本编码和图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,可以利用程序性文本数据编码得到文本编码和步骤图数据编码得到的图像编码,使用预设损失函数训练预设匹配模型,实现了检索匹配模型的训练,提高了检索匹配模型的检索准确性。
[0260] 基于上述实施例,本发明实施例还提供了一种图文互检的模型匹配方法,以利用通过上述实施例训练得到的检索匹配模型,完成程序性文本与步骤图的图文互检的检索匹配。具体的,请参考图16,图16为本发明实施例所提供的一种图文互检的模型匹配方法的流程图。该方法可以包括:
[0261] 步骤401:获取待检索数据;其中,待检索数据为待检索程序性文本数据或待检索步骤图数据。
[0262] 可以理解的是,本实施例中的待检索数据可以为需要进行图文互检的数据,即需要检索匹配到对应的步骤图数据或程序性文本数据的数据。本实施例并不限定待检索数据的具体数据类型,如待检索数据可以为程序性文本数据(即待检索程序性文本数据),以利用检索匹配模型检索匹配到样本步骤图数据集(即样本数据集)中待检索程序性文本数据对应的步骤图数据(即样本步骤图数据),即;待检索数据也可以为步骤图数据(即待检索步骤图数据),以利用检索匹配模型检索匹配到样本程序性文本数据集(即样本数据集)中待检索步骤图数据对应的程序性文本数据(即样本程序性文本数据)。
[0263] 步骤402:利用检索匹配模型,提取待检索数据的数据编码,并将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据;其中,样本数据集为样本步骤图数据集或样本程序性文本数据集。
[0264] 可以理解的是,若待检索数据为待检索程序性文本数据,则数据编码为利用待检索程序性文本数据对应的特征树生成的文本编码,特征树包括链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征,步骤文本特征为待检索程序性文本数据中步骤文本的特征,成分特征待检索程序性文本数据中成分文本的特征,链状连接关系树为按步骤文本的顺序对各步骤文本进行融合得到的重组序列对应的树。
[0265] 也就是说,待检索数据为程序性文本数据(即待检索程序性文本数据)的情况下,本实施例中处理器可以利用检索匹配模型,采用与上述实施例所提供的文本编码方法相同或相似的方式,提取待检索程序性文本数据的文本编码(即数据编码);例如,本实施例中处理器可以将待检索程序性文本数据输入到检索匹配模型;其中,待检索程序性文本数据包括步骤文本和成分文本;利用检索匹配模型,根据步骤文本的顺序,对待检索程序性文本数据中的各步骤文本进行融合,生成重组序列;根据待检索程序性文本数据中的各成分文本的成分特征、待检索程序性文本数据中的各步骤文本的步骤文本特征和重组序列,生成待检索程序性文本数据中的对应的特征树;其中,特征树包括:重组序列对应的链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征;根据特征树,生成待检索程序性文本数据中的对应的文本编码。
[0266] 需要说明的是,若待检索数据为待检索程序性文本数据,则待检索数据的数据编码可以为文本编码,如采用上述实施例所提供的文本编码方法得到的待检索程序性文本数据对应的文本编码;样本数据集可以为样本步骤图数据集,样本数据集中的样本数据可以为步骤图数据(即样本步骤图数据),样本编码可以为图像编码,如采用上述实施例所提供的步骤图数据的编码方式得到的各样本程序性文本数据各自对应的图像编码。
[0267] 若待检索数据为待检索步骤图数据,则待检索数据的数据编码可以为图像编码,如采用上述实施例所提供的步骤图数据的编码方式得到的待检索步骤图数据对应的图像编码;样本数据集可以为样本程序性文本数据集,样本数据集中的样本数据可以为程序性文本数据(即样本程序性文本数据),样本编码可以为文本编码,如采用上述实施例所提供的文本编码方法得到的各样本程序性文本数据各自对应的文本编码。
[0268] 相应的,若待检索数据为待检索步骤图数据,则当前样本编码为利用当前样本程序性文本数据对应的特征树生成的文本编码,特征树包括链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征,步骤文本特征为当前程序性文本数据中步骤文本的特征,成分特征当前程序性文本数据中成分文本的特征,链状连接关系树为按步骤文本的顺序对各步骤文本进行融合得到的重组序列对应的树;当前样本程序性文本数据为任一样本程序性文本数据。
[0269] 需要说明的是,对于处理器利用检索匹配模型,将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据的具体方式,可以由设计人员自行设置,如处理器可以利用检索匹配模型,分别计算数据编码与各样本数据的样本编码的欧氏距离;将最小的欧氏距离对应的样本数据作为匹配样本数据;如待检索数据为待检索程序性文本数据的情况下,处理器可以分别计算待检索程序性文本数据的文本编码与各样本步骤图数据的图像编码的欧氏距离;将最小的欧氏距离对应的样本步骤图数据作为待检索程序性文本数据对应的匹配样本数据。
[0270] 本实施例中,本发明实施例通过利用检索匹配模型,提取待检索数据的数据编码,并将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据,可以利用程序性文本数据编码得到文本编码和步骤图数据编码得到的图像编码,保证检索匹配模型的匹配准确性,提高了图文互检的准确性。
[0271] 相应于上面的方法实施例,本发明实施例还提供了一种文本编码装置,下文描述的一种文本编码装置与上文描述的一种文本编码方法可相互对应参照。
[0272] 请参考图17,图17为本发明实施例所提供的一种文本编码装置的结构框图。该装置可以包括:
[0273] 文本获取模块110,用于获取程序性文本数据;其中,程序性文本数据包括步骤文本和成分文本;
[0274] 步骤融合模块120,用于根据步骤文本的顺序,对各步骤文本进行融合,生成重组序列;
[0275] 树生成模块130,用于根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树;其中,特征树包括:重组序列对应的链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征;
[0276] 文本编码模块140,用于根据特征树,生成程序性文本数据对应的文本编码。
[0277] 在一些实施例中,步骤融合模块120可以包括:
[0278] 文本提取子模块,用于获取程序性文本数据中各步骤文本各自对应的步骤文本特征;
[0279] 特征重组子模块,用于按照步骤文本的顺序,对步骤文本特征进行组合,生成重组序列;其中,重组序列和步骤文本的数量均为n,第1重组序列包括第1步骤文本特征,第s重组序列包括第1步骤文本特征至第s步骤文本特征,s为大于1且小于等于t的正整数。
[0280] 在一些实施例中,树生成模块130可以包括:
[0281] 序列提取子模块,用于获取各重组序列各自对应的重组序列特征;
[0282] 关联计算子模块,用于获取各步骤文本特征与各重组序列特征之间的关联系数;
[0283] 生成树子模块,用于根据关联系数,建立程序性文本数据对应的生成树;其中,生成树包括链状连接关系树和挂载在链状连接关系树上的步骤文本特征,链状连接关系树为按照重组序列的长度建立的链状连接的重组序列的树,链状连接关系树的根节点为最长的重组序列;
[0284] 分文提取子模块,用于获取程序性文本数据中各成分文本各自对应的成分特征;
[0285] 挂载子模块,用于根据各成分文本与各步骤文本的对应关系,将各成分特征挂载到生成树中对应的步骤文本特征上,生成程序性文本数据对应的特征树。
[0286] 在一些实施例中,序列提取子模块可以具体用于将各重组序列分别输入到双向长短期记忆网络,获取双向长短期记忆网络输出的各重组序列各自对应的重组序列特征。
[0287] 在一些实施例中,关联计算子模块可以具体用于计算每个步骤文本特征分别与各重组序列特征之间的距离,得到关联系数。
[0288] 在一些实施例中,文本编码模块140可以具体用于根据特征树的结构,按照由下向上的顺序依次对步骤文本特征和成分特征进行聚合,生成文本编码。
[0289] 在一些实施例中,文本编码模块140可以包括:
[0290] 聚合子模块,用于根据特征树的结构,按照由下向上的顺序依次以双特征聚合的方式,对步骤文本特征和成分特征进行聚合,生成文本编码。
[0291] 在一些实施例中,聚合子模块可以包括:
[0292] 底层获取单元,用于获取当前特征树中最底层的底层特征;其中,底层特征包括步骤文本特征、成分特征和聚合特征;
[0293] 编码确定单元,用于若底层特征的数量为1且不存在级联的上一层的上层特征,则根据底层特征确定文本编码;
[0294] 第一聚合单元,用于若底层特征的数量为1且存在上层特征,则以双特征聚合的方式将底层特征与上层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行向底层获取单元发送启动信号;
[0295] 第二聚合单元,用于若底层特征的数量大于1,则以双特征聚合的方式将任意两个底层特征进行聚合,生成相应的聚合特征并更新当前特征树,并执行向底层获取单元发送启动信号。
[0296] 在一些实施例中,第一聚合单元可以具体用于通过 ,将底层特征与上层特征进行聚合,生成相应的聚合特征;其中, 为聚合特征,, , , , , 
,j=1,k=2或3, 为底层特征与上层特征,W、U和b分别为预设矩阵,
为 对应的隐含状态; 为 对应的隐含状态, 为步骤文本特征或成分特征时, 为随机初始化的向量。
[0297] 本实施例中,本发明实施例通过树生成模块130根据各成分文本的成分特征、各步骤文本的步骤文本特征和重组序列,生成程序性文本数据对应的特征树,以程序性文本中步骤信息和成分信息的结构建立树形关系,利用树形关系体现步骤与成分之间相互依赖的关系;通过文本编码模块140根据特征树,生成程序性文本数据对应的文本编码,使得编码结果能够包含程序性文本中步骤与成分之间的依赖关系,提升了编码结果的准确性。
[0298] 相应于上面的方法实施例,本发明实施例还提供了一种图文互检的模型训练装置,下文描述的一种图文互检的模型训练装置与上文描述的一种图文互检的模型训练方法可相互对应参照。
[0299] 请参考图18,图18为本发明实施例所提供的一种图文互检的模型训练装置的结构框图。该装置可以包括:
[0300] 数据获取模块210,用于获取训练数据;其中,训练数据包括预设训练数量对的程序性文本数据和步骤图数据;
[0301] 文本编码模块220,用于获取各程序性文本数据的文本编码;其中,文本编码为利用程序性文本数据对应的特征树生成的编码,特征树包括链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征,步骤文本特征为程序性文本数据中步骤文本的特征,成分特征程序性文本数据中成分文本的特征,链状连接关系树为按步骤文本的顺序对各步骤文本进行融合得到的重组序列对应的树;
[0302] 图像编码模块230,用于获取各步骤图数据的图像编码;
[0303] 模型训练模块240,用于根据文本编码和图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,以利用检索匹配模型进行待检索程序性文本数据或待检索步骤图数据的匹配。
[0304] 在一些实施例中,预设损失函数包括三元损失函数或三元损失函数和树形结构损失函数,三元损失函数为 ,为当前批次中N个图像编码中的任一图像编码, 为当前批次中与 配对的文本编码, 为当前批次中与 不配对的文本编码, 为预设超参数, 为当前批次中N个文本编码中的任一文本编码, 为当前批次中与 配对的图像编码, 为当前批次中与不配对的图像编码;树形结构损失函数包括局部结构比对损失、全局结构比对损失和/或节点度数损失。
[0305] 在一些实施例中,预设损失函数包括三元损失函数和树形结构损失函数时,模型训练模块240可以包括:
[0306] 目标树获取子模块,用于获取程序性文本数据对应的预设目标树;
[0307] 训练子模块,用于根据文本编码、图像编码、特征树和预设目标树,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型。
[0308] 在一些实施例中,训练子模块可以包括:
[0309] 结构损失单元,用于树形结构损失函数的输出过程;
[0310] 其中,树形结构损失函数包括局部结构比对损失、全局结构比对损失和节点度数损失时,结构损失单元可以包括:
[0311] 第一邻接矩阵子单元,用于根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建每个节点各自对应的第一邻接矩阵;其中,当前特征树为当前程序性文本数据的特征树,当前程序性文本数据为任一训练用的程序性文本数据,当前预设目标树为当前程序性文本数据对应的预设目标树;
[0312] 向量矩阵子单元,用于根据第一邻接矩阵,生成当前特征树对应的第一嵌入向量矩阵和当前预设目标树对应的第二嵌入向量矩阵;
[0313] 相似度矩阵子单元,用于计算第一嵌入向量矩阵和第二嵌入向量矩阵的相似度,得到局部结构相似度矩阵;
[0314] 局部结构子单元,用于根据局部结构相似度矩阵,获取当前程序性文本数据对应的局部结构比对损失;
[0315] 第二邻接矩阵子单元,用于根据当前特征树和当前预设目标树中的每个节点的节点属性和邻居节点,构建当前特征树和当前预设目标树各自对应的第二邻接矩阵;
[0316] 向量子单元,用于根据第二邻接矩阵,生成当前特征树对应的第一嵌入向量和当前预设目标树对应的第二嵌入向量;
[0317] 全局相似度子单元,用于计算第一嵌入向量和第二嵌入向量的相似度,得到全局结构相似度;
[0318] 全局结果子单元,用于根据全局结构相似度,获取当前程序性文本数据对应的全局结构比对损失;
[0319] 度数计算子单元,用于计算当前特征树和当前预设目标树中的每个节点的度数;
[0320] 差异计算子单元,用于计算当前特征树和当前预设目标树中全部节点的度数差异,得到度数差异矩阵;
[0321] 度数损失子单元,用于根据度数差异矩阵,获取当前程序性文本数据对应的节点度数损失;
[0322] 树形结构子单元,用于将当前程序性文本数据对应的局部结构比对损失、全局结构比对损失和节点度数损失相加,得到当前程序性文本数据对应的树形结构损失函数。
[0323] 在一些实施例中,向量矩阵子单元可以具体用于计算各第一邻接矩阵各自对应的拉普拉斯矩阵;计算各拉普拉斯矩阵的特征向量;根据各拉普拉斯矩阵的特征向量,获取各第一邻接矩阵各自对应的向量表示;其中,当前第一邻接矩阵对应的向量表示包括当前第一邻接矩阵对应的拉普拉斯矩阵的特征向量中按特征值由小到大排序的前预设数量个特征向量;根据各第一邻接矩阵各自对应的向量表示,生成第一嵌入向量矩阵和第二嵌入向量矩阵。
[0324] 在一些实施例中,局部结构子单元可以具体用于通过 ,计算得到局部结构比对损失;L1为局部结构比对损失,H为局部结构相似度矩阵。
[0325] 在一些实施例中,预设损失函数包括三元损失函数时,模型训练模块240可以包括:
[0326] 初始化子模块,用于对预设匹配模型中全部网络层的权值进行初始化,获取初始化完成的预设匹配模型;
[0327] 匹配子模块,用于将当前批次的训练数据分别输入到预设匹配模型,获取预设匹配模型输出的训练匹配结果;其中,训练数据包括当前批次的N对程序性文本数据和步骤图数据;
[0328] 判断子模块,用于判断是否达到预设迭代次数或训练匹配结果与预设匹配结果之间的误差小于收敛阈值;
[0329] 模型确定子模块,用于若达到预设迭代次数或训练匹配结果与预设匹配结果之间的误差小于收敛阈值,则将预设匹配模型作为训练完成的检索匹配模型;
[0330] 损失获取子模块,用于若未达到预设迭代次数且训练匹配结果与预设匹配结果之间的误差不小于收敛阈值,则利用预设损失函数,获取训练匹配结果对应的损失值;
[0331] 误差获取子模块,用于根据损失值,获取预设匹配模型中各网络层的反向传播误差;
[0332] 更新子模块,用于根据反向传播误差,更新预设匹配模型中各网络层的权值,获取更新后的预设匹配模型;
[0333] 继续训练子模块,用于选取下一批次的训练数据,并将下一批次的训练数据作为当前批次的训练数据,执行将当前批次的训练数据分别输入到预设匹配模型,获取预设匹配模型输出的训练匹配结果的步骤。
[0334] 在一些实施例中,图像编码模块230可以包括:
[0335] 步骤图提取子模块,用于提取当前步骤图数据中各步骤图的步骤图特征;其中,当前步骤图数据为任一步骤图数据;
[0336] 异质图生成子模块,用于根据各步骤图对应的类别标签和步骤图特征,生成当前步骤图数据对应的异质图;其中,异质图包括类别标签对应的成分节点、步骤图特征对应的步骤图节点和各步骤图节点与各自对应的成分节点之间的连接边;
[0337] 图像编码生成子模块,用于根据异质图,生成当前步骤图数据对应的图像编码。
[0338] 在一些实施例中,步骤图提取子模块可以具体用于将当前步骤图输入到预设残差网络,获取预设残差网络的池化层输出的特征向量,并将特征向量确定为当前步骤图对应的步骤图特征;其中,当前步骤图为任一步骤图。
[0339] 本实施例中,本发明实施例通过模型训练模块240根据文本编码和图像编码,利用预设损失函数对预设匹配模型进行训练,获取训练完成的检索匹配模型,可以利用程序性文本数据编码得到文本编码和步骤图数据编码得到的图像编码,使用预设损失函数训练预设匹配模型,实现了检索匹配模型的训练,提高了检索匹配模型的检索准确性。
[0340] 相应于上面的方法实施例,本发明实施例还提供了一种文本编码装置,下文描述的一种图文互检的模型匹配装置与上文描述的一种图文互检的模型匹配方法可相互对应参照。
[0341] 请参考图19,图19为本发明实施例所提供的一种图文互检的模型匹配装置的结构框图。该装置可以包括:
[0342] 检索获取模块310,用于获取待检索数据;其中,待检索数据为待检索程序性文本数据或待检索步骤图数据;
[0343] 模型匹配模块320,用于利用检索匹配模型,提取待检索数据的数据编码,并将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据;其中,样本数据集为样本步骤图数据集或样本程序性文本数据集;若待检索数据为待检索程序性文本数据,则数据编码为利用待检索程序性文本数据对应的特征树生成的文本编码,特征树包括链状连接关系树、挂载在链状连接关系树上的步骤文本特征和挂载在步骤文本特征上的成分特征,步骤文本特征为待检索程序性文本数据中步骤文本的特征,成分特征待检索程序性文本数据中成分文本的特征,链状连接关系树为按步骤文本的顺序对各步骤文本进行融合得到的重组序列对应的树。
[0344] 在一些实施例中,模型匹配模块320可以包括:
[0345] 欧氏距离计算子模块,用于分别计算数据编码与各样本数据的样本编码的欧氏距离;
[0346] 距离匹配子模块,用于将最小的欧氏距离对应的样本数据作为匹配样本数据。
[0347] 本实施例中,本发明实施例通过模型匹配模块320利用检索匹配模型,提取待检索数据的数据编码,并将数据编码与样本数据集中各样本数据的样本编码进行距离匹配,获取待检索数据对应的匹配样本数据,可以利用程序性文本数据编码得到文本编码和步骤图数据编码得到的图像编码,保证检索匹配模型的匹配准确性,提高了图文互检的准确性。
[0348] 相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种文本编码方法、图文互检的模型训练方法和图文互检的模型匹配方法可相互对应参照。
[0349] 请参考图20,图20为本发明实施例所提供的一种电子设备的结构示意图。该电子设备可以包括:
[0350] 存储器D1,用于存储计算机程序;
[0351] 处理器D2,用于执行计算机程序时实现上述方法实施例所提供的文本编码方法、图文互检的模型训练方法和/或图文互检的模型匹配方法的步骤。
[0352] 具体的,请参考图21,图21为本发明实施例所提供的一种电子设备的具体结构示意图,该电子设备410可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上单元(图示没标出),每个单元可以包括对主机中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在电子设备
410上执行存储介质430中的一系列指令操作。
[0353] 电子设备410还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
[0354] 上文所描述的文本编码方法、图文互检的模型训练方法和/或图文互检的模型匹配方法中的步骤可以由电子设备的结构实现。
[0355] 相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种文本编码方法、图文互检的模型训练方法和图文互检的模型匹配方法可相互对应参照。
[0356] 请参考图22,图22为本发明实施例所提供的一种计算机可读存储介质的结构示意图。该计算机可读存储介质50上存储有计算机程序51,计算机程序51被处理器执行时实现如上述方法实施例所提供的文本编码方法、图文互检的模型训练方法和/或图文互检的模型匹配方法的步骤。
[0357] 该计算机可读存储介质50具体可以为U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的存储介质。
[0358] 说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、电子设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0359] 以上对本发明所提供的一种文本编码方法及装置、图文互检的模型训练方法及装置、图文互检的模型匹配方法及装置、电子设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。