语音采集方法、装置、计算机设备及存储介质与流程

文档序号:15969827发布日期:2018-11-16 23:24阅读:204来源:国知局

本发明涉及计算机技术领域,尤其涉及一种语音采集方法、装置、计算机设备及存储介质。

背景技术

随着科技的进步和计算机网络技术的飞速发展,声纹识别技术和语音识别技术越来越受人们的青睐,其中声纹识别技术用于方便快捷地确定说话人身份,语音识别技术用于在将自然语音进行识别转化成文字,声纹识别技术和语音识别技术都需要采集大量的说话人信息和说话人对应的语音信息,用来进行模型的训练。

当前,语音采集主要通过使用专业录音设备进行语音录取,得到录音文件,然后人工标记录音文件对应的说话人,这种人工方式不能及时清除掉不合格的录音,且操作麻烦,使得采集效率低,同时,这种人工采集方式不适用于对距离较远的人员进行语音采集,若需要对不同地区的人员同时进行语音采集,只能通过购置多台录音设备,浪费了大量采集成本。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于通讯应用平台的应用账号提高语音采集效率和节约采集成本的语音采集方法、装置、计算机设备及存储介质。

一种语音采集方法,包括:

若接收到用户通过通讯应用平台的应用账号发送的语料获取请求,则获取所述语料获取请求中包含的基础语料和所述用户的身份标识信息;

从所述基础语料对应的基础语料库中随机选取一条语料,作为初始语料,并显示在所述通讯应用平台的应用账号的界面上;

若接收到所述用户通过所述通讯应用平台的应用账号发送的开始录音请求,则使用预设的录音调用框架,调用所述通讯应用平台的应用账号的录音功能进行录音并生成录音文件;

若接收到所述用户通过所述通讯应用平台的应用账号发送的终止录音请求,则使用预设的语音识别调用框架,调用所述通讯应用平台的应用账号的离线语音识别功能将所述录音文件转化为目标文本;

对所述目标文本与所述初始语料进行文本相似度匹配,得到所述目标文本与所述初始语料之间的文本相似度;

若所述文本相似度大于或等于预设相似度阈值,则建立所述录音文件与所述身份标识信息之间的映射关系,并对应保存所述录音文件、所述身份标识信息和所述映射关系。

一种语音采集装置,包括:

领域确定模块,用于若接收到用户通过通讯应用平台的应用账号发送的语料获取请求,则获取所述语料获取请求中包含的基础语料和所述用户的身份标识信息;

语料选取模块,用于从所述基础语料对应的基础语料库中随机选取一条语料,作为初始语料,并显示在所述通讯应用平台的应用账号的界面上;

录音生成模块,用于若接收到所述用户通过所述通讯应用平台的应用账号发送的开始录音请求,则使用预设的录音调用框架,调用所述通讯应用平台的应用账号的录音功能进行录音并生成录音文件;

语音识别模块,用于若接收到所述用户通过所述通讯应用平台的应用账号发送的终止录音请求,则使用预设的语音识别调用框架,调用所述通讯应用平台的应用账号的离线语音识别功能将所述录音文件转化为目标文本;

文本匹配模块,用于对所述目标文本与所述初始语料进行文本相似度匹配,得到所述目标文本与所述初始语料之间的文本相似度;

文件存储模块,用于若所述文本相似度大于或等于预设相似度阈值,则建立所述录音文件与所述身份标识信息之间的映射关系,并对应保存所述录音文件、所述身份标识信息和所述映射关系。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语音采集方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述语音采集方法的步骤。

上述语音采集方法、装置、计算机设备及存储介质,若接收到用户通过通讯应用平台的应用账号发送的语料获取请求,则从该请求中包含的基础语料中随机选取一条语料,作为初始语料,并获取用户的身份标识信息,在接收到开始录音的请求后,使用预设的录音调用框架,调用通讯应用平台的应用账号的录音功能进行录音,生成录音文件,并在录音结束后,使用预设的语音识别调用框架,调用通讯应用平台的应用账号的离线语音识别功能,将该录音文件转化为目标文本,进而使用文本匹配算法,将该目标文本与初始语料进行匹配,得到文本相似度,并将该相似度与预设的相似度阈值进行比较,若该相似度大于或等于预设的相似度阈值,则建立录音文件与身份标识信息的映射关系,并保存录音文件、身份标识信息和映射关系到数据库,从而实现了使用通讯应用平台的应用账号对语音数据进行快速采集,利用通讯应用平台的应用账号的便捷性和普遍性,有效提高语音数据的采集效率,同时由于是基于通讯应用平台的应用账号通过网络进行语音采集,对于不同地区的人员无需添加额外购置设备,节约了采集成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的语音采集方法的应用环境示意图;

