一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向工程领域设计计算公式的检索方法与装置与流程

2022-04-02 07:25:52 来源:中国专利 TAG:


1.本发明涉及信息检索、自然语言处理领域,具体而言,涉及一种针对工程领域设计计算公式的检索方法与其装置。


背景技术:

2.因此,对计算公式进行检索成为了提升整个设计计算流程效率的关键。
3.目前计算公式的检索方法,如专利cn109918473a、cn106372073a、cn110414319a都针对公式的结构进行表达和检索,忽略了公式的语义信息。而设计计算公式相对于一般科技文档中的数学公式,更容易存在两个公式结构相似但物理意义迥异的情况。如电梯设计中电动机的转动惯量计算公式jq=gd2/4与最大惯性转矩计算公式mg=jε/η,这两个公式结构相似但物理意义显著不同。因此,公式的表达不仅需要考虑公式本身的逻辑结构,还需要融合与公式关联的变量名即公式说明等文字的语义信息。
4.论文doi:10.19678/j.issn.1000-3428.0048934提出了运用本体建立数学表达式及其概念之间的联系以实现使用短语查询公式,该方法虽然考虑了公式的语义,但对于特定领域的计算公式需要建立特定的本体,使得该方法缺乏灵活性。
5.对此,本技术提出了一种融合计算公式物理意义的公式检索方法,从语义层面丰富工程领域设计计算公式嵌入向量的特征,从而提升对设计计算公式检索的准确率。


技术实现要素:

6.针对以上问题,本技术提供一种面向工程领域设计计算公式的检索方法与装置,能够考虑设计计算公式的物理意义,从而丰富其嵌入表示向量的语义特征,提高检索准确率。
7.本技术实施例的第一方面提供了一种面向工程领域设计计算公式的检索方法,其具体步骤包括:
8.步骤1:识别文档中的设计计算公式,将其转化为操作树,对该操作树进行嵌入表达。
9.步骤2:获取计算公式的关联文本并对其进行嵌入表达。
10.步骤3:融合计算公式的操作树嵌入和其关联文本的嵌入,得到包含文本语义的公式向量。
11.步骤4:检索时使用向量相似性度量方法衡量不同公式之间的相似程度,返回相似度最高的结果。
12.所述步骤1具体包括:
13.步骤1.1:对于文档中印刷体公式,使用公式识别工具将其转换为中间表达式f。
14.步骤1.2:使用上下文无关文法描述中间表达式中操作对象和操作符的语法模式以构建词汇表,定义操作符的计算优先级顺序,并对f进行分词,得到由操作对象和操作符组成的序列,最后根据操作符的计算优先级,结合堆栈这一数据结构,将序列转换为公式操
作树t。
15.步骤1.3:对操作树t的节点信息进行one-hot编码,结构信息进行哈夫曼编码,两者拼接之后得到计算公式操作树的嵌入矩阵m
opt

