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

表达式查询方法、装置、电子设备及存储介质与流程

2022-12-20 01:52:26 来源:中国专利 TAG:


1.本发明的实施方式涉及计算机识别技术领域,更具体地,本发明的实施方式涉及表达式查询方法、装置、电子设备及存储介质。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本技术的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
3.在计算机识别的对象中,除了图像和一维结构的文本之外,具有复杂空间关系的表达式也是常见的识别对象,例如,在一些数学表达式中,存在着上下、左右、右上、右下、包围等二维结构。尤其是在教材、论文和期刊中,数学表达式十分常见,无论是在教育行业还是科研行业中,表达式的识别与查询均应用广泛,而如何实现对数学表达式进行精确的识别和查询,也成为了重要课题。
4.在现有技术中,查询时所使用的录入文本通常来源于光学字符识别(ocr,optical character recognition)识别图片,其不可避免地包含一些识别错误的字符,在这一场景下直接使用elasticsearch查询,对表达式缺少识别与特殊处理,也不能对录入的字符错误做纠正或兼容,导致查询结果的质量较差。
5.并且,图片搜索需要构建全面、广泛的图片库,其成本较高;且图片搜索的搜索场景较为局限;此外,在查询数学题目的场景下,不能充分利用表达式的语义信息,使得查询结果的精度不高。


技术实现要素:

