语音检测方法、装置、电子设备及存储介质与流程

文档序号:21354144发布日期:2020-07-04 04:20阅读:189来源:国知局
语音检测方法、装置、电子设备及存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种语音检测方法、装置、电子设备及存储介质。



背景技术:

本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

现实场景下背诵检查或朗读正确性检查一般由人工完成,但是人工检查容易受到背诵或朗读的文本长度、被检查者表述方式等因素影响。并且对于教师、家长等检查者而言,在检查大量背诵者或朗读者的过程中,保持专注度及一致的判罚尺度较为困难,同时比较耗费时间精力;而对于学生等被检查者而言,在没有另一个人作为检查者的情况下,只能对背诵的文本进行录音后,再充当检查者对录音进行检查,整体效率很低。



技术实现要素:

针对上述技术问题,非常需要一种改进的方法,以满足现实场景中检查背诵或朗读正确性的需求,减轻检查者的工作量,同时还能够满足被查着进行自查的需求,提升查验效率。

一方面,本申请一实施例提供了一种语音检测方法,包括:

获取针对参考文本的语音信号,并将所述语音信号转换为待检测文本;

获取所述参考文本包含的关键词;

将所述待检测文本和所述参考文本包含的关键词逐一进行匹配;

根据匹配失败的关键词,输出所述参考文本中包含所述匹配失败的关键词的文本。

可选地,所述将所述待检测文本和所述参考文本包含的关键词逐一进行匹配,具体包括:

通过以下至少一种方式确定所述参考文本包含的每个关键词是否匹配成功:

针对所述参考文本包含的每个关键词,若所述待检测文本中不存在与所述关键词匹配的词,则确定所述关键词匹配失败;

针对所述参考文本包含的每个关键词,若所述待检测文本对应的拼音序列中不存在与所述关键词对应的拼音序列匹配的拼音序列,则确定所述关键词匹配失败。

可选地,通过以下至少一种方式确定所述待检测文本中是否存在与所述关键词匹配的词:

若所述待检测文本中存在与所述关键词相同的词,则确定所述待检测文本中存在与所述关键词匹配的词;

若所述待检测文本中存在与所述关键词对应的任一同义词相同的词,则确定所述待检测文本中存在与所述关键词匹配的词;

若所述待检测文本中存在与所述关键词对应的任一读法相同的词,则确定所述待检测文本中存在与所述关键词匹配的词。

可选地,通过以下方式确定所述待检测文本中不存在与所述关键词对应的拼音序列匹配的拼音序列:

根据预设的谐音对照表,为每个关键词对应的拼音序列构建谐音序列;

若所述待检测文本中不存在与所述关键词对应的拼音序列,且不存在与所述关键词的谐音序列相同的拼音序列,则确定所述待检测文本对应的拼音序列中不存在与所述关键词对应的拼音序列匹配的拼音序列。

可选地,所述将所述待检测文本和所述参考文本包含的关键词逐一进行匹配,还包括:

对每个匹配失败的关键词进行分词处理,获得每个匹配失败的关键词对应的多个分词;

将所述待检测文本和每个匹配失败的关键词对应的多个分词分别进行匹配;

若匹配失败的关键词对应的多个分词与所述待检测文本匹配成功,则将该匹配失败的关键词确定为匹配成功的关键词。

可选地,所述将所述待检测文本和所述参考文本包含的关键词逐一进行匹配,具体包括:

按所述参考文本中每个关键词出现的先后顺序,依次对所述参考文本中每个关键词进行如下处理:

将所述关键词与所述待检测文本中上一次匹配到的目标文本之后的文本依次进行匹配,直至获得与所述关键词匹配的目标文本或者对所述关键词进行匹配的次数已达到第一阈值;

若未获得与所述关键词匹配的目标文本,且对所述关键词进行匹配的次数已达到第一阈值,则确定所述关键词匹配失败。

可选地,若未获取到所述参考文本包含的关键词或所述待检测文本与所述参考文本之间的容错率为零,则所述方法还包括:

按所述参考文本中每个非标点字符的排列顺序,依次对所述参考文本中每个非标点字符进行如下处理:

将所述非标点字符与所述待检测文本中上一次匹配到的字符之后的字符依次进行匹配,直至从所述待检测文本中获得与所述非标点字符匹配的字符或者已与所述非标点字符进行匹配的字符数达到第二阈值,其中,第二阈值是根据累计错误数量和预设的字符间隔距离确定的;

若未获得匹配的字符,则将所述非标点字符标记为错误字符,所述累计错误数量加1;

若获得匹配的字符,则将所述累计错误数量清零;

所述方法还包括:

输出所述参考文本中包含错误字符的文本。

一方面,本申请一实施例提供了一种语音检测装置,包括:

语音转换模块,用于获取针对参考文本的语音信号,并将所述语音信号转换为待检测文本;

关键词获取模块,用于获取所述参考文本包含的关键词;

匹配模块,用于将所述待检测文本和所述参考文本包含的关键词逐一进行匹配;

输出模块,用于根据匹配失败的关键词,输出所述参考文本中包含所述匹配失败的关键词的文本。

可选地,所述关键词获取模块,具体用于通过以下至少一种方式获取所述参考文本包含的关键词:

从所述参考文本中识别出命名实体,基于识别出的命名实体确定出所述参考文本包含的关键词;

根据预设词表从所述参考文本中提取出候选关键词,基于提取出的候选关键词确定出所述参考文本包含的关键词;

从所述参考文本中提取出满足预定义模板的文本,基于提取出的文本确定出所述参考文本包含的关键词;

基于已训练的关键词提取模型,确定出所述参考文本包含的关键词。

可选地,所述关键词获取模块,具体用于:

按提取出的候选关键词的词长度从小到大的顺序,依次将所述参考文本中的每个候选关键词的每个字符对应的标签设置为每个候选关键词唯一对应的标识符,其中,所述参考文本中的每个字符对应的标签的初始标识符为0;

将所述参考文本中连续且具有相同标签的至少一个字符合并成一个词;

将合并得到的词中标签不为0的词确定为所述参考文本包含的关键词。

可选地,所述关键词获取模块,具体用于:

从所述参考文本中提取出包含在预设词表中的预设词,并确定提取出的各个预设词的左侧字符和右侧字符在所述参考文本中的位置序号;

对所述参考文本进行分词处理,获得所述参考文本对应的若干分词片段以及第一分词边界集合和第二分词边界集合,所述第一分词边界集合包括各个分词片段的左侧字符在所述参考文本中的位置序号,所述第二分词边界集合包括各个分词片段的右侧字符在所述参考文本中的位置序号;

针对从参考文本中提取出的预设词中的任一预设词,若所述第一分词边界集合中包含所述任一预设词的左侧字符在所述参考文本中的位置序号,或所述第二分词边界集合中包含所述任一预设词的右侧字符在所述参考文本中的位置序号,则将所述任一预设词作为候选关键词。

可选地,所述语音检测装置还包括预设词表构建模块,用于通过如下方式构建所述预设词表:

从各个语料中提取出满足预设条件的文本作为候选词;

确定每个候选词的统计特征值;

将统计特征值超过特征阈值的候选词添加到预设词表中。

可选地,所述预设词表构建模块,具体用于:

通过所述关键词提取模型提取各个语料中的关键词;

将未包含在所述预设词表中的关键词添加到所述预设词表中。

