基于语义解析的文本准确率计算方法、装置、计算机设备与流程

文档序号:17477936发布日期:2019-04-20 06:14阅读:404来源:国知局
基于语义解析的文本准确率计算方法、装置、计算机设备与流程

本申请涉及语义解析技术领域,特别涉及一种基于语义解析的文本准确率计算方法、装置、计算机设备。



背景技术:

在统计asr(语音识别)引擎转写准确率的时候,常用的算法是编辑距离算法。该算法通过统计转写文本转成模板文本所需的最少编辑操作(编辑操作包括:将一个字符替换成另外一个字符,插入一个字符,删除一个字符)次数来计算转写文本与模板文本的相似度(转写准确率)。但在关注asr引擎的实时转写准确率的场景下,该算法的计算结果并不能令人满意。由于该算法总是拿已经转写出来的文本与模板文本的全部文本进行对比,因此,当只有部分文本被转写出来的时候,该算法并不能准确地计算出这部分转写出来的文本的转写准确率。因此,编辑距离在关注asr引擎实时转写准确率的场景下并不适用。

申请内容

针对现有技术不足,本申请提出一种基于语义解析的文本准确率计算方法、装置、计算机设备,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

本申请提出的技术方案是:

一种基于语义解析的文本准确率计算方法,所述方法包括:

获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;

以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;

根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;

记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;

计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;

根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;

根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;

将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

进一步地,在所述以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵的步骤之后,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤之前,包括:

从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;

从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;

定义所述编辑距离矩阵的第二行中的第二个元素的值为0;

以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;

以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。

进一步地,所述编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤中,包括:

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;

判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;

依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。

进一步地,在所述记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵的步骤中,包括:

记录所述编辑距离矩阵中各元素的值的计算轨迹;

根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;

在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。

进一步地,在所述计算所述轨迹矩阵中各轨迹的相似度的步骤中,包括:

识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;

比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;

计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。

进一步地,在所述根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点的步骤中,包括:

标记所述第一轨迹中第一个元素和最后一个元素;

根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,分别获得第一始点、第一终点。

进一步地,在所述根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本的步骤中,包括:

截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;

根据截取到的字符生成文本,获得所述新模板文本。

本申请还提供一种基于语义解析的文本准确率计算装置,所述装置包括:

第一获取模块,用于获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;

建立模块,用于以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;

第一计算模块,用于根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;

生成模块,用于记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;

筛选模块,用于计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;

获得模块,用于根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;

第二获取模块,用于根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;

第二计算模块,用于将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

根据上述的技术方案,本申请有益效果:在模板文本的除始点之外的任意位置开始被转写时,建立编辑距离矩阵,计算编辑距离矩阵中各元素的值,根据编辑距离矩阵中各元素的值的计算轨迹生成轨迹矩阵,计算轨迹矩阵中各轨迹的相似度,筛选相似度最高的一条轨迹获得第一轨迹,根据第一轨迹获得部分转写文本在模板文本上对应的始点和终点,从而获得新模板文本,再将部分转写文本与新模板文本进行对比,计算部分转写文本的准确率,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

附图说明

图1是应用本申请实施例提供的基于语义解析的文本准确率计算方法的流程图;

图2是应用本申请实施例提供的基于语义解析的文本准确率计算装置的功能模块图;

图3是应用本申请实施例提供的计算机设备的结构示意框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,本申请实施例提出一种基于语义解析的文本准确率计算方法,所述方法包括以下步骤:

步骤s101、获取从模板文本除始点之外的任意位置开始被转写的部分转写文本。

从模板文本除始点之外的任意位置开始被转写,且模板文本未全部被转写,也就是从模板文本的任一个字符开始被转写,但不包括第一个字符。若从模板文本的非第一个字符开始被转写,则转写的结束点在模板文本中开始被转写的一个字符之后的任意一个字符,其中在模板文本中开始被转写的一个字符之后的任意一个字符包括在模板文本中开始被转写的一个字符。

由于不是对模板文本全部的字符的转写,为此,从模板文本除始点之外的任意位置开始被转写所得到文本称为部分转写文本。

模板文本是一个正确的文本,用于与部分转写文本进行对比的文本。