图2是本发明实施例提供的语音采集方法的实现流程图;

图3是本发明实施例提供的语音采集方法中步骤s3的实现流程图;

图4是本发明实施例提供的语音采集方法中步骤s5的实现流程图;

图5是本发明实施例提供的语音采集方法中步骤s53的实现流程图;

图6是本发明实施例提供的语音采集方法的另一实现流程图;

图7是本发明实施例提供的语音采集装置的示意图;

图8是本发明实施例提供的计算机设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1示出本发明实施例提供的语音采集方法的应用环境。该语音采集方法应用在基于通讯应用平台的应用账号的语音采集场景中。该语音采集场景包括服务端、客户端和通讯应用平台,其中,服务端、客户端和通讯应用平台之间均通过网络互相连接,用户通过客户端从服务端获取语料,并发送语音数据到通讯应用平台,服务端通过通讯应用平台进行录音和语音识别,通讯应用平台将录音文件和语音识别结果发送到服务端,通讯应用平台为即时通讯系统,该即时通讯系统可以传输语音,图片,视频等文件。所述通讯应用平台可以是微信、米聊、易信、支付宝和快乐平安等其他通讯应用平台。第三方软件开发商可以基于通讯应用平台开发各自的应用账号,即通讯应用平台的应用账号。客户端为通讯应用平台的应用账号,该账号具体可以微信公众号、支付宝公众号、微信小程序等,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。

请参阅图2,图2示出本发明实施例提供的一种语音采集方法,以该方法应用在图1中的服务端为例进行说明,详述如下:

s1:若接收到用户通过通讯应用平台的应用账号发送的语料获取请求,则获取语料获取请求中包含的基础语料和该用户的身份标识信息。

具体地,在接收到用户通过通讯应用平台的应用账号发送的语料获取请求时,获取该语料获取请求中包含的基础语料,同时,基于通讯应用平台的应用账号,获取该用户的身份标识信息。

其中,基础语料包括但不限于:新闻、军事、生活、经济、体育、热点和娱乐等领域的数据分类,基础语料可以根据需要来设计,此处不作具体限制。在用户点击通讯应用平台的应用账号上的某个基础语料后,即通过通讯应用平台的应用账号向服务端发送了获取该基础语料的语料获取请求。