6.由于图片搜索所使用的数据格式的限制,图片搜索不仅成本较高、搜索场景较为局限,还无法充分利用表达式的语义信息,这是非常令人烦恼的过程。
7.为此,非常需要一种改进的表达式查询方法、装置、电子设备及存储介质,以提高查询结果的质量的同时,降低查询的成本。
8.在本上下文中,本发明的实施方式期望提供一种表达式查询方法、装置、电子设备及存储介质。
9.在本发明实施方式的第一方面中,提供了一种表达式查询方法,包括:对原始表达式进行结构解析,以得到所述原始表达式的多个原始子项;对多个预选表达式分别进行结构解析,以得到每一预选表达式的多个预选子项;其中,预选表达式为原始表达式的初步查询结果;将每一预选子项与同一位置的原始子项进行比对,以确定每一预选表达式的差异子项;根据所述差异子项的结构信息,对相应的预选表达式赋予相似度损失值;选取相似度损失值最小的预选表达式作为最终查询结果。
10.在本发明的一个实施例中,所述结构信息包括:结构深度和/或字符特征。
11.在本发明的一个实施例中,若所述结构信息包括结构深度,则所述结构深度与所述差异子项的运算优先级正相关。
12.在本发明的一个实施例中,所述相似度损失值与所述结构深度负相关。
13.在本发明的一个实施例中,若所述结构信息包括字符特征,则所述相似度损失值与所述字符特征的相似度负相关;其中,所述字符特征的相似度为所述差异子项的字符特征与同一位置的原始子项的字符特征之间的相似度。
14.在本发明的一个实施例中,若所述结构信息同时包括结构深度和字符特征,则所述根据所述差异子项的结构信息,对相应的预选表达式赋予相似度损失值,包括:根据所述差异子项的结构深度及其损失权重,以及所述差异子项的字符特征的相似度与其损失权重计算所述差异子项对应的预选表达式的相似度损失值。
15.在本发明的一个实施例中,所述结构解析的步骤包括:对表达式进行分词以得到多个子项;根据所述多个子项的运算优先级构造所述多个子项之间的结构关系,以得到所述多个子项的结构信息。
16.在本发明的一个实施例中,构造结构关系的步骤包括:利用自上而下分析法或自下而上分析法,基于所述多个子项重构所述表达式,以生成所述多个子项之间的结构关系。
17.在本发明的一个实施例中,所述分词的步骤包括:利用序列解码模型处理所述表达式,得到所述表达式的序列表达形态;根据所述表达式的序列表达形态确定所述表达式的多个子项。
18.在本发明的一个实施例中,构造结构关系的步骤包括:基于所述表达式的序列表达形态生成所述表达式的树结构表达形态;其中,所述多个子项位于树结构中的不同节点;所述树结构中不同节点的位置关系构成所述多个子项之间的结构关系。
19.在本发明的一个实施例中,所述将每一预选子项与同一位置的原始子项进行比对,以确定每一预选表达式的差异子项,其中,一个预选表达式的差异子项的确定步骤,包括:将所述预选表达式和所述原始表达式中位于同一节点的子项进行比对,若子项不一致,则将所述节点中的子项确定为所述差异子项。
20.在本发明的一个实施例中,所述差异子项的结构深度为所述差异子项所在节点在所述树结构中的深度。
21.在本发明实施方式的第二方面中,提供了一种表达式查询装置,包括:结构解析单元,用于对原始表达式进行结构解析,以得到所述原始表达式的多个原始子项;以及对多个预选表达式分别进行结构解析,以得到每一预选表达式的多个预选子项;其中,预选表达式为原始表达式的初步查询结果;差异比对单元,用于将每一预选子项与同一位置的原始子项进行比对,以确定每一预选表达式的差异子项;其中,所述差异子项为与同一位置的原始子项存在差异的预选子项;损失值计算单元,用于根据所述差异子项的结构信息,对相应的预选表达式赋予相似度损失值;结果输出单元,用于选取相似度损失值最小的预选表达式作为最终查询结果。
22.在本发明实施方式的第三方面中,提供了一种电子设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面中任一实施例所述的方法。
23.在本发明实施方式的第四方面中,提供了一种非暂时性机器可读存储介质,包括:
处理器;以及存储器,其上存储有可执行代码,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面中任一实施例所述的方法。
24.根据本发明实施例的表达式查询方法,将原始表达式和多个预选表达式分别进行结构解析,从而拆解出每一表达式的子项,以更小粒度对表达式之间的相似程度进行比对。通过同位置子项的比对来确定每一预选表达式中与原始表达式不同的差异子项,而该差异子项在表达式中的位置能够体现差异子项在表达式中所代表的语义信息,例如,位于表达式上方的子项可能成立为表达式的分子或指数。因此,差异子项的结构信息能够在计算相似度损失值时,将表达式的语义信息纳入考虑,通过赋予不同的相似度损失值,来表示不同语义的子项对表达式相似度的不同程度的影响。通过上述更精细的比对粒度以及更具针对性的损失值赋值,提升了表达式查询中相似度计算的准确度,从而提高查询结果的质量。并且本发明实施方式的表达式查询方法不仅能够适用于识别图片,也可以针对录入的表达式进行检索,无需构建图片库,相较于图片搜索的成本更低,适用场景更广。
25.本发明的一些实施方式的表达式查询方法,依据差异子项的结构深度的不同,对预选表达式赋予不同的相似度损失值,例如,对于结构深度较浅的差异子项,其预选表达式的相似度损失值较高,能够令主干结构与原始表达式更接近的预选表达式的相似度得分更高,进而找到语义信息更贴合原始表达式的查询结果。
26.本发明的一些实施方式的表达式查询方法,还利用了字符特征与结构深度相结合的相似度损失值计算方法,通过给更深层的差异子项赋予更轻的损失代价,给字符特征相似度更高的差异子项赋予更轻的损失代价,从而将ocr识别导致的细节偏差/子结构偏差与表达式自身的差异区分开来,进而对录入的字符错误做纠正或兼容,以此提高了表达式查询的精度。
附图说明
27.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
28.图1示意性地示出了适于实现本发明实施方式的示例性计算系统的框图;
29.图2示意性地示出了根据本发明实施例的表达式查询方法的流程示意图;
30.图3示意性地示出了根据本发明一个实施例的原始表达式的解析结果;
31.图4示意性地示出了根据本发明一个实施例的第一预选表达式的解析结果;
32.图5示意性地示出了根据本发明一个实施例的第二预选表达式的解析结果;
33.图6示意性地示出了根据本发明一个实施例的表达式结构解析方法的流程示意图;
34.图7示意性地示出了根据本发明一个实施例的表达式的树结构表达形态的示意图;
35.图8示意性地示出了根据本发明实施例的表达式查询装置的结构示意图;
36.图9示意性地示出了根据本发明实施例的电子设备的结构示意图;
37.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
38.下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
39.图1示出了适于实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算系统100可以包括:中央处理单元(cpu)101、随机存取存储器(ram)102、只读存储器(rom)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。这些设备中,与系统总线104耦合的有cpu 101、ram 102、rom 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
40.本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
41.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
42.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
43.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
44.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
45.下面将参照本发明实施例的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
46.也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
47.也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
48.根据本发明的实施方式,提出了一种表达式查询方法、装置、电子设备及存储介质。
49.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
50.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。发明概述
51.本发明人发现,除了通过前文所述的图片搜索方法来查询表达式以外,还可以使用一种公式树解析法,其将公式完全解析为树状结构,通过比较两棵树的相似程度来判定两个公式的相似程度。
52.但是,本发明人还发现,表达式由若干子项构成,而子项在表达式中所在的位置不同,所代表的语义也不同,例如,位于表达式上方的子项可能成立为表达式的分子或指数。另外,不同位置的子项对于表达式特征的贡献度不同,以原始表达式(p q)/(u v)为例,其中,分号这一子项体现出表达式的主要结构特征为分式,而p仅体现表达式中的某一参量取值。显而易见地,查询结果中主要结构特征为分式的预选表达式比含有参量p的预选表达式要更加贴合原始表达式。由此可见,分号这一子项对于判定原始表达式与预选表达式之间相似度的贡献值更大。
53.基于上述发现,本发明通过对原始表达式和预选表达式分别进行结构解析,以拆解出每一表达式的子项,从而对表达式进行更小粒度的比对。而通过同位置子项的相互比对,确定差异子项在表达式中的位置,通过差异子项所在位置在相似度损失计算时引入语义信息作为参考;并且,根据差异子项的结构信息能够知道差异子项对于表达式特征的贡献度,从而对不同位置的差异子项所对应的预选表达式赋予不同的相似度损失值,以此将子项对于表达式特征的贡献度也纳入考虑。通过上述更精细的比对粒度以及更具针对性的
损失值赋值,提升了表达式查询中相似度计算的准确度,从而提高查询结果的质量。
54.在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。应用场景总览
55.本发明实施方式的表达式查询方法适用于任一个表达式检索场景,例如,可以为在文档中通过表达式进行定位,或可以为在数据库中检索含有原始表达式的教材、论文和期刊,或者可以为在题库中检索原始表达式所对应的数学题目等。
56.上述表达式查询方法可以应用于具有检索功能的应用程序或多种电子设备,例如,可以应用于搜索引擎以查询得到含有原始表达式的网页链接以及文档等;也可以应用于学习机,通过上述表达式查询方法查询相应的题目;还可以应用于作业或试卷的智能批改,通过查询原始表达式获取相应的题目和答案,以对作业或试卷进行批改和/或纠正。示例性方法
57.下面结合图2的应用场景,参考图2来描述根据本发明示例性实施方式的表达式查询方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
58.本发明的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
59.如图2所示,本发明提供的表达式查询方法200可以包括:
60.在步骤201中,对原始表达式进行结构解析,以得到原始表达式的多个原始子项。其中,原始表达式为用户输入或录入的、作为查询依据的表达式。其格式可以为图片、通过光学字符识别ocr得到的字符或用户录入的字符。
61.可以理解的是,本发明提供的表达式查询方法对于原始表达式的格式没有严格的限定,多种格式的原始表达式均可以适用于本发明的表达式查询方法。
62.在步骤202中,对多个预选表达式分别进行结构解析,以得到每一预选表达式的多个预选子项。其中,预选表达式为原始表达式的初步查询结果。
63.在本发明的一个实施例中,根据原始表达式能够查询得到多个查询结果,即上述多个预选表达式,在上述多个查询结果中,根据相似度的高低可以选取其中相似度最高的查询结果作为最终查询结果输出。
64.需要说明的是,本发明中的表达式是可以由数字、算符、数字分组符号、自由变量和约束变量中的一种或多种以有意义排列方法所得的组合,其可以为算术表达式,也可以为逻辑表达式,也可以为字符串表达式。
65.可以理解的是,不论是包含有等式关系、不等式关系或逻辑关系的关系式,或是仅包含参量与算符的算式均属于本发明中表达式所涵盖的范围。
66.在本发明的一些实施例中,子项可以为表达式中的参量,即参与运算的数字、自由变量和约束变量中的一种或多种。在本发明的一些实施例中,子项也可以为表达式中的运算符号,包括但不限于算符。在本发明的一些实施例中,子项还可以为参量与运算符号的组合,例如多项式中的单项式。
67.需要说明的是,在本实施例中,步骤201和步骤202之间并没有严格的执行时序,即
步骤201也可以在步骤202之后执行,或两个步骤并行。
68.可以理解为,上述对于步骤201和步骤202之间的执行时序的说明不构成对本发明的唯一限定。
69.在步骤203中,将每一预选子项与同一位置的原始子项进行比对,以确定每一预选表达式的差异子项。
70.为了便于本领域技术人员进行理解,下面以原始表达式为分式的情况作为示例进行说明,上述步骤203中所述的将每一预选子项与同一位置的原始子项进行比对,是指将每一预选表达式的分子部分分别与原始表达式的分子部分进行比对,若某一预选表达式的分子部分与原始表达式的分子部分不一致,则判定该预选表达式的分子部分为差异子项。
71.差异子项的位置说明了其对应的预选表达式与原始表达式中存在差异的语义信息,并且该差异对于两个表达式之间特征相似度的影响程度的大小也可以通过该差异子项的位置体现,子项所在位置对表达式特征的贡献度的影响已经在上述发明概述中进行了介绍,此处不再展开赘述。
72.在步骤204中,根据差异子项的结构信息,对相应的预选表达式赋予相似度损失值。
73.需要说明的是,每一预选表达式中可能存在多个预选子项与同一位置的原始子项不一致,也即是说,对于每一预选表达式,可以存在多个差异子项。相应地,在步骤204中,对于存在多个差异子项的预选表达式,其相似度损失值可以为所述多个差异子项所对应的相似度损失值的累加值。
74.在一些实施例中,所述结构信息可以包括:结构深度和/或字符特征。
75.其中,结构深度与差异子项的运算优先级正相关,即差异子项的运算优先级越高,则其结构深度越深。可以理解的是,运算优先级越高的子项,其所表征的表达式特征越接近表达式的细节特征;而运算优先级越低的子项,其所表征的表达式特征越接近表达式的主要结构特征。
76.需要特别说明的是,上述运算优先级指的是子项在表达式中的运算次序,运算次序越靠前的子项,其运算优先级越高。
77.进一步地,在本发明的一些实施例中,若结构信息包括结构深度,所述相似度损失值与所述结构深度负相关,即差异子项的结构深度越深,其所对应的相似度损失值的赋值越小。
78.为了便于本领域技术人员理解,以原始表达式为(p q)/(u v)作为示例,假设存在第一预选表达式(p1 q)/(u v),以及第二预选表达式(p q)*(i v),通过前述步骤201至步骤203完成表达式的结构解析和子项之间的比对之后,可以得知第一预选表达式的差异子项的结构深度大于第二预选表达式的差异子项的结构深度。
79.其中,第一预选表达式与原始表达式的区别在于其中一个参量不一致,其不一致的原因可能为ocr识别引入的偏差,例如误将p识别为p1;而第二预选表达式与原始表达式的区别在于表达式的主要结构不一致:原始表达式为分式,体现了将(p q)与(u v)进行除法运算的语义信息,而第二预选表达式为一乘积式,体现了将(p q)与(u v)相乘的语义信息,其不一致的原因更可能在于两个表达式之间的排列意义不同,即两个表达式的运算目的是不一致的,属于表达式本身的差异。
80.因此,可知第一预选表达式比第二预选表达式更可能成立为查询目标,即第一预选表达式与原始表达式的相似度更高,因此,为第一预选表达式赋予更低的相似度损失值。
81.在本发明的一些实施例中,当所述结构信息包括字符特征时,所述相似度损失值与所述字符特征的相似度负相关;其中,所述字符特征的相似度为所述差异子项的字符特征与同一位置的原始子项的字符特征之间的相似度。
82.为了便于本领域技术人员理解,以原始表达式32 7为例,假设第一预选表达式为32 7,第二预选表达式为9 7,由于第一预选表达式的差异子项32与原始表达式中的子项32在字符特征上的相似度更高,因此,差异子项32可能为ocr识别时,数字2的位置识别偏差所导致的,因此,可以认为第一预选表达式更接近原始表达式,由此,为第一预选表达式赋予更低的相似度损失值。
83.在一些实施例中,本发明还提供了一种结合差异子项的结构深度和字符特征的相似度损失值的赋值方法,其中,差异子项的结构信息同时包括结构深度和字符特征。相应地,步骤204可以包括:根据所述差异子项的结构深度及其损失权重,以及所述差异子项的字符特征的相似度与其损失权重计算所述差异子项对应的预选表达式的相似度损失值。
84.进一步地,结构深度的损失权重与字符特征的损失权重之和可以为1,并且可以将两者的损失权重设置为经验值,该经验值可以依据实际情况进行调整,例如,结构深度的损失权重与字符特征的损失权重均为0.5。
85.可以理解的是,上述对于损失权重的取值仅是一种示例,不构成对本发明的限定。
86.在步骤205中,选取相似度损失值最小的预选表达式作为最终查询结果。
87.在一些实施例中,可以输出相似度损失值最小的预选表达式作为唯一的查询结果。在另一些实施例中,也可以按照相似度损失值由小到大的顺序,将初步查询结果进行排序并输出展示,其中,排序第一的初步查询结果可视作最终查询结果。
88.下面以原始表达式作为示例,对上述表达式查询方法进行介绍:
89.假设初步查询结果如下:第一预选表达式以及第二预选表达式
90.经过上述步骤201和步骤202,能够将原始表达式、第一预选表达式、第二预选表达式依次解析成如图3、图4、图5所示的结果。
91.需要特别说明的是,图3、图4及图5为便于直观理解的示意图,在计算机实际处理过程中,可能并不存在如图3、图4及图5所示的可视化的解析结构示意图,其解析结果可能通过字符代码呈现。
92.将图4和图5中的解析结果分别与图3进行比对,比对过程中,需将同一位置的子项进行比对,可以得到如下比对结果:
93.第一预选表达式的差异子项为32;第二预选表达式的差异子项为9和a1 a2;其中,a1 a2的结构深度大于32的结构深度,32的字符特征的相似度大于9的字符特征的相似度。第一预选表达式和第二预选表达式的其余子项与原始子项均一致,例如,子项b
1-b2。
94.第一预选表达式与原始表达式相比,其主要结构特征一致,均为区别仅在于差
异子项32与原始表达式中的子项32不一致,但由于该差异子项的结构深度较深,且其字符特征与子项32的字符特征的相似度较高,因此,判定为ocr识别偏差的概率较大,由此赋予第一预选表达式较低的相似度损失值。
95.第二预选表达式与原始表达式相比,其主要结构特征一致,均为区别在于:其一、差异子项9与原始表达式中的子项32不一致;其二、差异子项a1 a2与原始表达式中的子项a1÷
a2不一致。由于差异子项9与原始表达式中的子项32的字符特征的相似度较低,且差异子项a1 a2的结构深度较浅,因此判定差异子项为ocr识别偏差或录入错误的概率较低,由此赋予第二预选表达式较高的相似度损失值。
96.需要说明的是,实际应用时,在步骤204中可能并不会对两个预选表达式的差异子项之间的结构深度进行对比,可能存在预设的赋值规则,以对每一预选表达式的相似度损失值独立地进行计算。上述对于第一预选表达式和第二预选表达式的差异子项的结构深度的对比仅是为了便于本领域的技术人员理解差异子项的结构深度对相似度损失值的赋值大小的影响。
97.基于上述相似度损失值赋值,第一预选表达式与原始表达式的相似度更高,最终输出第一预选表达式为最终查询结果。
98.根据上述实施例的表达式查询方法,能够以更小粒度对表达式之间的相似程度进行比对。通过同位置子项的比对来确定每一预选表达式中与原始表达式不同的差异子项,且差异子项的结构信息能够计算相似度损失值时,将表达式的语义信息纳入考虑,通过赋予不同的相似度损失值,来表示不同语义的子项对表达式相似度的不同程度的影响。通过上述更精细的比对粒度以及更具针对性的损失值赋值,提升了表达式查询中相似度计算的准确度,从而提高查询结果的质量。并且本发明实施方式的表达式查询方法不仅能够适用于识别图片,也可以针对录入的表达式进行检索,无需构建图片库,相较于图片搜索的成本更低,适用场景更广。
99.且上述一些实施例的表达式查询方法依据差异子项的结构深度的不同,对预选表达式赋予不同的相似度损失值,能够令主干结构与原始表达式更接近的预选表达式的相似度得分更高,进而找到语义信息更贴合原始表达式的查询结果。
100.上述的一些实施例的表达式查询方法还利用了字符特征与结构深度相结合的相似度损失值计算方法,通过给更深层的差异子项赋予更轻的损失代价,给字符特征相似度更高的差异子项赋予更轻的损失代价,从而将ocr识别导致的细节偏差/子结构偏差与表达式自身的差异区分开来,进而对录入的字符错误做纠正或兼容,以此提高了表达式查询的精度。
101.为了实现同位置的子项比对,需要对原始表达式和预选表达式分别进行结构解析,在本发明的一些实施例中,提供了一种表达式结构解析方法,如图6所示,该结构解析方法600包括:
102.在步骤601中,对表达式进行分词以得到多个子项。
103.需要说明的是,上述表达式可以包括原始表达式和预选表达式。
104.示例性地,在本发明的一个实施例中,可以利用序列解码模型处理所述表达式,得到所述表达式的序列表达形态;接着,根据所述表达式的序列表达形态确定所述表达式的多个子项。
105.其中,序列解码模型可以为2018年发布的基于序列解码器的在线手写数学公式识别模型tap,其基本框架为基于注意力机制的编解码模型,其能够将输入的轨迹点序列通过编码得到高维特征表达,依靠注意力机制找出高维特征中的关键部分以用于解码,从而完成表达式的识别和结构拆解。
106.在步骤602中,根据多个子项的运算优先级构造多个子项之间的结构关系,以得到多个子项的结构信息。
107.在一些实施例中,所述结构关系的构造过程可以为:利用自上而下分析法或自下而上分析法,基于所述多个子项重构所述表达式,以生成所述多个子项之间的结构关系。
108.其中,自上而下分析法是从文法的开始符号开始,不断进行推导,直到推导所得的符号串与输入串相同为止。在本实施例中,通过自上而下分析法构造结构关系是指由结构深度最浅的子项开始,从结构深度上由浅至深地基于每一层的子项重构表达式。
109.自下而上分析法是从输入串开始,逐步进行归约,直至归约到文法的开始符号。可以理解为,在本实施例中,通过自下而上分析法构造结构关系是指结构深度最深的子项开始,逐步向上层归约,直到到达结构深度最浅的子项,从而完成表达式的重构。
110.在本发明的一些实施例中,结构关系的构造可以通过对表达式的表达形态进行转换来实现。
111.示例性地,在利用序列解码模型处理所述表达式,得到所述表达式的序列表达形态之后,可以基于所述表达式的序列表达形态生成所述表达式的树结构表达形态。上述表达形态的转换可以通过基于树形结构的解码器实现。
112.其中,所述多个子项位于树结构中的不同节点;所述树结构中不同节点的位置关系构成所述多个子项之间的结构关系。
113.更进一步地,所述表达式中的运算符号可以依据其运算优先级设置于树结构中不同的子树根节点处,所述表达式中的参量设置于不同子树根节点的叶子节点处。
114.为了便于理解,本发明示例性地提供了图7以展示表达式的树结构表达形态,其中,原始表达式为如图7所示,*位于子树根节点处,其叶子节点处分别为28和x; 位于子树根节点处,其叶子节点处分别为53和27。
115.当表达式以树结构表达形态呈现时,步骤203中一个预选表达式的差异子项的确定过程可以包括:将所述预选表达式和所述原始表达式中位于同一节点的子项进行比对,若子项不一致,则将所述节点中的子项确定为所述差异子项。其中,所述节点中的子项指的是预选表达式在该节点位置的子项。
116.进一步地,所述差异子项的结构深度为所述差异子项所在节点在所述树结构中的深度。相应地,每一结构深度所对应的相似度损失值可以视作树结构中每一节点的权值。距离树根节点越近的节点权值越大。
117.需要说明的是,自上而下分析法和自下而上分析法可以用于生成表达式的树结构。示例性地,以自下而上分析法为例,原始表达式中的所有子项包括:53、27、28、x、 、*以及/,其中,53、27、28以及x均为参量, 、*以及/均为运算符号,根据运算符号的运算优先级,可以确定优先构造的子树根节点处的子项为 和*,其中, 对应的叶子节点处的子项为53和27;*对应的叶子节点处的子项为28和x。接着,确定上述两个子树根节点的上层根节
点处的子项为/,由此,表达式重构完成,得到如图7所示的树结构。
118.示例性地,自上而下分析法用于生成表达式的树结构,优先确定最上层的根节点处的子项为/,即表达式所要得到的为一个除法运算的结果。接着,确定除数与被除数,除数为28*x,被除数为53 27。接着,分别解析除数和被除数,得到根节点处为*、叶子节点处为28和x的一个子树结构,以及根节点处为 、叶子节点处为53和27的另一个子树结构。最终得到如图7所示的树结构。
119.在一些实施例中,也可以直接将表达式解析为树结构,其中,树结构中的每一节点可以成立为所述表达式的子项。
120.上述实施例中提供了一种表达式结构解析方法,通过将表达式解析为树结构表达形态明确多个子项之间的结构关系,而树结构表达形态能够以节点的深度作为各子项的结构深度,以令各子项的结构信息更加清晰明确;另外,树结构表达形态更便于确定位于同一位置的预选子项与原始子项,从而提高比对的精度和效率。示例性设备
121.在介绍了本发明示例性实施方式的方法之后,接下来,参考图8对本发明示例性实施方式的表达式查询装置进行介绍。
122.图8示出了一些实施例的表达式查询装置的结构示意图,如图8所示,本发明提供的一种表达式查询装置800可以包括:
123.结构解析单元801,用于对原始表达式进行结构解析,以得到所述原始表达式的多个原始子项;以及对多个预选表达式分别进行结构解析,以得到每一预选表达式的多个预选子项;其中,预选表达式为原始表达式的初步查询结果;
124.差异比对单元802,用于将每一预选子项与同一位置的原始子项进行比对,以确定每一预选表达式的差异子项;其中,所述差异子项为与同一位置的原始子项存在差异的预选子项;
125.损失值计算单元803,用于根据所述差异子项的结构信息,对相应的预选表达式赋予相似度损失值;
126.结果输出单元804,用于选取相似度损失值最小的预选表达式作为最终查询结果。
127.本发明实施例提供的表达式查询装置能够将原始表达式和多个预选表达式分别进行结构解析,从而拆解出每一表达式的子项,以更小粒度对表达式之间的相似程度进行比对。通过同位置子项的比对来确定每一预选表达式中与原始表达式不同的差异子项,而该差异子项在表达式中的位置能够体现差异子项在表达式中所代表的语义信息,例如,位于表达式上方的子项可能成立为表达式的分子或指数。因此,基于差异子项的结构信息能够在计算相似度损失值时,将表达式的语义信息纳入考虑,通过赋予不同的相似度损失值,来表示不同语义的子项对表达式相似度的不同程度的影响。通过上述更精细的比对粒度以及更具针对性的损失值赋值,提升了表达式查询中相似度计算的准确度,从而提高查询结果的质量。并且该装置不仅能够适用于识别图片,也可以针对录入的表达式进行检索,无需构建图片库,相较于图片搜索的成本更低,适用场景更广。
128.在一些实施例中,所述结构解析单元801具体可以用于:对表达式进行分词以得到多个子项;根据所述多个子项的运算优先级构造所述多个子项之间的结构关系,以得到所述多个子项的结构信息。
129.其中,示例性地,所述结构解析单元801可以利用序列解码模型处理所述表达式,得到所述表达式的序列表达形态;并根据所述表达式的序列表达形态确定所述表达式的多个子项以完成分词。
130.进一步地,所述结构解析单元801还可以基于所述表达式的序列表达形态生成所述表达式的树结构表达形态。
131.在一些实施例中,所述结构解析单元801可以利用自上而下分析法或自下而上分析法,基于所述多个子项重构所述表达式,以生成所述多个子项之间的结构关系。
132.进一步地,所述利用自上而下分析法或自下而上分析法,基于所述多个子项重构所述表达式的过程可以为利用自上而下分析法或自下而上分析法生成所述表达式的树结构表达形态的过程。
133.在一些实施例中,以树结构中的一个节点为例,所述差异比对单元802具体可以用于:将所述预选表达式和所述原始表达式中位于同一节点的子项进行比对,若子项不一致,则将所述节点中所述预选表达式的子项确定为所述差异子项。
134.在一些实施例中,若结构信息同时包括结构深度和字符特征,则所述损失值计算单元803具体可以用于:根据所述差异子项的结构深度及其损失权重,以及所述差异子项的字符特征的相似度与其损失权重计算所述差异子项对应的预选表达式的相似度损失值。
135.对应前述任一实施例中的表达式查询方法,本发明还提供了一种电子设备,如图9所示,该电子设备900包括:处理器901;以及存储器902;存储器902上存储有可执行代码,当所述可执行代码被所述处理器901执行时,使所述处理器901执行如上任一实施例所述的表达式查询方法。
136.在本实施例中,处理器901可以按任何适当的方式实现。例如,处理器901可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。
137.存储器902可以存储要由电子设备900驱动的应用、驱动程序等。例如:存储器902可以存储与将由处理器901执行的文件分类等有关的各种程序。存储器902可以是dram,但是本发明不限于此。存储器902可以包括易失性存储器或非易失性存储器中的至少一种。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、相变ram(pram)、磁性ram(mram)、电阻ram(rram)、铁电ram(fram)等。易失性存储器可以包括动态ram(dram)、静态ram(sram)、同步dram(sdram)、pram、mram、rram、铁电ram(feram)等。在实施例中,存储器902可以包括硬盘驱动器(hdd)、固态驱动器(ssd)、高密度闪存(cf)、安全数字(sd)卡、微安全数字(micro-sd)卡、迷你安全数字(mini-sd)卡、极限数字(xd)卡、高速缓存(caches)或记忆棒中的至少一项。
138.本发明还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上任一实施例所述的表达式查询方法。
139.应当注意,尽管在上文详细描述中提及了表达式查询装置的若干单元或子单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可
以进一步划分为由多个单元来具体化。
140.此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
141.申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
142.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献