可选地,所述语音检测装置还包括训练模块,用于通过以下方式训练所述关键词提取模型:

根据所述预设词表对各个语料中出现的关键词进行标注,获得训练样本;

基于训练样本对所述关键词提取模型进行训练。

可选地,所述匹配模块,具体用于通过以下至少一种方式确定所述参考文本包含的每个关键词是否匹配成功:

针对所述参考文本包含的每个关键词,若所述待检测文本中不存在与所述关键词匹配的词,则确定所述关键词匹配失败;

针对所述参考文本包含的每个关键词,若所述待检测文本对应的拼音序列中不存在与所述关键词对应的拼音序列匹配的拼音序列,则确定所述关键词匹配失败。

可选地,所述匹配模块,具体用于通过以下至少一种方式确定所述待检测文本中是否存在与所述关键词匹配的词:

若所述待检测文本中存在与所述关键词相同的词,则确定所述待检测文本中存在与所述关键词匹配的词;

若所述待检测文本中存在与所述关键词对应的任一同义词相同的词,则确定所述待检测文本中存在与所述关键词匹配的词;

若所述待检测文本中存在与所述关键词对应的任一读法相同的词,则确定所述待检测文本中存在与所述关键词匹配的词。

可选地,所述匹配模块,具体用于通过以下方式确定所述待检测文本中不存在与所述关键词对应的拼音序列匹配的拼音序列:

根据预设的谐音对照表,为每个关键词对应的拼音序列构建谐音序列;

若所述待检测文本中不存在与所述关键词对应的拼音序列,且不存在与所述关键词的谐音序列相同的拼音序列,则确定所述待检测文本对应的拼音序列中不存在与所述关键词对应的拼音序列匹配的拼音序列。

可选地,所述匹配模块,还用于:

对每个匹配失败的关键词进行分词处理,获得每个匹配失败的关键词对应的多个分词;

将所述待检测文本和每个匹配失败的关键词对应的多个分词分别进行匹配;

若匹配失败的关键词对应的多个分词与所述待检测文本匹配成功,则将该匹配失败的关键词确定为匹配成功的关键词。

可选地,所述匹配模块,具体用于按所述参考文本中每个关键词出现的先后顺序,依次对所述参考文本中每个关键词进行如下处理:

将所述关键词与所述待检测文本中上一次匹配到的目标文本之后的文本依次进行匹配,直至获得与所述关键词匹配的目标文本或者对所述关键词进行匹配的次数已达到第一阈值;

若未获得与所述关键词匹配的目标文本,且对所述关键词进行匹配的次数已达到第一阈值,则确定所述关键词匹配失败。

可选地,所述匹配模块,还用于若未获取到所述参考文本包含的关键词或所述待检测文本与所述参考文本之间的容错率为零,按所述参考文本中每个非标点字符的排列顺序,依次对所述参考文本中每个非标点字符进行如下处理:

将所述非标点字符与所述待检测文本中上一次匹配到的字符之后的字符依次进行匹配,直至从所述待检测文本中获得与所述非标点字符匹配的字符或者已与所述非标点字符进行匹配的字符数达到第二阈值,其中,第二阈值是根据累计错误数量和预设的字符间隔距离确定的;

若未获得匹配的字符,则将所述非标点字符标记为错误字符,所述累计错误数量加1;

若获得匹配的字符,则将所述累计错误数量清零;

相应地,所述输出模块,还用于输出所述参考文本中包含错误字符的文本。

一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。

一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。

一方面,本申请一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。

本申请实施例提供的语音检测方法、装置、电子设备及存储介质,能够满足现实场景中检查背诵和朗读正确性的需求,减轻检查者的工作量,还能够满足被查着进行自查的需求,提升了查验效率,同时提高了被检查者的自主学习效率。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:

图1a为本申请实施例提供的语音检测方法的应用场景示意图;

图1b为本申请实施例提供的终端设备执行语音检测方法时的操作界面的示意图;

图1c为本申请实施例提供的终端设备执行语音检测方法时的操作界面的示意图;

图2为本申请一实施例提供的语音检测方法的流程示意图;

图3为本申请一实施例提供的根据预设词表从参考文本中提取出候选关键词的流程示意图;

图4为本申请一实施例提供的基于提取出的候选关键词确定出参考文本包含的关键词的流程示意图;

图5为本申请一实施例提供的训练关键词提取模型的流程示意图;

图6为本申请一实施例提供的构建某一领域的预设词表的流程示意图;

图7为本申请一实施例提供的确定未匹配成功的关键词是否与待检测文本匹配的流程示意图;

图8为本申请一实施例提供的语音检测方法的流程示意图;

图9为本申请一实施例提供的语音检测装置的结构示意图;

图10为本申请一实施例提供的电子设备的结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本申请的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本申请可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

为了方便理解,下面对本申请实施例中涉及的名词进行解释:

命名实体,一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、组织机构名、日期时间、专有名词等。命名实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为命名实体。

