CN109657210B - 基于语义解析的文本准确率计算方法、装置、计算机设备 - Google Patents

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

Info

Publication number
CN109657210B
CN109657210B CN201811347235.2A CN201811347235A CN109657210B CN 109657210 B CN109657210 B CN 109657210B CN 201811347235 A CN201811347235 A CN 201811347235A CN 109657210 B CN109657210 B CN 109657210B
Authority
CN
China
Prior art keywords
text
distance matrix
edit distance
track
characters
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
CN201811347235.2A
Other languages
English (en)
Other versions
CN109657210A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811347235.2A priority Critical patent/CN109657210B/zh
Priority to PCT/CN2018/124399 priority patent/WO2020098099A1/zh
Publication of CN109657210A publication Critical patent/CN109657210A/zh
Application granted granted Critical
Publication of CN109657210B publication Critical patent/CN109657210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

基于语义解析的文本准确率计算方法、装置、计算机设备
技术领域
本申请涉及语义解析技术领域,特别涉及一种基于语义解析的文本准确率计算方法、装置、计算机设备。
背景技术
在统计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)等。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本申请的保护范围之内。

Claims (10)

1.一种基于语义解析的文本准确率计算方法,其特征在于,所述方法包括:
获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;
以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;
根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;
记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;
计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;
根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;
根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;
将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。
2.根据权利要求1所述的基于语义解析的文本准确率计算方法,其特征在于,在所述以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵的步骤之后,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤之前,包括:
从所述编辑距离矩阵的第一行的第三个元素开始输入所述模板文本的字符;
从所述编辑距离矩阵的第一列的第三个元素开始输入所述部分转写文本的字符;
定义所述编辑距离矩阵的第二行中的第二个元素的值为0;
以所述编辑距离矩阵的第二行中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二行的各元素的值;
以所述编辑距离矩阵的第二列中的第二个元素的值为0依次递增数值1,初始化所述编辑距离矩阵的第二列的各元素的值。
3.根据权利要求2所述的基于语义解析的文本准确率计算方法,其特征在于,所述编辑距离矩阵中未被初始化的各元素的值由其左方、左上角、上方中的某一个元素的值来确定,在所述根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值的步骤中,包括:
识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数;
识别所述编辑距离矩阵的第三列中的第三个元素所处于的列数、行数分别对应所述模板文本的字符、所述部分转写文本的字符;
判断所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符是否相等;
若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左上角的元素的值;
若所述编辑距离矩阵的第三列中的第三个元素所处于的列数对应所述模板文本的字符与所述编辑距离矩阵的第三列中的第三个元素所处于行数对应所述部分转写文本的字符不相等,则所述编辑距离矩阵的第三列中的第三个元素的值为其左方、左上角、上方的元素中最小值加1得到;
依次计算所述编辑距离矩阵的第三列中的第四个元素的值,直至完成计算所述编辑距离矩阵中各元素的值。
4.根据权利要求1所述的基于语义解析的文本准确率计算方法,其特征在于,在所述记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵的步骤中,包括:
记录所述编辑距离矩阵中各元素的值的计算轨迹;
根据所述编辑距离矩阵中各元素的值的计算轨迹,标记所述编辑距离矩阵中各元素的值产生由来;
在完成标记后,生成与所述编辑距离矩阵对应的轨迹矩阵。
5.根据权利要求1所述的基于语义解析的文本准确率计算方法,其特征在于,在所述计算所述轨迹矩阵中各轨迹的相似度的步骤中,包括:
识别所述轨迹矩阵中各轨迹中所述部分转写文本的字符与对应的所述模板文本的字符相等的个数,获得相等字符个数;
比较所述轨迹矩阵中各轨迹中所述部分转写文本的字符的长度与对应的所述模板文本的字符的长度,选取长度长的作为字符总数;
计算所述轨迹矩阵中各轨迹的相等字符个数与对应的字符总数的比值,获得所述轨迹矩阵中各轨迹的相似度。
6.根据权利要求1所述的基于语义解析的文本准确率计算方法,其特征在于,在所述根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点的步骤中,包括:
标记所述第一轨迹中第一个元素和最后一个元素;
根据所述第一轨迹中第一个元素和最后一个元素,标记对应的所述模板文本的字符,分别获得第一始点、第一终点。
7.根据权利要求6所述的基于语义解析的文本准确率计算方法,其特征在于,在所述根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本的步骤中,包括:
截取所述第一始点与所述第一终点之间的字符,其中所述第一始点与所述第一终点之间的字符包括所述第一始点对应的字符和所述第一终点对应的字符;
根据截取到的字符生成文本,获得所述新模板文本。
8.一种基于语义解析的文本准确率计算装置,其特征在于,所述装置包括:
第一获取模块,用于获取从模板文本除始点之外的任意位置开始被转写的部分转写文本;
建立模块,用于以所述模板文本字符的长度增加两个字符的长度为列数、以所述部分转写文本字符的长度增加两个字符的长度为行数,建立编辑距离矩阵;
第一计算模块,用于根据所述部分转写文本、所述模板文本,计算所述编辑距离矩阵中各元素的值;
生成模块,用于记录所述编辑距离矩阵中各元素的值的计算轨迹,生成与所述编辑距离矩阵对应的轨迹矩阵;
筛选模块,用于计算所述轨迹矩阵中各轨迹的相似度,筛选所述部分转写文本与所述模板文本相似度最高的一条轨迹,获得第一轨迹;
获得模块,用于根据所述第一轨迹,确定所述部分转写文本在所述模板文本上对应的始点和终点,获得第一始点和第一终点;
第二获取模块,用于根据所述第一始点和所述第一终点,从所述模板文本中获取新模板文本;
第二计算模块,用于将所述部分转写文本与所述新模板文本进行对比,通过编辑距离算法计算所述部分转写文本的准确率。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201811347235.2A 2018-11-13 2018-11-13 基于语义解析的文本准确率计算方法、装置、计算机设备 Active CN109657210B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811347235.2A CN109657210B (zh) 2018-11-13 2018-11-13 基于语义解析的文本准确率计算方法、装置、计算机设备
PCT/CN2018/124399 WO2020098099A1 (zh) 2018-11-13 2018-12-27 基于语义解析的文本准确率计算方法、装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811347235.2A CN109657210B (zh) 2018-11-13 2018-11-13 基于语义解析的文本准确率计算方法、装置、计算机设备