上述的转写是指通过asr(语音识别)引擎将语音转写为文本。

步骤s102、以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵。

在本实施例中,模板文本为剔除标点符号的文字文本。部分转写文本为剔除标点符号的文字文本。

获取模板文本字符的长度,根据模板文本字符长度再增加两个字符的长度,作为列数。获取部分转写文本字符的长度,根据部分转写文本字符的长度再增加两个字符的长度,作为行数,然后以模板文本字符的长度增加两个字符的长度为列数、以部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵。模板文本字符长度再增加两个字符的长度作为列数、部分转写文本字符的长度再增加两个字符的长度作为行数的目的是为了在第一行、第一列上分别输入模板文本、部分转写文本,以及在第二行、第二列输入初始化的值。

具体地,在步骤s102之后,且在步骤s103之前,包括:

从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;

从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;

定义所述编辑距离矩阵的第二行中的第二个元素的值为0;

以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;

以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。

在编辑距离矩阵的第一行中输入模板文本的字符,具体地,从编辑距离矩阵的第一行的第三个元素开始输入模板文本的字符。对应地,在编辑距离矩阵的第一列中输入部分转写文本的字符,具体地,从编辑距离矩阵的第一列的第三个元素开始输入部分转写文本的字符。编辑距离矩阵的第一行、第一列的第三个元素分别开始输入模板文本的字符、部分转写文本的字符,使模板文本的各字符与部分转写文本各字符都在编辑距离矩阵存在对应关系,另外,也是为了对第二行、第二列的初始化的数值提供对应的位置关系。首先,定义编辑距离矩阵的第二行中的第二个元素的值为0,然后,以编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化编辑距离矩阵的第二行的各元素的值,例如,编辑距离矩阵的第二行中的第二、三、四、五个元素的值分别为0、1、2、3。定义编辑距离矩阵的第二行中的第二个元素的值为0,实质上,也定义编辑距离矩阵的第二列中的第二个元素的值为0,因为编辑距离矩阵的第二行中的第二个元素与编辑距离矩阵的第二列中的第二个元素是在同一个位置,即使同一个元素,以编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化编辑距离矩阵的第二列的各元素的值,例如,编辑距离矩阵的第二列中的第二、三、四、五个元素的值分别为0、1、2、3。在初始化编辑距离矩阵的第二列、第二行的数值之后,可能进行计算编辑距离矩阵中各元素的值。

步骤s103、根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值。

根据部分转写文本、模板文本,也就是,在编辑距离矩阵中,部分转写文本的字符对应模板文本的字符是否相等,决定编辑距离矩阵中各元素的值的计算方式,进而计算编辑距离矩阵中各元素的值。

在本实施例中,编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定。在步骤s103中,包括:

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;

判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;

依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。

由于编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在开始计算时,符合左方、左上角、上方的元素都存在数值的只有编辑距离矩阵的第三列中的第三个元素,或者说编辑距离矩阵的第三列中的第三个元素,在本实施例中,计算编辑距离矩阵的第三列中的第三个元素,识别编辑距离矩阵的第三列中的第三个元素所处于的列数、行数,在获得编辑距离矩阵的第三列中的第三个元素所处于的列数、行数之后,识别编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符,编辑距离矩阵的第三列中的第三个元素所处于的行数对应部分转写文本的字符。在获得对应的字符之后,判断编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符是否相等,根据编辑距离矩阵的第三列中的第三个元素的模板文本的字符与对应的部分转写文本的字符是否相等,用于确定编辑距离矩阵的第三列中的第三个元素的值,若编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符相等,则编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值。若编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符不相等,则编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到。在计算完编辑距离矩阵的第三列中的第三个元素的值之后,依次计算编辑距离矩阵的第三列中的第四个元素的值,直至完成计算编辑距离矩阵中各元素的值,也就是,接着计算编辑距离矩阵的第三列中的第四个元素的值,在计算完编辑距离矩阵的第三列各元素的值,再计算编辑距离矩阵的第四列中各元素的值,直至计算完成编辑距离矩阵的最后一列中各元素的值,才完成计算编辑距离矩阵中各元素的值。

步骤s104、记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵。