16.所述步骤2具体包括:
17.步骤2.1:对于文档中的印刷体公式,根据相对位置关系定位描述其输出参数的语句,去停用词处理之后作为公式的关联文本d。
18.步骤2.2:以书籍和标准中的计算公式为数据来源,构建专业领域的语句相似度标注数据集,使用文本嵌入的预训练模型对关联文本d进行嵌入表达,获取关联文本的向量ed。
19.所述步骤3具体包括:
20.步骤3.1:以书籍和标准中的计算公式及其描述语句为数据来源,建立包含文本描述的公式相似度标注数据集;将公式及其关联文本进行组合,作为一个样本,标注不同样本对之间是否相似。
21.步骤3.2:构建神经网络模型,使用步骤3.1所述的标注数据集对其进行训练和验证。
22.步骤3.3:以计算公式操作树的嵌入矩阵m
opt
及公式关联文本的嵌入向量ed为输入,由步骤3.2中的神经网络模型输出包含文本语义的公式向量ef。
23.所述步骤4具体包括:
24.步骤4.1:使用向量相似性度量方法衡量公式向量ef与数据集中公式向量的相似程度,返回相似程度结果。
25.步骤4.2:对相似程度进行排名,相似度越高排名越靠前,返回排名首位的公式,作为检索结果。
26.优选地,步骤1所述的设计计算公式,为工程领域设计标准、设计计算手册和设计说明书中描述参数计算过程的公式。
27.优选地,步骤1.1所述的公式识别工具包括mathpix、inftyreader工具。
28.进一步,使用公式识别工具mathpix提供的接口完成公式识别任务。
29.优选地,步骤1.1所述的中间表达式,其形式包括latex表达式,mathml表达式。使用latex表达式作为中间表达式的形式。
30.优选地,步骤1.2所述的上下文无关文法,包括:bnf文法、正则表达式,使用bnf文法描述操作符号和操作对象的语法模式。
31.优选地,步骤2.1所述的相对位置关系,包括相关文本在公式上方最近一行、相关在公式文本下方最近一行两种情况。
32.优选地,步骤2.2所述的文本嵌入的预训练模型,包括文本嵌入模型bert以及句子嵌入模型sbert。针对短文本形式的相关文本使用sbert输出其嵌入向量。
33.优选地,步骤3.2所述的神经网络模型,其结构包括长短期记忆网络lstm、循环神经网络rnn和门控循环单元gru。使用gru作为神经网络的基本结构组成。
34.本技术实施例的第二方面提供了一种面向工程领域设计计算公式的检索装置。该装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
35.本技术实施例提供的面向工程领域设计计算公式的检索方法与装置,具有以下有益效果:从语义层面丰富了工程领域设计计算公式嵌入向量的特征,提升了对设计计算公式进行检索的准确率。
附图说明
36.通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
37.图1为本技术所提出的一种面向工程领域设计计算公式的检索方法与装置总流程图。
38.图2为对印刷体公式进行嵌入表达的流程图。
39.图3为由公式的latex表达式生成公式操作树的流程图。
40.图4为对计算公式进行嵌入表达的流程图。
41.图5为获取计算公式的关联文本并对其进行嵌入表达的流程图。
42.图6为构建数据集并对sbert进行调优的流程图。
43.图7为融合计算公式操作树嵌入和其关联文本嵌入的流程图。
44.图8为用于实现融合的神经网络结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。
46.本实施例以电梯设计领域的书籍《电梯设计计算与实例》中的设计计算公式建立模型训练集和测试集。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。本技术实施例的具体步骤包括:
47.第1步:解析计算公式并将其转化为操作树,对该操作树进行嵌入表达,包括:
48.1.1)对于文档中印刷体公式,将其转换为中间表达式f。可选的中间表达式包括但不限于latex。
49.所述latex表达式基于latex排版系统,由语法标识符、参数符号组成,如表达式“x=\frac{a}{b}”,表示“x=a/b”。latex表达式定义了符号之间的位置关系,易于解析;
50.所述印刷体公式识别可以选用但不限于mathpix。mathpix可以实现将图片和文档中的公式转换为latex表达式。
51.1.2)根据f生成计算公式操作树t;
52.1.3)对操作树t进行嵌入表达;
53.步骤1.2具体包括:
54.1.2.1)建立latex表达式词汇表,该表定义了latex表达式中符号和变量的一般语法模式;
55.1.2.2)根据词汇表对latex表达式进行分词,得到由符号和变量组成的中缀表达式序列in;
56.所述中缀表达式为一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间,如“1 2”。
57.1.2.3)定义不同操作符号之间的优先级,将in转换为后缀表达式序列rpn;
58.所述后缀表达式亦被称为逆波兰表达式,在该表示方法中,所有操作符置于操作数的后面,如后缀表达式“24/”等同于中缀表达式“2/4”。
59.1.2.4)由rpn生成计算公式操作树t;
60.步骤1.3具体包括:
61.1.3.1)前序遍历操作树t,对遍历得到的序列进行one-hot编码,获取操作树节点信息的嵌入矩阵m
nodes

