文字中获取表达式的方法和装置与流程

文档序号:16208422发布日期:2018-12-08 07:25阅读:175来源:国知局
文字中获取表达式的方法和装置与流程
本发明涉及人工智能领域,尤其涉及一种文字中获取表达式的方法和装置。
背景技术
在日常工作、学习和生活中,会涉及到很多报表、声明、文件等文本,在这些文本中,重要的信息往往可以是文本中的一些实体。比如在“2013年度公司管理费用花费了2306万元”的文本中,实体“2013年度”、实体“公司管理费用”和实体“2306万元”就可以将文本的重要信息囊括。在一些文本中,文本中的多元组内的一些实体是基于其他实体以及文字中叙述的关系得出的。在文本撰写完成后,为了避免文本中出现错误,需要工作人员人工进行检查。实体之间的关系也需要工作人员一一核对或计算。比如,文本中“2013年度、2014年度、2015年度和2016年1-3月,货币资金占当期总资产的比重分别为18.40%、19.75%、15.49%和11.96%”的句子中,工作人员需要阅读后人工总结表达式,从而计算出货币资金占当期总资产的比重,从而与文本中的“18.40%”“19.75%”“15.49%”和“11.96%”进行核对。由于报表、声明、文件等文本往往内容较多,工作人员需要花费大量时间才能够完成文本的核对。导致文本的核对效率较低。技术实现要素:本发明实施例提供了一种文字中获取表达式的方法和装置,能够减少文本核对花费的时间,从而提高文本的核对效率。一方面,本发明实施例提供一种文字中获取表达式的方法,包括:按照在待测文本中的排列顺序,在待测文本中提取得到n个待测词语,将n个待测词语的词向量作为一层运算的n个节点,待测文本包括文字,n为大于1的整数;将一层运算中的第i个节点、一层运算中的第1个节点至第i-1个节点以及预设的运算符集输入至循环神经网络的子网络中,得到二层运算的节点,二层运算的节点为一层运算中子网络输出的隐向量,运算符集包括运算符的词向量,i为整数,且1≤i≤n;根据二层运算的节点,确定一层运算中的有效运算符;直至将m层运算的节点中的第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且根据m+1层运算的节点,得到m层运算中的有效运算符的个数为0为止,m+1层运算的节点为m层运算中上述子网络输出的隐向量,m和j均为大于1的整数;根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中表达式,有效节点为与有效运算符对应的节点。另一方面,本发明实施例提供一种文字中获取表达式的装置,包括:提取模块,被配置为按照在待测文本中的排列顺序,在待测文本中提取得到n个待测词语,将n个待测词语的词向量作为一层运算的n个节点,待测文本包括文字,n为大于1的整数;运算模块,被配置为将一层运算中的第i个节点、一层运算中的第1个节点至第i-1个节点以及预设的运算符集输入至循环神经网络的子网络中,得到二层运算的节点,二层运算的节点为一层运算中子网络输出的隐向量,运算符集包括运算符的词向量,i为整数,且1≤i≤n;确定模块,被配置为根据二层运算的节点,确定一层运算中的有效运算符;运算模块还被配置为直至将m层运算的节点中的第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且确定模块根据m+1层运算的节点,得到m层运算中的有效运算符的个数为0为止,m+1层运算的节点为m层运算中上述子网络输出的隐向量,m和j均为大于1的整数;表达式生成模块,被配置为根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中表达式,有效节点为与有效运算符对应的节点。本发明实施例提供了一种文字中获取表达式的方法和装置,在待测文本中提取n个待测词语,将n个待测词语的词向量作为一层运算的n个节点。将一层运算中的任意一个节点与各节点之前的节点以及预设的运算符集输入循环神经网络的子网络中。将子网络输出的隐向量作为二层运算的节点,并根据二层运算的节点,确定一层运算中的有效运算符。依次类推,直至将m层运算中第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且m层运算中的有效运算符为0个为止。根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中的表达式。与需要人工总结表达式的现有技术相比,本发明实施例利用循环神经网络对待测文本中的待测词语以及预设的运算符集进行处理,根据处理中得到的有效运算符和有效节点对应的词语,总结得到待测文本中的表达式。不再需要工作人员花费大量时间总结表达式,然后才能完成文本核对。减少了文本核对花费的时间,从而提高了文本的核对效率。附图说明从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。图1为本发明一实施例中文字中获取表达式的方法的流程图;图2为本发明另一实施例中文字中获取表达式的方法的流程图;图3为本发明实施例的文字中获取表达式中运算的举例示意图;图4为本发明又一实施例中文字中获取表达式的方法的流程图;图5为本发明一实施例中文字中获取表达式的装置的结构示意图;图6为本发明另一实施例中文字中获取表达式的装置的结构示意图;图7为本发明又一实施例中文字中获取表达式的装置的结构示意图。具体实施方式下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。图1为本发明一实施例中文字中获取表达式的方法的流程图。如图1所示,文字中获取表达式的方法包括步骤101-步骤105。在步骤101中,按照在待测文本中的排列顺序,在待测文本中提取得到n个待测词语,将n个待测词语的词向量作为一层运算的n个节点。其中,待测文本包括文字,n为大于1的整数。在一个示例中,可以对待测文本进行分词,分词后可得到一个以上的词语。可将所有分词得到的词语均作为待测词语,也可以在分词后得到的词语中选取部分词语作为待测词语。每个待测词语均具有各自对应的词向量。一个待测词语的词向量为一层运算中的一个节点。在步骤102中,将一层运算中的第i个节点、一层运算中的第1个节点至第i-1个节点以及预设的运算符集输入至循环神经网络的子网络中,得到二层运算的节点。其中,二层运算的节点为一层运算中子网络输出的隐向量,i为整数,且1≤i≤n。步骤102试图得到一层运算中每个节点与该节点之前的节点之间的运算关系。预设的运算符集中包括一个以上的运算符的词向量。需要说明的是,运算符不仅可包括数学运算符,比如“+”“-”“×”“÷”“>”“<”等,也包括一些运算关系符,比如“反减”“反除”等。运算符还可包括逻辑关系运算符,比如某种对应关系。当然,运算符还可以为其他类型的运算符,在此并不限定。比如,待测文本为“2014年的销售额较2013年的销售额增加了50万”,则“2014年的销售额”与“2013年的销售额”在该待测文本中是减法关系,即“2014年的销售额”“-”“2013年的销售额”。又比如,待测文本为“2014年的销售额较2013年的销售额减少了50万”,则“2014年的销售额”与“2013年的销售额”在该待测文本中是反减关系,即“2013年的销售额”“-”“2014年的销售额”。还比如,待测文本为“2014年的销售额较2013年的销售额增加了50万”,其中“2014年”与“销售额”在该待测文本中是对应关系。在一个示例中,对于循环神经网络中的一个子网络,输入节点a1与节点a1之前的一个节点a2,并输入运算符集中的一个运算符的词向量,该子网络可以输出一个隐向量。在输入节点a1与节点a1之前的一个节点a2的基础上,再输入运算符集中的另一个运算符的词向量,该子网络可以输出另一个隐向量。在步骤103中,根据二层运算的节点,确定一层运算中的有效运算符。其中,二层运算的节点为一层运算中输出的隐向量。隐向量可指示生成该隐向量所输入的两个节点的关系是否与输入的运算符相符。隐向量还可以看作生成该隐向量所输入的两个节点与输入的运算符的组合的词向量。有效运算符为与输入的两个节点的关系相符的运算符。在一个实施例中,可以利用利用机器学习的方法得到确定运算中的有效运算符的规则,判断二层运算的节点是否符合确定的规则,若二层运算中的某个节点符合确定的规则,则该节点对应的一层运算中的运算符为有效运算符。在步骤104中,直至将m层运算的节点中的第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且根据m+1层运算的节点,得到m层运算中的有效运算符的个数为0为止。其中,m+1层运算的节点为m层运算中上述子网络输出的隐向量,m和j均为大于1的整数,且j小于等于m层运算中节点的总数。在步骤103中确定了一层运算的有效运算符后,再次利用二层运算的节点以及运算符集,得到三层运算的节点,并根据三层运算的节点,确定二层运算中的有效运算符。以此类推,直至得到的m层运算中无有效运算符为止,一层运算至m-1层运算中的有效运算符可以指示一层运算至m-1层运算中的各个节点之间的运算关系。在步骤105中,根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中表达式。其中,有效节点为与有效运算符对应的节点。也就是说,有效节点为与有效运算符输入同一子网络中的节点。一层运算至m-1层运算中的有效运算符可以指示一层运算至m-1层运算中的各个节点之间的运算关系。有效节点指示运算关系针对的对象。因此,根据一层运算中的有效运算符、二层运算中的有效运算符、……、m-1层运算中的有效运算符,以及有效节点对应的词语,可以生成待测文本中的表达式。在一个示例中,有效节点对应的词语可以为待测词语,也可以为两个以上的待测词语组合成的新词语。比如,根据在一层运算得到的二层运算的节点,可得到一层运算的有效运算符。若一层运算的有效运算符的数目为0,则不需要二层运算。若一层运算的有效运算符的数目大于0,则进行二层运算。根据二层运算的节点得到的三层运算的节点,可得到二层运算中的有效运算符。若二层运算中的有效运算符的数目为0,则不需下一层运算,利用一层运算中的有效运算符以及有效节点对应的词语,生成待测文本中表达式。若二层运算中的有效运算符的数目大于0,则进行三层运算。根据三层运算的节点得到的四层运算的节点,可得到三层运算中的有效运算符。若三层运算中的有效运算符的数目为0,则不需下一层运算,利用一层运算中的有效运算符、二层运算中的有效运算符以及有效节点对应的词语,生成待测文本中表达式。若三层运算中的有效运算符的数目大于0,则进行四层运算。以此类推,直至计算到某一层运算的有效运算符的数目为0为止,利用该层运算之前的所有层运算的有效运算符和有效节点,生成待测文本中的表达式。比如,待测文本为“2014年的销售额较2013年的销售额增加了50万”。从待测文本中提取出待测词语“2014年”“销售额”“较”“2013年”“销售额”“增加”“50万”,将上述7个待测词语各自对应的词向量作为一层运算的节点,运算符集中包括减法运算、对应关系与相等关系。经过一层运算,可以得到“2014年”和“销售额”之间的运算符为有效运算符,且该有效运算符为对应关系。同理,“2013年”和“销售额”之间的运算符为有效运算符,且该有效运算符为对应关系。在二层运算中,“2014年”和“销售额”两者的词向量可组成新的节点,该节点对应的待测词语可表示为“2014年销售额”。“2013年”和“销售额”两者的词向量可组成新的节点,该节点对应的待测词语可表示为“2013年销售额”。根据运算符集与二层运算中的节点之间在循环神经网络的子网络运算,可以得到“2014年销售额”与“2013年销售额”之间为减法关系,能够得到表达式“2014年销售额-2013年销售额=50万”。在一个示例中,循环神经网络可以为rnn(recurrentneuralnetworks,循环神经网络)。循环神经网络中的子网络共用循环神经网络的网络参数。比如,网络参数可以为lstm(longshort-termmemory长短期记忆)单元的参数。本发明实施例提供了一种文字中获取表达式的方法,在待测文本中提取n个待测词语,将n个待测词语的词向量作为一层运算的n个节点。将一层运算中的任意一个节点与各节点之前的节点以及预设的运算符集输入循环神经网络的子网络中。将子网络输出的隐向量作为二层运算的节点,并根据二层运算的节点,确定一层运算中的有效运算符。依次类推,直至将m层运算中第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且m层运算中的有效运算符为0个为止。根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中的表达式。与需要人工总结表达式的现有技术相比,本发明实施例利用循环神经网络对待测文本中的待测词语以及预设的运算符集进行处理,根据处理中得到的有效运算符和有效节点对应的词语,总结得到待测文本中的表达式。不再需要工作人员花费大量时间总结表达式,然后才能完成文本核对。减少了文本核对花费的时间,从而提高了文本的核对效率。图2为本发明另一实施例中文字中获取表达式的方法的流程图。图2与图1的不同之处在于,图1中的步骤101可具体细化为图2中的步骤1011,图1中的步骤102可具体细化为图2中的步骤1021和步骤1022,图1中的步骤103可具体细化为图2中的步骤1031和步骤1032。在步骤1011中,在待测本文中提取n个多元实体,将n个多元实体作为n个待测词语,将n个待测词语的词向量作为一层运算的n个节点。其中,在待测文本中可通过分词得到一个以上的词语,但在分词得到的词语中存在与待测本文中重要信息无关的词语。待测文本中的重要信息可为多元实体,比如时间实体、属性实体和值实体等。因此,可以将多元实体作为待测词语,其他与重要信息无关的词语可以去除。比如,待测文本为“2013年度、2014年度、2015年度和2016年1-3月,货币资金占当期总资产的比重分别为18.40%、19.75%、15.49%和11.96%。”待测文本分词后可以得到词语“2013年度”“、”“2014年度”“、”“2015年度”“和”“2016年1-3月”“,”“货币资金”“占”“当期”“总资产”“的”“比重”“分别”“为”“18.40%”“、”“19.75%”“、”“15.49%”“和”“11.96%”以及“。”。其中,时间实体包括“2013年度”“2014年度”“2015年度”“2016年1-3月”,属性实体包括“货币资金”“总资产”“比重”,值实体包括“18.40%”“19.75%”“15.49%”“11.96%”。则可以将上述时间实体、属性实体和值实体作为待测词语。在步骤1021中,将一层运算中的第i个节点分别与一层运算中的第1个节点至第i-1个节点组合,对应输入循环神经网络的i-1个子网络中。其中,针对一层运算中的任意一个节点,均按照步骤1021处理。一个子网络可进行两个节点与运算符集中的运算符的词向量的运算。比如,一层运算中具有3个节点,按顺序分别为节点d1、节点d2和节点d3。那么i=2时,可以将节点d2与节点d1输入子网络a1;i=3时,将节点d3和节点d1输入子网络a2,将节点d3和节点d2输入子网络a3。在步骤1022中,对于每一个子网络,将预设的运算符集中的运算符的词向量依次输入子网络,得到子网络输出的二层运算的节点。在一个示例中,在一层运算中,对于一个子网络,每次可进行两个节点和一个运算符的词向量的运算,得到一个二层运算的节点。也就是说,一个子网络输出的二层运算的节点的数目与预设的运算符集中的运算符的数目相等。比如,一层运算中具有3个节点,按顺序分别为节点d1、节点d2和节点d3。运算符集包括2个运算符的词向量。子网络a1可根据节点d2、节点d1与第1个运算符的词向量运算得到一个二层运算的节点,子网络a1还可根据节点d2、节点d1与第2个运算符的词向量运算得到一个二层运算的节点。也就是说,子网络a1输出2个二层运算的节点。二层运算的节点可表示与二层运算的该节点对应的一层运算的两个节点之间的关系。在步骤1031中,对二层运算的节点进行分类,得到分类结果。其中,分类结果包括一层运算的节点与运算符集中的运算符的词向量匹配或一层运算的节点与运算符集中的运算符的词向量不匹配。通过分类,可以得知两个节点之间的关系是否与运算符集中的运算符相符。在一个示例中,可以利用多维分类模型对二层运算的节点进行分类,比如采用softmax分类模型。或者,也可以利用机器学习模型对判断向量进行分类,比如采用svm(supportvectormachine,支持向量机)模型。在一个示例中,分类结果可采用数字表示,数字1表示一层运算的节点与运算符集中的运算符的词向量匹配,数字0表示一层运算的节点与运算符集中的运算符的词向量不匹配。分类结果也可以采用其他方式来表示,在此并不限定。在步骤1032中,将与运算符集中的运算符的词向量匹配的二层运算的节点对应的运算符作为一层运算中的有效运算符。在一个示例中,分类结果为1,表示一层运算的节点与运算符集中的运算符的词向量匹配。分类结果为0,表示一层运算的节点与运算符集中的运算符的词向量不匹配。则可将分类结果为1的二层运算的节点对应的运算符作为一层运算的有效运算符。在一个示例中,对于二层运算的有效运算符的获取方法如下,将二层运算中的第i个节点分别与二层运算中的第1个节点至第i-1个节点组合以及一层运算中的各个节点,对应输入循环神经网络的多个子网络中。对于每一个子网络,将预设的运算符集中的运算符的词向量依次输入子网络,得到子网络输出的三层运算的节点。对三层运算的节点进行分类,得到分类结果。将与运算符集中的运算符的词向量匹配的三层运算的节点对应的运算符作为二层运算中的有效运算符。比如,一层运算的节点共3个,按顺序分别为节点d1、节点d2和节点d3。运算符集包括2个运算符的词向量。根据一层运算的节点以及预设的运算符集,假设得到二层运算的节点共2个,按顺序分别为节点d4和节点d5。对于二层运算,节点d4与节点d1输入一个子网络,该子网络根据节点d4、节点d1和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d4、节点d1和第2个运算符的词向量,得到一个三层运算的节点。节点d4与节点d2输入一个子网络,该子网络根据节点d4、节点d2和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d4、节点d2和第2个运算符的词向量,得到一个三层运算的节点。节点d4与节点d3输入一个子网络,该子网络根据节点d4、节点d3和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d4、节点d3和第2个运算符的词向量,得到一个三层运算的节点。节点d5与节点d1输入一个子网络,该子网络根据节点d5、节点d1和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d5、节点d1和第2个运算符的词向量,得到一个三层运算的节点。节点d5与节点d2输入一个子网络,该子网络根据节点d5、节点d2和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d5、节点d2和第2个运算符的词向量,得到一个三层运算的节点。节点d5与节点d3输入一个子网络,该子网络根据节点d5、节点d3和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d5、节点d3和第2个运算符的词向量,得到一个三层运算的节点。节点d5与节点d4输入一个子网络,该子网络根据节点d5、节点d4和第1个运算符的词向量,得到一个三层运算的节点。该子网络根据节点d5、节点d4和第2个运算符的词向量,得到一个三层运算的节点。需要说明的是,对于三层运算、四层运算……、m层运算的有效运算符的获取方法均与二层运算类似,在此不再赘述。图3为本发明实施例的文字中获取表达式中运算的举例示意图。待测文本包括文字“2013年度、2014年度、2015年度和2016年1-3月,货币资金占当期总资产的比重分别为18.40%、19.75%、15.49%和11.96%。”。为了便于说明,图3中的二层运算只标明了有效节点对应的词语以及有效运算符,三层运算也只表明了有效节点对应的词语以及有效运算符。且图3中一层运算的有效运算符为对应关系运算符,并未标出。如图3所示,一层运算后得到的而运算中的有效节点对应的词语包括“2013年度货币资金”“2014年度货币资金”“2015年度货币资金”“2016年1-3月货币资金”“2013年度总资产”“2014年度总资产”“2015年度总资产”和“2016年1-3月总资产”。以二层运算的节点对应的词语“2013年度货币资金”为例,“2013年度货币资金”为一层运算的节点对应的词语“2013年度”、“货币资金”以及一层运算的有效运算符(这里为对应关系运算符)组合而成。通过二层运算,根据得到的三层运算的节点的分类结果,得到二层运算的有效运算符。如图3所示,二层运算的有效运算符包括4个“/”(即除法运算符)。可以得到三层运算中的有效节点对应的词语。如图3所示,三层运算中的有效节点对应的词语包括“2013年度货币资金/2013年度总资产”“2014年度货币资金/2014年度总资产”“2015年度货币资金/2015年度总资产”和“2016年1-3月货币资金/2016年1-3月总资产”。三层运算中的有效节点与一层运算中的节点以及二层运算中的节点分别通过循环神经网络的子网络运算,得到四层运算的节点。通过对四层运算的节点的分类结果,可得到三层运算的有效运算符包括4个“=”(即相等运算符)。四层运算中的有效运算符的数目为0,则不需要再利用四层运算的节点运算得到五层运算的节点。根据一层运算的有效运算符、二层运算的有效运算符、三层运算的有效运算符和与有效节点对应的词语,可以得到4个表达式,分别为表达式(1)至表达式(4)。表达式如下:2013年度货币资金/2013年度总资产=18.40%(1)2014年度货币资金/2014年度总资产=19.75%(2)2015年度货币资金/2015年度总资产=15.49%(3)2016年1-3月货币资金/2016年1-3月总资产=11.96%(4)图4为本发明又一实施例中文字中获取表达式的方法的流程图。图4与图1的不同之处在于,文字中获取表达式的方法还包括步骤106至步骤108。在步骤106中,在表格或文字中提取与表达式中相关词语对应的待测元素。其中,相关词语为与表达式中的有效节点对应的词语。在一个示例中,待测文本可能会重复说明某一部分,可将重复说明的部分中提取的与表达式中相关词语对应的文字作为待测元素。在一个示例中,待测文本还可包括表格。可以从表格中提取与表达式中相关词语对应的待测元素。比如,待测文本包括文字“2013年度、2014年度、2015年度和2016年1-3月,货币资金占当期总资产的比重分别为18.40%、19.75%、15.49%和11.96%。”。待测文本中还包括与该文字对应的表格,与该文字对应的表格为表一,如下:表一货币资金(万元)总资产(万元)2013年度18.41002014年度25.6751302015年度20.361802016年1-3月7.17660其中,表一中的值为与表达式中相关词语对应的待测元素。提取表一中的值,为后续步骤做准备。在步骤107中,将待测元素代入表达式,判断代入待测元素的表达式是否成立。其中,表达式成立可以表示表达式某一运算符号两侧的待测元素的运算与该运算符号完全相符。表达式成立也可以表示表达式某一运算符号两侧的待测元素的运算与该运算符号的差异在允许范围内,以保证待测元素有时可能涉及到的某些数位的四舍五入以及其他估算方式。在步骤108中,若代入待测元素的表达式不成立,则生成用于提示表格或文字出现错误的提示消息。比如,待测文本中包括的表格为表一。表达式为表达式(1)至表达式(4)。将表一中的待测元素代入表达式(1)至表达式(4)。得到表达式(5)至表达式(8):18.4/100=18.40%(5)25.675/130=19.75%(6)20.36/180=15.49%(7)7.176/60=11.96%(8)可由处理器进行表达式(5)至表达式(8)的计算,得到的结果为:表达式(5)、表达式(6)和表达式(8)成立,表达式(7)不成立。则可以生成提示消息。提示消息可以为图像消息,也可以为声音消息,在此并不限定。比如,可以将表格中与表达式(7)对应的待测元素全部标为红色。便于用户查找修改。需要说明的是,若代入待测元素的表达式成立,则不需生成提示消息。在本发明实施例中,能够进行文字与对应的表格之间具有较复杂的运算关系的数据的核对,不需要人工逐步核对,能够由电子设备进行文字与对应的表格之间具有较复杂的运算关系的数据的核对。提高了核对的速度,并提高了核对的正确率。图5为本发明一实施例中文字中获取表达式的装置200的结构示意图。如图5所示,文字中获取表达式的装置200包括提取模块201、运算模块202、确定模块203和表达式生成模块204。其中,提取模块201,被配置为按照在待测文本中的排列顺序,在待测文本中提取得到n个待测词语,将n个待测词语的词向量作为一层运算的n个节点,待测文本包括文字,n为大于1的整数。运算模块202,被配置为将一层运算中的第i个节点、一层运算中的第1个节点至第i-1个节点以及预设的运算符集输入至循环神经网络的子网络中,得到二层运算的节点,二层运算的节点为一层运算中子网络输出的隐向量,运算符集包括运算符的词向量,i为整数,且1≤i≤n。确定模块203,被配置为根据二层运算的节点,确定一层运算中的有效运算符。运算模块202还被配置为直至将m层运算的节点中的第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且确定模块203根据m+1层运算的节点,得到m层运算中的有效运算符的个数为0为止,m+1层运算的节点为m层运算中上述子网络输出的隐向量,m和j均为大于1的整数。表达式生成模块204,被配置为根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中表达式,有效节点为与有效运算符对应的节点。本发明实施例提供了一种文字中获取表达式的装置200,提取模块201在待测文本中提取n个待测词语,将n个待测词语的词向量作为一层运算的n个节点。运算模块202将一层运算中的任意一个节点与各节点之前的节点以及预设的运算符集输入循环神经网络的子网络中,将子网络输出的隐向量作为二层运算的节点。确定模块203根据二层运算的节点,确定一层运算中的有效运算符。依次类推,直至将m层运算中第j个节点、m层运算的节点中的第1个节点至第j-1个节点、一层运算的节点至m-1层运算的节点以及运算符集输入至循环神经网络的子网络中,得到m+1层运算的节点,且m层运算中的有效运算符为0个为止。表达式生成模块204根据一层运算中的有效运算符至m-1层运算中的有效运算符,以及与有效节点对应的词语,生成待测文本中的表达式。与需要人工总结表达式的现有技术相比,本发明实施例利用循环神经网络对待测文本中的待测词语以及预设的运算符集进行处理,根据处理中得到的有效运算符和有效节点对应的词语,总结得到待测文本中的表达式。不再需要工作人员花费大量时间总结表达式,然后才能完成文本核对。减少了文本核对花费的时间,从而提高了文本的核对效率。图6为本发明另一实施例中文字中获取表达式的装置200的结构示意图。图6与图5的不同之处在于,图6中的运算模块202包括输入单元2021和运算单元2022,图6中的确定模块203包括分类单元2031和确定单元2032。输入单元2021,被配置为将一层运算中的第i个节点分别与一层运算中的第1个节点至第i-1个节点组合,对应输入循环神经网络的i-1个子网络中。运算单元2022,被配置为对于每一个子网络,将预设的运算符集中的运算符的词向量依次输入子网络,得到子网络输出的二层运算的节点。分类单元2031,被配置为对二层运算的节点进行分类,得到分类结果,分类结果包括与运算符集中的运算符的词向量匹配或与运算符集中的运算符的词向量不匹配。确定单元2032,被配置为将与运算符集中的运算符的词向量匹配的二层运算的节点对应的运算符作为一层运算中的有效运算符。需要说明的是,上述实施例中的提取模块201具体被配置为:在待测本文中提取n个多元实体,将n个多元实体作为n个待测词语。图7为本发明又一实施例中文字中获取表达式的装置200的结构示意图。图7与图5的不同之处在于,文字中获取表达式的装置200还可包括元素提取模块205、判断模块206和提示生成模块207。其中,元素提取模块205,被配置为在表格或文字中提取与表达式中相关词语对应的待测元素,相关词语为与表达式中的有效节点对应的词语,待测文本还包括表格。判断模块206,被配置为将待测元素代入表达式,判断代入待测元素的表达式是否成立。提示生成模块207,被配置为若代入待测元素的表达式不成立,则生成用于提示表格或文字出现错误的提示消息。需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例而言,相关之处可以参见方法实施例的说明部分。本发明并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本发明的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。以上所述的结构框图中所示的功能模块和功能单元可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1