在计算编辑距离矩阵中各元素的值的过程中,记录编辑距离矩阵中各元素的值的计算轨迹,也就是,编辑距离矩阵中各元素的值是由哪一个元素的值决定的。在完成计算编辑距离矩阵中各元素的值之后,记录编辑距离矩阵中各元素的值的计算轨迹也完成,从而生成与编辑距离矩阵对应的轨迹矩阵。

在本实施例中,在步骤s104中,包括:

记录所述编辑距离矩阵中各元素的值的计算轨迹;

根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;

在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。

记录编辑距离矩阵中各元素的值的计算轨迹,根据编辑距离矩阵中各元素的值的计算轨迹,标记编辑距离矩阵中各元素的值产生由来,在本实施例中,用lt表示该元素通过左上方的元素计算而来,用l表示该元素通过左方的元素计算而来,用t表示该元素通过上方的元素计算而来,例如,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第二列中的第二个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入lt,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第二列中的第三个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入l,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第三列中的第二个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入t,从而标记编辑距离矩阵的第三列中的第三个元素的产生由来。在完成标记后,生成与编辑距离矩阵对应的轨迹矩阵。

在本实施例中,在所述根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来的步骤中,包括:

在每记录所述编辑距离矩阵中一个元素的值的计算轨迹时,标记所述编辑距离矩阵中该元素的值产生由来;

直至标记所述编辑距离矩阵中各元素的值产生由来。

每记录编辑距离矩阵中一个元素的值的计算轨迹,就立刻标记编辑距离矩阵中该元素的值产生由来,也就是,一边记录编辑距离矩阵中各元素的值的计算轨迹,一边标记编辑距离矩阵中各元素的值产生由来。

在一些实施例中,在所述根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来的步骤中,包括:

在完成记录所述编辑距离矩阵中各元素的值的计算轨迹之后,根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来。

在完成编辑距离矩阵中各元素的值的计算轨迹之后,才会触发开始执行标记编辑距离矩阵中各元素的值产生由来,直至完成标记编辑距离矩阵中各元素的值产生由来。也就是,在未完成编辑距离矩阵中各元素的值的计算轨迹,不会进行标记编辑距离矩阵中各元素的值产生由来。

步骤s105、计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹。

在生成轨迹矩阵之后,计算轨迹矩阵中各轨迹的相似度,在完成计算各轨迹的相似度之后,筛选部分转写文本与模板文本相似度最高的一条轨迹,获得第一轨迹,该第一轨迹认为是部分转写文本在模板文本上对应轨迹。

在本实施例中,在所述计算所述轨迹矩阵中各轨迹的相似度的步骤中,包括:

识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;

比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;

计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。

在生成轨迹矩阵之后,识别轨迹矩阵中各轨迹中部分转写文本的字符与对应的模板文本的字符相等的个数,获得相等字符个数,在获得轨迹矩阵中各轨迹中相等字符个数之后,比较轨迹矩阵中各轨迹中部分转写文本的字符的长度与对应的模板文本的字符的长度,选取长度长的作为字符总数,若轨迹矩阵中一轨迹中部分转写文本的字符的长度大于对应的模板文本的字符的长度,则在轨迹矩阵中一轨迹中选取部分转写文本的字符的长度为字符总数。若轨迹矩阵中一轨迹中部分转写文本的字符的长度小于对应的模板文本的字符的长度,则在轨迹矩阵中一轨迹中选取模板文本的字符的长度为字符总数。在选取长度长的作为字符总数之后,计算轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,在完成计算比值之后,获得轨迹矩阵中各轨迹的相似度。

步骤s106、根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点。

在获得第一轨迹之后,根据第一轨迹,由于第一轨迹在轨迹矩阵中存在始点和终点,确定部分转写文本在模板文本上对应的始点和终点,从而获得第一始点和第一终点。

在本实施例中,在步骤s106中,包括:

标记所述第一轨迹中第一个元素和最后一个元素;

根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,获得第一始点、第一终点。

在获得第一轨迹之后,标记第一轨迹中第一个元素,根据第一轨迹中第一个元素,获得第一轨迹中第一个元素对应列上的模板文本的字符,标记对应的模板文本的字符,从而获得第一始点。