62.1.3.2)深度优先遍历操作树,对遍历得到的序列进行哈夫曼编码,获取操作树节点位置关系的嵌入矩阵m
positions

63.1.3.3)将m
nodes
与m
positions
进行连接,得到公式操作树的嵌入矩阵m
opt
,m
opt
中的每一维向量ei都对应了t中的一个节点;
64.第2步:获取计算公式的关联文本并对其进行嵌入表达,包括:
65.2.1)对于文档中的印刷体公式,定位描述其输出参数的语句,去停用词处理之后作为公式的关联文本d;
66.2.2)构建专业领域的语句相似度标注数据集对预训练模型sbert进行调优,使用优化的模型对关联文本d进行嵌入表达,获取关联文本的向量ed;
67.所述sbert模型是基于自然语言嵌入表示模型bert的句子嵌入预训练模型,该模型使用孪生网络、三级网络结构来获得包含语义的句子向量。
68.其中2.2)具体包括以下步骤:
69.2.2.1)从专业领域的设计计算标准和书籍中,抽取参数的描述语句;
70.2.2.2)若两个参数的物理意义相同,则标记其描述语句为相似;反之,则标记为不相似;以此构建专业领域的语句相似度数据集;
71.2.2.3)在调优时,使用sbert模型预测数据集中所有语句对的相似度,将预测值与真实值进行比较,反向传播误差,以实现对模型参数的优化;
72.第3步:融合计算公式的操作树嵌入和其关联文本的嵌入,得到包含文本语义的公式向量,包括:
73.3.1)建立包含文本描述的公式相似度标注数据集;
74.3.2)构建神经网络模型,使用步骤3.1所述的标注数据集对其进行训练和验证;
75.3.3)以计算公式操作树的嵌入矩阵m
opt
及公式关联文本的嵌入向量ed为输入,由步骤3.2中的神经网络模型输出包含文本语义的公式向量ef;
76.其中,3.1)具体包括以下步骤:
77.3.1.1)从专业领域的书籍和标准中,抽取计算公式xi及其对应的关联文本yi,组成包含描述的公式样本(xi,yi);
78.3.1.2)根据步骤3.1.1所获得样本(xi,yi)进行训练样本的扩充;具体方法为:根据交换律、结合律等运算规则,改变公式xi的结构但不改变其含义,重复n1次以获取公式的正样本集合替换公式xi中的运算符号,使其含义变化,重复n2次以获取公式的负样本集合对于描述语句yi,对其添加停用词,替换近义词,重复n3次以获取关联文本的正样本集合随机选择n4个其他公式的描述语句,加入关联文本的负样本集合
η

) (n

/60)
×
(z4/z5)
×
π。对应的latex表达式为:“i_总=i
×
\frac{z_2}{z_1}”、“v_梯=d_1/60
×
n_主”、“v_扶=d_2(1-\eta_{轮})
×
(n_主/60)
×
(z_4/z_5)
×
π”。
98.步骤s22:由公式的latex表达式f生成公式的操作树t。
99.步骤s23:对操作树t进行嵌入表达。
100.图3展示了由公式的latex表达式生成公式操作树的流程,具体为:
101.步骤s31:建立latex表达式词汇表,该表定义了latex表达式中符号和变3量的一般语法模式。本实施例所建立的latex表达式词汇表包括操作符号表、标识符号表、操作对象表,如表1,2,3所示:
102.表1:操作符号表
[0103][0104]
表2:标识符号表
[0105][0106]
表3:操作对象表
[0107][0108][0109]
操作符号为通用的计算符,其在latex表达式和印刷体公式中的形式和含义相同;标识符号为latex语法中的特有符号,通过描述公式中两个对象之间的位置关系表达特定的含义。标识符号形式多变,且不符合中缀表达式的书写习惯,本实施例根据标识符号的含义将其转换为操作符号,典型示例为:将“\frac{x}{y}”转换为“x/y”;操作对象为操作符号和标识符号作用的对象,在本实施例中,一个操作符号将作用于两个操作对象。
[0110]
步骤s32:根据词汇表对latex表达式进行分词,得到由符号和变量组成的中缀表达式序列in。
[0111]
在本实施例中,典型的中缀表达式序列示例为:[i_总,i,
×
,z_2,/,z_1],[v_梯,d_1,/,60,
×
,n_主],[v_扶,=,d_2,(,1,-,\eta_{轮},),
×
,(,n_主,/,60,),
×
,(,z_4,/,z_5,),
×
,π]。关联文本的典型实例为:“主传动总传动比的计算”;“计算梯级运行速率”;“满载上升时驱动两条扶手带所需的功率”。
[0112]
步骤s33:根据表1操作符号表所示不同操作符号之间的优先级,将in转换为后缀表达式序列rpn。
[0113]
本实施例在将in转化为rpn时,引入了“栈”的概念,具体方法为:定义一个符号栈s
t
和后缀表达式序列栈sr,依次遍历中缀表达式中的元素,根据词汇表判断该元素的类型,并执行不同操作。具体为:
[0114]
1)若该元素为操作对象,则将其压入sr;
[0115]
2)若该元素为左括号“(”,则将其压入s
t

[0116]
3)若该元素为右括号“)”,则将s
t
栈顶的元素依次弹出并压入至sr,直到栈顶的元素为左括号“)”时,将“)”弹出;
[0117]
4)若该元素为操作符,此时若s
t
不为空且s
t
栈顶元素的优先级大于等于当前元素的优先级,先将s
t
栈顶元素弹出并压入sr,再将当前元素压入sr;否则,直接将当前元素压入sr;
[0118]
遍历了中缀表达式中所有元素之后,将sr中的元素由栈底依次弹出,组成最终的后缀表达式序列rpn。
[0119]
步骤s34:由后缀表达式序列rpn生成计算公式操作树t。
[0120]
本实施例中,操作树为二叉树。
[0121]
本实施例中,实现生成操作树的依据为每一个操作符号都对应着两个操作对象。
据此,后续遍历rpn为每个操作符号分配左右节点,最终得到计算公式操作树t。
[0122]
图4描述了对计算公式操作树进行嵌入表达的流程:
[0123]
步骤s41:前序遍历操作树t,对遍历得到的序列进行one-hot编码,获取操作树节点信息的嵌入矩阵m
nodes