命名实体识别(namedentitiesrecognition,ner),是自然语言处理的一个基础任务,目的是从非结构化的输入文本中抽取出命名实体。ner任务中的常用模型包括生成式模型hmm(hiddenmarkovmodel,隐马尔可夫模型)、判别式模型crf(条件随机场(conditionalrandomfield,条件随机场)等。判别式模型crf是ner目前的主流模型,它的目标函数不仅考虑输入的状态特征函数,而且还包含了标签转移特征函数。

bert模型:全称为bidirectionalencoderrepresentationsfromtransformers,意为来自变换器的双向编码器表征量,是一种新的语言表征模型。bert模型旨在基于所有层的左、右语境来预训练深度双向表征,因此,预训练的bert表征可以仅用一个额外的输出层进行微调,进而为很多任务(如问答和语言推理)创建当前最优模型,无需对任务特定架构做出大量修改。

中文分词,是将一个汉字序列切分成若干个单独的词,即将连续的字序列按照一定的规范重新组合成词序列的过程。常用的中文分词工具有jieba。

停用词(stopwords),是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词。停用词都是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表。

应用(application,app):即应用程序,可以完成某项或多项业务的计算机程序,一般具有可视的显示界面,能与用户进行交互,比如电子地图和浏览器等都可以称为应用。常见的应用主要分两类:一类是预装的系统应用,比如短信、照片、备忘录、safari等;另一类是第三方应用,比如资讯类应用、购物类应用、社交类应用等等。

下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。

发明概述

本申请的发明人发现,目前背诵检查或朗读正确性检查一般由人工完成,但是人工检查容易受到背诵或朗读的文本长度、被检查者表述方式等因素影响。并且对于教师、家长等检查者而言,在检查大量背诵者或朗读者的过程中,保持专注度及一致的判罚尺度较为困难,同时比较耗费时间精力;而对于学生等被检查者而言,在没有另一个人作为检查者的情况下,只能对背诵的文本进行录音后,再充当检查者对录音进行检查,整体效率很低。

为了解决上述问题,本申请提供了一种语音检测方法,具体包括:获取针对参考文本的语音信号,并将语音信号转换为待检测文本;获取参考文本包含的关键词;将待检测文本和参考文本包含的关键词逐一进行匹配;根据匹配失败的关键词,输出参考文本中包含匹配失败的关键词的文本。基于上述语音检测方法,获取被检查者背诵或朗读参考文本时的语音信号,将该语音转换为待检测文本,将待检测文本与参考文本中的关键词逐一进行匹配,以检测待检测文本中是否包含参考文本中的关键词,从而确定被检查者背诵或朗读的内容是否与参考文本一致,同时还可以根据匹配失败的关键词,输出参考文本中包含匹配失败的关键词的文本,向被检查者展示其背诵或朗读过程中遗漏或出错的文本。上述语音检测方法,能够满足现实场景中检查背诵和朗读正确性的需求,减轻检查者的工作量,还能够满足被查着进行自查的需求,提升了查验效率,同时提高了被检查者的自主学习效率。

在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。

应用场景总览

参考图1a,其为本申请实施例提供的语音检测方法的应用场景示意图。该应用场景包括终端设备101和后台服务器102。其中,终端设备101和后台服务器102之间通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、车载设备、个人数字助理(personaldigitalassistant,pda)或其它能够实现上述功能的电子设备等。后台服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。

终端设备101上安装有可进行语音检测的第一应用以及采集语音的麦克风。参考图1b,用户打开第一应用后,可在操作界面103上选择想要被背诵的参考文本,终端设备101在操作界面103上显示用户选择的参考文本,当用户确认可进行背诵检查时,点击操作界面103上的开始背诵按钮104,终端设备101隐藏显示的参考文本,并通过终端设备101的麦克风采集用户背诵过程中的语音信号,用户背诵完毕后,点击操作界面103上的结束背诵按钮105,终端设备101停止录音,然后用户可点击检查按钮106,终端设备101将参考文本和采集的语音信号发送给后台服务器102。后台服务器102将获得的语音信号转换为待检测文本,将待检测文本与参考文本进行对比,若确定出用户背诵过程中遗漏或出错的内容,则将遗漏或出错的内容作为检查结果,若没有任何错误或遗漏,则检查结果为“完全正确”等类似表示正确的文本,将检查结果发送给终端设备101。终端设备101显示后台服务器102发送的检查结果。

参考图1c,用户打开第一应用后,可在操作界面103上选择想要被朗读的参考文本,终端设备101在操作界面103上显示用户选择的参考文本,然后用户可点击操作界面103上的开始朗读按钮107,终端设备101的麦克风采集用户朗读过程中的语音信号,用户朗读完毕后,可点击操作界面103上的结束朗读按钮108,终端设备101停止录音,然后用户可点击检查按钮109,终端设备101将参考文本和采集的语音信号发送给后台服务器102。后台服务器102将获得的语音信号转换为待检测文本,将待检测文本与参考文本进行对比,若确定出用户朗读过程中遗漏或出错的内容,则将遗漏或出错的内容作为检查结果,若没有任何错误或遗漏,则检查结果为“完全正确”等类似表示正确的文本,将检查结果发送给终端设备101。终端设备101显示后台服务器102发送的检查结果。

具体实施时,用户也可以点击第一应用的操作界面103中的手动输入按钮110,此时操作界面103上会弹出文本编辑框,用户可在文本编辑框中手动输入参考文本,或者从其他地方复制参考文本并粘贴到文本编辑框中。当然,为了进一步方便用户快速输入参考文本,第一应用还可以提供拍照输入参考文本的功能,即用户点击第一应用中的拍照输入按钮111,将操作界面103上显示的取景框对准待朗读或背诵的文字部分,点击拍摄按钮后,第一应用获取到取景框中对应内容的图像,基于ocr(opticalcharacterrecognition,光学字符识别)技术对获取的图像进行字符识别,将识别出的文本作为参考文本,并在终端设备101上显示参考文本。

示例性方法

下面结合图1a的应用场景,来描述根据本申请示例性实施方式的语音检测方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。

本申请实施例提供的语音检测方法可应用于图1a所示的终端设备101或后台服务器102,下面主要以后台服务器为例进行说明。

参考图2,本申请实施例提供了的一种语音检测方法,可应用于图1a所示的后台服务器102,具体可包括以下步骤:

s201、获取针对参考文本的语音信号,并将语音信号转换为待检测文本。

其中,针对参考文本的语音信号是指用户(即被检查者)朗读参考文本或背诵参考文本的语音。具体实施时,用户可通过图1a所示的终端设备输入针对参考文本的语音信号,并将参考文本和语音信号发送给后台服务器。

具体实施时,可通过语音识别技术将语音信号转换为文本信息,将获得的文本信息作为待检测文本。

进一步地,用户背诵或朗读过程中可能会停下来思考,此时会不自觉的说出“嗯”、“哼”、“啊”等停用字,因此,可根据预先设定的停用字表,去除获得的文本信息中出现的停用字,将去除停用字的文本作为待检测文本。当然,在一些应用场景中还可以去除获得的文本信息中的标点符号,将去除停用字和标点符号的文本作为待检测文本。

s202、获取参考文本包含的关键词。

其中,关键词可以包括背诵或朗读参考文本时必须能涵盖参考文本中全部有意义的信息和表达的文字,关键词还可以包括一些特定学科的专业词汇。每个参考文本对应多个关键词。例如,参考文本为“战国是中国的农业、纺织业、思想、科技、军事和政治发展的黄金时期”,其中,关键词可以包括“战国”、“中国”、“农业”、“纺织业”、“思想”、“科技”、“军事”、“政治”和“黄金时期”。

具体实施时,终端设备显示的多个参考文本是后台服务器推送给终端设备的。若参考文本为用户从终端设备显示的多个参考文本中选取的,则后台服务器后可预先确定出参考文本包含的关键词,并与参考文本关联存储,在接收到终端设备发送的参考文本和语音信号后,可直接获取与参考文本关联存储的关键词。若参考文本为用户自己输入的,则后台服务器需根据用户输入的参考文本实时确定出该参考文本中包含的关键词。

s203、将待检测文本和参考文本包含的关键词逐一进行匹配。

具体实施时,后台服务器将待检测文本和参考文本包含的关键词逐一进行匹配,以确定待检测文本中是否包含参考文本的各个关键词。若参考文本中不包含某一关键词,则表示该关键词匹配失败;若参考文本中包含某一关键词,则表示该关键词匹配成功。

具体实施时,还可以预先存储各个关键词在参考文本中的出现顺序。若待检测文本中包含参考文本的关键词,且关键词在待检测文本中出现的顺序与关键词在参考文本中的出现顺序一致,则确定所有关键词均匹配;若某一关键词在待检测文本中出现的顺序与关键词在参考文本中的出现顺序不一致,则确定该关键词匹配失败。

s204、根据匹配失败的关键词,输出参考文本中包含匹配失败的关键词的文本。

具体实施时,若参考文本包含的所有关键词均与待检测文本匹配成功,则确定语音信号对应的待检测文本与参考文本一致,表示用户背诵或朗读参考文本过程中没有任何错误或遗漏,可以输出“完全正确”等类似的检查结果,将检查结果返回给终端设备。

具体实施时,若存在匹配失败的关键词,则输出参考文本中包含匹配失败的关键词的文本,其中,输出的文本可以是参考文本中包含匹配失败的关键词的短句,也可以是参考文本中包含匹配失败的关键词的一个完整的句子,还可以是参考文本中包含匹配失败的关键词的一个段落。为了使得用户能够快速获知错误或遗漏的关键词,可在输出的文本中标注出匹配失败的关键词,标注的方式包括但不限于高亮、文字加粗、下划线、文字颜色与正常文字不同等。

举例说明,参考文本为“战国是中国的农业、纺织业、思想、科技、军事和政治发展的黄金时期。与此同时,图强求存的各诸侯国展开了许多举世闻名的变法和改革……”,其中关键词“农业”匹配失败,则输出的文本可以是“战国是中国的农业、纺织业、思想、科技、军事和政治发展的黄金时期”,其中关键词“农业”的颜色为红色,其他文字的颜色为正常的黑色。

本申请实施例的语音检测方法,获取用户背诵或朗读参考文本时的语音信号,将该语音转换为待检测文本,将待检测文本与参考文本中的关键词逐一进行匹配,以检测待检测文本中是否包含参考文本中的关键词,从而确定用户背诵或朗读的内容是否与参考文本一致,同时还可以根据匹配失败的关键词,输出参考文本中包含匹配失败的关键词的文本,向用户展示其背诵或朗读过程中遗漏或出错的文本。上述语音检测方法,能够满足现实场景中检查背诵和朗读正确性的需求,减轻检查者的工作量,还能够满足被查着进行自查的需求,提升了查验效率,同时提高了被检查者的自主学习效率。

具体实施时,后台服务器可通过以下至少一种方式获取参考文本包含的关键词:

第一种关键词提取方法:从参考文本中识别出命名实体,基于识别出的命名实体确定出参考文本包含的关键词。

具体实施时,可利用基于大规模语料预训练的基于结构感知机的分词、词性标注、ner模型,从参考文本中识别出命名实体,将识别出的命名实体作为参考文本包含的关键词。其中,命名实体包括人名、地名、专有名词、时间词等。

第二种关键词提取方法:根据预设词表从参考文本中提取出候选关键词,基于提取出的候选关键词确定出参考文本包含的关键词。

其中,预设词表中的预设词是预先确定的可以作为关键词的词。具体实施时,不同领域可对应不同的预设词表,在对参考文本进行关键词提取时,可利用参考文本所属领域的预设词表进行关键词提取。例如,历史学科的文本可划分到历史领域,政治学课的文本可划分到政治领域,领域的具体划分方式可根据实际应用需求确定。

在一种可能的实施方式中,若参考文本中的某一个词与预设词表中的任一预设词相同,则将参考文本中的该词作为候选关键词。

在另一种可能的实施方式中,参考图3,可通过如下方式根据预设词表从参考文本中提取出候选关键词:

s301、从参考文本中提取出包含在预设词表中的预设词,并确定提取出的各个预设词的左侧字符和右侧字符在参考文本中的位置序号。

其中,参考文本中的每个字符按照顺序分别对应一个位置序号,例如参考文本“秦始皇帝避免后代争夺权位”中,字符“秦”对应的位置序号为1,字符“始”对应的位置序号为2,其他字符的位置序号依次类推。

其中,预设词的左侧字符即为预设词中的第一个字符,预设词的右侧字符即为预设词中的最后一个字符,例如“秦始皇”的左侧字符为“秦”,右侧字符为“皇”。

s302、对参考文本进行分词处理,获得参考文本对应的若干分词片段以及第一分词边界集合和第二分词边界集合,第一分词边界集合包括各个分词片段的左侧字符在参考文本中的位置序号,第二分词边界集合包括各个分词片段的右侧字符在参考文本中的位置序号。

具体实施时,可通过现有的中文分词工具(例如jieba),对参考文本进行分词处理,以将参考文本切分成若干个分词片段,同时可获取各个分词片段的左侧字符在参考文本中的位置序号,以及各个分词片段的右侧字符在参考文本中的位置序号。例如,参考文本“abcdefghijkl”的分词结果为:“abcde”、“fghij”和“kl”,其中,每个字母代表一个汉字,分词片段“abcde”的左侧字符在参考文本中的位置序号为1,右侧字符在参考文本中的位置序号为5,分词片段“fghij”的左侧字符在参考文本中的位置序号为6,右侧字符在参考文本中的位置序号为10,分词片段“kl”的左侧字符在参考文本中的位置序号为11,右侧字符在参考文本中的位置序号为12,因此,第一分词边界集合为{1,6,11},第二分词边界集合为{5,10,12}。

s303、针对从参考文本中提取出的预设词中的任一预设词,若第一分词边界集合中包含任一预设词的左侧字符在参考文本中的位置序号,或第二分词边界集合中包含任一预设词的右侧字符在参考文本中的位置序号,则将任一预设词作为候选关键词。

例如,参考文本为“abcdefghijkl”,提取出的一个预设词为“cdefg”,其左侧字符在参考文本中对应的位置序号为3,右侧字符在参考文本中对应的位置序号为7,第一分词边界集合中不存在3,且第二分词边界集合中也不存在7,因此,预设词“cdefg”不作为候选关键词。若提取出的一个预设词“ab”,其左侧字符在参考文本中对应的位置序号为1,右侧字符在参考文本中对应的位置序号为2,由于第一分词边界集合中存在1这个位置序号,因此,预设词“ab”可作为候选关键词。

由于预设词表中包含的预设词较多,如果机械地通过预设词表来确定关键词,很可能将分属两个词的字符合并为一个关键词,例如参考文本为“秦始皇帝避免后代争夺权位”,若预设词表中存在“夺权”,则会将“夺权”作为一个关键词,但在该参考文本中,“夺”和“权”应当分别属于“争夺”和“权位”。为防止出现上述问题,图3所示的方法基于参考文本的分词结果,从提取出的预设词中过滤掉部分不符合分词结果的词后,再基于过滤后的预设词确定出候选关键词,可保证提取出的候选关键词的准确度。例如,参考文本“秦始皇帝避免后代争夺权位”的分词结果为:“秦始”、“皇帝”、“避免”、“后代”、“争夺”、“权位”,对应的第一分词边界集合为{1,3,5,7,9,11},第二分词边界集合为{2,4,6,8,10,12},针对提取出的预设词“夺权”,其左侧字符“夺”在参考文本中的位置序号为10,不在第一分词边界集合中,其右侧字符“权”在参考文本中的位置序号为11,不在第二分词边界集合中,因此,不会将“夺权”作为候选关键词;而针对提取出的预设词“秦始皇”,其左侧字符“秦”在参考文本中的位置序号为1,在第一分词边界集合中,因此将“秦始皇”作为候选关键词。

具体实施时,参考图4,可通过如下方式基于提取出的候选关键词确定出参考文本包含的关键词:

s401、按提取出的候选关键词的词长度从小到大的顺序,依次将参考文本中的每个候选关键词的每个字符对应的标签设置为每个候选关键词唯一对应的标识符,其中,参考文本中的每个字符对应的标签的初始标识符为0。

其中,词长度是指一个词中包含的字符数量,例如,“美”的词长度为1,“美国”的词长度为2,“美利坚合众国”的词长度为6。具体地,若多个候选关键词的词长度相同,则可根据拼音排列的先后顺序、笔画数大小等排列规则,对词长度相同的多个候选关键词进行排序,保证排序结果中不存在排序并列的候选关键词。

具体实施时,可为每个预设词分配一个唯一对应的标识符,此时每个候选关键词唯一对应的标识符可以是该候选关键词匹配的预设词所对应的标识符。

具体实施时,也可以临时为每个候选关键词唯一对应的标识符。例如,可按一定规则对候选关键词进行排序,按照排序依次为每个候选关键词分配唯一对应的标识符,其中,排序中的第一个候选关键词对应的标识符为数字a,之后的候选关键词对应的标识符在数字a的基础上依次增加1,a为大于0的整数。具体地,可按照候选关键词的词长度、拼音排列的先后顺序、笔画数大小等排列规则,对候选关键词进行排序,例如,先按词长度从小到大的顺序对候选关键词进行排序,再按拼音排列的先后顺序对词长度相同的候选关键词进行排序,最终确定所有候选关键词的排序,保证排序中不存在并列序位的候选关键词。

举例说明,参考文本为“美国经济危机”,候选关键词包括:“美”、“美国”、“经济”、“危机”、“经济危机”,候选关键词的排列的先后顺序为:“美”、“经济”、“美国”、“危机”、“经济危机”,则“美”对应的标识符为1,“经济”对应的标识符为2,“美国”对应的标识符为3,“危机”对应的标识符为4,“经济危机”对应的标识符为5。参考文本“美国经济危机”中的每个字符对应的标签的初始标识符为0,即参考文本“美国经济危机”的初始标签序列为{0,0,0,0,0,0}。按提候选关键词的词长度从小到大的顺序,依次对参考文本中出现的各个候选关键词进行标注,例如,先将“美国经济危机”中的“美”的标签标注为“1”,此时参考文本的标签序列为{1,0,0,0,0,0},然后对参考文本中的“美国”进行标注,此时参考文本的标签序列为{2,2,0,0,0,0},再对参考文本中的“经济”进行标注,此时参考文本的标签序列为{2,2,3,3,0,0},依次类推,直至完成对所有候选关键词的标注,最终参考文本的标签序列为{2,2,5,5,5,5}。

s402、将参考文本中连续且具有相同标签的至少一个字符合并成一个词。

s403、将合并得到的词中标签不为0的词确定为参考文本包含的关键词。

其中,标签为0的词表示该词未出现在预设词表中,不能作为关键词。

例如,参考文本“美国经济危机”的标签序列为{2,2,5,5,5,5},其中,“美”和“国”的标签相同,则“美国”为一个关键词,同样“经济危机”为一个关键词。

例如,参考文本“美国的经济危机”的标签序列为{2,2,0,5,5,5,5},其中,“美”和“国”的标签相同,则“美国”为一个关键词,同样“经济危机”为一个关键词,其中“的”对应的标签为0,因此“的”不是关键词。

按候选关键词的词长度从小到大的顺序,依次对参考文本中的字符进行标注,可保证参考文本中较长的候选关键词被确定为一个关键词,例如预设词表中同时包含“美”和“美国”时,会将参考文本“美国经济危机”中的“美国”确定为关键词,而不会将“美”确定为关键词。

第三种关键词提取方法:从参考文本中提取出满足预定义模板的文本,基于提取出的文本确定出参考文本包含的关键词。

具体实施时,预定义模板可以是连续的名词性词、名词+动词短句、数字年份、非数字的被标点分隔的单个汉字、句子中的并列成分、书名号括出的书名等。

第四种关键词提取方法:基于已训练的关键词提取模型,确定出参考文本包含的关键词。

其中,关键词提取模型可以是crf或者bert+crf等模型。

具体实施时,参考图5,可通过以下方式训练关键词提取模型:

s501、根据预设词表对各个语料中出现的关键词进行标注,获得训练样本。

具体实施时,根据某一领域的预设词表,对该领域中的各个语料中出现的关键词进行标注,从而得到关键词标注的监督语料作为训练样本,训练样本包括语料和指示语料中哪些词为关键词的标注序列。

具体实施时,还可以基于从语料中识别出的命名实体,对该领域中的各个语料中出现的关键词进行标注。或者根据预定义模板,对该领域中的各个语料中出现的关键词进行标注。

s502、基于训练样本对关键词提取模型进行训练。

具体实施时,训练样本中的语料输入关键词提取模型,获得表征语料中哪些词为关键词的输出序列,计算输出序列和标注序列的损失函数,根据损失函数调整关键词提取模型的参数,若调整参数后的关键词提取模型的输出未达到预设条件,则继续基于训练样本对关键词提取模型进行训练,否则停止训练,获得关键词提取模型。

具体实施时,可先利用部分领域的语料训练关键词提取模型,然后,利用训练好的关键词提取模型对其他领域的语料进行关键词标注和提取。例如,利用历史学科的语料训练得到关键词提取模型,然后可利用该关键词提取模型对政治学科的语料进行关键词标注和提取。

进一步地,实际应用中,可从上述四种关键词提取方法中任选至少两种方法进行组合使用,以提高关键词提取的精度。

下面举例说明一种可能的组合方式。假设参考文本对应的初始标签序列p中的每个标签为0,从参考文本中提取出关键词的步骤包括:

第一步,先利用第一种关键词提取方法提取出参考文本中的关键词,根据提取出的关键词在参考文本中对应的位置序号,对参考文本对应的初始标签序列中关键词所对应的标签进行标注,每个关键词对应不同的标识符,每个关键词所对应的标识符可依次递增,例如第一个进行标注的关键词的标识符为1,第二个进行标注的关键词的标识符为2,第三个进行标注的关键词的标识符为3,依次类推,直至第n个关键词标注完毕,第n个关键词的标识符为n,获得参考文本对应的标签序列p’。

第二步,利用第二种关键词提取方法对参考文本对应的标签序列p’进行标注,其中,基于预设词表确定出的m个候选关键词中,排序第一的候选关键词的标识符为n+1,排序第二的候选关键词为n+2,依次类推,排序第m的候选关键词的标识符为n+m,从而获得参考文本对应的标签序列p”。

第三步,基于第三种关键词提取方法,从参考文本中提取出满足预定义模板的文本,基于提取出的文本确定出参考文本包含的关键词,若某一关键词中的至少一个字符在标签序列p”中对应的标签为0,则对标签序列p”中该关键词对应的标签进行标注,获得参考文本对应的标签序列p”’,具体标注方法为:将该关键词中的每个字符在标签序列p”中对应的标签修改为新的标识符,该新的标识符与之前已标注过的任一关键词的标识符均不同。例如,参考文本是“abcdefgh……”,其中“abcdefgh”满足连续名词的预定义模板,但如果“ab”“cd”“efgh”均通过第一步和第二步被标注出,即“abcdefgh”中任一字符在标签序列中对应的标签均不为0,则不对“abcdefgh”进行标注;如果通过第一步和第二步只标注出“ab”“efgh”,则参考文本的标签序列p”为{1,1,0,0,10,10,10,10,...},则可对第三步提取的关键词“abcdefgh”进行标注,假设之前只标注了10个关键词,则关键词“abcdefgh”对应的标识符可以是11,则标注结果为{11,11,11,11,11,11,11,11,...}。

第四步,将参考文本对应的标签序列p”’中连续且具有相同标签的至少一个字符合并成一个词,将合并得到的词中标签不为0的词确定为参考文本包含的关键词。

在上述任一实施方式的基础上,参考图6,可通过如下方式构建某一领域的预设词表:

s601、从各个语料中提取出满足预设条件的文本作为候选词。

具体实施时,可收集无标注的某一领域的文本资料作为语料,例如考研政治或教师资格证考试等领域。将收集的各个语料中满足预设条件的连续字符作为候选词,其中,预设条件可以是:不包含停用字、长度在指定范围内的词或短语。

s602、确定每个候选词的统计特征值。

其中,统计特征值可以是词频、互信息、左右信息熵等。

s603、将统计特征值超过特征阈值的候选词添加到预设词表中。

具体实施时,还可以利用autophrase短语挖掘技术构建短语,并将构建的短语添加到预设词表中。

具体实施时,还可以根据预定义的词首词尾停用字等规则,删除预设词表中不符合规则的短语或单词。例如,规则可以是:词首不可以是“与”“使”等字、词表中的词不可由词表中其他的词组合而成等。

通过上述构建预设词表的步骤,可挖掘出各领域的常用词汇及短语,获得各个领域分别对应的预设词表。

在图6所示步骤的基础上,还可以通过如下方式进一步扩充各个领域分别对应的预设词表:通过关键词提取模型提取各个语料中的关键词;将未包含在预设词表中的关键词添加到预设词表中。其中,关键词提取模型的训练方法可参考图5。

具体实施时,针对某一领域的语料,可利用关键词提取模型从该领域的各个语料中提取出关键词,根据预定义的词首词尾停用字等规则,过滤掉不符合规则的关键词,若符合规则的关键词不在预设词表中,则将该关键词作为新的关键词添加到该领域的预设词表中,以扩充该领域的预设词表。

具体实施时,可定期扩充各个领域的语料库,基于图6所示的方式不断更新扩充各个领域的预设词表,并基于新的预设词表和语料库迭代训练关键词提取模型,以提高关键词提取模型的提取精度。

在上述任一实施方式的基础上,可通过以下至少一种方式确定参考文本包含的每个关键词是否匹配成功:

第一种匹配方式:针对参考文本包含的每个关键词,若待检测文本中不存在与关键词匹配的词,则确定关键词匹配失败。

具体实施时,若待检测文本中存在与关键词相同的词,则确定待检测文本中存在与关键词匹配的词。

具体实施时,若待检测文本中存在与关键词对应的任一同义词相同的词,则确定待检测文本中存在与关键词匹配的词。

其中,同义词表为预先设定的,同义词表中的每个关键词对应至少一个同义词。如果同义词表中存在参考文本中的关键词,则从同义词表中提取该关键词对应的全部同义词,若待检测文本中存在与该关键词对应的任一同义词相同的词,则确定待检测文本中存在与关键词匹配的词。

具体实施时,若待检测文本中存在与关键词对应的任一读法相同的词,则确定待检测文本中存在与关键词匹配的词。

其中,如果提取出的关键词存在多种读法,则需要预先构建多种读法对应的文本,若待检测文本中存在与任一读法对应的文本相同的词,则确定待检测文本中存在与关键词匹配的词。

例如,提取出的关键词中含有数字,则为其中每个数字构建可能的读法,进而根据不同数字的读法生成对应的文本。假设关键词为“2006年10月1日”,则分别为“2006”“10”“1”构建读法,则“2006”对应的可能的读法所对应的文本包括“二零零六”、“两千零六”或“二千零六”。

进一步地,可综合上述多种实施方式中的至少两种匹配方法,确定出匹配失败的关键词。例如,针对某一关键词,可通过以下三步确定该关键词是否匹配失败:

第一步、若待检测文本中存在与关键词相同的词,则确定待检测文本中存在与关键词匹配的词,匹配成功,否则执行第二步;

第二步、若待检测文本中存在与关键词对应的任一同义词相同的词,则确定待检测文本中存在与关键词匹配的词,匹配成功,否则执行第三步;

第三步、若待检测文本中存在与关键词对应的任一读法相同的词,则确定待检测文本中存在与关键词匹配的词,匹配成功,否则确定该关键词匹配失败。

第二种匹配方式:针对参考文本包含的每个关键词,若待检测文本对应的拼音序列中不存在与关键词对应的拼音序列匹配的拼音序列,则确定关键词匹配失败。

具体实施时,针对参考文本包含的任一关键词,若待检测文本对应的拼音序列中存在该关键词对应的拼音序列,则确定该关键词匹配成功,否则确定该关键词匹配失败。

例如,待检测文本的拼音序列为{mei,guo,shi,lian,bang,li,xian,zhi,guo,jia},参考文本中关键词“美国”对应的拼音序列为{mei,guo},则确定关键词“美国”匹配成功。

具体实施时,还可以根据预设的谐音对照表,为参考文本包含的每个关键词对应的拼音序列构建谐音序列。针对参考文本包含的任一关键词,若待检测文本中不存在与该关键词对应的谐音序列相同的拼音序列,则确定待检测文本对应的拼音序列中不存在与关键词对应的拼音序列匹配的拼音序列,即确定关键词匹配失败。

其中,谐音对照表中包括常见的互为谐音的声母或者互为谐音的韵母,例如,谐音对照表中可包括['ang','an','a'],['ong','on'],['eng','en'],['j','q','x'],['ing','in','i'],['ou','u'],['l','n'],['ie','ian'],['z','zh'],['c','ch'],['s','sh']等,其中,同一中括号内的多个声母或者韵母互为谐音,例如'ang'、'an和'a'互为谐音,'z'和'zh'互为谐音。实际应用中,可统计不同地域的用户的发音特征(如不区分平翘舌,不区分前后鼻音等),根据发音特征确定谐音对照表中包含的谐音,本申请实施不作限定。

其中,谐音序列的构建可根据预先定义的谐音对照表进行的,即根据谐音对照表,替换关键词的拼音序列中的一些声母或韵母,获得可能的谐音序列。例如,拼音序列为{zong,fa,zhi},其对应的谐音序列可以包括:{zhong,fa,zhi}、{zhong,fa,zi}等。

为了控制构建的谐音序列的数量,针对需要构建谐音的每个字,可预先设定一个字构建的谐音的数量上限x,即一个字中最多允许构建x个谐音,例如当x=1时,只可以为“ling”构建一个谐音序列,可以是“li”、“ling”、“lin”、“ning”等谐音中的任意一个;当x=2时,可以为“ling”构建量个谐音序列,可以是“li”、“ling”、“lin”、“ning”等谐音中的任意两个。还可以设定一个字对应的拼音序列中可替换的拼音的数量上限y,即每个字的拼音序列中最多可对y个声母或韵母构建谐音,例如当y=1时,只能对“ling”中的“l”进行谐音替换,或者对“ing”进行谐音替换,当y=2时,可以对“ling”中的“l”和“ing”都进行谐音替换。其中,x和y可根据实际应用需求进行调整。

具体实施时,还可以规定:对于仅包含一个字的关键词,不允许构建其对应的谐音序列。

具体实施时,针对参考文本包含的任一关键词,若待检测文本中不存在与该关键词对应的拼音序列,且待检测文本中不存在与该关键词对应的拼音序列谐音序列相同的拼音序列,则确定待检测文本对应的拼音序列中不存在与关键词对应的拼音序列匹配的拼音序列,即确定关键词匹配失败。

实际应用中,用户发音不标准或者语音转文本时识别错误等因素,都会导致后续关键词和待检测文本匹配失败,为了降低匹配失败的概率,本申请实施例提供了基于拼音序列的模糊匹配方式,可兼容不同地区用户的口音,在用户发音不标准或语音识别错误的情况下依然可以完成匹配,提高匹配成功的概率。

在上述实施方式提供了两种匹配方式的基础上,可先利用第一种匹配方式将关键词与待检测文本进行匹配,确定出匹配失败的第一关键词;再利用第二种匹配方式,将第一关键词与待检测文本进行匹配,从第一关键词中确定出匹配失败的第二关键词,第二关键词即为最终确定出的匹配失败的关键词。

进一步地,参考图7,对于通过上述任一实施方式均未匹配成功的关键词,可通过以下方式,进一步确定未匹配成功的关键词是否与待检测文本匹配:

s701、对每个匹配失败的关键词进行分词处理,获得每个匹配失败的关键词对应的多个分词。

具体实施时,可通过现有的中文分词工具(例如jieba),对匹配失败的关键词进行分词处理。

s702、将待检测文本和每个匹配失败的关键词对应的多个分词分别进行匹配。

步骤s702中所采用的具体的匹配方式可参考上述任一实施方式中提供的匹配方式。

s703、若匹配失败的关键词对应的多个分词与待检测文本匹配成功,则将该匹配失败的关键词确定为匹配成功的关键词。

具体地,若匹配失败的关键词对应的多个分词中,与待检测文本匹配成功的分词的比例不小于预设比例,则将该匹配失败的关键词确定为匹配成功的关键词。其中,预设比例可根据检测的严苛程度确定,例如当检测要求较高时,预设比例设置的高一些,可以是90%,95%,甚至是100%;当检测要求较低时,预设比例设置的低一些,可以是85%,80%等。

在上述任一实施方式的基础上,步骤s203具体包括:按参考文本中每个关键词出现的先后顺序,依次对参考文本中每个关键词执行如下步骤:将关键词与待检测文本中上一次匹配到的目标文本之后的文本依次进行匹配,直至获得与该关键词匹配的目标文本或者与该关键词进行匹配的次数已达到第一阈值,若未获得与关键词匹配的目标文本且与该关键词进行已匹配的次数已达到第一阈值,则确定该关键词匹配失败。

其中,第一阈值表示参考文本中相邻的两个关键词在待检测文本中允许的最大间距,例如,第一阈值为3,则表示参考文本中任意相邻的两个关键词在待检测文本中间隔的字符数量小于3。第一阈值可根据检测的严苛度以及参考文本中任意相邻两个关键词的最大间距确定,本申请实施例不作限定。

其中,在对任一关键词进行的每一次匹配过程中,从待检测文本中上一次匹配到的目标文本之后,获取连续的第一数量个字符,作为本次需要与该关键词进行匹配的文本,其中,第一数量等于该关键词包含的字符数。

举例说明,参考文本为“战国是中国的农业、纺织业、思想、科技、军事和政治发展的黄金时期”,其中,关键词包括“战国”、“中国”、“农业”、“纺织业”、“思想”、“科技”、“军事”、“政治”和“黄金时期”,则匹配的先后顺序依次为:“战国”、“中国”、“农业”、“纺织业”、“思想”、“科技”、“军事”、“政治”和“黄金时期”,待检测文本为“战国是中国的纺织业、思想、科技、军事和政治发展的黄金时期”,此处的第一阈值设定为2。具体匹配过程包括:先匹配关键词“战国”,确定待检测文本中存在于关键词“战国”匹配的目标文本“战国”,确定关键词“战国”匹配成功;再匹配关键词“中国”,将关键词“中国”依次与待检测文本中“战国”之后的文本“是中国的纺织业、思想、……”进行匹配,显然关键词“中国”与“是中”不匹配,即第一次匹配失败,第二次匹配的是关键词“中国”和待检测文本中的“中国”,确定匹配成功,且匹配次数未超过第一阈值2;然后,将关键词“农业”依次与待检测文本中“中国”之后的文本“的纺织业、思想、……”进行匹配,第一次与“的纺”的匹配失败,第二次与“纺织”的匹配失败,连续两次匹配均失败,则确定关键词“农业”匹配失败;接着,将关键词“纺织业”与待检测文本中“中国”之后的文本“的纺织业、思想、……”进行匹配,在第二次匹配时匹配成功;……依次类推,对剩余的关键词进行匹配,直至最后一个关键词完成匹配。

通过上述匹配方式,可按照关键词在参考文本中的顺序逐个进行匹配,验证关键词在待检测文本中出现的顺序是否与参考文本中的相同,以满足需要保证关键词在背诵过程中先后顺序不能调换的场景。

此外,针对相同的关键词在参考文本中出现多次的情况,也可以通过上述匹配方式解决,此情况下,多次出现的相同的关键词会被作为多个关键词,分别进行匹配。例如,参考文本为“……a……,a……”,则会提取出两个不同位置的关键词a,若第一个关键词a匹配失败,则输出第一个关键词a所在的句子,若第二个关键词a匹配失败,则输出第二个关键词a所在的句子。

上述任一实施方式提供的语音监测方法提供了一定的容错率,即只要求待监测文本中包含参考文本中的关键词,或者关键词在待检测文和参考文本中的先后顺序一致,则认为关键词匹配成功,即用户背诵或朗读的内容与参考文本一致。

实际应用中,还存在容错率较低,甚至一字不差的背诵场景。尤其是在朗读场景中,更需要保证用户朗读的内容与参考文本完全一致。为此,针对未获取到参考文本包含的关键词或待检测文本与参考文本之间的容错率较低,甚至为零的情况,参考图8,本申请实施例还提供了一种语音检测方法,可应用于图1a所示的后台服务器,具体包括如下步骤:

s801、获取针对参考文本的语音信号,并将语音信号转换为待检测文本。

步骤s801的具体实施方式可参考步骤s201,不再赘述。

s802、按参考文本中每个非标点字符的排列顺序,依次对参考文本中每个非标点字符进行如下处理:将非标点字符与待检测文本中上一次匹配到的字符之后的字符依次进行匹配,直至从待检测文本中获得与该非标点字符匹配的字符或者已与非标点字符进行匹配的字符数达到第二阈值,其中,第二阈值是根据累计错误数量和预设的字符间隔距离确定的;若未获得匹配的字符,则将非标点字符标记为错误字符,累计错误数量加1;若获得匹配的字符,则将累计错误数量清零,处理参考文中的下一个非标点字符。

具体实施时,可预先去除参考文本中的标点字符。待检测文本是通过转换语音信息获得的,待检测文本中均为非标点字符。

具体实施时,第二阈值可以是累计错误数量和预设的字符间隔距离的和。

具体实施时,若参考文本中的非标点字符与待检测文本中的字符相同,则确定该非标点字符与该字符匹配。或者,若待检测文本中的字符的拼音序列与参考文本中的非标点字符的拼音序列或谐音序列相同,则确定该非标点字符与该字符匹配。

s803、输出参考文本中包含错误字符的文本。

具体实施时,步骤s803的具体实施方式可参考步骤s204,不再赘述。

举例说明,参考文本为w=w1w2……,其中w中不包含标点字符,待检测文本为u=u1u2……,预设的字符间隔距离为threshold,参考文本的初始标签序列label=[1,1,...,1],其长度与参考文本中的字符数相同,初始的累计错误数量error_num=0。遍历参考文本中的每一个字符,如果是标点则跳过;如果不是标点,则进行匹配。假设当前待匹配的是参考文本中的字符wn,与上一个字符wn-1匹配的字符为um,um在待检测文本中的位置为pre_idx,将待检测文本中位于字符um之后的文本与字符wn进行字面匹配以及拼音匹配;若从待检测文本中获得与字符wn匹配的字符ux,且(idx-pre_idx)≤(threshold+error_num),则将累计错误数量error_num清零,处理参考文中的下一个字符wn+1,其中,idx为字符ux在待检测文本中的位置;若已经与字符wn进行匹配的字符数达到(threshold+error_num),且未获得与字符wn匹配的字符,则将字符wn在label中对应的标签置为0,且error_num增加1,然后对参考文本中的下一个字符wn+1进行匹配。最后,根据最终的标签序列label确定错误字符,label中为0的标签在参考答案中对应的字符为错误字符。

示例性设备

在介绍了本申请示例性实施方式的方法之后,接下来对本申请示例性实施方式的语音检测装置进行介绍。

如图9所示,为本申请实施例提供的语音检测装置的结构示意图。在一个实施例中,语音检测装置90包括:语音转换模块901、关键词获取模块902、匹配模块903和输出模块904。

语音转换模块901,用于获取针对参考文本的语音信号,并将语音信号转换为待检测文本;

关键词获取模块902,用于获取参考文本包含的关键词;

匹配模块903,用于将待检测文本和参考文本包含的关键词逐一进行匹配;

输出模块904,用于根据匹配失败的关键词,输出参考文本中包含匹配失败的关键词的文本。

可选地,关键词获取模块902具体用于通过以下至少一种方式获取参考文本包含的关键词:

从参考文本中识别出命名实体,基于识别出的命名实体确定出参考文本包含的关键词;

根据预设词表从参考文本中提取出候选关键词,基于提取出的候选关键词确定出参考文本包含的关键词;

从参考文本中提取出满足预定义模板的文本,基于提取出的文本确定出参考文本包含的关键词;

基于已训练的关键词提取模型,确定出参考文本包含的关键词。

可选地,关键词获取模块902具体用于:

按提取出的候选关键词的词长度从小到大的顺序,依次将参考文本中的每个候选关键词的每个字符对应的标签设置为每个候选关键词唯一对应的标识符,其中,参考文本中的每个字符对应的标签的初始标识符为0;

将参考文本中连续且具有相同标签的至少一个字符合并成一个词;

将合并得到的词中标签不为0的词确定为参考文本包含的关键词。

可选地,关键词获取模块902具体用于:

从参考文本中提取出包含在预设词表中的预设词,并确定提取出的各个预设词的左侧字符和右侧字符在参考文本中的位置序号;

对参考文本进行分词处理,获得参考文本对应的若干分词片段以及第一分词边界集合和第二分词边界集合,第一分词边界集合包括各个分词片段的左侧字符在参考文本中的位置序号,第二分词边界集合包括各个分词片段的右侧字符在参考文本中的位置序号;

针对从参考文本中提取出的预设词中的任一预设词,若第一分词边界集合中包含任一预设词的左侧字符在参考文本中的位置序号,或第二分词边界集合中包含任一预设词的右侧字符在参考文本中的位置序号,则将任一预设词作为候选关键词。

可选地,语音检测装置90还包括预设词表构建模块,用于通过如下方式构建预设词表:

从各个语料中提取出满足预设条件的文本作为候选词;

确定每个候选词的统计特征值;

将统计特征值超过特征阈值的候选词添加到预设词表中。

可选地,预设词表构建模块,具体用于:

通过关键词提取模型提取各个语料中的关键词;

将未包含在预设词表中的关键词添加到预设词表中。

可选地,语音检测装置90还包括训练模块,用于通过以下方式训练关键词提取模型:

根据预设词表对各个语料中出现的关键词进行标注,获得训练样本;

基于训练样本对关键词提取模型进行训练。

可选地,匹配模块903具体用于通过以下至少一种方式确定参考文本包含的每个关键词是否匹配成功:

针对参考文本包含的每个关键词,若待检测文本中不存在与关键词匹配的词,则确定关键词匹配失败;

针对参考文本包含的每个关键词,若待检测文本对应的拼音序列中不存在与关键词对应的拼音序列匹配的拼音序列,则确定关键词匹配失败。

可选地,匹配模块903具体用于通过以下至少一种方式确定待检测文本中是否存在与关键词匹配的词:

若待检测文本中存在与关键词相同的词,则确定待检测文本中存在与关键词匹配的词;

若待检测文本中存在与关键词对应的任一同义词相同的词,则确定待检测文本中存在与关键词匹配的词;

若待检测文本中存在与关键词对应的任一读法相同的词,则确定待检测文本中存在与关键词匹配的词。

可选地,匹配模块903具体用于通过以下方式确定待检测文本中不存在与关键词对应的拼音序列匹配的拼音序列:

根据预设的谐音对照表,为每个关键词对应的拼音序列构建谐音序列;

若待检测文本中不存在与关键词对应的拼音序列,且不存在与关键词的谐音序列相同的拼音序列,则确定待检测文本对应的拼音序列中不存在与关键词对应的拼音序列匹配的拼音序列。

可选地,匹配模块903还用于:

对每个匹配失败的关键词进行分词处理,获得每个匹配失败的关键词对应的多个分词;

将待检测文本和每个匹配失败的关键词对应的多个分词分别进行匹配;

若匹配失败的关键词对应的多个分词与待检测文本匹配成功,则将该匹配失败的关键词确定为匹配成功的关键词。

可选地,匹配模块903具体用于按参考文本中每个关键词出现的先后顺序,依次对参考文本中每个关键词进行如下处理:

将关键词与待检测文本中上一次匹配到的目标文本之后的文本依次进行匹配,直至获得与关键词匹配的目标文本或者对关键词进行匹配的次数已达到第一阈值;

若未获得与关键词匹配的目标文本,且对关键词进行匹配的次数已达到第一阈值,则确定关键词匹配失败。

可选地,匹配模块903还用于若未获取到参考文本包含的关键词或待检测文本与参考文本之间的容错率为零,按参考文本中每个非标点字符的排列顺序,依次对参考文本中每个非标点字符进行如下处理:

将非标点字符与待检测文本中上一次匹配到的字符之后的字符依次进行匹配,直至从待检测文本中获得与非标点字符匹配的字符或者已与非标点字符进行匹配的字符数达到第二阈值,其中,第二阈值是根据累计错误数量和预设的字符间隔距离确定的;

若未获得匹配的字符,则将非标点字符标记为错误字符,累计错误数量加1;

若获得匹配的字符,则将累计错误数量清零;

相应地,输出模块904还用于输出参考文本中包含错误字符的文本。

本申请实施例提供的语音检测装置,与上述语音检测方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。

基于与上述语音检测方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为图1a中的终端设备或后台服务器等。如图10所示,该电子设备100可以包括处理器1001和存储器1002。

处理器1001可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

示例性程序产品

本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行本申请任一示例性实施方式中的语音检测方法的程序。

上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

在一些可能的实施方式中,本申请的各个方面还可以实现为一种计算机程序产品,其包括程序代码,当该计算机程序产品在服务器设备上运行时,该计算机程序产品用于使所述服务器设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的语音检测方法中的步骤。

所述计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

根据本申请的实施方式的用于即时通信应用的计算机程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在服务器设备上运行。然而,本申请的程序产品不限于此,在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本申请的精神和原理,但是应该理解,本申请并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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