在获得第一轨迹之后,标记第一轨迹中最后一个元素,根据第一轨迹中最后一个元素,获得第一轨迹中最后一个元素对应列上的模板文本的字符,标记对应的模板文本的字符,从而获得第一终点。

步骤s107、根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本。

在获得第一始点、第一终点之后,根据模板文本的第一始点和第一终点,获得两点之间的文本,包括模第一始点、第一终点分别对应的字符,从而从模板文本中获取新模板文本。

在本实施例中,在步骤s107中,包括:

截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;

根据截取到的字符生成文本,获取所述新模板文本。

在得到第一始点、第一终点之后,截取模板文本的第一始点与第一终点之间的字符,其中模板文本的第一始点与第一终点之间的字符包括模板文本的第一始点对应的字符和第一终点对应的字符。在截取到的字符之后,根据截取到的字符,生成与模板文本同样格式的文本,获得新模板文本。

步骤s108、将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

在获得新模板文本之后,将部分转写文本与新模板文本进行对比,并不是与模板文本进行对比,通过编辑距离算法计算部分转写文本的准确率,从而解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

综上所述,在模板文本的除始点之外的任意位置开始被转写时,建立编辑距离矩阵,计算编辑距离矩阵中各元素的值,根据编辑距离矩阵中各元素的值的计算轨迹生成轨迹矩阵,计算轨迹矩阵中各轨迹的相似度,筛选相似度最高的一条轨迹获得第一轨迹,根据第一轨迹获得部分转写文本在模板文本上对应的始点和终点,从而获得新模板文本,再将部分转写文本与新模板文本进行对比,计算部分转写文本的准确率,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

如图2所示,本申请实施例提出一种基于语义解析的文本准确率计算装置1,装置1包括第一获取模块11、建立模块12、第一计算模块13、生成模块14、筛选模块15、获得模块16、第二获取模块17和第二计算模块18。

第一获取模块11,用于获取从模板文本除始点之外的任意位置开始被转写的部分转写文本。

从模板文本除始点之外的任意位置开始被转写,且模板文本未全部被转写,也就是从模板文本的任一个字符开始被转写,但不包括第一个字符。若从模板文本的非第一个字符开始被转写,则转写的结束点在模板文本中开始被转写的一个字符之后的任意一个字符,其中在模板文本中开始被转写的一个字符之后的任意一个字符包括在模板文本中开始被转写的一个字符。

由于不是对模板文本全部的字符的转写,为此,从模板文本除始点之外的任意位置开始被转写所得到文本称为部分转写文本。

模板文本是一个正确的文本,用于与部分转写文本进行对比的文本。

上述的转写是指通过asr(语音识别)引擎将语音转写为文本。

建立模块12,用于以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵。

在本实施例中,模板文本为剔除标点符号的文字文本。部分转写文本为剔除标点符号的文字文本。

获取模板文本字符的长度,根据模板文本字符长度再增加两个字符的长度,作为列数。获取部分转写文本字符的长度,根据部分转写文本字符的长度再增加两个字符的长度,作为行数,然后以模板文本字符的长度增加两个字符的长度为列数、以部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵。模板文本字符长度再增加两个字符的长度作为列数、部分转写文本字符的长度再增加两个字符的长度作为行数的目的是为了在第一行、第一列上分别输入模板文本、部分转写文本,以及在第二行、第二列输入初始化的值。

具体地,装置1包括:

第一输入模块,用于从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;

第二输入模块,用于从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;

定义模块,用于定义所述编辑距离矩阵的第二行中的第二个元素的值为0;

第一初始化模块,用于以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;

第二初始化模块,用于以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。