其中,身份标识信息用于唯一标识用户,身份标识信息包括但不限于:工号、通讯应用平台身份标识((identification,id)和姓名等,也可以根据实际需要进行设置,此处不作具体限制。

例如,在一具体实施方式中,通讯应用平台的应用账号为微信公众号,接收到用户通过微信公众号发送的语料获取请求中包含的基础语料为“新闻”,获取到的身份标识信息为“619-zhangsan-张三”,其中“619”是指用户的工号,“zhangsan”是用户的微信id,“张三”是指用户的姓名。

值得说明的是,在用户非首次使用该通讯应用平台的应用账号时,可以直接通过通讯应用平台的应用账号来获取用户的通讯应用平台身份标识,并获取服务端存储的与该通讯应用平台身份标识对应的用户的身份标识信息,在用户首次使用该通讯应用平台的应用账号时,服务端向通讯应用平台的应用账号的用户发送身份信息完善请求,具体可以是通过弹出补全资料的页面来供用户填写,也可以根据需要使用其他方式,此处不作具体限制,在获取到用户填写的身份信息完善资料后,将该身份信息存储到服务端。

s2:从基础语料对应的基础语料库中随机选取一条语料,作为初始语料,并显示在通讯应用平台的应用账号的界面上。

具体地,每个基础语料均预设有对应的基础语料库,在获取步骤s1中语料获取请求中包含的基础语料后,确认该基础语料对应的基础语料库,并使用随机函数,从该基础语料库中随机选取一条语料,作为初始语料,显示在通讯应用平台的应用账号的界面上,供用户朗读。

其中,基础语料库是指经科学取样和加工的大规模电子文本库,基础语料库中存放的是在语言的实际使用中真实出现过的语言材料,是以电子计算机为载体承载语言知识的基础资源。

以步骤s1中获取到的基础语料“新闻”为例,从“新闻”对应的基础语料库中随机选取一条语料为“大多数人为这对父子点赞,并认同这种通过徒步磨练儿子的教育方式”,并将这条语料显示在微信公众号的界面上。

s3:若接收到用户通过通讯应用平台的应用账号发送的开始录音请求,则使用预设的录音调用框架,调用通讯应用平台的应用账号的录音功能进行录音并生成录音文件。

具体地,在将初始语料显示在通讯应用平台的应用账号的界面上之后,用户通过点击微信公共号上设置的录音按钮来向服务端发送开始录音请求,服务端在接收到用户通过通讯应用平台的应用账号发送的开始录音请求后,通过使用预设的录音调用框架调用通讯应用平台的应用账号的录音功能,对用户朗读初始语料产生的语音进行录音,并保存为录音文件。

其中,录音调用框架是通过调用通讯应用平台的jssdk(javascriptsoftwaredevelopmentkit,java脚本语言软件开发工具包)中的音频接口实现录音,该音频接口包括但不限于:开始录音接口和停止录音接口等。

以步骤s2中获取到的语料为例,在微信公众号的界面上显示出“大多数人为这对父子点赞,并认同这种通过徒步磨练儿子的教育方式”这条语料后,用户点击录音按钮,即完成通过微信公众号向服务端发送开始录音请求,服务端在接收到该请求后,通过录音调用框架来调用微信服务器的音频接口中的开始录音接口来进行录音。

s4:若接收到用户通过通讯应用平台的应用账号发送的终止录音请求,则使用预设的语音识别调用框架,调用通讯应用平台的应用账号的离线语音识别功能将录音文件转化为目标文本。

具体地,在用户朗读完初始语料后,通过点击通讯应用平台的应用账号界面上的停止录音按钮向服务端发送终止录音请求,服务端在接收到终止录音请求后,通过使用预设的语音识别调用框架,调用通讯应用平台的应用账号提供的离线语音识别功能,对录音文件进行语音识别,得到目标文本。

以步骤s3中得到的录音文件为例,在用户按下停止录音按钮后,服务端通过微信服务器,对该录音文件进行语音识别,得到目标文本为“大多人为这对父子点赞并认同这种通过徒步磨练儿子的方式”的目标文本。

s5:对目标文本与初始语料进行文本相似度匹配,得到目标文本与初始语料之间的文本相似度。

具体地,对得到的目标文本与初始语料进行文本相似度匹配,得到目标文本与初始语料之间的文本相似度,进而可以根据该文本相似度来确定目标文本对应的录音文件是否符合要求。

其中,文本相似度是指通过相似系数、相似距离等尺度来衡量文本之间的相似程度,这里文本相似度匹配是指通过文本相似度计算的公式、算法或模型来获取两个文本之间相似程度的过程。

其中,文本相似度算法包括但不限于:余弦相似性、最近邻(k-nearestneighbor,knn)分类算法、动态规划(dynamicprogramming)算法、曼哈顿距离(manhattandistance)和基于局部敏感哈希(simhash)算法的汉明距离等。

s6:若文本相似度大于或等于预设相似度阈值,则建立录音文件与身份标识信息之间的映射关系,并对应保存录音文件、身份标识信息和映射关系。

具体地,将步骤s5中计算出的文本相似度与预设的相似度阈值进行比较,若文本相似度大于或等于预设的相似度阈值,则确定目标文本对应的录音文件为符合采集要求的录音文件,进而建立该录音文件与身份标识信息之间的映射关系,并对应保存录音文件、身份标识信息和映射关系,即完成了语音数据的采集。

在本实施例中,若接收到通讯应用平台的应用账号发送的语料获取请求,则从该请求中包含的基础语料中随机选取一条语料,作为初始语料,并获取使用该通讯应用平台的应用账号的用户的身份标识信息,在接收到开始录音请求后,使用预设的录音调用框架,调用通讯应用平台的应用账号的录音功能进行录音,生成录音文件,并在录音结束后,使用预设的语音识别调用框架,调用通讯应用平台的应用账号的离线语音识别功能,将该录音文件转化为目标文本,进而使用文本匹配算法,将该目标文本与初始语料进行匹配,得到相似度,并将该相似度与预设的相似度阈值进行比较,若该相似度大于或等于预设的相似度阈值,则建立录音文件与身份标识信息的映射关系,并保存录音文件、身份标识信息和映射关系到数据库,从而实现了使用通讯应用平台的应用账号对语音数据进行快速采集,利用通讯应用平台的应用账号的便捷性和普遍性,有效提高语音数据的采集效率,同时由于是基于通讯应用平台的应用账号通过网络进行语音采集,对于不同地区的人员无需添加额外购置设备,节约了采集成本。

在一实施例中,服务端与通讯应用平台进行交互,调用通讯应用平台提供的录音功能进行录音,如图3所示,步骤s3中,即若接收到用户通过通讯应用平台的应用账号发送的开始录音请求,则使用预设的录音调用框架,调用通讯应用平台的应用账号的录音功能进行录音并生成录音文件,具体包括如下步骤:

s31:若接收到开始录音请求,则向通讯应用平台发送预设的配置信息,其中,配置信息用于对开始录音请求进行权限验证。

具体地,在进行语音采集之前,需要预先在服务端的配置(config)接口上进行接口配置,得到预设的配置信息,在接收到开始录音请求时,向通讯应用平台发送该配置信息,配置信息用于提供给通讯应用平台进行权限验证。

其中,接口配置是指通过接口来配置需要通讯应用平台需要进行验证的签名信息,签名信息包括:appid、timestamp、noncestr、signature和jsapilist,appid是该通讯应用平台的应用账号的唯一标识,timestamp是生成签名时的时间戳,noncestr是生成的随机字符串,signature是指服务端的签名,jsapilist是指需要调用的java脚本语言(javascript,js)接口列表,在本发明实施例中,需要调用的接口列表为音频接口和语音识别接口,音频接口包括:开始录音接口、结束录音接口和暂停录音接口等。

s32:若接收到通讯应用平台发送的授权成功消息,则向通讯应用平台发送启用预设的音频接口的指令,使得用户使用通讯应用平台的应用账号的录音功能进行录音并生成录音文件。

具体地,服务端在向通讯应用平台发送配置信息进行权限验证后,微信对该配置信息进行验证,并将验证结果返回给服务端,若服务端接收到的返回信息为验证通过,提示授权成功时,则向通讯应用平台发送启用步骤s31的签名信息中的开始录音接口的指令,通讯应用平台在接收到该指令后,执行录音操作并生成录音文件。

在本实施例中,在接收到开始录音请求时,向通讯应用平台发送预设的配置信息,通讯应用平台对接收到的配置信息进行权限验证,在验证通过后,接收服务端发送的启用预设的音频接口的指令并执行,对使用通讯应用平台的应用账号的用户产生的语音信号进行采集,得到录音文件,使得语音采集仅需通过用户使用通讯应用平台的应用账号来快捷完成,而无需专业的设备,提高了语音采集的效率,同时由于通过通讯应用平台的应用账号进行语音采集是通过网络来实现,无需去实地采集,节约了采集成本。

在一实施例中,如图4所示,步骤s5中,即对目标文本与初始语料进行文本相似度匹配,得到目标文本与初始语料之间的文本相似度,具体包括如下步骤:

s51:根据预设的正则表达式,确定初始语料中的标点符号。

具体地,初始语料中包含有标点符号,但用户在朗读时不会朗读标点符号,因而需要将初始语料中的标点符号进行删除处理,在本实施例中,通过预设的正则表达式,对初始语料进行正则匹配,确定初始语料中包含的标点符号。

其中,预设的正则表达式具体可以为:“\p{p|m|z|s|c}”,小写的p是属性(property)的意思,表示unicode(统一码)属性,用于unicode正则表达式的前缀,unicode字符集包含7个属性,分别是:p(标点字符)、l(字母)、m(标记符号)、z(分隔符,比如空格符、换行符等)、s(符号,比如数学符号、货币等)、n(数字,比如阿拉伯数字和罗马数字等)和c(其他字符),{p|m|z|s|c}表示在对一个字符进行匹配时,若匹配到p、m、z、s或c中的任一种属性,即确定匹配成功。

其中,unicode又称为万国码或单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换处理的要求。

以步骤s2中获取到的语料为例,该语料“大多数人为这对父子点赞,并认同这种通过徒步磨练儿子的教育方式”经过预设的正则表达式匹配后,找到标点符号“,”。

值得说明的是,若相同类型的标点符号超过一个,可以给该标点符号设置一个对应的标识,例如“douhao001”、“douhao002”,在后续需要对该标点符号进行处理时,只需要根据标识就可以准确找到该标识对应的标点符号。

s52:对标点符号进行删除处理,将得到的文本内容作为目标语料。

具体地,对步骤s51中找到的标点符号进行删除处理,将得到的文本内容作为目标语料。可以使用replace函数进行删除处理,将找到的标点符号替换成空,比如:replace(“,”,“”),也可以使用字符串前移覆盖的方式进行删除处理,比如:针对第一个待删除的标点符号,将该待删除的标点符号之后的所有字符往前移动一个字符的位置,并覆盖保存,针对后面的标点符号也按照此方法进行删除即可。

以步骤s51中的初始语料“大多数人为这对父子点赞,并认同这种通过徒步磨练儿子的教育方式”为例,对该初始语料中的标点符号进行删除处理,获取到目标语料为“大多数人为这对父子点赞并认同这种通过徒步磨练儿子的教育方式”。

应理解,以上提供的两种删除处理方法为本发明实施例优选的两种方式,但并不限于此,实际也可以根据实际需要选取其他合适的方式进行删除处理,此处不作具体限制。

s53:使用动态规划算法,对目标文本和目标语料进行相似度计算,得到文本相似度。

具体地,通过使用动态规划算法(dynamicprogrammingalgorithm),获取目标文本和目标语料中的所有公共子字符串长度,并选取值最大的长度作为目标长度,进而用目标长度和目标语料中字符个数的比值作为文本相似度。

其中,动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式去解决。动态规划算法是将待求解的问题分解为若干个子问题,按顺序求解子问题,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题的解就是初始问题的解。

以步骤s4中获取到的目标文本“大多人为这对父子点赞并认同这种通过徒步磨练儿子的方式”为例,其对应的目标语料为步骤s51中获取到“大多人为这对父子点赞并认同这种通过徒步磨练儿子的方式”,经过动态规划算法计算出该目标文本与目标语料中长度最大的公共子字符串为“人为这对父子点赞并认同这种通过徒步磨练儿子的”,该公共子字符串的长度为22个字符,目标语料中的字符个数为29,则目标文本与目标语料的文本相似度为22/29,约为75.86%。

在本实施例中,根据预设的正则表达式,确定初始语料中的标点符号,并对标点符号进行删除处理,将得到的文本内容作为目标语料,避免标点符号对相似度计算的干扰,提升计算文本相似度准确度,进而使用动态规划算法,对目标文本和目标语料进行相似度计算,得到文本相似度,同时,使用动态规划算法可以快速进行相似度计算,提高文本相似度计算效率。

在一实施例中,如图5所示,步骤s53中,即使用动态规划算法,对目标文本和目标语料进行相似度计算,得到文本相似度,具体包括如下步骤:

s531:将目标文本中的字符依序存入一维数组xa中,将目标语料中的字符依序存入一维数组yb中,其中,a为目标文本的字符个数,b为目标语料的字符个数。

具体地,获取目标文本中的字符个数a和目标语料中的字符个数b,并将目标文本中的字符按照从前往后的顺序依次存入一维数组xa中,将目标语料中的字符按照从前往后的顺序依次存入一维数组yb中。

以步骤s4中获取的目标文本和步骤s52中获取的目标语料为例,得到目标文本字符个数为26,得到目标语料的字符个数为29,将目标文本存入一维数组,得到:x26={大,多,人,为,这,对,父,子,点,赞,并,认,同,这,种,通,过,徒,步,磨,练,儿,子,的,方,式},将目标语料存入一维数组,得到:y29={大,多,数,人,为,这,对,父,子,点,赞,并认,同,这,种,通,过,徒,步,磨,练,儿,子,的,教,育,方,式}。

s532:使用如下公式计算xa的第i位与yb的第j位之前的公共子序列长度l(i,j):

其中,若same(xi,yj)在xi与yj相同时,取值为1,否则,same(xi,yj)在xi与yj不相同时,取值为0,max{l(i-1,j-1)+same(xi,yj),l(i-1,j),l(i,j-1)}为取l(i-1,j-1)+same(xi,yj)、l(i-1,j)和l(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b。

具体地,通过公式(1)来计算xa的第i位与yb第j位之前中公共子序列的长度。

其中,公共子序列是指xa和yb都包含的子序列。

其中,“max{}”表示去大括号中的最大值作为表达式的值。

以步骤s531中的两个一维数组为例,在i=8时,x8=“子”,在j=9时,y9=“子”,因而l(8,9)=1,针对x26和y29这两个一维数组,使用公式(1)计算可以得到l(1,1)至l(26,29)共26x29个长度。

值得说明的是,公共子序列长度的初始值均为0。

s533:对公共子序列长度进行递归回溯,得到公共子序列长度的集合,并从集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数。

具体地,将步骤s532中得到的所有公共子序列长度存入到a行b列的矩阵中,采用预设的方式,对这个矩阵进行递归回溯,并按照公式(1)对每一个长度进行计算更新,得出所有公共子序列长度,并选取值最大的公共子序列长度,作为目标长度。

其中,预设的方式可以是从右到左,再从下到上,也可以是从下到上,再从右到左,可以根据实际情形选取,此处不作具体限制。

其中,递归是指在一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,在本实施例中,在对l(i,j)进行计算时,每次只需根据l(i-1,j)、l(i,j-1)、l(i-1,j-1)和same(xi,yj)的值来计算即可,然后可将得到的l(i,j)来作为l(i+1,j)、l(i,j+1)或l(i+1,j+1)的计算因子来进行后续计算。

其中,回溯是也叫试探法,它是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。同时,回溯法也是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”,在本实施例中,以针对由长度构成的26x29的矩阵为例,可以先从第一行左边即l(1,1)向第一行的右边即l(1,29)进行递归计算,并对第一行的29个长度进行更新,在更新完矩阵第一行的长度后,再第二行左边向右边进行递归计算,按照此方法继续更新,直到更新完整个矩阵为止,在更新后的矩阵中,选取值最大的长度作为目标长度。

s534:使用如下公式计算文本相似度:

其中,θ为文本相似度,θ∈[0,1]。

具体地,通过公式(2)进行相似度计算,将从集合中获取值最大的公共子序列长度与目标语料的字符个数之间的商,作为目标文本与目标语料之间的文本相似度。

在本实施例中,通过将目标文本中的字符存入到一个数组,将目标语料中的字符存入到另一个数组,进而对这两个数组进行遍历计算公共子序列长度,并获取值最大的公共子序列长度,作为目标长度,进而将目标长度与目标语料字符个数的比值作为文本相似度,通过该方法可以快速准确得到目标文本与目标语料的文本相似度,提升了计算文本相似度的效率。

在一实施例中,如图6所示,在步骤s5之后,该语音采集方法还包括如下步骤:

s7:若文本相似度小于预设相似度阈值,则在通讯应用平台的应用账号的界面上显示语音采集失败,并返回步骤s2继续执行。

具体地,在步骤s5中得到文本相似度后,将该文本相似度与预设相似度阈值进行比较,若该文本相似度小于预设相似度阈值,则确定目标文本对应的录音文件为不符合采集要求的录音文件,此时,跳转到步骤s2,即从基础语料对应的基础语料库中随机选取一条语料,作为初始语料,并显示在通讯应用平台的应用账号的界面上处,重新开始执行语音采集的过程,直到得到的文本相似度大于或等于预设相似度阈值时,执行步骤s6,并结束此次采集过程。

在本实施例中,在文本相似度小于预设相似度阈值时,在通讯应用平台的应用账号的界面上显示语音采集失败,并返回步骤s2继续执行语音采集的过程,直到得到的文本相似度大于或等于预设相似度阈值为止,使得采集到的语音数据为高质量语音数据,避免在使用语音数据时,才发现该语音数据质量达不到要求,进而重新去进行语音数据采集,提高了采集到的语音数据的质量。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种语音采集装置,该语音采集装置与上述实施例中语音采集方法一一对应。如图7所示,该语音采集装置包括领域确定模块10、语料选取模块20、录音生成模块30、语音识别模块40、文本匹配模块50和文件存储模块60。各功能模块详细说明如下:

领域确定模块10,用于若接收到用户通过通讯应用平台的应用账号发送的语料获取请求,则获取语料获取请求中包含的基础语料和该用户的身份标识信息;

语料选取模块20,用于从基础语料对应的基础语料库中随机选取一条语料,作为初始语料,并显示在通讯应用平台的应用账号的界面上;

录音生成模块30,用于若接收到用户通过通讯应用平台的应用账号发送的开始录音请求,则使用预设的录音调用框架,调用通讯应用平台的应用账号的录音功能进行录音并生成录音文件;

语音识别模块40,用于若接收到用户通过通讯应用平台的应用账号发送的终止录音请求,则使用预设的语音识别调用框架,调用通讯应用平台的应用账号的离线语音识别功能将录音文件转化为目标文本;

文本匹配模块50,用于对目标文本与初始语料进行文本相似度匹配,得到目标文本与初始语料之间的文本相似度;

文件存储模块60,用于若文本相似度大于或等于预设相似度阈值,则建立录音文件与身份标识信息之间的映射关系,并对应保存录音文件、身份标识信息和映射关系。

进一步地,录音生成模块30包括:

权限验证单元31,用于若接收到开始录音请求,则向通讯应用平台发送预设的配置信息,其中,配置信息用于对开始录音请求进行权限验证;

录音驱动单元32,用于若接收到通讯应用平台发送的授权成功消息,则向通讯应用平台发送启用预设的音频接口的指令,使得用户使用通讯应用平台的应用账号的录音功能进行录音并生成录音文件。

进一步地,文本匹配模块50包括:

正则匹配单元51,用于根据预设的正则表达式,确定初始语料中的标点符号;

符号处理单元52,用于对标点符号进行删除处理,将得到的文本内容作为目标语料;

相似计算单元53,用于使用动态规划算法,对目标文本和目标语料进行相似度计算,得到文本相似度。

进一步地,相似计算单元53包括:

数组构建子单元531,用于将目标文本中的字符依序存入一维数组xa中,将目标语料中的字符依序存入一维数组yb中,其中,a为目标文本的字符个数,b为目标语料的字符个数;

长度计算子单元532,用于使用如下公式计算xa的第i位与yb的第j位之前的公共子序列长度l(i,j):

其中,若same(xi,yj)在xi与yj相同时,取值为1,否则,same(xi,yj)在xi与yj不相同时,取值为0,max{l(i-1,j-1)+same(xi,yj),l(i-1,j),l(i,j-1)}为取l(i-1,j-1)+same(xi,yj)、l(i-1,j)和l(i,j-1)三个表达式中的最大值,i和j均为正整数,且i≤a,j≤b;

目标确定子单元533,用于对公共子序列长度进行递归回溯,得到公共子序列长度的集合,并从集合中获取值最大的公共子序列长度l,作为目标长度,其中,l为小于等于b的正整数;

相似度计算子单元534,用于使用如下公式计算文本相似度:

其中,θ为文本相似度,θ∈[0,1]。

进一步地,该语音采集装置还包括:

循环采集模块70,用于若文本相似度小于预设相似度阈值,则在通讯应用平台的应用账号的界面上显示语音采集失败,并返回语料选取模块20继续执行。

关于语音采集装置的具体限定可以参见上文中对于语音采集方法的限定,在此不再赘述。上述语音采集装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储前述语音采集方法中的身份标识信息和录音文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音采集方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例语音采集方法的步骤,例如图2所示的步骤s1至步骤s6。或者,处理器执行计算机程序时实现上述实施例语音采集装置的各模块/单元的功能,例如图7所示的模块10至模块60。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例语音采集方法的步骤,或者,计算机程序被处理器执行时实现上述实施例语音采集装置的各模块/单元的功能,为避免重复,这里不再赘述。

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

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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