CN112906559B - 由机器实施的用于批改算式的方法及相关产品 - Google Patents

由机器实施的用于批改算式的方法及相关产品 Download PDF

Info

Publication number
CN112906559B
CN112906559B CN202110185359.0A CN202110185359A CN112906559B CN 112906559 B CN112906559 B CN 112906559B CN 202110185359 A CN202110185359 A CN 202110185359A CN 112906559 B CN112906559 B CN 112906559B
Authority
CN
China
Prior art keywords
node
nodes
blank
sequence
root node
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
Application number
CN202110185359.0A
Other languages
English (en)
Other versions
CN112906559A (zh
Inventor
陈冬晓
侯禺凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Youdao Hangzhou Intelligent Technology Co ltd
Original Assignee
Netease Youdao Information Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Youdao Information Technology Beijing Co Ltd filed Critical Netease Youdao Information Technology Beijing Co Ltd
Priority to CN202110185359.0A priority Critical patent/CN112906559B/zh
Publication of CN112906559A publication Critical patent/CN112906559A/zh
Application granted granted Critical
Publication of CN112906559B publication Critical patent/CN112906559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

本发明的实施方式提供了一种由机器实施的用于批改算式的方法及相关产品,其中方法包括:识别包含算式的待检测图像,以得到用于表示所述算式的字符序列;对所述字符序列进行标记,以生成所述算式的标记序列;根据所述标记序列以及运算法则,构建所述算式的语法分析树,使得所述语法分析树中的一个节点表示所述标记序列中的一个标记;以及针对所述语法分析树的节点执行运算,以确定对所述算式的批改结果。根据本发明实施方式的方法可以无需依赖题库而实现对算式的批改,并具有批改速度快、批改结果准确率高等特点。

Description

由机器实施的用于批改算式的方法及相关产品
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及由机器实施的用于批改算式的方法及相关产品。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
随着计算机技术的不断发展,计算机技术在教育行业的应用越来越广泛。为了提升批改作业和试卷的速度和效率,目前出现了一些用于解题的智能终端产品或者应用程序。常见的用于解题的智能终端产品或者应用程序通常是通过识别包含待批改试题的图像,并将识别出的试题内容与题库中的试题进行匹配等操作,以便得到对待批改试题的批改结果。但是这样的批改方式受限于题库中的试题覆盖范围,对于没有包含在题库中的试题将难以得到准确的批改结果。
进一步地,对于算式类型的试题而言,由于算式类试题的题干的文字内容大多为数字和计算符号,因此缺乏足够的区分识别度,这就增加了与题库进行匹配的难度,容易出现批改错误的现象,使得对于算式类试题的批改准确率并不高。
发明内容
由于算式类试题的数量十分庞大,而其题干的可区分度不高,从而增加了依赖题库进行判题的难度和准确度,这是非常令人烦恼的过程。
为此,非常需要一种改进的由机器实施的用于批改算式的方法及相关产品,以消除或者减少对题库的依赖程度以及提高算式批改结果的准确性。
在本上下文中,本发明的实施方式期望提供一种由机器实施的用于批改算式的方法及相关产品。
在本发明实施方式的第一方面中,提供了一种由机器实施的用于批改算式的方法,包括:识别包含算式的待检测图像,以得到用于表示所述算式的字符序列;对所述字符序列进行标记,以生成所述算式的标记序列;根据所述标记序列以及运算法则,构建所述算式的语法分析树,使得所述语法分析树中的一个节点表示所述标记序列中的一个标记;以及针对所述语法分析树的节点执行运算,以确定对所述算式的批改结果。
在本发明的一个实施例中,在识别包含算式的待检测图像之前,所述方法还包括:对所述待检测图像进行检测,以提取所述待检测图像中的单个算式的区域;以及识别包含算式的待检测图像,以得到用于表示所述算式的字符序列包括:识别所述单个算式的区域,以得到用于表示所述单个算式的字符序列。
在本发明的另一个实施例中,对所述字符序列进行标记包括:对所述字符序列进行预处理,以得到所述字符序列的标准化序列;以及根据所述标准化序列中的各个字符的类型,对所述标准化序列进行标记。
在本发明的又一个实施例中,所述预处理包括如下中的至少一项:删除所述字符序列中的多余字符;确定所述字符序列中有歧义的单位的含义;以及将所述字符序列中的带分数转化为整数与真分数相加或相减的形式。
在本发明的再一个实施例中,所述类型包括数值、操作符、比较符、单位、倍率、空白中的至少一种。
在本发明的一个实施例中,所述数值包括整数、小数、分数中的至少一种;所述操作符包括一元操作符和多元操作符中的至少一种,其中所述一元操作符包括乘方、开方中的至少一种,所述多元操作符包括正号、负号、加法、减法、乘法、除法中的至少一种;所述比较符包括等号、约等号、大于号、大于等于号、小于号、小于等于号中的至少一种;所述单位包括长度、距离、体积、时间、面积、货币、重量中的至少一种;所述倍率包括十、百、千、万、十万、百万、千万、亿中的至少一种。
在本发明的另一个实施例中,根据所述标记序列以及运算法则,构建所述算式的语法分析树包括:扫描所述标记序列中的每个标记,当扫描到连续多个标记符合所述运算法则时,基于所述多个标记构成的子式构建语法子树;以及将所述语法子树代替所述多个标记在所述标记序列中的位置,并继续扫描所述标记序列中的其他标记,以继续根据所述运算法则扩展所述语法子树的所述节点,直至所述标记序列中的所有标记由各个节点代替,生成所述语法分析树。
在本发明的又一个实施例中,基于所述多个标记构成的子式构建语法子树包括:将所述子式中的数值标记作为其他类型标记的子节点来构建所述语法子树。
在本发明的再一个实施例中,进一步包括:响应于扫描到比较符标记,将所述比较符标记作为所述语法分析树的根节点,来构建所述语法分析树。
在本发明的一个实施例中,执行运算包括:根据所述节点的类型,将所述节点的子节点执行与所述节点的类型相应的运算,以确定所述节点的运算结果。
在本发明的另一个实施例中,针对所述语法分析树的节点执行运算,以确定对所述算式的批改结果包括:响应于所述语法分析树包含空白节点,针对除所述空白节点以外的其他节点执行运算,以确定对所述算式的待求解处的求解结果;或者响应于所述语法分析树不包含空白节点,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确。
在本发明的又一个实施例中,针对除所述空白节点以外的其他节点执行运算包括:响应于所述根节点为所述空白节点,针对所述语法分析树的所述根节点两侧的所述其他节点执行运算;或者响应于所述根节点的一侧仅包含所述空白节点,且所述根节点的另一侧仅包含所述其他节点,直接对所述根节点另一侧的所述其他节点执行运算;或者响应于所述根节点的至少一侧包含所述空白节点和除所述空白节点以外的其他节点,根据所述空白节点的类型执行运算。
在本发明的再一个实施例中,根据所述空白节点的类型执行运算包括:响应于所述空白节点为数值类空白节点,对所述语法分析树进行等价变换,使得所述空白节点变换到所述根节点的一侧,且所述其他节点变换到所述根节点的另一侧,并对所述另一侧的所述其他节点执行运算;或者响应于所述空白节点为非数值类空白节点,基于所述其他节点对所述空白节点执行除数值以外的其他类型的匹配运算。
在本发明的一个实施例中,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确包括:响应于针对所述根节点两侧的所述节点执行运算的运算结果符合所述根节点表示的运算关系,判定所述算式的解答正确;或者响应于针对所述根节点两侧的所述节点执行运算的运算结果不符合所述根节点表示的运算关系,判定所述算式的解答错误。
在本发明的另一个实施例中,还包括:响应于所述标记序列不符合所述运算法则,发出用于提示所述算式解析错误的提示信息。
在本发明实施方式的第二方面中,提供了一种由机器实施的用于批改算式的装置,包括:识别模块,其配置用于识别包含算式的待检测图像,以得到用于表示所述算式的字符序列;词法分析模块,其配置用于对所述字符序列进行标记,以生成所述算式的标记序列;语法分析模块,其配置用于根据所述标记序列以及运算法则,构建所述算式的语法分析树,使得所述语法分析树中的一个节点表示所述标记序列中的一个标记;以及运算模块,其配置用于针对所述语法分析树的节点执行运算,以确定对所述算式的批改结果。
在本发明的一个实施例中,还包括:图像检测模块,其配置用于对所述待检测图像进行检测,以提取所述待检测图像中的单个算式的区域;以及所述识别模块还配置为:识别所述单个算式的区域,以得到用于表示所述单个算式的字符序列。
在本发明的另一个实施例中,所述词法分析模块还配置为:对所述字符序列进行预处理,以得到所述字符序列的标准化序列;以及根据所述标准化序列中的各个字符的类型,对所述标准化序列进行标记。
在本发明的又一个实施例中,所述预处理包括如下中的至少一项:删除所述字符序列中的多余字符;确定所述字符序列中有歧义的单位的含义;以及将所述字符序列中的带分数转化为整数与真分数相加或相减的形式。
在本发明的再一个实施例中,所述类型包括数值、操作符、比较符、单位、倍率、空白中的至少一种。
在本发明的一个实施例中,所述数值包括整数、小数、分数中的至少一种;所述操作符包括一元操作符和多元操作符中的至少一种,其中所述一元操作符包括乘方、开方中的至少一种,所述多元操作符包括正号、负号、加法、减法、乘法、除法中的至少一种;所述比较符包括等号、约等号、大于号、大于等于号、小于号、小于等于号中的至少一种;所述单位包括长度、距离、体积、时间、面积、货币、重量中的至少一种;所述倍率包括十、百、千、万、十万、百万、千万、亿中的至少一种。
在本发明的另一个实施例中,所述语法分析模块还配置为:扫描所述标记序列中的每个标记,当扫描到连续多个标记符合所述运算法则时,基于所述多个标记构成的子式构建语法子树;以及将所述语法子树代替所述多个标记在所述标记序列中的位置,并继续扫描所述标记序列中的其他标记,以继续根据所述运算法则扩展所述语法子树的所述节点,直至所述标记序列中的所有标记由各个节点代替,生成所述语法分析树。
在本发明的又一个实施例中,所述语法分析模块还配置为:将所述子式中的数值标记作为其他类型标记的子节点来构建所述语法子树。
在本发明的再一个实施例中,所述语法分析模块还配置为:响应于扫描到比较符标记,将所述比较符标记作为所述语法分析树的根节点,来构建所述语法分析树。
在本发明的一个实施例中,所述运算模块还配置为:根据所述节点的类型,将所述节点的子节点执行与所述节点的类型相应的运算,以确定所述节点的运算结果。
在本发明的另一个实施例中,所述运算模块还配置为:响应于所述语法分析树包含空白节点,针对除所述空白节点以外的其他节点执行运算,以确定对所述算式的待求解处的求解结果;或者响应于所述语法分析树不包含空白节点,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确。
在本发明的又一个实施例中,所述运算模块还配置为:响应于所述根节点为所述空白节点,针对所述语法分析树的所述根节点两侧的所述其他节点执行运算;或者响应于所述根节点的一侧仅包含所述空白节点,且所述根节点的另一侧仅包含所述其他节点,直接对所述根节点另一侧的所述其他节点执行运算;或者响应于所述根节点的至少一侧包含所述空白节点和除所述空白节点以外的其他节点,根据所述空白节点的类型执行运算。
在本发明的再一个实施例中,根据所述空白节点的类型执行运算,所述运算模块配置为:响应于所述空白节点为数值类空白节点,对所述语法分析树进行等价变换,使得所述空白节点变换到所述根节点的一侧,且所述其他节点变换到所述根节点的另一侧,并对所述另一侧的所述其他节点执行运算;或者响应于所述空白节点为非数值类空白节点,基于所述其他节点对所述空白节点执行除数值以外的其他类型的匹配运算。
在本发明的一个实施例中,所述运算模块还配置为:响应于针对所述根节点两侧的所述节点执行运算的运算结果符合所述根节点表示的运算关系,判定所述算式的解答正确;或者响应于针对所述根节点两侧的所述节点执行运算的运算结果不符合所述根节点表示的运算关系,判定所述算式的解答错误。
在本发明的另一个实施例中,还包括:提示模块,其配置用于响应于所述标记序列不符合所述运算法则,发出用于提示所述算式解析错误的提示信息。
在本发明实施方式的第三方面中,提供了一种由机器实施的用于批改算式的设备,包括,至少一个处理器;存储器,其存储有程序指令,当所述程序指令由所述至少一个处理器执行时,使得所述设备执行根据本发明实施方式的第一方面中的任一项所述的方法。
在本发明实施方式的第四方面中,提供了一种计算机可读存储介质,其存储有由机器实施的用于批改算式的程序,当所述程序由处理器来运行时,执行根据本发明实施方式的第一方面中的任一项所述的方法。
根据本发明实施方式的由机器实施的用于批改算式的方法及产品,能够根据算式的标记序列构建语法分析树,并通过针对语法分析树进行运算来确定对算式的批改结果,可以无需依赖题库而实现对算式的批改,并能够针对每个算式题目执行相应的运算来获得批改结果,具有批改速度快、批改结果准确率高等特点。在一些实施例中,可以通过对字符序列进行预处理以去除有歧义的字符含义,有利于提高构建的语法分析树的准确性,从而能够进一步提高运算结果的准确性。在另一些实施例中,通过对包含空白节点和不包含空白节点的语法分析树的区分处理方式,可以得到不同类型算式的批改结果,以实现求解和判题等多种功能。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的应用场景示意图;
图2示意性地示出了根据本发明实施方式的由机器实施的用于批改算式的方法流程图;
图3示意性地示出了根据本发明实施方式的构建语法分析树的方法流程图;
图4示意性地示出了根据本发明实施方式的构建语法分析树的过程示意图;
图5示意性地示出了根据本发明实施方式的执行运算并确定批改结果的方法流程图;
图6示意性地示出了根据本发明实施方式的根节点一侧仅包含空白节点的语法分析树的示意图;
图7示意性地示出了根据本发明实施方式的对根节点的一侧进行等价变换的示意图;
图8示意性地示出了根据本发明实施方式的对根节点的两侧进行等价变换的示意图;
图9示意性地示出了根据本发明实施方式的由机器实施的用于批改算式的装置的框图;以及
图10示意性地示出了适于实现本发明实施方式的示例性计算系统1000的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
根据本发明的实施方式,提出了一种由机器实施的用于批改算式的方法、装置、设备及计算机可读存储介质。通过下面的描述,可以理解的是,本发明实施方式的方法可以根据算式的字符序列生成标记序列和语法分析树,并通过执行运算获得批改结果,不仅能够根据每个算式的结构和特点构建独特的语法分析树,以获得准确率高的批改结果,还能够适应于判题、解题等多种应用场景。
在本文中,需要理解的是,所涉及的术语包括如下:
根节点,其可以理解为树的树根,可以是一个树形结构中除根节点本身以外所有节点的根基(或祖先)。通常一个树形结构只有一个根节点。
子节点,在树形结构中从根节点往下细分的各层结构中的节点。
叶子节点,当不断细分直到不再有子节点时的节点为叶子节点。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在计算机科学中,词法分析可以将字符序列转换为标记序列,该过程也可以被称为标记化过程,其中每个独立的标记可以由标记名、标记值和其他附加信息等组成。语法分析可以在词法分析结果的基础上,将这些标记按照预定义好的规则组合成多种语法短语,并构建语法分析树,从而实现对源字符序列的结构正确性进行判断,并可在此基础上扩展实现其他功能。
本发明人还发现,通过对包含算式的图像进行识别,可以利用文本识别技术得到算式的字符序列。如果可以对字符序列形式的算式进行处理、分析、计算以及可能的求解,就能够得到批改结果来反馈给用户。然而,目前的技术中还没有针对算式的字符序列进行处理的方案。基于以上发现,本发明人期望能够利用词法分析和语法分析的思想对算式的字符序列进行处理,以得到准确的批改结果。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的由机器实施的用于批改算式的方法及相关产品的应用场景。
图1示意性地示出了根据本发明实施方式的应用场景示意图。需要说明的是,图1仅为可以应用本发明实施方式的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,并不意味着本发明实施方式不可以用于其他设备、系统、环境或场景。
如图1中所示,以图像100为例,该图像100中可以包括例如算式101(如图示中的123+56×5=())、算式102(如图示中的x+2=3-x)、算式103(如图示中的1+2Ο5)、算式104(如图示中的5角+5角=(1)元)、算式105(如图示中的
Figure BDA0002942859250000091
)以及算式106(如图示中的12-2=(9))。算式101、算式102和算式103均没有解答,因此属于未求解算式,其中算式101为数值类未求解算式、算式102属于包含未知数的方程类算式、算式103属于比较符类未求解算式。算式104、算式105和算式106均给出了解答结果,因此属于判题类型,需要给出解答结果是否正确的判题结果。其中,算式104为带单位的算式,算式105为带分数的算式。
根据本发明实施方式的方法,可以通过识别图像100得到各个算式的字符序列,并基于各个算式的字符序列分别执行生成标记序列以及构建语法分析树等操作,以针对每个算式的特点进行针对性分析,从而可以准确得到针对每个算式的批改结果。因此本发明实施方式的方法可以适用于图1中所示的各种算式类型和批改场景。本发明实施方式的方法还可以适用于处理现实场景中纸张弯折、扭曲等多种情形,以及无论是对印刷体还是手写字符的识别也均可保持较低的误差。
示例性方法
下面结合图1所示的应用场景,参考图2来描述根据本发明示例性实施方式的由机器实施的用于批改算式的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
首先参考图2,示意性地示出了根据本发明实施方式的由机器实施的用于批改算式的方法流程图。如图2中所示,方法200可以包括:在步骤210中,可以识别包含算式的待检测图像,以得到用于表示算式的字符序列。在一些实施例中,可以利用文本识别技术,对待检测图像中的算式图像进行识别,以得到算式的字符序列(或称字符串序列)。待检测图像中可以包含一个或多个算式。算式可以是已求解的算式,也可以是未求解的算式。算式的类型可以包括但不限于图1中所示意的算式类型。
在本发明的一个实施例中,在识别包含算式的待检测图像之前,方法200还可以包括:对待检测图像进行检测,以提取待检测图像中的单个算式的区域;以及识别包含算式的待检测图像,以得到用于表示算式的字符序列可以包括:识别单个算式的区域,以得到用于表示单个算式的字符序列。利用算式的独特视觉特性,可以定位并提取待检测图像中的单个算式的区域。提取单个算式区域的操作可以通过框取待检测图像中的单个算式来实现,也可以通过对待检测图像进行切分来实现。提取单个算式区域的操作可以得到更精准的仅包含单个算式的图像,以排除非算式区域(或称背景)对后续识别等操作的影响。通过识别单个算式的区域,得到单个算式的字符序列,有利于针对单个算式执行后续操作,以保证对每个算式的批改结果的准确性。
接着,在步骤220中,可以对字符序列进行标记,以生成算式的标记序列。在一些实施例中,对字符序列进行标记可以包括:根据字符序列中的各个字符的类型,对字符序列中的每个字符进行标记。在另一些实施例中,步骤220可以使用ply框架的词法解析器lex模块来实现。
在本发明的一个实施例中,类型可以包括数值、操作符、比较符、单位、倍率、空白等中的至少一种。具体地,在一些实施例中,数值可以包括整数、小数、分数等中的至少一种;操作符可以包括一元操作符和多元操作符中的至少一种,其中一元操作符可以包括乘方、开方等中的至少一种,多元操作符可以包括正号、负号、加法、减法、乘法、除法等中的至少一种;比较符可以包括等号、约等号、大于号、大于等于号、小于等于号、小于号等中的至少一种;单位可以包括长度、距离、体积、时间、面积、货币、重量等中的至少一种;倍率可以包括十、百、千、万、十万、百万、千万、亿等中的至少一种。
在本发明的另一个实施例中,对字符序列进行标记可以包括:对字符序列进行预处理,以得到字符序列的标准化序列;以及根据标准化序列中的各个字符的类型,对标准化序列进行标记。在本发明的又一个实施例中,预处理可以包括如下中的至少一项:删除字符序列中的多余字符;确定字符序列中有歧义的单位的含义;以及将字符序列中的带分数转化为整数与真分数相加或相减的形式等。在一些实施例中,在步骤210或者步骤220中还可以包括:将真分数的上下结构转化为机器可识别的左右结构,例如可以将算式中的
Figure BDA0002942859250000111
转化为“1/2”。
上文中所述的删除字符序列中的多余字符可以包括删除多余的非算式的部分以及识别出的多余的文字。例如题号①②③等,还例如“解”、“答”等文字内容。有歧义的单位可以包括具有多种含义的单位,需要根据使用场景对单位的含义进行区分。例如,“分”可以表示货币单位,也可以表示时间单位,需要根据实际情况确定其含义。带分数是假分数的一种形式,一般读作“几又几分之几”。带分数转化可以是将带分数转化为正整数与真分数相加或者负整数与真分数相减的形式。例如,
Figure BDA0002942859250000112
可以转化为
Figure BDA0002942859250000113
还例如
Figure BDA0002942859250000114
可以转化为
Figure BDA0002942859250000115
为了便于理解,下面以“
Figure BDA0002942859250000116
元=150分”的算式为例,对生成标记序列的过程进行示例性的描述。首先,对“
Figure BDA0002942859250000117
元=150分”进行预处理可以得到标准化序列:(1+1/2)元=150分(货币)。然后,可以根据标准化序列中各个字符的类型生成标记序列,例如生成的标记序列可以为:整数(1)加法真分数(1/2)货币(元)等号整数(150)货币(分)。可以理解的是,这里的“整数”、“加法”、“分数”、“货币”等是示例性的而非限制性的,在实际应用中可以根据需要使用机器可识别的标记表示,例如整数可以用Int表示、加法可以用Plus表示、真分数可以用Frac表示,货币可以用Money来表示等。
在本发明的又一个实施例中,方法200还可以包括:响应于字符序列包括无法确定类型的字符或字符组合(即无法生成标记序列),发出用于提示算式解析错误的提示信息。该提示信息可以是以可视或者可听的形式展示给用户,例如可以是以文字、图像、语音、视频、警示灯、动画、数字、代码等形式。
然后,流程可以前进到步骤230中,可以根据标记序列以及运算法则,构建算式的语法分析树,使得语法分析树中的一个节点表示标记序列中的一个标记。在一些实施例中,运算法则可以包括四则运算法则以及运算优先级顺序等,其中四则运算法则可以包括加法、减法、乘法和除法四种运算的法则。运算优先级顺序可以包括例如同级运算时从左到右依次计算;两级运算时先算乘除、后算加减;有括号时,先算括号里面的,再算括号外面的;以及有多层括号时,先算小括号里的,再算中括号里面的,再算大括号里面的,最后算括号外面的等。
上文中所述的语法分析树可以是一种树形结构,可以由多级节点构成,树上的每个节点可以用于表示标记序列中的一个标记,各节点之间的关系可以反映算式的运算关系。根据节点表示的标记类型,语法分析树的节点可以包括数值节点、操作符节点、比较符节点、单位节点、倍率节点、空白节点等中的至少一种。
具体地,在一些实施例中,数值节点用于存储算式中的一个数值,其可以包括整数节点、小数节点、分数节点等中的至少一种。操作符节点可以用于存储算式的各种运算符,其根据操作数的数量可以分为一元操作符节点和多元操作符节点,其中一元操作符节点可以包括乘方节点、开方节点等中的至少一种,多元操作符节点可以包括正号节点、负号节点、加法节点、减法节点、乘法节点、除法节点等中的至少一种。比较符节点可以用于存储算式的各种比较符,例如可以包括等号节点、约等号节点、大于号节点、大于等于号节点、小于等于号节点、小于号节点等中的至少一种。单位节点可以用于存储算式中可能出现的单位信息,其可以包括长度节点、距离节点、体积节点、时间节点、面积节点、货币节点、重量节点等中的至少一种。倍率节点可以用于存储算式中可能出现的倍率信息,倍率信息可以包括十、百、千、万、十万、百万、千万、亿等中的至少一种。倍率节点区别于单位节点,倍率节点并不会影响数值的单位。空白节点可以用于存储待求解的数值、运算符、比较符、以及方程类型算式中的待求解未知数等。
在本发明的另一个实施例中,方法200还可以包括:响应于标记序列不符合运算法则,发出用于提示算式解析错误的提示信息。该提示信息可以是以可视或者可听的形式展示给用户,例如可以是以文字、图像、语音、视频、警示灯、动画、数字、代码等形式。在本发明的又一个实施例中,步骤230可以使用巴科斯范式BNF文法来设计和表示,并借助ply框架的语法分析器yacc模块来实现。
如图2中进一步示出的,在步骤240中,可以针对语法分析树的节点执行运算,以确定对算式的批改结果。在一些实施例中,可以通过遍历语法分析树中的每个节点并执行相应的运算,来确定对算式的批改结果。在另一些实施例中,针对语法分析树的节点执行运算可以按照从子节点到根节点的顺序执行运算。在一些应用场景中,对算式的批改结果可以包括对未求解算式(即包括空白节点的语法分析树)的求解结果。在另一些应用场景中,对算式的批改结果可以包括对已求解算式是否求解正确的判定结果。在又一些应用场景中,对算式的批改结果还可以包括为求解错误的算式提供正确的求解结果。
在本发明的一个实施例中,步骤240中的执行运算可以包括:根据节点的类型,将节点的子节点执行与节点的类型相应的运算,以确定节点的运算结果。在一些实施例中,这里的节点可以理解为子节点的上一级节点。在另一些实施例中,每个节点可以连接一个或多个子节点。在又一些实施例中,节点与其连接的子节点可以构成算式中的至少一个子算式结构。
具体地,例如当计算某个节点的数值时,首先可以计算该节点的每个子节点的数值,然后将根据该节点的类型,使用这些子节点的数值结果来计算该节点的数值结果。例如,在一个语法分析树中的一个节点为加法节点,该加法节点的两个子节点可以均为数值节点,根据本实施例的方法,可以将该加法节点的两个子节点执行加法运算,以得到加法节点处的加法运算结果。然后,该加法节点可以作为与其连接的上一级节点的子节点,并根据上一级节点的类型,将加法运算结果执行相应的运算,以确定上一级节点的运算结果。如此一来便可递归地得到语法分析树中任何一个节点的数值结果。
在又一些实施例中,方法200还可以包括:根据对算式的批改结果,输出批改结果,以便向用户呈现。对于未求解的算式,可以输出未求解处的答案,或者可以根据需要输出包括答案的完整算式,或者根据需要仅输出用于提示该算式未求解的提示信息。对于已求解的算式,可以输出算式求解正确或者求解错误的提示信息。对于求解错误的算式,可以输出算式的正确答案或者包括正确答案的完整算式。输出完整算式可以通过将语法分析树中的空白节点用新建的含有所求解答案的节点代替,再递归地输出整个语法分析树即可。
以上结合图2对根据本发明实施方式的由机器实施的用于批改算式的方法进行了示例性的描述,本领域技术人员可以理解的是,上面的描述是示例性的而非限制性的,例如,运算法则可以不限于上述四则运算法则等,还可以包括例如单位运算法则、倍率运算法则等。还例如,步骤220和步骤230可以不限于图示中箭头所示顺序执行,还可以根据需要同步执行。在一些实施例中,在步骤220生成标记序列的一部分后,可以在生成标记序列的另一部分的同时,对已生成的一部分执行步骤230中构建语法分析树的步骤,当步骤220生成标记序列的另一部分后,步骤230再执行对另一部分构建语法分析树的操作。根据这样的设置,可以有助于提高构建语法分析树的速度和效率,从而进一步提高批改算式的速度和效率。在另一些实施例中,步骤230还可以包括基于多个标记构成的子式构建语法子树,并逐步构建完整的语法分析树。下面将结合图3进行示例性的描述。
图3示意性地示出了根据本发明实施方式的构建语法分析树的方法流程图。通过下面的描述,可以理解的是,图3所示的方法300可以是前文中结合图1所示步骤230的一个具体化表现形式,因此前文中关于步骤230的描述同样可以适用于下面对图3的描述中。
如图3中所示,方法300可以包括:在步骤310中,可以扫描标记序列中的每个标记,当扫描到连续多个标记符合运算法则时,基于多个标记构成的子式构建语法子树。例如,在一个实施例中,当扫描到“数值(2)加号数值(3)”时可以判定其符合加法运算法则,可以基于“数值(2)加号数值(3)”构成的子式“2+3”构建语法子树。在另一个实施例中,当扫描到“数值(3)平方”时可以判定其符合乘方运算法则,可以基于“数值(3)平方”构成的子式“32”构建语法子树。在又一个实施例中,当扫描到“数值(5)单位(角)”时可以判定其符合单位运算法则,可以基于“数值(5)单位(角)”构成的子式“5角”构建语法子树。
在本发明的又一个实施例中,基于多个标记构成的子式构建语法子树可以包括:将子式中的数值标记作为其他类型标记的子节点来构建语法子树。例如,对于上文中举例说明的“2+3”,可以将2和3作为加号的子节点来构建语法子树;对于“32”,可以将3作为平方(2)的子节点来构建语法子树;对于“5角”,可以将5作为“角”的子节点来构建语法子树。
接着,在步骤320中,可以将语法子树代替多个标记在标记序列中的位置,并继续扫描标记序列中的其他标记,以继续根据运算法则扩展语法子树的节点,直至标记序列中的所有标记由各个节点代替,生成语法分析树。在本发明的一个实施例中,进一步可以包括:响应于扫描到比较符标记,将比较符标记作为语法分析树的根节点,来构建语法分析树。为了便于理解,下面将结合图4对一个示例性算式的构建语法分析树的过程进行说明。
图4示意性地示出了根据本发明实施方式的构建语法分析树的过程示意图。下面将以算式“6-2÷1=22”为例进行说明,算式“6-2÷1=22”的标记序列可以为“数值(6)减号数值(2)除号数值(1)等号数值(2)平方”。需要说明的是,为了更简洁的展示语法分析树的构建过程以便于理解,图4中未示出算式“6-2÷1=22”的标记序列。
具体地,如图4中的(a)图所述,当扫描到多个标记“数值(2)除号数值(1)”符合除法运算法则以及满足优先运算顺序,可以基于子式“2÷1”构建语法子树401,并将语法子树401代替多个标记“数值(2)除号数值(1)”在标记序列中的位置,然后继续扫描其他标记。
如图示中的箭头所示,流程可以前进到图4中的(b)图,将语法子树401作为一个整体来看,当扫描到多个标记“数值(6)减号语法子树401”符合减法运算法则且其后为比较符标记,表明多个标记“数值(6)减号语法子树401”可以构成子式“6-语法子树401”,接着可以基于子式“6-语法子树401”构建语法子树402,并将语法子树402代替多个标记“数值(6)减号语法子树401”在标记序列中的位置,然后继续扫描其他标记。
继续沿图示中的箭头前进,如图4的(c)图中所示,可以将语法子树402作为一个整体来看,当扫描到多个标记“数值(2)平方”符合乘方运算法则时,可以基于子式“22”构建语法子树403。并将语法子树403代替多个标记“数值(2)平方”在标记序列中的位置,然后继续扫描其他标记。
接着,如图4的(d)图中示出的,在得到语法子树403后,将语法子树403作为一个整体来看,当扫描到标记“等号”时,响应于扫描到比较符标记,将比较符标记作为语法分析树的根节点,且当扫描到没有其他标记时,生成语法分析树404。
以上结合图3和图4对根据本发明实施方式的构建语法分析树的方法进行了示例性的说明,本领域技术人员可以理解的是,以上描述是示例性的而非限制性的,例如,在图4中构建语法子树403的过程中,可以不限于图示中的先基于22构建语法子树403,在另一些实施例中,可以先基于等号构建包含根节点的语法子树,再根据子式22构建根节点的子节点,以生成语法分析树404。还例如,算式的类型可以不限于图4所列举的已求解算式,还可以根据需要构建未求解算式的语法分析树,构建方法类似,此处不再赘述。可以理解的是,根据本发明实施方式的方法不仅可以针对基于已求解算式构建的语法分析树执行运算,也可以针对基于未求解算式构建的语法分析树执行运算。下面将结合图5对根据本发明实施方式的执行运算的方法进行示例性的描述。
图5示意性地示出了根据本发明实施方式的执行运算并确定批改结果的方法流程图。通过下面的描述,可以理解的是,图5所示的方法500可以是前文中结合图1所示步骤240的一个具体化表现形式,因此前文中关于步骤240的描述同样可以适用于下面对图5的描述中。
如图5中所示,方法500可以包括:在步骤510中,响应于语法分析树包含空白节点,可以针对除空白节点以外的其他节点执行运算,以确定对算式的待求解处的求解结果。在一些实施例中,针对其他节点执行运算可以包括:根据其他节点的类型,将其他节点的子节点执行与其他节点的类型相应的运算,以确定其他节点的运算结果,并根据其他节点的运算结果来确定空白节点的运算结果,从而确定与空白节点相对应的待求解处的求解结果。
在另一些实施例中,步骤510可以包括:在步骤511中(虚线框示出),响应于根节点为空白节点,可以针对语法分析树的根节点两侧的其他节点执行运算。在本发明的一个实施例中,可以根据根节点两侧的其他节点的运算结果判断根节点的类型。例如,当根节点两侧的其他节点的运算结果相等时,可以判定根节点为等号节点;当根节点两侧的其他节点的运算结果不相等时,可以根据两侧的运算结果的大小,判定根节点为大于号节点或者小于号节点等。
在又一些实施例中,步骤510可以包括:在步骤512中(虚线框示出),响应于根节点的一侧仅包含空白节点,且根节点的另一侧仅包含其他节点,直接对根节点另一侧的其他节点执行运算。根据根节点另一侧的其他节点的运算结果以及根节点的类型,确定空白节点的求解结果。为了便于理解,下面将结合图6所示的语法分析树的一个实施例进行描述。
图6示意性地示出了根据本发明实施方式的根节点一侧仅包含空白节点的语法分析树的示意图。如图6中所示,响应于根节点601的一侧仅包含空白节点602,且根节点601的另一侧不包含空白节点,可以对根节点601另一侧的其他节点执行运算。具体的运算过程可以为:除号节点的运算结果可以通过叶子节点“2”和“1”执行与除号节点类型相应的除法运算获得;接着,可以通过数值节点“6”与除号节点的运算结果执行减法运算来得到减号节点的运算结果;然后,根据根节点的等号类型,可以判断根节点两侧的运算结果相等,即减号节点的运算结果与空白节点602的求解结果相等,如此即可确定空白节点602的求解结果,即对算式的待求解处的求解结果。
下面返回图5继续描述,如图5中所示,步骤510可以包括:在步骤513中(虚线框示出),响应于根节点的至少一侧包含空白节点和除空白节点以外的其他节点,根据空白节点的类型执行运算。在一些实施例中,标记序列中包括对空白节点的类型的标记,因此在构建语法分析树时可以根据空白节点的类型进行构建,在执行运算时可以根据空白节点的类型执行运算。在另一些实施例中,可以根据例如空白节点在语法分析树中的位置以及与其他节点的关系等,来判断空白节点的类型。例如,在一些实施例中,空白节点为叶子节点,可以判定空白节点为数值类节点。
具体地,在本发明的一个实施例中,响应于空白节点为非数值类空白节点,可以基于其他节点对空白节点执行除数值以外的其他类型的匹配运算。例如,在一些应用场景中,响应于空白节点为操作符空白节点,可以根据操作数的数量,将相应类型的操作符与空白节点进行匹配,当空白节点为某个操作符且可以使得对语法分析树执行运算的运算结果符合运算法则时,判定该操作符与空白节点匹配。响应于空白节点为单位空白节点或倍率空白节点等时,匹配方式与空白节点为操作符节点类似,此处不再赘述。
在本发明的另一个实施例中,响应于空白节点为数值类空白节点,可以对语法分析树进行等价变换,使得空白节点变换到根节点的一侧,且其他节点变换到根节点的另一侧,并对另一侧的其他节点执行运算。在一些实施例中,变换后得到的新节点的类型可以根据变换前的语法分析树的根节点的类型、与新节点相应的变换前的节点的类型、以及空白节点的位置等信息进行判定。例如,在一个实施例中,当将操作符节点等价变换到根节点的另一侧时,需要将其变换为类型相反的操作符节点。为了便于理解,下面将结合图7和图8分别对根节点的一侧包含数值类空白节点和根节点的两侧包含数值类空白节点的情形进行说明。
图7示意性地示出了根据本发明实施方式的对根节点的一侧进行等价变换的示意图。如图7中所示,例如变换前的语法分析树可以包括根节点701、R节点、L节点(减号节点)、空白节点702和LR节点,其中L节点、空白节点702和LR节点位于根节点701的同一侧(例如图示中的左侧)。通过对语法分析树进行等价变换,将L节点等价变换到根节点701的另一侧(例如图示中的右侧)并变换为新节点703,新节点703的类型为加号节点,其与L节点的类型相反。如图7中进一步示出的,变换后的LR节点和R节点也变换到根节点701的另一侧,使得在根节点701的一侧仅包括空白节点702。根据这样的变换结果,通过对变换后的语法分析树的另一侧的新节点703执行运算,可以得到空白节点702的求解结果。
根据图7所示的变换过程,可以发现变换后的语法分析树可以是对算式进行了等价的代数变换,因此变换前后的空白节点的解不变。如图7中进一步示出的,空白节点702在变换后的深度减少了1,因此对于结构更深的语法分析树而言,重复若干次这样的语法树结构变换操作后,包含有空白节点的子节点深度将变为1,即根节点的一侧(例如图示中变换后的根节点的左侧)可以恰是该空白节点,而根节点的另一侧(例如图示中变换后的根节点的右侧)则是一个不含空白节点的语法子树。根据根节点的类型以及根节点另一侧的运算结果,可以得到空白节点的求解结果。
图8示意性地示出了根据本发明实施方式的对根节点的两侧进行等价变换的示意图。如图8中所示,以对方程式“x+2=3-x”的语法分析树801为例,在语法分析树801的根节点两侧均包括空白节点和除空白节点以外的其他节点。在一些实施例中,可以先将变换前的语法分析树801的根节点两侧的空白节点等价变换到根节点的同一侧,例如图示中的语法分析树802;然后,可以将同类型的多个空白节点合并为一个,并根据运算法则以及操作符节点的变换规则将其他节点等价变换到根节点的另一侧,得到如图示中的变换后的语法分析树803。根据这样的变换结果,通过对变换后的语法分析树803的另一侧的除号节点执行运算,可以得到空白节点的求解结果。
下面返回图5继续描述,如图5中进一步示出的,在步骤520中,响应于语法分析树不包含空白节点,可以针对语法分析树的根节点两侧的节点执行运算,并根据根节点的类型判断算式是否正确。在一些实施例中,步骤520可以包括:在步骤521中(虚线框示出),响应于针对根节点两侧的节点执行运算的运算结果符合根节点表示的运算关系,可以判定算式的解答正确;或者在步骤522中(虚线框示出),响应于针对根节点两侧的节点执行运算的运算结果不符合根节点表示的运算关系,可以判定算式的解答错误。
例如,在一个具体实施例中,当根节点的类型为等号节点,针对根节点两侧的节点执行运算的运算结果相等(即符合等号节点表示的运算关系),可以判定算式的解答正确;或者针对根节点两侧的节点执行运算的运算结果不相等,可以判定算式的解答错误。在另一个具体实施例中,当根节点的类型为大于号节点,针对根节点左侧的节点执行运算的运算结果大于针对根节点右侧的节点执行运算的运算结果(即符合等号节点表示的运算关系)时,可以判定算式的解答正确;或者针对根节点左侧的节点执行运算的运算结果小于或等于针对根节点右侧的节点执行运算的运算结果时,可以判定算式的解答错误。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图9对本发明示例性实施方式的由机器实施的用于批改算式的装置进行描述。
图9示意性地示出了根据本发明实施方式的由机器实施的用于批改算式的装置的框图。如图9中所示,装置900可以包括:识别模块910,其可以配置用于识别包含算式的待检测图像,以得到用于表示算式的字符序列;词法分析模块920,其可以配置用于对字符序列进行标记,以生成算式的标记序列;语法分析模块930,其可以配置用于根据标记序列以及运算法则,构建算式的语法分析树,使得语法分析树中的一个节点表示标记序列中的一个标记;以及运算模块940,其可以配置用于针对语法分析树的节点执行运算,以确定对算式的批改结果。
在本发明的一个实施例中,还可以包括:图像检测模块,其可以配置用于对待检测图像进行检测,以提取待检测图像中的单个算式的区域;以及识别模块910还可以配置为:识别单个算式的区域,以得到用于表示单个算式的字符序列。
在本发明的另一个实施例中,词法分析模块920还可以配置为:对字符序列进行预处理,以得到字符序列的标准化序列;以及根据标准化序列中的各个字符的类型,对标准化序列进行标记。
在本发明的又一个实施例中,预处理可以包括如下中的至少一项:删除字符序列中的多余字符;确定字符序列中有歧义的单位的含义;以及将字符序列中的带分数转化为整数与真分数相加或相减的形式。
在本发明的再一个实施例中,类型可以包括数值、操作符、比较符、单位、倍率、空白等中的至少一种。
在本发明的一个实施例中,数值可以包括整数、小数、分数等中的至少一种;操作符可以包括一元操作符和多元操作符中的至少一种,其中一元操作符可以包括乘方、开方等中的至少一种,多元操作符可以包括正号、负号、加法、减法、乘法、除法等中的至少一种;比较符可以包括等号、约等号、大于号、大于等于号、小于号、小于等于号等中的至少一种;单位可以包括长度、距离、体积、时间、面积、货币、重量等中的至少一种;倍率可以包括十、百、千、万、十万、百万、千万、亿等中的至少一种。
在本发明的另一个实施例中,语法分析模块930还可以配置为:扫描标记序列中的每个标记,当扫描到连续多个标记符合运算法则时,基于多个标记构成的子式构建语法子树;以及将语法子树代替多个标记在标记序列中的位置,并继续扫描标记序列中的其他标记,以继续根据运算法则扩展语法子树的节点,直至标记序列中的所有标记由各个节点代替,生成语法分析树。
在本发明的又一个实施例中,语法分析模块930还可以配置为:将子式中的数值标记作为其他类型标记的子节点来构建语法子树。
在本发明的再一个实施例中,语法分析模块930还可以配置为:响应于扫描到比较符标记,将比较符标记作为语法分析树的根节点,来构建语法分析树。
在本发明的一个实施例中,运算模块940还可以配置为:根据节点的类型,将节点的子节点执行与节点的类型相应的运算,以确定节点的运算结果。
在本发明的另一个实施例中,运算模块940还可以配置为:响应于语法分析树包含空白节点,针对除空白节点以外的其他节点执行运算,以确定对算式的待求解处的求解结果;或者响应于语法分析树不包含空白节点,针对语法分析树的根节点两侧的节点执行运算,并根据根节点的类型判断算式是否正确。
在本发明的又一个实施例中,运算模块940还可以配置为:响应于根节点为空白节点,针对语法分析树的根节点两侧的其他节点执行运算;或者响应于根节点的一侧仅包含空白节点,且根节点的另一侧仅包含其他节点,直接对根节点另一侧的其他节点执行运算;或者响应于根节点的至少一侧包含空白节点和除空白节点以外的其他节点,根据空白节点的类型执行运算。
在本发明的再一个实施例中,根据空白节点的类型执行运算,运算模块940可以配置为:响应于空白节点为数值类空白节点,对语法分析树进行等价变换,使得空白节点变换到根节点的一侧,且其他节点变换到根节点的另一侧,并对另一侧的其他节点执行运算;或者响应于空白节点为非数值类空白节点,基于其他节点对空白节点执行除数值以外的其他类型的匹配运算。
在本发明的一个实施例中,运算模块940还可以配置为:响应于针对根节点两侧的节点执行运算的运算结果符合根节点表示的运算关系,判定算式的解答正确;或者响应于针对根节点两侧的节点执行运算的运算结果不符合根节点表示的运算关系,判定算式的解答错误。
在本发明的另一个实施例中,还可以包括:提示模块,其可以配置用于响应于标记序列不符合运算法则,发出用于提示算式解析错误的提示信息。
本发明实施方式的装置在上文中已经结合方法进行了详细的描述和解释,这里将不再赘述。
示例性计算系统
在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图10对本发明示例性实施方式的由机器实施的用于批改算式的计算系统进行描述。
在本发明实施方式的第三方面中,提供了一种由机器实施的用于批改算式的设备,包括,至少一个处理器;存储器,其存储有程序指令,当程序指令由至少一个处理器执行时,使得设备执行根据本发明实施方式的第一方面中的任一项所述的方法。
图10示意性地示出了适于实现本发明实施方式的示例性计算系统1000的框图。如图10所示,计算系统1000可以包括根据本发明实施例的设备1100(虚线框示出)以及其外围设备,其中设备1100执行由机器实施的用于批改算式等操作,以实现前述结合图1-图8所述的本发明实施方式的方法。
如图10中所示,设备1100可以包括中央处理单元(CPU)1001,其可以是通用CPU、专用CPU或者其他信息处理以及程序运行的执行单元。进一步,设备1100还可以包括随机存取存储器(RAM)1002和只读存储器(ROM)1003,其中RAM 1002可以配置用于存储各类数据,包括算式的字符序列、标记序列等以及用于批改算式所需要的各种程序,ROM 1003可以配置成存储对于设备1100中各功能模块的初始化、基本输入/输出的驱动程序及引导操作系统所需的数据等。
进一步,设备1100还可以包括其他的硬件或组件,例如示出的硬盘控制器1005、键盘控制器1006、串行接口控制器1007、并行接口控制器1008、显示控制器1009等。可以理解的是,尽管在设备1100中示出了多种硬件或组件,但这里仅仅是示例性的而非限制性的,本领域技术人员可以根据实际需要增加或移除相应的硬件。
本发明实施方式的设备1100的上述CPU 1001、存取存储器1002、只读存储器1003、硬盘控制器1005、键盘控制器1006、串行接口控制器1007、并行接口控制器1008和显示控制器1009可以通过总线系统1004相互连接。在一个实施例中,通过该总线系统1004可以与外围设备实现数据交互。在另一个实施例中,通过该总线系统1004,CPU 1001可以控制设备1100中的其他硬件组件及其外围设备。
设备1100的外围设备可以包括例如图示中的硬盘1010、键盘1011、串行外部设备1012、并行外部设备1013和显示器1014。硬盘1010可以与硬盘控制器1005耦合,键盘1011可以与键盘控制器1006耦合,串行外部设备1012可以与串行接口控制器1007耦合,并行外部设备1013可以与并行接口控制器1008耦合,以及显示器1014可以与显示控制器1009耦合。应当理解,图10所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本发明实施方式可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”等。此外,在一些实施例中,本发明实施方式还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读介质中可以存储有由机器实施的用于批改算式的程序(或程序代码),当该程序由处理器来运行时,可以执行根据本发明实施方式的第一方面中的任一项所述的方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施方式操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应当理解,前文中的流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
通过上面对根据本发明实施方式的由机器实施的用于批改算式的技术方案及其多个实施例的描述,可以理解的是,本发明实施方式的方法可以通过对算式的字符序列进行标记和构建语法分析树,并对语法分析树执行运算来获得对算式的批改结果,这样的操作能够针对不同算式执行具有针对性的分析和运算,从而有利于提高批改结果的准确率。本发明实施方式的方法可以通过字符序列和标记序列对算式进行分析和转化,以便得到机器可识别的序列信息,从而实现构建语法分析树的目的,以及能够实现对包括普通等式、分式、竖式、脱式以及带单位算式等多种题型的算式进行批改的效果。在一些实施例中,本发明实施方式的方法可以通过对空白节点的设置,实现多种批改功能,例如除了对学生已完成题目正确性的判断之外,还支持对未完成题目的答案计算和方程类题型的求解等。在另一些实施例中,本发明实施方式的方法可以通过对语法分析树的等价变换,实现对根节点一侧或者两侧空白节点的求解,从而能够实现对一个或多个空白节点的求解。
应当注意,尽管在上文详细描述中提及了设备的若干模块或装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明实施方式的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (28)

1.一种由机器实施的用于批改算式的方法,包括:
识别包含算式的待检测图像,以得到用于表示所述算式的字符序列;
根据所述字符序列中的各个字符的类型,对所述字符序列进行标记,以生成所述算式的标记序列;
根据所述标记序列以及运算法则,构建所述算式的语法分析树,使得所述语法分析树中的一个节点表示所述标记序列中的一个标记;以及
响应于所述语法分析树包含空白节点,针对除所述空白节点以外的其他节点执行运算,以确定对所述算式的待求解处的求解结果,
其中,针对除所述空白节点以外的其他节点执行运算包括:
响应于所述语法分析树的根节点为空白节点,针对所述根节点两侧除空白节点以外的其他节点执行运算;
响应于所述根节点的一侧仅包含空白节点,且所述根节点的另一侧仅包含除空白节点以外的其他节点,直接对所述根节点另一侧的其他节点执行运算;
响应于所述语法分析树的根节点的至少一侧包含空白节点和除空白节点以外的其他节点,根据所述空白节点的类型执行运算;
其中,根据所述空白节点的类型执行运算包括:
响应于所述空白节点为数值类空白节点,对所述语法分析树进行等价变换,使得所述空白节点变换到所述根节点的一侧,且所述其他节点变换到所述根节点的另一侧,并对所述另一侧的所述其他节点执行运算;
响应于所述空白节点为非数值类空白节点,基于所述其他节点对所述空白节点执行除数值以外的其他类型的匹配运算。
2.根据权利要求1所述的方法,其中,在识别包含算式的待检测图像之前,所述方法还包括:
对所述待检测图像进行检测,以提取所述待检测图像中的单个算式的区域;以及
识别包含算式的待检测图像,以得到用于表示所述算式的字符序列包括:
识别所述单个算式的区域,以得到用于表示所述单个算式的字符序列。
3.根据权利要求1所述的方法,其中,对所述字符序列进行标记包括:
对所述字符序列进行预处理,以得到所述字符序列的标准化序列;以及
根据所述标准化序列中的各个字符的类型,对所述标准化序列进行标记。
4.根据权利要求3所述的方法,其中所述预处理包括如下中的至少一项:
删除所述字符序列中的多余字符;
确定所述字符序列中有歧义的单位的含义;以及
将所述字符序列中的带分数转化为整数与真分数相加或相减的形式。
5.根据权利要求1所述的方法,其中所述类型包括数值、操作符、比较符、单位、倍率、空白中的至少一种。
6.根据权利要求5所述的方法,其中所述数值包括整数、小数、分数中的至少一种;
所述操作符包括一元操作符和多元操作符中的至少一种,其中所述一元操作符包括乘方、开方中的至少一种,所述多元操作符包括正号、负号、加法、减法、乘法、除法中的至少一种;
所述比较符包括等号、约等号、大于号、大于等于号、小于号、小于等于号中的至少一种;
所述单位包括长度、距离、体积、时间、面积、货币、重量中的至少一种;
所述倍率包括十、百、千、万、十万、百万、千万、亿中的至少一种。
7.根据权利要求1-6任一所述的方法,其中,根据所述标记序列以及运算法则,构建所述算式的语法分析树包括:
扫描所述标记序列中的每个标记,当扫描到连续多个标记符合所述运算法则时,基于所述多个标记构成的子式构建语法子树;以及
将所述语法子树代替所述多个标记在所述标记序列中的位置,并继续扫描所述标记序列中的其他标记,以继续根据所述运算法则扩展所述语法子树的所述节点,直至所述标记序列中的所有标记由各个节点代替,生成所述语法分析树。
8.根据权利要求7所述的方法,其中,基于所述多个标记构成的子式构建语法子树包括:
将所述子式中的数值标记作为其他类型标记的子节点来构建所述语法子树。
9.根据权利要求7所述的方法,进一步包括:
响应于扫描到比较符标记,将所述比较符标记作为所述语法分析树的根节点,来构建所述语法分析树。
10.根据权利要求1-9任一所述的方法,进一步包括:
根据所述节点的类型,将所述节点的子节点执行与所述节点的类型相应的运算,以确定所述节点的运算结果。
11.根据权利要求1-10任一所述的方法,还包括:
响应于所述语法分析树不包含空白节点,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确。
12.根据权利要求11所述的方法,其中,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确包括:
响应于针对所述根节点两侧的所述节点执行运算的运算结果符合所述根节点表示的运算关系,判定所述算式的解答正确;或者
响应于针对所述根节点两侧的所述节点执行运算的运算结果不符合所述根节点表示的运算关系,判定所述算式的解答错误。
13.根据权利要求1所述的方法,还包括:
响应于所述标记序列不符合所述运算法则,发出用于提示所述算式解析错误的提示信息。
14.一种由机器实施的用于批改算式的装置,包括:
识别模块,其配置用于识别包含算式的待检测图像,以得到用于表示所述算式的字符序列;
词法分析模块,其配置用于根据所述字符序列中的各个字符的类型,对所述字符序列进行标记,以生成所述算式的标记序列;
语法分析模块,其配置用于根据所述标记序列以及运算法则,构建所述算式的语法分析树,使得所述语法分析树中的一个节点表示所述标记序列中的一个标记;以及
运算模块,其配置用于响应于所述语法分析树包含空白节点,针对除所述空白节点以外的其他节点执行运算,以确定对所述算式的待求解处的求解结果,其中运算模块在针对除所述空白节点以外的其他节点执行运算时还配置用于:
响应于所述语法分析树的根节点为空白节点,针对所述根节点两侧除空白节点以外的其他节点执行运算;
响应于所述根节点的一侧仅包含空白节点,且所述根节点的另一侧仅包含除空白节点以外的其他节点,直接对所述根节点另一侧的其他节点执行运算;
响应于所述语法分析树的根节点的至少一侧包含空白节点和除空白节点以外的其他节点,根据所述空白节点的类型执行运算;
其中所述运算模块在根据所述空白节点的类型执行运算时还配置用于:
响应于所述空白节点为数值类空白节点,对所述语法分析树进行等价变换,使得所述空白节点变换到所述根节点的一侧,且所述其他节点变换到所述根节点的另一侧,并对所述另一侧的所述其他节点执行运算;
响应于所述空白节点为非数值类空白节点,基于所述其他节点对所述空白节点执行除数值以外的其他类型的匹配运算。
15.根据权利要求14所述的装置,还包括:
图像检测模块,其配置用于对所述待检测图像进行检测,以提取所述待检测图像中的单个算式的区域;以及
所述识别模块还配置为:识别所述单个算式的区域,以得到用于表示所述单个算式的字符序列。
16.根据权利要求14所述的装置,其中,所述词法分析模块还配置为:
对所述字符序列进行预处理,以得到所述字符序列的标准化序列;以及
根据所述标准化序列中的各个字符的类型,对所述标准化序列进行标记。
17.根据权利要求16所述的装置,其中所述预处理包括如下中的至少一项:
删除所述字符序列中的多余字符;
确定所述字符序列中有歧义的单位的含义;以及
将所述字符序列中的带分数转化为整数与真分数相加或相减的形式。
18.根据权利要求14所述的装置,其中所述类型包括数值、操作符、比较符、单位、倍率、空白中的至少一种。
19.根据权利要求18所述的装置,其中所述数值包括整数、小数、分数中的至少一种;
所述操作符包括一元操作符和多元操作符中的至少一种,其中所述一元操作符包括乘方、开方中的至少一种,所述多元操作符包括正号、负号、加法、减法、乘法、除法中的至少一种;
所述比较符包括等号、约等号、大于号、大于等于号、小于号、小于等于号中的至少一种;
所述单位包括长度、距离、体积、时间、面积、货币、重量中的至少一种;
所述倍率包括十、百、千、万、十万、百万、千万、亿中的至少一种。
20.根据权利要求14-19任一所述的装置,其中所述语法分析模块还配置为:
扫描所述标记序列中的每个标记,当扫描到连续多个标记符合所述运算法则时,基于所述多个标记构成的子式构建语法子树;以及
将所述语法子树代替所述多个标记在所述标记序列中的位置,并继续扫描所述标记序列中的其他标记,以继续根据所述运算法则扩展所述语法子树的所述节点,直至所述标记序列中的所有标记由各个节点代替,生成所述语法分析树。
21.根据权利要求20所述的装置,其中所述语法分析模块还配置为:
将所述子式中的数值标记作为其他类型标记的子节点来构建所述语法子树。
22.根据权利要求20所述的装置,其中所述语法分析模块还配置为:
响应于扫描到比较符标记,将所述比较符标记作为所述语法分析树的根节点,来构建所述语法分析树。
23.根据权利要求14-22任一所述的装置,其中所述运算模块还配置为:
根据所述节点的类型,将所述节点的子节点执行与所述节点的类型相应的运算,以确定所述节点的运算结果。
24.根据权利要求14-23任一所述的装置,其中所述运算模块还配置为:
响应于所述语法分析树不包含空白节点,针对所述语法分析树的根节点两侧的所述节点执行运算,并根据所述根节点的类型判断所述算式是否正确。
25.根据权利要求24所述的装置,其中,所述运算模块还配置为:
响应于针对所述根节点两侧的所述节点执行运算的运算结果符合所述根节点表示的运算关系,判定所述算式的解答正确;或者
响应于针对所述根节点两侧的所述节点执行运算的运算结果不符合所述根节点表示的运算关系,判定所述算式的解答错误。
26.根据权利要求14所述的装置,还包括:
提示模块,其配置用于响应于所述标记序列不符合所述运算法则,发出用于提示所述算式解析错误的提示信息。
27.一种由机器实施的用于批改算式的设备,包括,
至少一个处理器;
存储器,其存储有程序指令,当所述程序指令由所述至少一个处理器执行时,使得所述设备执行根据权利要求1-13的任一项所述的方法。
28.一种计算机可读存储介质,其存储有由机器实施的用于批改算式的程序,当所述程序由处理器来运行时,执行根据权利要求1-13的任一项所述的方法。
CN202110185359.0A 2021-02-10 2021-02-10 由机器实施的用于批改算式的方法及相关产品 Active CN112906559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110185359.0A CN112906559B (zh) 2021-02-10 2021-02-10 由机器实施的用于批改算式的方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110185359.0A CN112906559B (zh) 2021-02-10 2021-02-10 由机器实施的用于批改算式的方法及相关产品

Publications (2)

Publication Number Publication Date
CN112906559A CN112906559A (zh) 2021-06-04
CN112906559B true CN112906559B (zh) 2022-03-18

Family

ID=76123596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110185359.0A Active CN112906559B (zh) 2021-02-10 2021-02-10 由机器实施的用于批改算式的方法及相关产品

Country Status (1)

Country Link
CN (1) CN112906559B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929767B2 (en) * 2004-09-22 2011-04-19 Microsoft Corporation Analyzing subordinate sub-expressions in expression recognition
CN102460476A (zh) * 2009-04-29 2012-05-16 诺基亚公司 用于书写数学表达式分析的方法、装置和计算机程序产品
CN104268540A (zh) * 2014-09-05 2015-01-07 宇龙计算机通信科技(深圳)有限公司 一种基于图像的算式处理方法、装置及一种终端
CN108537183A (zh) * 2018-04-13 2018-09-14 拉扎斯网络科技(上海)有限公司 公式自动识别方法、装置、电子设备及存储介质
CN109886851A (zh) * 2019-02-22 2019-06-14 科大讯飞股份有限公司 数学题批改方法及装置
CN110490056A (zh) * 2019-07-08 2019-11-22 北京三快在线科技有限公司 对包含算式的图像进行处理的方法和装置
CN110751137A (zh) * 2019-09-04 2020-02-04 中山大学 一种自动求解数学题的方法和系统
KR102060818B1 (ko) * 2019-04-12 2020-02-17 최유준 수기 텍스트 및 수학식의 디지털 출력 방법
CN110837793A (zh) * 2019-11-04 2020-02-25 骆研 一种智能识别手写数学公式批阅系统
US10592737B2 (en) * 2015-04-23 2020-03-17 Fujitsu Limited Mathematical formula learner support system
CN111401353A (zh) * 2020-03-17 2020-07-10 重庆邮电大学 一种数学公式的识别方法、装置及设备
CN111986117A (zh) * 2020-08-31 2020-11-24 南京大学 一种算术作业批改系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1177287C (zh) * 2001-04-18 2004-11-24 无敌科技(西安)有限公司 应用于掌上型浏览装置的自动格式排版方法
CN103440239B (zh) * 2013-05-14 2016-08-10 百度在线网络技术(北京)有限公司 一种基于功能区域识别的网页切分方法及装置
CN105701253B (zh) * 2016-03-04 2019-03-26 南京大学 中文自然语言问句语义化的知识库自动问答方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929767B2 (en) * 2004-09-22 2011-04-19 Microsoft Corporation Analyzing subordinate sub-expressions in expression recognition
CN102460476A (zh) * 2009-04-29 2012-05-16 诺基亚公司 用于书写数学表达式分析的方法、装置和计算机程序产品
CN104268540A (zh) * 2014-09-05 2015-01-07 宇龙计算机通信科技(深圳)有限公司 一种基于图像的算式处理方法、装置及一种终端
US10592737B2 (en) * 2015-04-23 2020-03-17 Fujitsu Limited Mathematical formula learner support system
CN108537183A (zh) * 2018-04-13 2018-09-14 拉扎斯网络科技(上海)有限公司 公式自动识别方法、装置、电子设备及存储介质
CN109886851A (zh) * 2019-02-22 2019-06-14 科大讯飞股份有限公司 数学题批改方法及装置
KR102060818B1 (ko) * 2019-04-12 2020-02-17 최유준 수기 텍스트 및 수학식의 디지털 출력 방법
CN110490056A (zh) * 2019-07-08 2019-11-22 北京三快在线科技有限公司 对包含算式的图像进行处理的方法和装置
CN110751137A (zh) * 2019-09-04 2020-02-04 中山大学 一种自动求解数学题的方法和系统
CN110837793A (zh) * 2019-11-04 2020-02-25 骆研 一种智能识别手写数学公式批阅系统
CN111401353A (zh) * 2020-03-17 2020-07-10 重庆邮电大学 一种数学公式的识别方法、装置及设备
CN111986117A (zh) * 2020-08-31 2020-11-24 南京大学 一种算术作业批改系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Solving General ArithmeticWord Problems;Subhro Roy 等;《arXiv:1608.01413v2 [cs.CL]》;20160820;第1-10页 *

Also Published As

Publication number Publication date
CN112906559A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
US11055327B2 (en) Unstructured data parsing for structured information
CN111309915A (zh) 联合学习的自然语言训练方法、系统、设备及存储介质
CN112070138B (zh) 多标签混合分类模型的构建方法、新闻分类方法及系统
CN113591457A (zh) 文本纠错方法、装置、设备及存储介质
CN111597356B (zh) 智能化教育知识图谱构建系统与方法
CN111292751B (zh) 语义解析方法及装置、语音交互方法及装置、电子设备
CN110555205B (zh) 否定语义识别方法及装置、电子设备、存储介质
CN113407675A (zh) 教育题目自动批改方法、装置和电子设备
CN115034200A (zh) 图纸信息提取方法、装置、电子设备及存储介质
CN111667923B (zh) 数据匹配方法、装置、计算机可读介质及电子设备
CN111160188A (zh) 金融票据识别方法、装置、设备及存储介质
CN112269872A (zh) 简历解析方法、装置、电子设备及计算机存储介质
CN114580424A (zh) 一种用于法律文书的命名实体识别的标注方法和装置
CN112906559B (zh) 由机器实施的用于批改算式的方法及相关产品
CN116992824A (zh) 一种将LaTex公式转为自然语言的方法及系统
CN115130437A (zh) 一种文档智能填写方法、装置及存储介质
CN110851572A (zh) 会话标注方法、装置、存储介质及电子设备
CN114021561A (zh) 一种数学公式相似度计算方法及系统
CN114757181A (zh) 基于先验知识端到端的事件抽取模型的训练、事件抽取方法及装置
Wijesinghe et al. Computer representation of Venn and Euler diagrams
CN112989820A (zh) 法律文书定位方法、装置、设备及存储介质
CN113342977A (zh) 发票图像分类方法、装置、设备及存储介质
CN116308635B (zh) 塑化产业报价结构化方法、装置、设备及存储介质
Alabbas et al. Dependency tree matching with extended tree edit distance with subtrees for textual entailment
CN111753555B (zh) 一种基于MathML的数学公式到盲文的翻译方法及系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221123

Address after: 310052 room 509, building 3, No. 399, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Netease Youdao (Hangzhou) Intelligent Technology Co.,Ltd.

Address before: 100094 1st floor, block a, building 7, West Zhongguancun Software Park, yard 10, northwest Wangdong Road, Haidian District, Beijing

Patentee before: NETEASE YOUDAO INFORMATION TECHNOLOGY (BEIJING) Co.,Ltd.