在编辑距离矩阵的第一行中输入模板文本的字符,具体地,从编辑距离矩阵的第一行的第三个元素开始输入模板文本的字符。对应地,在编辑距离矩阵的第一列中输入部分转写文本的字符,具体地,从编辑距离矩阵的第一列的第三个元素开始输入部分转写文本的字符。编辑距离矩阵的第一行、第一列的第三个元素分别开始输入模板文本的字符、部分转写文本的字符,使模板文本的各字符与部分转写文本各字符都在编辑距离矩阵存在对应关系,另外,也是为了对第二行、第二列的初始化的数值提供对应的位置关系。首先,定义编辑距离矩阵的第二行中的第二个元素的值为0,然后,以编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化编辑距离矩阵的第二行的各元素的值,例如,编辑距离矩阵的第二行中的第二、三、四、五个元素的值分别为0、1、2、3。定义编辑距离矩阵的第二行中的第二个元素的值为0,实质上,也定义编辑距离矩阵的第二列中的第二个元素的值为0,因为编辑距离矩阵的第二行中的第二个元素与编辑距离矩阵的第二列中的第二个元素是在同一个位置,即使同一个元素,以编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化编辑距离矩阵的第二列的各元素的值,例如,编辑距离矩阵的第二列中的第二、三、四、五个元素的值分别为0、1、2、3。在初始化编辑距离矩阵的第二列、第二行的数值之后,可能进行计算编辑距离矩阵中各元素的值。

第一计算模块13,用于根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值。

根据部分转写文本、模板文本,也就是,在编辑距离矩阵中,部分转写文本的字符对应模板文本的字符是否相等,决定编辑距离矩阵中各元素的值的计算方式,进而计算编辑距离矩阵中各元素的值。

在本实施例中,编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定。第一计算模块13包括:

第一识别模块,用于识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;

第二识别模块,用于识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;

第一判断模块,用于判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;

第一子计算模块,用于依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。

由于编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在开始计算时,符合左方、左上角、上方的元素都存在数值的只有编辑距离矩阵的第三列中的第三个元素,或者说编辑距离矩阵的第三列中的第三个元素,在本实施例中,计算编辑距离矩阵的第三列中的第三个元素,识别编辑距离矩阵的第三列中的第三个元素所处于的列数、行数,在获得编辑距离矩阵的第三列中的第三个元素所处于的列数、行数之后,识别编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符,编辑距离矩阵的第三列中的第三个元素所处于的行数对应部分转写文本的字符。在获得对应的字符之后,判断编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符是否相等,根据编辑距离矩阵的第三列中的第三个元素的模板文本的字符与对应的部分转写文本的字符是否相等,用于确定编辑距离矩阵的第三列中的第三个元素的值,若编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符相等,则编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值。若编辑距离矩阵的第三列中的第三个元素所处于的列数对应模板文本的字符与编辑距离矩阵的第三列中的第三个元素所处于行数对应部分转写文本的字符不相等,则编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到。在计算完编辑距离矩阵的第三列中的第三个元素的值之后,依次计算编辑距离矩阵的第三列中的第四个元素的值,直至完成计算编辑距离矩阵中各元素的值,也就是,接着计算编辑距离矩阵的第三列中的第四个元素的值,在计算完编辑距离矩阵的第三列各元素的值,再计算编辑距离矩阵的第四列中各元素的值,直至计算完成编辑距离矩阵的最后一列中各元素的值,才完成计算编辑距离矩阵中各元素的值。

生成模块14,用于记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵。

在计算编辑距离矩阵中各元素的值的过程中,记录编辑距离矩阵中各元素的值的计算轨迹,也就是,编辑距离矩阵中各元素的值是由哪一个元素的值决定的。在完成计算编辑距离矩阵中各元素的值之后,记录编辑距离矩阵中各元素的值的计算轨迹也完成,从而生成与编辑距离矩阵对应的轨迹矩阵。

在本实施例中,生成模块14包括:

第一记录模块,用于记录所述编辑距离矩阵中各元素的值的计算轨迹;

第一标记模块,用于根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;

第一生成模块,用于在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。

记录编辑距离矩阵中各元素的值的计算轨迹,根据编辑距离矩阵中各元素的值的计算轨迹,标记编辑距离矩阵中各元素的值产生由来,在本实施例中,用lt表示该元素通过左上方的元素计算而来,用l表示该元素通过左方的元素计算而来,用t表示该元素通过上方的元素计算而来,例如,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第二列中的第二个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入lt,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第二列中的第三个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入l,若编辑距离矩阵的第三列中的第三个元素是由编辑距离矩阵的第三列中的第二个元素确定的,则在编辑距离矩阵的第三列中的第三个元素输入t,从而标记编辑距离矩阵的第三列中的第三个元素的产生由来。在完成标记后,生成与编辑距离矩阵对应的轨迹矩阵。