[0124]
步骤s42:深度优先遍历操作树,对遍历得到的序列进行哈夫曼编码,获取操作树节点位置关系的嵌入矩阵m
positions

[0125]
步骤s43:将m
nodes
与m
positions
进行连接,得到公式操作树的嵌入矩阵m
opt
,m
opt
中的每一维向量ei都对应了t中的一个节点。
[0126]
本实施例中,m
nodes
与m
positions
的连接方式为首尾相接,若m
nodes
的长度为n,m
positions
的长度为m,则所得ei前n位为节点信息编码,后m位为节点在t中的位置编码。
[0127]
图5展示了获取计算公式的关联文本并对其进行嵌入表达的流程,具体步骤为:
[0128]
步骤s51:定位描述印刷体公式输出参数的语句,去停用词处理之后作为公式的关联文本d。
[0129]
本实施例中,将公式上方位置最近的一行语句作为其输出参数的描述语句。
[0130]
本实施例中,关联文本的典型示例为:“主传动总传动比”、“扶手带驱动处的圆周力”、“主轴的转动速率”。
[0131]
步骤s52:构建专业领域的语句相似度标注数据集对预训练模型sbert进行调优
[0132]
步骤s53:使用优化的模型对关联文本d进行嵌入表达,获取关联文本的向量ed;
[0133]
步骤s52中构建数据集并对sbert进行调优的流程如图6所示,其具体步骤为:
[0134]
步骤s61:从专业领域的设计计算标准和书籍中,抽取参数的描述语句。
[0135]
步骤s62:人为判断两个参数的物理意义是否相同,是则标记其描述语句为相似,否则标记为不相似;以此构建专业领域的语句相似度标注数据集。
[0136]
本实施例在构建数据集时对样本进行了扩充,具体方法为:对于一个参数的描述语句,向其中加入停用词或替换近义词以获取与其相似的正样本。经扩充后,数据集包含了6442个人工标注是否相似的语句对。
[0137]
步骤s63:在调优时,使用sbert模型预测数据集中所有语句对的相似度,将预测值与真实值进行比较,反向传播误差,以实现对模型参数的优化。
[0138]
图7展示了融合计算公式操作树嵌入和其关联文本嵌入的流程,具体步骤包括:
[0139]
步骤s71:建立包含文本描述的公式相似度标注数据集。
[0140]
本技术步骤s71的具体实施方法为:
[0141]
1)从专业领域的书籍和标准中,抽取计算公式xi及其对应的关联文本yi,组成包含描述的公式样本(xi,yi);
[0142]
2)根据步骤1)所获得样本(xi,yi)进行训练样本的扩充;具体方法为:根据交换律、结合律等运算规则,改变公式xi的结构但不改变其含义,重复n1次以获取公式的正样本集合替换公式xi中的运算符号,使其含义变化,重复n2次以获取公式的负样本集合对于描述语句yi,对其添加停用词,替换近义词,重复n3次以获取关联文本的正样本集合随机选择n4个其他公式的描述语句,加入关联文本的负样本集合
[0143]
3)匹配步骤2)所得公式及关联文本;具体方式为,将集合与集合
中的元素进行排列组合,保留形式为的样本对,令
[0144]
4)同时考虑关联文本和计算过程的相似程度,以对公式之间相似度进行标注;具体方法为,将同属于(xi,yi)