Publications (2)

Publication Number Publication Date
CN109657210A CN109657210A (zh) 2019-04-19
CN109657210B true CN109657210B (zh) 2023-10-10

Family

ID=66110906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811347235.2A Active CN109657210B (zh) 2018-11-13 2018-11-13 基于语义解析的文本准确率计算方法、装置、计算机设备

Country Status (2)

Country Link
CN (1) CN109657210B (zh)
WO (1) WO2020098099A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117725909B (zh) * 2024-02-18 2024-05-14 四川日报网络传媒发展有限公司 一种多维度的评论审核方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108570A (ja) * 2010-11-15 2012-06-07 Hitachi Ltd 単語意味関係抽出装置及び単語意味関係抽出方法
CN102622338A (zh) * 2012-02-24 2012-08-01 北京工业大学 一种短文本间语义距离的计算机辅助计算方法
CN105117054A (zh) * 2015-08-12 2015-12-02 珠海优特电力科技股份有限公司 一种手写输入的识别方法及***
CN105183732A (zh) * 2014-06-04 2015-12-23 广州市动景计算机科技有限公司 网页的处理方法及装置
CN106033416A (zh) * 2015-03-09 2016-10-19 阿里巴巴集团控股有限公司 一种字符串处理方法及装置
CN106372061A (zh) * 2016-09-12 2017-02-01 电子科技大学 基于语义的短文本相似度计算方法
CN107885718A (zh) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 语义确定方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001136B1 (en) * 2007-07-10 2011-08-16 Google Inc. Longest-common-subsequence detection for common synonyms
CN103699591A (zh) * 2013-12-11 2014-04-02 湖南大学 一种基于示例页面的网页正文提取方法
CN108399163B (zh) * 2018-03-21 2021-01-12 北京理工大学 结合词聚合与词组合语义特征的文本相似性度量方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012108570A (ja) * 2010-11-15 2012-06-07 Hitachi Ltd 単語意味関係抽出装置及び単語意味関係抽出方法
CN102622338A (zh) * 2012-02-24 2012-08-01 北京工业大学 一种短文本间语义距离的计算机辅助计算方法
CN105183732A (zh) * 2014-06-04 2015-12-23 广州市动景计算机科技有限公司 网页的处理方法及装置
CN106033416A (zh) * 2015-03-09 2016-10-19 阿里巴巴集团控股有限公司 一种字符串处理方法及装置
CN105117054A (zh) * 2015-08-12 2015-12-02 珠海优特电力科技股份有限公司 一种手写输入的识别方法及***
CN106372061A (zh) * 2016-09-12 2017-02-01 电子科技大学 基于语义的短文本相似度计算方法
CN107885718A (zh) * 2016-09-30 2018-04-06 腾讯科技(深圳)有限公司 语义确定方法及装置

Also Published As

Publication number Publication date
WO2020098099A1 (zh) 2020-05-22
CN109657210A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN110765763B (zh) 语音识别文本的纠错方法、装置、计算机设备和存储介质
CN110704633B (zh) 命名实体识别方法、装置、计算机设备及存储介质
TWI621077B (zh) 理賠單據的字元識別方法及伺服器
CN113220782B (zh) 多元测试数据源生成方法、装置、设备及介质
CN112651238A (zh) 训练语料扩充方法及装置、意图识别模型训练方法及装置
CN109783785B (zh) 生成实验检测报告的方法、装置和计算机设备
CN109473093B (zh) 语音识别方法、装置、计算机设备及存储介质
CN109766072B (zh) 信息校验输入方法、装置、计算机设备和存储介质
WO2022116436A1 (zh) 长短句文本语义匹配方法、装置、计算机设备及存储介质
CN112766319A (zh) 对话意图识别模型训练方法、装置、计算机设备及介质
CN113449489A (zh) 标点符号标注方法、装置、计算机设备和存储介质
WO2019153587A1 (zh) 用户身份验证方法、装置、计算机设备和存储介质
CN109657210B (zh) 基于语义解析的文本准确率计算方法、装置、计算机设备
CN110705211A (zh) 文本重点内容标记方法、装置、计算机设备及存储介质
CN112633423B (zh) 文本识别模型的训练方法、文本识别方法、装置及设备
CN112749639B (zh) 模型训练方法、装置、计算机设备和存储介质
CN109710904B (zh) 基于语义解析的文本准确率计算方法、装置、计算机设备
CN112395857A (zh) 基于对话***的语音文本处理方法、装置、设备及介质
CN115497484B (zh) 语音解码结果处理方法、装置、设备及存储介质
CN110852098A (zh) 一种数据修正方法及电子设备和存储介质
CN113645357B (zh) 通话质检方法、装置、计算机设备和计算机可读存储介质
CN112363929B (zh) ***上线方法、装置、计算机设备及存储介质
CN110780850B (zh) 需求用例辅助生成方法、装置、计算机设备及存储介质
CN114638229A (zh) 笔录数据的实体识别方法、装置、介质及设备
CN113205084B (zh) 一种英语听写批改方法、装置和电子设备

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