在本实施例中,第一标记模块包括:

第一子标记模块,用于在每记录所述编辑距离矩阵中一个元素的值的计算轨迹时,标记所述编辑距离矩阵中该元素的值产生由来;

第一子标记完成模块,用于直至标记所述编辑距离矩阵中各元素的值产生由来。

每记录编辑距离矩阵中一个元素的值的计算轨迹,就立刻标记编辑距离矩阵中该元素的值产生由来,也就是,一边记录编辑距离矩阵中各元素的值的计算轨迹,一边标记编辑距离矩阵中各元素的值产生由来。

在一些实施例中,第一标记模块包括:

第二子标记模块,用于在完成记录所述编辑距离矩阵中各元素的值的计算轨迹之后,根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来。

在完成编辑距离矩阵中各元素的值的计算轨迹之后,才会触发开始执行标记编辑距离矩阵中各元素的值产生由来,直至完成标记编辑距离矩阵中各元素的值产生由来。也就是,在未完成编辑距离矩阵中各元素的值的计算轨迹,不会进行标记编辑距离矩阵中各元素的值产生由来。

筛选模块15,用于计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹。

在生成轨迹矩阵之后,计算轨迹矩阵中各轨迹的相似度,在完成计算各轨迹的相似度之后,筛选部分转写文本与模板文本相似度最高的一条轨迹,获得第一轨迹,该第一轨迹认为是部分转写文本在模板文本上对应轨迹。

在本实施例中,筛选模块15包括:

第三识别模块,用于识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;

第一比较模块,用于比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;

第三计算模块,用于计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。

在生成轨迹矩阵之后,识别轨迹矩阵中各轨迹中部分转写文本的字符与对应的模板文本的字符相等的个数,获得相等字符个数,在获得轨迹矩阵中各轨迹中相等字符个数之后,比较轨迹矩阵中各轨迹中部分转写文本的字符的长度与对应的模板文本的字符的长度,选取长度长的作为字符总数,若轨迹矩阵中一轨迹中部分转写文本的字符的长度大于对应的模板文本的字符的长度,则在轨迹矩阵中一轨迹中选取部分转写文本的字符的长度为字符总数。若轨迹矩阵中一轨迹中部分转写文本的字符的长度小于对应的模板文本的字符的长度,则在轨迹矩阵中一轨迹中选取模板文本的字符的长度为字符总数。在选取长度长的作为字符总数之后,计算轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,在完成计算比值之后,获得轨迹矩阵中各轨迹的相似度。

获得模块16,用于根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点。

在获得第一轨迹之后,根据第一轨迹,由于第一轨迹在轨迹矩阵中存在始点和终点,确定部分转写文本在模板文本上对应的始点和终点,从而获得第一始点和第一终点。

在本实施例中,获得模块16包括:

第二标记模块,用于标记所述第一轨迹中第一个元素和最后一个元素;

第一获得模块,用于根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,获得第一始点、第一终点。

在获得第一轨迹之后,标记第一轨迹中第一个元素,根据第一轨迹中第一个元素,获得第一轨迹中第一个元素对应列上的模板文本的字符,标记对应的模板文本的字符,从而获得第一始点。

在获得第一轨迹之后,标记第一轨迹中最后一个元素,根据第一轨迹中最后一个元素,获得第一轨迹中最后一个元素对应列上的模板文本的字符,标记对应的模板文本的字符,从而获得第一终点。

第二获取模块17,用于根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本。

在获得第一始点、第一终点之后,根据模板文本的第一始点和第一终点,获得两点之间的文本,包括模第一始点、第一终点分别对应的字符,从而从模板文本中获取新模板文本。

在本实施例中,第二获取模块17包括:

截取模块,用于截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;

第二子获取模块,用于根据截取到的字符生成文本,获取所述新模板文本。

