CN110633474B - 一种数学算式识别方法、装置、设备及可读存储介质 - Google Patents
一种数学算式识别方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110633474B CN110633474B CN201910916522.9A CN201910916522A CN110633474B CN 110633474 B CN110633474 B CN 110633474B CN 201910916522 A CN201910916522 A CN 201910916522A CN 110633474 B CN110633474 B CN 110633474B
- Authority
- CN
- China
- Prior art keywords
- named entity
- word
- symbol
- target
- named
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本申请提供了一种数学算式识别方法、装置、设备及可读存储介质,其中,方法包括:获取采用自然语言描述目标数学算式的目标句子;对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,目标句子中所包含的命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。本申请根据目标句子的命名实体识别结果,能够准确地将用自然语言描述的数学算式识别为符号化的数学算式。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种数学算式识别方法、装置、设备及可读存储介质。
背景技术
在某些应用场景中,需要将用自然语言描述的数学算式转换为符号化的目标数学算式,比如,人工智能领域的聊天机器人,对于聊天机器人而言,数学计算通常是其应具备的技能,聊天机器人获得的输入数据通常是用户用自然语言描述的数学算式,而用自然语言描述的数学算式是其无法理解的,这就需要将用自然语言描述的数学算式转换为机器可以理解的符号化的数学算式。
发明内容
有鉴于此,本申请提供了一种数学算式识别方法,用以将用自然语言描述的数学算式识别为符号化的数学算式,其技术方案如下:
一种数学算式识别方法,包括:
获取目标句子,其中,目标句子为采用自然语言描述目标数学算式的句子;
对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,目标句子中所包含的命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
优选地,对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,包括:
将目标句子输入预先建立的命名实体识别模型,获得目标句子中所包含的命名实体以及每个命名实体的实体类型;
其中,命名实体识别模型采用标注有命名实体以及实体类型的训练样本训练得到,训练样本为采用自然语言描述数学算式的句子。
优选地,根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式,包括:
对目标句子进行分词,获得分词结果;
通过目标句子的命名实体识别结果,对分词结果进行修正,获得有序词序列;
将有序词序列中为命名实体的各个词转换为符号,获得有序符号序列;
根据有序词序列、有序符号序列以及目标句子的命名实体识别结果,确定符号化的目标数学算式。
优选地,将有序词序列中为命名实体的各个词转换为符号,获得有序符号序列,包括:
依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词转换为其描述的数字;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词转换为其描述的运算符号;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将当前遍历到的词转换为其描述的用于求取子式运算结果的符号。
优选地,根据有序词序列、有序符号序列以及目标句子的命名实体识别结果,确定符号化的目标数学算式,包括:
依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号添加至当前算式的末尾;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则根据当前遍历到的词对应的符号为当前算式添加括号。
优选地,根据当前遍历到的词对应的符号为当前算式添加括号,包括:
若当前遍历到的词对应的符号为等号,则将当前算式放入括号中;
若当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式末尾添加右括号,并从后向前查找当前算式中的第一目标符号,根据第一目标符号的前向相邻符号确定第二目标符号,在第二目标符号的左侧添加左括号;
其中,第一目标符号为当前算式中、与当前遍历到的词对应的符号中的运算符号相同的第一个运算符号;若第一目标符号的前向相邻符号为数字,则第二目标符号为该数字,若第一目标符号的前向相邻符号为右括号,则第二目标符号为该右括号对应的左括号。
一种数学算式识别装置,包括:获取模块、识别模块和转换模块;
获取模块,用于获取目标句子,其中,目标句子为采用自然语言描述目标数学算式的句子;
识别模块,用于对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,目标句子中所包含的命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
转换模块,用于根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
优选地,识别模块,具体用于将目标句子输入预先建立的命名实体识别模型,获得目标句子中所包含的命名实体以及每个命名实体的实体类型;
其中,命名实体识别模型采用标注有命名实体以及实体类型的训练样本训练得到,训练样本为采用自然语言描述数学算式的句子。
优选地,转换模块包括:分词单元、分词结果修正单元、转换单元和确定单元;
分词单元,用于对目标句子进行分词,获得分词结果;
分词结果修正单元,用于通过目标句子的命名实体识别结果,对分词结果进行修正,获得有序词序列;
转换单元,用于将有序词序列中为命名实体的各个词转换为符号,获得有序符号序列;
确定单元,用于根据有序词序列、有序符号序列以及目标句子的命名实体识别结果,确定符号化的目标数学算式。
优选地,转换单元包括:第一遍历单元、第一转换单元、第二转换单元和第三转换单元;
第一遍历单元,用于依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则执行第一转换单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则执行第二转换单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则执行第三转换单元;
第一转换单元,用于将当前遍历到的词转换为其描述的数字;
第二转换单元,用于将当前遍历到的词转换为其描述的运算符号;
第三转换单元,用于将当前遍历到的词转换为其描述的用于求取子式运算结果的符号。
优选地,确定单元包括:第二遍历单元、数字添加单元、运算符号添加单元和括号添加单元;
第二遍历单元,用于依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则执行数字添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则执行运算符号添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则执行括号添加单元;
数字添加单元,用于将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;
运算符号添加单元,用于将当前遍历到的词对应的运算符号添加至当前算式的末尾;
括号添加单元,用于根据当前遍历到的词对应的符号为当前算式添加括号。
优选地,括号添加单元包括:第一括号添加子单元和第二括号添加子单元;
第一括号添加子单元,用于若当前遍历到的词对应的符号为等号,则将当前算式放入括号中;
第二括号添加子单元,用于若当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式末尾添加右括号,并从后向前查找当前算式中的第一目标符号,根据第一目标符号的前向相邻符号确定第二目标符号,在第二目标符号的左侧添加左括号;
其中,第一目标符号为当前算式中、与当前遍历到的词对应的符号中的运算符号相同的第一个运算符号;若第一目标符号的前向相邻符号为数字,则第二目标符号为该数字,若第一目标符号的前向相邻符号为右括号,则第二目标符号为该右括号对应的左括号。
一种数学算式识别设备,包括存储器和处理器;
存储器,用于存储程序;
处理器,用于执行程序,实现如上任一项的数学算式识别方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时,实现如上任一项的数学算式识别方法的各个步骤。
经由上述方案可知,本申请提供的数学算式识别方法,首先对用于描述目标数学算式的目标句子进行命名实体识别,可以识别出用于描述数字、运算符以及求取子式运算结果的命名实体,进而可以根据命名实体及其对应的实体类型,确定目标句子所描述的目标数字算式。本申请提供的数学算式识别方法能够根据目标句子的命名实体识别结果准确地将用自然语言描述的数学算式识别为符号化的目标数学算式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数学算式识别方法流程图;
图2为本申请实施例提供的一种数学算式识别装置结构示意图;
图3为本申请实施例提供的一种数学算式识别设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人在实现本案的过程中发现,将自然语言描述的数学算式转换为符号化的目标数学算式的难点在于:如何确定用户所表达的运算顺序,基于此,本案发明人进行研究,起初的思路是:通过规则方法确定用户所表达的运算顺序。
规则方法的实现原理为,通过人工经验或分析相关语料中的规律,总结归纳出所有可能的描述算式的自然语言句式,以及每种句式所对应的符号化计算式,构成规则集合,其中的一条规则就是一个句式与符号化算式的对应关系,比如,定义规则“<number1>[加|减]<number2>的[和|差][乘|除]<number3>”对应的算式为“(<number1>[+|-]<number2>)[*|/]<number3>”,即优先计算数字1和数字2的加或减。当检测到一个自然语言算式“三加二的和乘五等于几”满足该规则,则输出其对应的符号化算式“(3+2)*5=”。
可以理解的是,无论是依靠人工经验还是从相关语料中总结的规律都很难穷举所有可能出现的用自然语言描述的自然语言句式,这使得若检测到一个用自然语言描述的句式不满足规则集合中任一规则,可能导致无法识别出符号化数学算式,或者识别出错误的符号化数学算式。
鉴于上述思路存在的问题,本案发明人进一步进行研究,最终提出了一种数学算式识别方法,该方法能够准确地将用自然语言描述的数学算式识别为符号化的目标数学算式,该方法可应用于具有数据处理能力的终端,也可应用于服务器。其中,终端可以但不限定为台式机、移动终端(例如智能手机)、ipad等,服务器可以但不限定为一台服务器、若干台服务器组成的服务器集群、云计算服务中心等。接下来通过下述实施例对本申请提供的数学算式识别方法进行介绍。
请参阅图1,示出了本申请实施例提供的数学算式识别方法的流程示意图,该方法可以包括:
步骤S101、获取目标句子。
其中,目标句子为采用自然语言描述目标数学算式的句子。在实际应用中,目标句子可以为用户通过输入设备输入的文本,也可以为对用户语音进行转写得到的文本。
步骤S102、对目标句子进行命名实体识别,获得目标句子的命名实体识别结果。
其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,目标句子中所包含的命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容。
命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、组织机构名、日期时间、专有名词等。命名实体识别(Named Entity Recognition,NER),即给出目标句子,可以按照业务需求识别出目标句子中的人名、地名、数字、运算符等表征具体类型的实体,这里表征具体类型的实体可以自定义。本申请实施例中,命名实体识别至少用于识别出用于描述数字、运算符以及求取子式运算结果的词。
基于上述介绍,对目标句子进行命名实体识别,可以得到目标句子中所包含的命名实体,以及每个命名实体对应的实体类型。例如,若目标句子为“三加五乘八的和乘四减六的差积是多少”,那么识别出的多个命名实体为“三”、“加”、“五”、“乘”、“八”、“的和”、“乘”、“四”、“减”、“六”、“的差”、“积”,其中,命名实体“三”、“五”、“八”、“四”、“六”为用于描述数字的词,其对应的实体类型为数字;命名实体“加”、“乘”、“减”为用于描述运算符号的词,其对应的实体类型为运算符号;命名实体“的和”、“的差”、“积”为用于描述求取子式运算结果的词,其对应的实体类型为求取子式运算结果。
在一可选实施例中,可以根据命名实体对应的实体类型,为识别出的各个命名实体添加标签,例如若一个命名实体对应的实体类型为数字,那么为该命名实体添加标签“N”;若一个命名实体对应的实体类型为运算符号,那么为该命名实体添加标签“OP”;若一个命名实体对应的实体类型为求取子式运算结果,那么为该命名实体添加标签“E”。
继上文介绍,若目标句子中的词不是命名实体,也可以为该非命名实体添加标签,例如标签为“O”。那么,对上述目标句子“三加五乘八的和乘四减六的差积是多少”进行命名实体识别,得到的命名实体识别结果可以为“三/N加/OP五/N乘/OP八/N的和/E乘/OP四/N减/OP六/N的差/E积/E是多少/O”。
需要说明的是,上述为各命名实体添加的标签仅为示例,除此之外,各命名实体还可以对应其他标签,例如若一个命名实体对应的实体类型为数字,那么为该命名实体添加的标签还可以是“NUM”。
步骤S103、根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
可选的,结合上文描述,根据命名实体识别结果,可以确定目标句子中各命名实体及其对应的实体类型,那么在此基础上,可以将各个命名实体转换为对应的符号,以得到有序符号序列,进而根据用于描述求取子式运算结果的命名实体确定有序的符号序列中符号的运算顺序,以将目标句子转换为符号化的目标数学算式。
本申请提供的数学算式识别方法,对目标句子进行命名实体识别,可以识别出用于描述数字、运算符以及求取子式运算结果的命名实体,进而可以根据命名实体及其对应的实体类型,确定目标句子所描述的目标数字算式,其中,可以通过用于描述求取子式运算结果的命名实体,确定数学算式的运算顺序,从而准确地将用自然语言描述的数学算式识别为符号化的目标数学算式。
以下对上述实施例中的“步骤S102,对目标句子进行命名实体识别,获得目标句子的命名实体识别结果”进行说明。
可选的,可以通过命名实体识别模型来对目标句子进行命名实体识别,该过程具体可以如下:
将目标句子输入预先建立的命名实体识别模型,获得目标句子中所包含的命名实体以及每个命名实体的实体类型。其中,命名实体识别模型采用标注有命名实体以及实体类型的训练样本训练得到,训练样本为采用自然语言描述数学算式的句子。
可选的,采用训练样本训练命名实体识别模型的方式为:将所有的训练样本划分为三部分,第一部分组成训练集,第二部分组成开发集,第三部分组成测试集,其中,训练集用于训练命名实体识别模型;开发集用于调整训练完成的命名实体识别模型的参数,以使得命名实体识别模型识别命名实体时可以更准确;测试集用于测试命名实体识别模型识别命名实体的效果,从而若识别错误率高时可以继续通过训练集训练该命名实体识别模型。除此之外,也可以将所有的训练样本划分为两部分,一部分组成训练集,另一部分组成开发测试集,其中,训练集用于训练命名实体识别模型;开发测试集用于测试训练得到的命名实体识别模型的识别效果。
可选的,预先建立的命名实体识别模型可以包括但不限于以下模型:双向长短期记忆网络-条件随机场(Bi-directional Long Short-Term Memory Conditional RandomField,BiLSTM-CRF)模型、条件随机场(Conditional Random Field,CRF)模型、双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM)模型。其中,BiLSTM-CRF模型、CRF模型以及BiLSTM模型均为机器学习模型,其输入均为序列,上述模型均可以为输入的序列中的每个元素打一个标签,并将打完标签后的标签序列输出。
结合上文描述,若将目标句子输入至该预先建立的命名实体识别模型,那么可以获得模型输出的、目标句子的命名实体识别结果。目标句子的命名实体识别结果可通过一标签序列表征,通过该标签序列可获知目标句子中哪个词是命名实体,以及是何种类型的命名实体。
示例性的,命名实体识别模型为数字类型的命名实体打的标签为“N”,为运算符类型的命名实体打的标签为“OP”,为求取子式运算结果类型的命名实体打的标签为“E”,为非命名实体打的标签为“O”,若输入命名实体识别模型的目标句子为“一加二再乘三再加四等于几”,则该命名实体识别模型输出的标签序列为“N OP N E OP N E OP N O”。
接下来对上述实施例中的“步骤S103,根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式”的实现过程进行说明。
可选的,可以根据命名实体识别结果,将各命名实体转换为对应的符号,进而根据各命名实体、各命名实体对应的实体类型以及各命名实体对应的符号确定符号化的目标数学算式,该过程具体可以包括:
步骤S1031、对目标句子进行分词,获得分词结果。
可选的,可以通过分词工具对目标句子进行分词,得到分词结果。例如,若目标句子为“一加二再乘三再加四等于几”,那么获得的分词结果为“一加二再乘三再加四等于几”。
本步骤中的分词工具为本领域技术人员所熟知的工具,例如,分词工具可以为NLTK工具等,这里不再对分词工具进行详细介绍。
步骤S1032、通过目标句子的命名实体识别结果,对分词结果进行修正,获得有序词序列。
根据命名实体识别结果可获知目标句子中哪些词是命名实体,哪些词是非命名实体。
应当理解,通过分词工具对目标句子进行分词,可能出现将一个命名实体拆分为若干个词的情况,例如,若目标句子为“三十八加五”,那么分词结果可能为“三十八加五”。
若通过分词工具将命名实体拆分开,那么本步骤可以将其重新合并。可选的,可以通过命名实体识别结果修正分词结果,以将命名实体进行重新合并,并将合并后的分词结果作为有序词序列。
可以理解的是,命名实体识别结果中可能出现连续两个或以上命名实体均为用于描述数字的词,该连续两个或以上用于描述数字的词在很大概率上可以组成一个描述数字的词。基于此,在一可选实施例中,可将连续两个或以上描述数字的词合并,判断合并结果是否为一个描述数字的词,若是,则进一步将该词与其前后的命名实体,根据其类型或内容进行数学运算,若符合数学运算规则,则确定对分词结果进行修正。
例如,目标句子为“三十八加五”,命名实体识别结果为“三/N十/N八/N加/OP五/N”,通过分词工具对目标句子“三十八加五”进行分词得到的分词结果为“三十八加五”,根据命名实体识别结果发现,“三”、“十”、“八”为连续的三个用于描述数字的词,但是分词结果将其分为“三十”和“八”两个词,那么可以将“三”、“十”、“八”这三个描述数字的词合并为一个用于描述数字的词“三十八”,由于“38+5”符合数学运算规则,因此,确定需要对分词结果“三十八加五”进行修正,修正后为“三十八加五”。
步骤S1033、将有序词序列中为命名实体的各个词转换为符号,获得有序符号序列。
具体的,将有序词序列中为命名实体的各个词转换为符号的过程可以包括:依次遍历有序词序列中的各个词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词转换为其描述的数字;若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词转换为其描述的运算符号;若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将当前遍历到的词转换为其描述的用于求取子式运算结果的符号。
举例说明上述过程:假设目标句子为“三加五乘八的和乘四减六的差积是多少”,命名实体识别结果为“三/N加/OP五/O乘/OP八/N的和/E乘/OP四/N减/OP六/N的差/E积/E是多少/O”,根据命名实体识别结果对目标句子进行分词得到有序词序列“三加五乘八的和乘四减六的差积是多少”,其中,“三”、“加”、“五”、“乘”、“八”、“的和”、“乘”、“四”、“减”、“六”、“的差”、“积”为命名实体。那么本步骤的具体实现步骤如下:
步骤1:遍历的第一个命名实体为“三”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将其转换为数字“3”;
步骤2:遍历的第二个命名实体为“加”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将其转换为运算符“+”;
步骤3:遍历的第三个命名实体为“五”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将其转换为数字“5”;
步骤4:遍历的第四个命名实体为“乘”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将其转换为运算符“×”;
步骤5:遍历的第五个命名实体为“八”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将其转换为数字“8”;
步骤6:遍历的第六个命名实体为“的和”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将其转换为用于求取子式运算结果的符号,例如“=+”;
步骤7:遍历的第七个命名实体为“乘”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将其转换为运算符“×”;
步骤8:遍历的第八个命名实体为“四”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将其转换为数字“4”;
步骤9:遍历的第九个命名实体为“减”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将其转换为运算符“–”;
步骤10:遍历的第十个命名实体为“六”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将其转换为数字“6”;
步骤11:遍历的第十一个命名实体为“的差”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将其转换为用于求取子式运算结果的符号,例如“=–”;
步骤12:遍历的第十二个命名实体为“积”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将其转换为用于求取子式运算结果的符号,例如“=×”。
综上,得到的有序符号序列为“3+5×8=+×4–6=–=×”。
需要说明的是,上述转换得到的各个符号仅为示例,例如用于求取子式运算结果的符号还可以为“#”,本申请对此不做具体限定。
还需要说明的是,获取有序符号序列的过程也可以不采用遍历的方式,例如先转换中间的命名实体,再转换两边的命名实体。
步骤S1033、根据有序词序列、有序符号序列以及目标句子的命名实体识别结果,确定符号化的目标数学算式。
可选的,可以依次遍历有序词序列中的各个词,从而根据该词以及目标句子的命名实体识别结果,将有序符号序列中的各个符号依次转换以得到符号化的目标数学算式。
可选的,在遍历有序词序列中的各个词时,若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号添加至当前算式的末尾;若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则根据当前遍历到的词对应的符号为当前算式添加括号。
作为另一可选实施例,上述“根据当前遍历到的词对应的符号为当前算式添加括号”的过程具体可以包括:
若当前遍历到的词对应的符号为等号,则将当前算式放入括号中;
若当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式末尾添加右括号,并从后向前查找当前算式中的第一目标符号,根据第一目标符号的前向相邻符号确定第二目标符号,在第二目标符号的左侧添加左括号。
其中,第一目标符号为当前算式中、与当前遍历到的词对应的符号中的运算符号相同的第一个运算符号;若第一目标符号的前向相邻符号为数字,则第二目标符号为该数字,若第一目标符号的前向相邻符号为右括号,则第二目标符号为该右括号对应的左括号。
示例性的,当前遍历的命名实体为“再”,该命名实体对应的符号为“=”,假设当前算式为“3+5×8”,那么可以将当前算式放入括号中,即遍历完该命名实体“再”后,当前算式变为“(3+5×8)”。
示例性的,当前遍历的命名实体为“的和”,该命名实体对应的符号为“=+”,假设当前算式为“5×1+2”,那么可以在当前算式末尾添加右括号,得到“5×1+2)”,并从后向前查找当前算式中的第一个“+”,第一个“+”的前向相邻符号为数字“1”,在数字“1”的左侧添加左括号,得到“5×(1+2)”。
示例性的,当前遍历的命名实体为“的差”,该命名实体对应的符号为“=–”,假设当前算式为“(8–5)–1”,那么可以在当前算式末尾添加右括号,得到“(8–5)–1)”,并从后向前查找当前算式中的第一个“–”,第一个“–”的前向相邻符号为“)”则在该“)”对应的“(”的左侧添加左括号,得到“((8–5)–1)”。
接下来,本申请给出一个具体的例子以详细说明上述转换为符号化的目标数学算式的过程。
假设目标句子为“三加五乘八的和乘四减六的差积是多少”,命名实体识别结果为“三/N加/OP五/N乘/OP八/N的和/E乘/OP四/N减/OP六/N的差/E积/E是多少/O”。根据命名实体识别结果对目标句子进行分词,获得的有序词序列为“三加五乘八的和乘四减六的差积是多少”,然后将有序词序列中为命名实体的词转换为对应的符号,获得有序符号序列“3+5×8=+×4–6=–=×”,然后执行如下步骤:
步骤1、遍历第一个命名实体“三”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字“3”添加至当前算式的末尾,由于“三”为遍历的第一个命名实体,因此,这里不存在当前算式,遍历完“三”后,当前算式为“3”;
步骤2、遍历第二个命名实体“加”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号“+”添加至当前算式“3”的末尾;遍历完“加”后,当前算式变为“3+”;
步骤3、遍历第三个命名实体“五”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字“5”添加至当前算式“3+”的末尾;遍历完“五”后,当前算式变为“3+5”;
步骤4、遍历第四个命名实体“乘”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号“×”添加至当前算式“3+5”的末尾;遍历完“乘”后,当前算式变为“3+5×”;
步骤5、遍历第五个命名实体“八”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字“8”添加至当前算式“3+5×”的末尾;遍历完“八”后,当前算式变为“3+5×8”;
步骤6、遍历第六个命名实体“的和”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,且当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式“3+5×8”末尾添加右括号,并从后向前查找当前算式中的第一个“+”,第一个“+”的前向相邻符号为数字“3”,在数字“3”的左侧添加左括号;遍历完“的和”后,当前算式变为“(3+5×8)”;
步骤7、遍历第七个命名实体“乘”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号“×”添加至当前算式“(3+5×8)”的末尾;遍历完“乘”后,当前算式变为“(3+5×8)×”;
步骤8、遍历第八个命名实体“四”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字“4”添加至当前算式“(3+5×8)×”的末尾;遍历完“四”后,当前算式变为“(3+5×8)×4”;
步骤9、遍历第九个命名实体“减”,该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号“–”添加至当前算式“(3+5×8)×4”的末尾;遍历完“减”后,当前算式变为“(3+5×8)×4–”;
步骤10、遍历第十个命名实体“六”,该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字“6”添加至当前算式“(3+5×8)×4–”的末尾;遍历完“四”后,当前算式变为“(3+5×8)×4–6”;
步骤11、遍历第十一个命名实体“的差”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,且当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式“(3+5×8)×4–6”末尾添加右括号,并从后向前查找当前算式中的第一个“–”,第一个“–”的前向相邻符号为数字“4”,在数字“4”的左侧添加左括号;遍历完“的差”后,当前算式变为“(3+5×8)×(4–6)”;
步骤12、遍历第十二个命名实体“积”,该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,且当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式“(3+5×8)×(4–6)”末尾添加右括号,并从后向前查找当前算式中的第一个“×”,第一个“×”的前向相邻符号为“)”,在该“)”对应的“(”的左侧添加左括号;遍历完“积”后,当前算式变为“((3+5×8)×(4–6))”。
综上,得到的符号化的目标数学算式为“((3+5×8)×(4–6))”。
可选的,在每遍历完一个命名实体后,检查当前算式中是否存在多余的括号,若存在,则将多余的括号删除。可选的,可依据括号外运算符的数学优先级与括号内最外层运算符的数学优先级确定括号是否多余,若括号外运算符的数学优先级低于括号内最外层运算符的数学优先级,则确定括号多余。
示例性的,当前算式为“(5×8)+”,由于括号外侧的“+”的数学优先级低于括号内最外层运算符“×”的数学优先级,则该括号多余,可以将其删除。示例性的,当前算式为“(3+5×8)×”,由于括号外侧的“×”的数学优先级高于括号内最外层运算符“+”的数学优先级,则该括号不多余。
需要说明的是,若括号外侧没有运算符,且还有未遍历的命名实体,则确定括号暂时不多余,比如,当前算式为“(5×8)”,则该括号暂时不多余。若括号外侧没有运算符,且已遍历完成,则该括号多余。
本申请实施例还提供了一种数学算式识别装置,下面对本申请实施例提供的数学算式识别装置进行描述,下文描述的数学算式识别装置与上文描述的数学算式识别方法可相互对应参照。
请参阅图2,示出了本申请实施例提供的数学算式识别装置的结构示意图,如图2所示,该数学算式识别装置可以包括:获取模块201、识别模块202和转换模块203。
获取模块201,用于获取目标句子。
其中,目标句子为采用自然语言描述目标数学算式的句子。
识别模块202,用于对目标句子进行命名实体识别,获得目标句子的命名实体识别结果。
其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容。
转换模块203,用于根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
本申请提供的数学算式识别装置,首先对用于描述目标数学算式的目标句子进行命名实体识别,可以识别出用于描述数字、运算符以及求取子式运算结果的命名实体,进而可以根据命名实体及其对应的实体类型,确定目标句子所描述的目标数字算式。本申请提供的数学算式识别装置能够根据目标句子的命名实体识别结果准确地将用自然语言描述的数学算式识别为符号化的目标数学算式。
在一种可能的实现方式中,上述识别模块,具体用于将目标句子输入预先建立的命名实体识别模型,获得目标句子中所包含的命名实体以及每个命名实体的实体类型。
其中,命名实体识别模型采用标注有命名实体以及实体类型的训练样本训练得到,训练样本为采用自然语言描述数学算式的句子。
在一种可能的实现方式中,上述转换模块可以包括:分词单元、分词结果修正单元、转换单元和确定单元。
分词单元,用于对目标句子进行分词,获得分词结果;
分词结果修正单元,用于通过目标句子的命名实体识别结果,对分词结果进行修正,获得有序词序列。
转换单元,用于将有序词序列中为命名实体的各个词转换为符号,获得有序符号序列。
确定单元,用于根据有序词序列、有序符号序列以及目标句子的命名实体识别结果,确定符号化的目标数学算式。
在一种可能的实现方式中,上述转换单元可以包括:第一遍历单元、第一转换单元、第二转换单元和第三转换单元。
第一遍历单元,用于依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则执行第一转换单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则执行第二转换单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则执行第三转换单元;
第一转换单元,用于将当前遍历到的词转换为其描述的数字;
第二转换单元,用于将当前遍历到的词转换为其描述的运算符号;
第三转换单元,用于将当前遍历到的词转换为其描述的用于求取子式运算结果的符号。
在一种可能的实现方式中,上述确定单元可以包括:第二遍历单元、数字添加单元、运算符号添加单元和括号添加单元。
第二遍历单元,用于依次遍历有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则执行数字添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则执行运算符号添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则执行括号添加单元;
数字添加单元,用于将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;
运算符号添加单元,用于将当前遍历到的词对应的运算符号添加至当前算式的末尾;
括号添加单元,用于根据当前遍历到的词对应的符号为当前算式添加括号。
在一种可能的实现方式中,上述括号添加单元可以包括:第一括号添加子单元和第二括号添加子单元。
第一括号添加子单元,用于若当前遍历到的词对应的符号为等号,则将当前算式放入括号中。
第二括号添加子单元,用于若当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式末尾添加右括号,并从后向前查找当前算式中的第一目标符号,根据第一目标符号的前向相邻符号确定第二目标符号,在第二目标符号的左侧添加左括号。
其中,第一目标符号为当前算式中、与当前遍历到的词对应的符号中的运算符号相同的第一个运算符号;若第一目标符号的前向相邻符号为数字,则第二目标符号为该数字,若第一目标符号的前向相邻符号为右括号,则第二目标符号为该右括号对应的左括号。
本申请实施例还提供了一种数学算式识别设备,请参阅图3,示出了该数学算式识别设备的结构示意图,该数学算式识别设备可以包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个通信总线304;
在本申请实施例中,处理器301、通信接口302、存储器303、通信总线304的数量为至少一个,且处理器301、通信接口302、存储器303通过通信总线304完成相互间的通信;
处理器301可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器303可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获取目标句子,其中,目标句子为采用自然语言描述目标数学算式的句子;
对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
获取目标句子,其中,目标句子为采用自然语言描述目标数学算式的句子;
对目标句子进行命名实体识别,获得目标句子的命名实体识别结果,其中,命名实体识别结果包括目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,目标句子中所包含的命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
根据目标句子的命名实体识别结果,将目标句子转换为符号化的目标数学算式。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种数学算式识别方法,其特征在于,包括:
获取目标句子,其中,所述目标句子为采用自然语言描述目标数学算式的句子;
对所述目标句子进行命名实体识别,获得所述目标句子的命名实体识别结果,其中,所述命名实体识别结果包括所述目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,所述命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
根据所述目标句子的命名实体识别结果,将所述目标句子转换为符号化的目标数学算式,包括:对所述目标句子进行分词,获得分词结果;通过所述目标句子的命名实体识别结果,对所述分词结果进行修正,获得有序词序列;将所述有序词序列中为命名实体的各个词转换为符号,获得有序符号序列;根据所述有序词序列、所述有序符号序列以及所述目标句子的命名实体识别结果,确定所述符号化的目标数学算式;
其中,所述根据所述有序词序列、所述有序符号序列以及所述目标句子的命名实体识别结果,确定所述符号化的目标数学算式,包括:
依次遍历所述有序词序列中的词:若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词对应的运算符号添加至当前算式的末尾;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则根据当前遍历到的词对应的符号为当前算式添加括号。
2.根据权利要求1所述的数学算式识别方法,其特征在于,所述对所述目标句子进行命名实体识别,获得所述目标句子的命名实体识别结果,包括:
将所述目标句子输入预先建立的命名实体识别模型,获得所述目标句子中所包含的命名实体以及每个命名实体的实体类型;
其中,所述命名实体识别模型采用标注有命名实体以及实体类型的训练样本训练得到,所述训练样本为采用自然语言描述数学算式的句子。
3.根据权利要求1所述的数学算式识别方法,其特征在于,所述将所述有序词序列中为命名实体的各个词转换为符号,获得有序符号序列,包括:
依次遍历所述有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则将当前遍历到的词转换为其描述的数字;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则将当前遍历到的词转换为其描述的运算符号;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则将当前遍历到的词转换为其描述的用于求取子式运算结果的符号。
4.根据权利要求1所述的数学算式识别方法,其特征在于,所述根据当前遍历到的词对应的符号为当前算式添加括号,包括:
若当前遍历到的词对应的符号为等号,则将当前算式放入括号中;
若当前遍历到的词对应的符号为等号与运算符号的组合,则在当前算式末尾添加右括号,并从后向前查找当前算式中的第一目标符号,根据所述第一目标符号的前向相邻符号确定第二目标符号,在所述第二目标符号的左侧添加左括号;
其中,所述第一目标符号为当前算式中、与当前遍历到的词对应的符号中的运算符号相同的第一个运算符号;若所述第一目标符号的前向相邻符号为数字,则所述第二目标符号为该数字,若所述第一目标符号的前向相邻符号为右括号,则所述第二目标符号为该右括号对应的左括号。
5.一种数学算式识别装置,其特征在于,包括:获取模块、识别模块和转换模块;
所述获取模块,用于获取目标句子,其中,所述目标句子为采用自然语言描述目标数学算式的句子;
所述识别模块,用于对所述目标句子进行命名实体识别,获得所述目标句子的命名实体识别结果,其中,所述命名实体识别结果包括所述目标句子中所包含的命名实体,以及每个命名实体对应的实体类型,所述命名实体包括用于描述数字的词、用于描述运算符号的词、用于描述求取子式运算结果的词,一命名实体对应的实体类型用于指示该命名实体所描述的内容;
转换模块,用于根据所述目标句子的命名实体识别结果,将所述目标句子转换为符号化的目标数学算式;
所述转换模块包括:分词单元、分词结果修正单元、转换单元和确定单元;
所述分词单元,对所述目标句子进行分词,获得分词结果;
所述分词结果修正单元,用于通过所述目标句子的命名实体识别结果,对所述分词结果进行修正,获得有序词序列;
所述转换单元,用于将所述有序词序列中为命名实体的各个词转换为符号,获得有序符号序列;
所述确定单元,用于根据所述有序词序列、所述有序符号序列以及所述目标句子的命名实体识别结果,确定所述符号化的目标数学算式;
所述确定单元包括:第二遍历单元、数字添加单元、运算符号添加单元和括号添加单元;
所述第二遍历单元,用于依次遍历所述有序词序列中的词:
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述数字的词,则执行数字添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述运算符号的词,则执行运算符号添加单元;
若当前遍历到的词为命名实体,且该命名实体对应的实体类型指示该命名实体为用于描述求取子式运算结果的词,则执行括号添加单元;
所述数字添加单元,用于将当前遍历到的词对应的数字添加至当前算式的末尾;其中,当前算式为遍历完前一个词后得到的算式;
所述运算符号添加单元,用于将当前遍历到的词对应的运算符号添加至当前算式的末尾;
所述括号添加单元,用于根据当前遍历到的词对应的符号为当前算式添加括号。
6.一种数学算式识别设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-4中任一项所述的数学算式识别方法的各个步骤。
7.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-4中任一项所述的数学算式识别方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910916522.9A CN110633474B (zh) | 2019-09-26 | 2019-09-26 | 一种数学算式识别方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910916522.9A CN110633474B (zh) | 2019-09-26 | 2019-09-26 | 一种数学算式识别方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110633474A CN110633474A (zh) | 2019-12-31 |
CN110633474B true CN110633474B (zh) | 2023-04-18 |
Family
ID=68972889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910916522.9A Active CN110633474B (zh) | 2019-09-26 | 2019-09-26 | 一种数学算式识别方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110633474B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639155A (zh) * | 2020-05-11 | 2020-09-08 | 广东小天才科技有限公司 | 数学口算算式题型分析方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096716A (zh) * | 2011-02-11 | 2011-06-15 | 百度在线网络技术(北京)有限公司 | 一种基于搜索引擎的计算器实现方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080312928A1 (en) * | 2007-06-12 | 2008-12-18 | Robert Patrick Goebel | Natural language speech recognition calculator |
CN106940637A (zh) * | 2017-03-13 | 2017-07-11 | 刘新星 | 声控计算方法、装置及用户终端 |
CN108536679B (zh) * | 2018-04-13 | 2022-05-20 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-09-26 CN CN201910916522.9A patent/CN110633474B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096716A (zh) * | 2011-02-11 | 2011-06-15 | 百度在线网络技术(北京)有限公司 | 一种基于搜索引擎的计算器实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110633474A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN106874441B (zh) | 智能问答方法和装置 | |
CN111310440B (zh) | 文本的纠错方法、装置和系统 | |
US20140351228A1 (en) | Dialog system, redundant message removal method and redundant message removal program | |
JP6187877B2 (ja) | 同義語抽出システム、方法および記録媒体 | |
CN113076739A (zh) | 一种实现跨领域的中文文本纠错方法和系统 | |
CN109977203B (zh) | 语句相似度确定方法、装置、电子设备及可读存储介质 | |
TWI567569B (zh) | Natural language processing systems, natural language processing methods, and natural language processing programs | |
CN114329225B (zh) | 基于搜索语句的搜索方法、装置、设备及存储介质 | |
CN111461301A (zh) | 序列化数据处理方法和装置、文本处理方法和装置 | |
CN112765319B (zh) | 一种文本的处理方法、装置、电子设备及存储介质 | |
CN111291187B (zh) | 一种情感分析方法、装置、电子设备及存储介质 | |
CN111274785A (zh) | 一种文本纠错方法、装置、设备及介质 | |
CN110399547B (zh) | 用于更新模型参数的方法、装置、设备和存储介质 | |
CN113268560A (zh) | 用于文本匹配的方法和装置 | |
CN110633474B (zh) | 一种数学算式识别方法、装置、设备及可读存储介质 | |
CN114139537A (zh) | 词向量的生成方法及装置 | |
CN112395880B (zh) | 结构化三元组的纠错方法、装置、计算机设备及存储介质 | |
CN112559711A (zh) | 一种同义文本提示方法、装置及电子设备 | |
JP2019148933A (ja) | 要約評価装置、方法、プログラム、及び記憶媒体 | |
CN109614494B (zh) | 一种文本分类方法及相关装置 | |
CN107656627B (zh) | 信息输入方法和装置 | |
CN115470790A (zh) | 一种识别文件中的命名实体的方法和装置 | |
CN114970666A (zh) | 一种口语处理方法、装置、电子设备及存储介质 | |
US11934779B2 (en) | Information processing device, information processing method, and program |
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 |