的两个样本标记为相似;将分别属于(xi,yi)

和(xi,yi)-的两个样本标记为不相似。排列组合出所有的可能情况;
[0145]
步骤s72:构建图8所示的双向gru模型,其输入(m为矩阵m
opt
的宽度,xi=m
opt
[i,m]表示取m
opt
第i列向量,表示将向量首尾相接)。输出为融合文本语义的公式向量ef。训练时采用孪生网络结构、随机梯度下降策略和余弦嵌入损失函数。
[0146]
本实施例中,模型训练的具体方法为:基于步骤s71所构建的标注数据集,由模型输出样本对的向量s1,s2,使用如下的公式计算训练损失:
[0147][0148]
式中,y为样本对的标签,1表示两者相似,-1表示两者不相似,cos(s1,s2)为s1,s2的余弦相似度。每一个训练周期结束时,将训练的损失反向传播以优化模型。
[0149]
步骤s73:以计算公式操作树的嵌入矩阵m
opt
及公式关联文本的嵌入向量ed为输入,由步骤s72中的神经网络模型输出包含文本语义的公式向量ef。
[0150]
为了验证本方法在实际检索过程中的效果,本实施例以《电梯设计计算与实例》中的设计计算公式为基础,得到了540条包含关联文本的计算公式。这些公式组成了4919个相似度比较对,将其中的4309对作为训练集,610对作为测试集。最终的实验结果,未融合语义信息的模型在公式相似度匹配任务中准确率为78.70%,而本技术所提出的融合语义信息的公式嵌入模型在公式相似度匹配任务中准确率达到了85.24%。
[0151]
一种面向工程领域的设计计算公式检索装置包括的功能部件有一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。需要说明的是,上述装置或单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献