在得到第一始点、第一终点之后,截取模板文本的第一始点与第一终点之间的字符,其中模板文本的第一始点与第一终点之间的字符包括模板文本的第一始点对应的字符和第一终点对应的字符。在截取到的字符之后,根据截取到的字符,生成与模板文本同样格式的文本,获得新模板文本。

第二计算模块18,用于将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

在获得新模板文本之后,将部分转写文本与新模板文本进行对比,并不是与模板文本进行对比,通过编辑距离算法计算部分转写文本的准确率,从而解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

综上所述,在模板文本的除始点之外的任意位置开始被转写时,建立编辑距离矩阵,计算编辑距离矩阵中各元素的值,根据编辑距离矩阵中各元素的值的计算轨迹生成轨迹矩阵,计算轨迹矩阵中各轨迹的相似度,筛选相似度最高的一条轨迹获得第一轨迹,根据第一轨迹获得部分转写文本在模板文本上对应的始点和终点,从而获得新模板文本,再将部分转写文本与新模板文本进行对比,计算部分转写文本的准确率,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

如图3所示,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于语义解析的文本准确率计算方法的模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于语义解析的文本准确率计算方法。

上述处理器执行上述基于语义解析的文本准确率计算方法的步骤:获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

在一个实施例中,上述以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵的步骤之后,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤之前,包括:

从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;

从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;

定义所述编辑距离矩阵的第二行中的第二个元素的值为0;

以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;

以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。

在一个实施例中,上述编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤中,包括:

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;

判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;

依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。

在一个实施例中,上述记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵的步骤中,包括:

记录所述编辑距离矩阵中各元素的值的计算轨迹;

根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;

在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。

在一个实施例中,上述计算所述轨迹矩阵中各轨迹的相似度的步骤中,包括:

识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;

比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;

计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。

在一个实施例中,上述根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点的步骤中,包括:

标记所述第一轨迹中第一个元素和最后一个元素;

根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,分别获得第一始点、第一终点。

在一个实施例中,上述根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本的步骤中,包括:

截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;

根据截取到的字符生成文本,获得所述新模板文本。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请实施例的计算机设备,在模板文本的除始点之外的任意位置开始被转写时,建立编辑距离矩阵,计算编辑距离矩阵中各元素的值,根据编辑距离矩阵中各元素的值的计算轨迹生成轨迹矩阵,计算轨迹矩阵中各轨迹的相似度,筛选相似度最高的一条轨迹获得第一轨迹,根据第一轨迹获得部分转写文本在模板文本上对应的始点和终点,从而获得新模板文本,再将部分转写文本与新模板文本进行对比,计算部分转写文本的准确率,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于语义解析的文本准确率计算方法,具体为:获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。

在一个实施例中,上述以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵的步骤之后,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤之前,包括:

从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;

从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;

定义所述编辑距离矩阵的第二行中的第二个元素的值为0;

以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;

以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。

在一个实施例中,上述编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤中,包括:

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;

识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;

判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;

若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;

依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。

在一个实施例中,上述记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵的步骤中,包括:

记录所述编辑距离矩阵中各元素的值的计算轨迹;

根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;

在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。

在一个实施例中,上述计算所述轨迹矩阵中各轨迹的相似度的步骤中,包括:

识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;

比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;

计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。

在一个实施例中,上述根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点的步骤中,包括:

标记所述第一轨迹中第一个元素和最后一个元素;

根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,分别获得第一始点、第一终点。

在一个实施例中,上述根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本的步骤中,包括:

截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;

根据截取到的字符生成文本,获得所述新模板文本。

本申请实施例的存储介质,在模板文本的除始点之外的任意位置开始被转写时,建立编辑距离矩阵,计算编辑距离矩阵中各元素的值,根据编辑距离矩阵中各元素的值的计算轨迹生成轨迹矩阵,计算轨迹矩阵中各轨迹的相似度,筛选相似度最高的一条轨迹获得第一轨迹,根据第一轨迹获得部分转写文本在模板文本上对应的始点和终点,从而获得新模板文本,再将部分转写文本与新模板文本进行对比,计算部分转写文本的准确率,旨在解决现有的文本的转写准确率算法,将已经转写出来的文本与模板文本的全部文本进行对比,在部分文本被转写出来的时候,不能准确计算文本的转写准确率的问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1