语音输入方法、装置、终端设备及存储介质
技术领域
本申请涉及人机交互技术领域,更具体地,涉及一种语音输入方法、装置、终端设备及存储介质。
背景技术
随着语音识别技术的快速发展,语音识别技术已经被应用在许多领域,例如信号处理、模式识别、概率论和信息论、发生机理和听觉机理、人工智能等等。其中,在人机交互中可以将语音作为输入方式与机器进行交互,但目前利用语音进行交互仅限于简单的指令,无法进行复杂、精确的输入。
发明内容
本申请实施例提出了一种语音输入方法、装置、终端设备及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种语音输入方法,所述方法包括:确定所述页面是否存在待填写的输入项;在所述页面存在待填写的输入项时,根据所述页面当前所显示的内容,生成输入提示,所述输入提示用于提示用户对所述待填写的输入项进行语音输入;对接收的语音输入信号进行语音识别,获得语音识别文本;将所述语音识别文本输入语义理解模型,获得与所述语音识别文本对应的输入信息;根据所述输入信息,对所述页面执行输入操作。
可选地,所述页面包括一个或多个输入项,所述确定所述页面是否存在待填写的输入项之后,所述方法还包括:在所述页面不存在待填写的输入项时,生成页面提交提示,所述页面提交提示用于提示提交所述页面。
可选地,所述页面包括一个或多个输入项,所述根据所述输入信息,对所述页面执行输入操作,包括:将所述输入信息与所述页面的输入项进行匹配,确定目标输入项;确定所述输入信息与所述目标输入项对应的输入内容;将所述输入内容在所述目标输入项对应的显示区域显示。
可选地,所述对接收的语音输入信号进行语音识别,获得语音识别文本,包括:对接收的语音输入信号进行语音识别,获得第一识别文本;当所述语音输入信号中存在无义语音片段时,确定所述无义语音片段的时长和所述无义语音片段在所述第一识别文本的位置,所述无义语音片段包括空白语音片段和拖长音语音片段中的至少一种;根据所述时长,获得所述无义语音片段对应的第二识别文本;将所述第二识别文本添加至所述第一识别文本中的所述位置,获得语音识别文本。
可选地,所述空白语音片段的声音强度小于预设强度;所述拖长音语音片段的声音强度不小于预设强度。
可选地,所述根据所述时长,获得所述无义语音片段对应的第二识别文本,包括:基于所述时长与预设时长的比值,确定将所述无义语音片段识别成预设符号的数量;根据所述预设符号的数量,生成第二识别文本,所述第二识别文本包括所述数量个所述预设符号。
可选地,所述根据所述输入信息,对所述页面执行输入操作之后,所述方法还包括:生成确认提示,所述确认提示用于提示确认输入是否正确;基于所述确认提示,获取输入修改指令;根据所述输入修改指令,对所述页面执行输入修改操作。
第二方面,本申请实施例提供了一种语音输入装置,该装置包括:输入确定模块,用于确定所述页面是否存在待填写的输入项;输入提示模块,用于在所述页面存在待填写的输入项时,根据所述页面当前所显示的内容,生成输入提示,所述输入提示用于提示用户对所述待填写的输入项进行语音输入;语音识别模块,用于对接收的语音输入信号进行语音识别,获得语音识别文本;语义理解模块,用于将所述语音识别文本输入语义理解模型,获得与所述语音识别文本对应的输入信息;页面输入模块,用于根据所述输入信息,对所述页面执行输入操作。
可选地,所述页面包括一个或多个输入项,所述页面输入模块包括:目标确定子模块、内容确定子模块以及内容显示子模块,其中:目标确定子模块,用于将所述输入信息与所述页面的输入项进行匹配,确定目标输入项;内容确定子模块,用于确定所述输入信息与所述目标输入项对应的输入内容;内容显示子模块,用于将所述输入内容在所述目标输入项对应的显示区域显示。
可选地,所述语音识别模块包括:第一文本子模块、位置确定子模块、第二文本子模块以及识别文本子模块,其中:第一文本子模块,用于对接收的语音输入信号进行语音识别,获得第一识别文本;位置确定子模块,用于当所述语音输入信号中存在无义语音片段时,确定所述无义语音片段的时长和所述无义语音片段在所述第一识别文本的位置,所述无义语音片段包括空白语音片段和拖长音语音片段中的至少一种;第二文本子模块,用于根据所述时长,获得所述无义语音片段对应的第二识别文本;识别文本子模块,用于将所述第二识别文本添加至所述第一识别文本中的所述位置,获得语音识别文本。
可选地,所述空白语音片段的声音强度小于预设强度;所述拖长音语音片段的声音强度不小于预设强度。
可选地,所述第二文本子模块包括:数量子模块以及第二子模块,其中:数量子模块,用于基于所述时长与预设时长的比值,确定将所述无义语音片段识别成预设符号的数量;第二子模块,用于根据所述预设符号的数量,生成第二识别文本,所述第二识别文本包括所述数量个所述预设符号。
可选地,所述页面包括一个或多个输入项,所述确定所述页面是否存在待填写的输入项之后,所述语音输入装置还包括:页面提交模块,其中:页面提交模块,用于在所述页面不存在待填写的输入项时,生成页面提交提示,所述页面提交提示用于提示提交所述页面。
可选地,所述根据所述输入信息,对所述页面执行输入操作之后,所述语音输入装置还包括:确认提示模块、修改指令模块以及修改输入模块,其中:确认提示模块,用于生成确认提示,所述确认提示用于提示确认输入是否正确;修改指令模块,用于基于所述确认提示,获取输入修改指令;修改输入模块,用于根据所述输入修改指令,对所述页面执行输入修改操作。
第三方面,本申请实施例提供了一种终端设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,该计算机可读取存储介质中存储有程序代码,该程序代码可被处理器调用执行如上述第一方面所述的方法。
本申请实施例提供了一种语音输入方法、装置、终端设备及存储介质,通过确定页面是否存在待填写的输入项,并在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示,其中,输入提示用于提示用户对待填写的输入项进行语音输入,然后对接收的语音输入信号进行语音识别,获得语音识别文本,接着将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息,根据输入信息,对页面执行输入操作。由此,本申请实施例可在页面还存在待填写的输入项时,提示用户输入并根据用户输入的语音自动匹配输入项,并进行输入,从而实现基于语音输入的复杂精确的输入,智能辅助用户完成表单的填写,将用户语义智能地与表单匹配。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种适用于本申请实施例的应用环境示意图;
图2示出了本申请实施例提供的待填写的页面的示例图;
图3示出了本申请一个实施例提供的语音输入方法的流程示意图;
图4示出了本申请另一个实施例提供的语音输入方法的流程示意图;
图5示出了本申请又一个实施例提供的语音输入方法的流程示意图;
图6示出了本申请再一个实施例提供的语音输入方法的流程示意图;
图7示出了本申请再另一个实施例提供的语音输入方法的流程示意图;
图8示出了本申请再又一个实施例提供的语音输入方法的流程示意图;
图9示出了本申请又另一个实施例提供的语音输入方法的流程示意图;
图10示出了本申请实施例提供的语音输入装置的结构框图;
图11示出了本申请实施例的用于执行根据本申请实施例的语音输入方法的终端设备的结构框图。
图12示出了本申请实施例的用于保存或者携带实现根据本申请实施例的语音输入方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着语音识别技术的快速发展,语音识别技术已经被应用在许多领域,例如信号处理、模式识别、概率论和信息论、发生机理和听觉机理、人工智能等等。其中,在人机交互中可以将语音作为输入方式与机器进行交互,但目前利用语音进行交互仅限于简单的指令,无法进行复杂、精确的输入。
当前的表单填写,已经不仅仅局限于手动输入的方式,已经能够实现通过语音来完成填写任务,然而,目前仅仅能够实现将文字输入表单的操作,一些填写操作还需要通过人工操作、或结合设备提示来完成,使得在表单填写的过程中,不能全程使用语音进行填写操作。
基于上述问题,发明人提出了本申请实施例中的语音输入方法、装置、终端设备及存储介质,通过接收第一语音输入信息,确定与第一语音输入信息对应的目标输入框,并接收第二语音输入信息,将第二语音输入信息对应的文本输入信息填写至目标输入框中,从而可以在表单填写的全程使用语音控制填写操作,完成复杂且精确的输入。
为便于更好的理解本申请实施例提供的语音输入方法、装置、终端设备及存储介质,下面先对适用于本申请实施例的应用环境进行描述。
请参阅图1,图1示出了一种适用于本申请实施例的应用环境示意图。本申请实施例提供的语音输入方法可以应用于如图1所示的交互***100。交互***100包括终端设备101以及服务器102,服务器102与终端设备101通信连接。其中,服务器102可以是传统服务器,也可以是云端服务器,在此不作具体限定。
其中,终端设备101可以包括但不限于智能音箱、智能手机、平板电脑、膝上型便携计算机、台式计算机和可穿戴式电子设备等。终端设备101包括语音输入模块,用于接收语音信号,例如语音输入模块可以是麦克风等。终端设备101还包括图像采集装置,用于采集图像,例如图像采集装置可以是摄像头等。
其中,终端设备101上可以安装有客户端应用程序,用户可以基于客户端应用程序(例如APP、微信小程序等)与服务器102进行通信。具体的,服务器102上安装有对应的服务端应用程序,用户可以基于客户端应用程序在服务器102注册一个用户帐号,并基于该用户帐号与服务器102进行通信,例如用户在客户端应用程序登录用户帐号,并基于该用户帐号通过客户端应用程序进行输入,可以输入文字信息或语音信息等,客户端应用程序接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至终端设备101。
其中,终端设备101可以显示如图2所示的待填写表单的页面130,并接收用户基于页面130的输入信息。终端设备101接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至终端设备101。在一些实施方式中,终端设备101在接收到服务器102返回的输出信息时,可以在终端设备101的显示屏上显示与该输出信息对应的文字或图形,实现与用户的交互。在图2示出的待填写表单的页面的示例图中,页面130包括输入框131,其中,输入框131的数量为至少一个,终端设备101可以根据第一语音输入信息的识别结果从多个输入框131中确定与识别结果对应的目标输入框。
在一些实施方式中,页面130还可以包括输入焦点132,输入焦点132可以位于输入框131中。其中,图2所示的待填写表单的页面内容及结构仅为示例,具体的页面内容及结构等在此不做限定。本申请实施例适用于各种表单的页面输入。
在一些实施方式中,对用户输入的信息进行处理的装置也可以设置于终端设备101上,使得终端设备101无需依赖与服务器102建立通信即可实现与用户的交互,此时交互***100可以只包括终端设备101。
上述的应用环境仅为方便理解所作的示例,可以理解的是,本申请实施例不仅局限于上述应用环境。
下面将通过具体实施例对本申请实施例提供的语音输入方法、装置、终端设备及存储介质进行详细说明。
请参阅图3,图3示出了本申请实施例提供的一语音输入方法的流程示意图,可应用于上述终端设备,下面将针对图3所示的流程进行详细的阐述。上述的语音输入方法具体地可以包括以下步骤:
步骤S110:确定页面是否存在待填写的输入项。
在本申请实施例中,可以将语音作为输入方式,对表单的页面进行输入操作,已完成表单的填写。
页面可包括一个或多个输入项,分别用于输入相同或不同的内容,本实施例对此不做限定。例如,在网银转账应用中,页面可显示有多个输入框,对应多个输入项,输入项可包括但不限于“转账金额”、“收款方”、“***”、“银行”等。
具体地,在显示待填写表单的页面的过程中,可确定页面是否存在待填写的输入项。在一种实施方式中,客户端可通过检测输入项是否为空,来检测是否存在待填写的输入项,例如,若检测到一个输入项为空,可确定该输入项是一个待填写的输入项。
在一些实施方式中,客户端只要确定出一个待填写的输入项,即可停止检测,进行后续操作。
在另一些实施方式中,客户端可确定出所有的待填写的输入项的数量,并在每次获得用户对一个输入项的输入后,将数量减一,通过判断数量是否为0,来确定是否存在待填写的输入项,若为0则不存在,若不为0则存在。
步骤S120:在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。
在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。本申请实施例中,输入提示为语音提示。
在一种实施方式中,页面当前所显示的内容可以为待填写的输入项。在一个示例中,例如,在网银转账应用中,页面可以为网银转账的页面,在页面存在待填写的输入项时,若待填写的输入项包括转账金额,则可根据该待填写的输入项生成输入提示,例如“请输入转账金额”、“请问您要转多少钱”等语音提示作为输入提示,提示用户对该待填写的输入项进行输入。
在一些实施例中,可预先设置有输入项和提示信息之间的映射关系,从而客户端可根据页面存在的待填写的输入项,确定提示信息。其中,映射关系可以是以映射表、映射函数等形式存储,映射关系可存储于终端设备本地,也可存储与服务器,在此不作限定。进一步地,客户端根据提示信息,生成语音提示作为输入提示,并通过语音输出装置如扬声器、喇叭等装置进行输出。由此,客户端可通过生成输入提示对待填写的输入项进行提示,以辅助用户完成页面的填写。
步骤S130:对接收的语音输入信号进行语音识别,获得语音识别文本。
在进入表单交互页面时,即在客户端显示页面的过程中,客户端可以开启语音识别(Automatic Speech Recognition,ASR)进程,从而可以对接收的语音输入信号进行语音识别,获得语音识别文本。
在一些实施方式中,可通过深度学习技术,对语音输入信号进行语音识别,获得语音识别文本。具体地,可将语音输入信号输入预先训练好的语音识别模型,以得到该语音识别模型输出的与语音输入信号对应的语音识别结果,以得到对应的语音识别文本。其中,语音识别模型可以是预先基于大量真人说话时的语音输入信号以及语音输入信号对应的识别结果的训练样本,对初始神经网络模型训练得到的,在此并不做限定。
需要说明的是,上述语音识别模型可以采用循环神经网络(RecurrentNeuralNetwork,RNN)模型,在一种实施方式中,可具体采用长短期记忆网络(Long Short TermMemory,LSTM)或门控循环单元(Gated Recurrent Unit,GRU),本实施例在此不对所用语义理解模型进行其他限定和赘述。
在一些实施方式中,语音识别模型可以运行于服务器中,由服务器基于语音输入信号通过语音识别模型将其转换为对应的识别结果。也可以运行于终端设备本地,使得可以在离线环境下提供服务。
步骤S140:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
其中,语义理解模型用于对语音识别文本进行语义理解,具体地,可将语音识别文本输入预先训练好的语义理解模型,获得该语义理解模型输出的与语音识别文本对应的语义理解结果,以得到与语音识别文本对应的输入信息。由此,使得用户通过输入自然语言,即可使得客户端获取对应的输入信息,以填写入页面的输入项。从而可以实现基于语音输入的复杂精确的输入,智能辅助用户完成表单的填写,将用户语义智能地与表单匹配。
在一些实施方式中,语义理解模型可以采用基于中文数据集训练的BERT(Bidirectional Encoder Representations from Transformers)模型,一种用Transformers作为特征抽取器的深度双向预训练语言理解模型。在一些示例中,还可以根据实际场景选择不同的数据集训练得到适用于该场景的BERT模型以作为语义理解模型。例如,在网银转账应用中,可采集网银转账场景中的客服和客户之间等用户之间的对话,并按照BERT模型的输入格式制作成训练样本集后,训练BERT模型并最终得到训练好的BERT模型作为语义理解模型,用于语义理解。
在另一些实施方式中,上述语义理解模型也可以采用循环神经网络(RecurrentNeural Network,RNN)模型,在一种实施方式中,可具体采用长短期记忆网络(Long ShortTerm Memory,LSTM)或门控循环单元(GatedRecurrent Unit,GRU),本实施例在此不对所用语义理解模型进行其他限定和赘述。
在一些实施方式中,语义理解模型可以运行于服务器中,由服务器基于语音识别文本通过语义理解模型将其转换为对应的识别结果。也可以运行于终端设备本地,使得可以在离线环境下提供服务。
步骤S150:根据输入信息,对页面执行输入操作。
其中,输入信息可以是在输入框中填写的内容,因此,在本申请实施例中,可以将输入信息填写至输入项对应的输入框中,以根据输入信息,对页面执行输入操作。
本实施例提供的语音输入方法,通过确定页面是否存在待填写的输入项,并在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示,其中,输入提示用于提示用户对待填写的输入项进行语音输入,然后对接收的语音输入信号进行语音识别,获得语音识别文本,接着将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息,根据输入信息,对页面执行输入操作。由此,本申请实施例可在页面还存在待填写的输入项时,提示用户输入并根据用户输入的语音自动匹配输入项,并进行输入,从而实现基于语音输入的复杂精确的输入,智能辅助用户完成表单的填写,将用户语义智能地与表单匹配。
在一些实施例中,根据输入信息,对页面执行输入操作后,可以返回执行确定页面是否存在待填写的输入项,并在检测到页面不存在待填写的输入项时,可以生成页面提交提示,以提示用户可以提交所填写的页面,由此,可以在页面存在待填写的输入项时,循环提示用户进行填写,并在填写完成后提示用户提交页面,从而智能地辅助用户完成表单。具体地,请参阅图4,图4示出了本申请另一个实施例提供的语音输入方法,可以应用于上述客户端,该方法可以包括:
步骤S210:确定页面是否存在待填写的输入项。
于本实施例中,确定页面是否存在待填写的输入项后,还可以包括:
在页面存在待填写的输入项时,可执行步骤S220;
在页面不存在待填写的输入项时,可执行步骤S260。
步骤S220:根据页面当前所显示的内容,生成输入提示。
步骤S230:对接收的语音输入信号进行语音识别,获得语音识别文本。
步骤S240:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
步骤S250:根据输入信息,对页面执行输入操作。
步骤S260:生成页面提交提示。
在页面不存在待填写的输入项时,可生成页面提交提示,以提示用户提交填写完成的页面,从而可基于语音输入智能辅助用户完成表单。
其中,页面提交提示用于提示提交页面。在一些实施方式中,页面提交提示,可以包括但不限于生成弹窗、语音提示等。
具体地,作为一种实施方式,可以生成提交页面,提交页面显示有页面提交提示的文本信息如“已完成表单,是否提交表单”。进一步地,提交页面还可显示有对应于“确认”的控件,以使得用户点击该控件,可触发页面提交指令,客户端在接收到该页面提交指令时,可提交该页面至服务器。
作为另一种实施方式,可以生成语音提示。具体地,在页面不存在待填写的输入项时,可生成语音提示如“已完成表单,是否提交表单”,并等待接收用户的回复语音,在接收到表示确认提交的回复语音如“确认”、“好的”、“提交”等时,客户端可获取页面提交指令,可提交该页面。
作为又一种实施方式,客户端在页面不存在待填写的输入项时,可以既生成提交页面,又生成语音提示,并既可接收回复语音以获取页面提交指令,也可接收基于页面的点击操作等来获取页面提交指令,在此不作限定。并作为一种方式,提交页面可不显示控件,此时可接收回复语音以获取页面提交指令。
进一步地,在一些实施例中,将页面提交后,还可生成下一页面并显示,并执行步骤S210,以提示用户继续下一页面的填写。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
在一些实施例中,对用户输入的语音输入信号进行语义理解后,根据语义理解后得到的输入信息,可以在页面中自动匹配输入项并进行该输入项的填写,从而使得用户可基于语音完成复杂而精确的输入,可将用户所想表达的意思智能地与所填写的页面输入项进行匹配,以辅助用户完成页面填写。具体地,请参阅图5,图5示出了本申请又一个实施例提供的语音输入方法,该方法可以包括:
步骤S310:确定页面是否存在待填写的输入项。
步骤S320:在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。
步骤S330:对接收的语音输入信号进行语音识别,获得语音识别文本。
步骤S340:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
在一种实施方式中,可获取训练样本集,训练样本集可包括大量标注好的文本,每个文本对应标注有对应的页面的输入项和输入项对应的输入内容。其中,文本可包括与输入项对应的各种不同表达的文本,例如“我要转账300元”、“我要转给张三300元”、“我要转出去300”等等,均可标注对应的输入项为“转账金额”,输入内容为“300”。
步骤S350:将输入信息与页面的输入项进行匹配,确定目标输入项。
将输入信息与页面的输入项进行匹配,可确定目标输入项为与输入信息匹配的输入项。例如,输入信息为“转账300元”,可对应页面中的输入项“转账金额”。
步骤S360:确定输入信息与目标输入项对应的输入内容。
从输入信息中确定与目标输入项对应的输入内容。例如,输入信息为“转账300元”,确定目标输入项为“转账金额”后,可确定目标输入项对应应填写的内容为转账金额的数值,因此可确定目标输入项对应的输入内容为“300”。
步骤S370:将输入内容在目标输入项对应的显示区域显示。
在一种实具体的实施方式,若页面为网银转账页面,如图2所示,页面上可存在多个待填写的输入项,若对接收的语音输入信号进行语音识别后,得到的语音识别文本为“我要转账300元”,将该语音识别文本输入语义理解模型,可获知用户意图是需转账,可匹配目标输入项为“转账金额”,并根据语音识别文本中的数额“300”,确定输入信息与目标输入项“转账金额”对应的输入内容“300”,将“300”输入至目标输入项“转账金额”对应的输入框中,完成输入操作,并将输入内容“300”在目标输入项“转账金额”对应的显示区域即输入框中显示。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
另外,在一些实施例中,还可以检测语音输入信号中的无义语音片段,并根据无义语音片段确定最终的语音识别文本,由此可将隐私内容隐藏或部分隐藏,使得他人难以获取真实准确的输入内容,从而降低隐私泄露的风险,提高信息安全,从而可大大提高可用性,适用于多种场景。具体地,请参阅图6,图6示出了本申请再一个实施例提供的语音输入方法,该方法可以包括:
步骤S401:确定页面是否存在待填写的输入项。
步骤S402:在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。
步骤S403:对接收的语音输入信号进行语音识别,获得第一识别文本。
步骤S404:当语音输入信号中存在无义语音片段时,确定无义语音片段的时长和无义语音片段在第一识别文本的位置。
本申请实施例中,页面可以是涉及隐私的页面,例如,页面可以是网银转账页面、取款页面等。而实际应用中,若基于语音输入填写这一类涉及隐私的页面时,可能存在隐私或信息泄露的风险。因此可以通过在语音识别过程中检测语音输入信号的无义语音片段,使得用户可以将隐私内容隐藏或部分隐藏,从而降低隐私或信息泄露的风险。
本实施例中,无义语音片段用于表征没有包含语义内容的语音片段,例如,无义语音片段可包括空白语音片段和拖长音语音片段中的至少一种。
其中,空白语音片段的声音强度小于预设强度,空白语音片段可表征用户没有说话或说话声音强度非常小的语音片段。
其中,拖长音语音片段的声音强度不小于预设强度,拖长音语音片段是指用户在发出声音,且声音强度不小于预设强度的语音片段,且该语音片段无语义内容。在一个示例中,语音片段“转账”,用户在说“转账”二字时,“账”字拖长了尾音,那么为表述方便,对于用户所说的“转账”二字实际上的听感效果可以形象表述为“转账…ang….ng.....g……”,其中的“…ang….ng.....g……”,实质上仅为“账”的拖长音,并无对应的语义内容,本实施例中可将“…ang….ng.....g……”识别为拖长音语音片段。需要说明的是,前述仅为对拖长音语音片段的示意性说明,并不对本实施例构成任何限定。
在一种实施方式中,当无义语音片段为空白语音片段时,可以获取空白语音片段的时长作为无义语音片段的时长,并根据空白语音片段的起始时间或终点时间确定空白语音片段在第一识别文本的位置。
具体地,作为一种方式,可根据空白语音片段的起始时间确定空白语音片段在第一识别文本的位置,具体地,可根据起始时间确定空白语音片段之前的第一字符,空白语音片段之后的第二字符,并将第一字符和第二字符之间的位置作为空白语音片段在第一识别文本的位置。例如,第一识别文本对应为“我要转账3元”,空白语音片段的起始时间在“3”的时间之后,“元”的时间之前,因此可将“3”作为第一字符,“元”作为第二字符,确定空白语音片段在第一识别文本的位置为“3”和“元”之间。
作为另一种方式,还可根据空白语音片段的终点时间确定空白语音片段在第一识别文本的位置。原理与上述类似,在此不再赘述。
并在一些实施方式中,可根据空白语音片段的起始时间和终点时间,将起始时间和终点时间之间的时间长度作为空白语音片段的时长。
在另一种实施方式中,当无义语音片段为拖长音语音片段时,可以获取拖长音语音片段的时长作为无义语音片段的时长,并根据拖长音语音片段的起始时间或终点时间确定拖长音语音片段在第一识别文本的位置。
具体地,作为一种方式,可根据拖长音语音片段的终点时间确定拖长音语音片段在第一识别文本的位置,具体地,可根据终点时间确定拖长音语音片段之后的第三字符,并将第三字符之前的位置作为拖长音语音片段在第一识别文本的位置。例如,第一识别文本对应为“我要转账3元”,拖长音语音片段的终点时间在“元”的时间之前,因此可将“元”作为第三字符,确定拖长音语音片段在第一识别文本的位置为“元”之前,与“元”相邻,也即“3”和“元”之间。
作为另一种方式,还可根据拖长音语音片段的起点时间确定拖长音语音片段在第一识别文本的位置。
并在一些实施方式中,可根据拖长音语音片段的起始时间和终点时间,将起始时间和终点时间之间的时间长度作为拖长音语音片段的时长。
步骤S405:根据时长,获得无义语音片段对应的第二识别文本。
在输入转账金额时,可用音节拖长音的长度表示当前输入的金额位数,拖长音的时间越久则位数越多(如用户只需说“3”然后拖长音,根据拖长音的时间,确定“3”后面“0”的位数,例如拖长音1s则加1位“0”,最终累计拖长音3s,则确定转账金额为“300”。)
在一种实施方式中,可预先设置有时长和无义文本的映射关系,映射关系可以是映射表、映射函数等各种形式,在此不做限定。另外,前述映射关系可存储于终端设备、也可存储于服务器,还可由客户端从网络上下载更新等,本实施例对映射关系的存储方式也不做任何限定。在一个示例中,时长t∈[1,2)可对应无义文本“百”,t∈[2,3)可对应无义文本“千”等等,由此可根据时长确定无义文本,将无义文本作为第二识别文本。
在另一种实施方式中,可根据时长和预设时长的比值来获得无义语音片段对于的第二识别文本,具体实施方式可见后述实施例,在此不再赘述。
在一些实施例中,空白语音片段、拖长音语音片段可对应相同的文本,也可分别对应不同的文本。在一些实施方式中,空白语音片段、拖长音语音片段可分别对应不同的文本。由此,用户输入语音时,可灵活利用空白、拖长音的方式,隐藏重要信息,以提高输入安全性,从而可在提高输入安全性的基础上,还提高输入便利性,并提供了多样化输入的可能性。
步骤S406:将第二识别文本添加至第一识别文本中的位置,获得语音识别文本。
本实施例中,根据无义语音片段在第一识别文本的位置,可确定第二识别文本在第一识别文本中的位置,从而将第二识别文本添加至第一识别文本中的该位置,获得语音识别文本。其中,语音识别文本包括第一识别文本、第二识别文本。
在一些实施方式中,可根据无义语音片段对应在语音输入信号的时间与第一识别文本中每个字符对应在语音输入信号的时间,确定无义语音片段的位置在哪些字符之间,从而确定位置。
在一个具体的应用场景中,时长t∈[1,2)可对应无义文本“百”,t∈[2,3)可对应无义文本“千”。用户第一识别文本对应为“我要转账3元”,拖长音语音片段的终点时间在“元”的时间之前,因此可确定拖长音语音片段在第一识别文本的位置为“元”之前,与“元”相邻,也即“3”和“元”之间。而拖长音语音片段的时长t为2s,可对应无义文本“千”,由此可获得第二识别文本为“千”,进一步地,将第二识别文本“千”添加至“3”和“元”之间,从而可获得语音识别文本“我要转账3前元”。而实际上,用户并未直接说出“千”,而是通过拖长音将“千”隐藏,从而隐藏了真实转账数额,在一些有他人存在的场景中,可有效降低被他人听到而造成信息泄露的风险,提高输入安全性。
步骤S407:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
步骤S408:将输入信息与页面的输入项进行匹配,确定目标输入项。
步骤S409:确定输入信息与目标输入项对应的输入内容。
步骤S410:将输入内容在目标输入项对应的显示区域显示。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
进一步地,在一些实施例中,根据无义语音片段的时长获得第二识别文本,具体可以是将该时长与预设时长进行比较得到。具体地,请参阅图7,图7示出了本申请再另一个实施例提供的语音输入方法,该方法可包括:请参阅图7,图7示出了本申请实施例提供的还一语音输入方法的流程示意图,该方法包括:
步骤S501:确定页面是否存在待填写的输入项。
步骤S502:在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。
步骤S503:对接收的语音输入信号进行语音识别,获得第一识别文本。
步骤S504:当语音输入信号中存在无义语音片段时,确定无义语音片段的时长和无义语音片段在第一识别文本的位置。
步骤S505:基于时长与预设时长的比值,确定将无义语音片段识别成预设符号的数量。
其中,预设时长可以是程序预设,也可以是用户自定义的,例如可以是0.5秒(s)、1s等,在此不作限定。可选地,预设时长可以是0.3s至1.5s中的任意值,以避免预设时长过久造成识别过长,保证响应速度。
其中,预设符号可以根据实际需要进行确定,本实施例对此不做限定。例如,在网银转账应用中,预设符号可以是数字“0”,从而通过输入无义语音片段,用户可隐藏具体转账数额,以提高输入安全性。另外,还可用于在输入***时,通过无义语音片段隐藏真实***。
在一些实施例中,空白语音片段和拖长音语音片段可分别对应不同的预设符号,从而可根据对空白语音片段和拖长音语音片段的识别,而确定出不同的预设符号。例如,空白语音片段对应的预设符号可以是1,拖长音语音片段对应的预设符号可以是0。由此,使得用户可灵活使用空白语音片段和拖长音语音片段隐藏信息,从而可进一步提高输入安全性。
步骤S506:根据预设符号的数量,生成第二识别文本。
在一种实施方式中,根据预设符号的数量,生成第二识别文本,第二识别文本包括所述数量个预设符号,例如,预设符号的数量为5,则第二识别文本包括5个预设符号。
在一个示例中,在用户输入转账金额时,可用音节拖长音的长度来表示当前输入的金额位数,使得客户端根据拖长音语音片段的时长与预设时长的比值,确定预设符号的数量,使得用户拖长音的时间越久则预设符号的数量越多。例如,用户只需说“3”然后拖长音,根据拖长音的时间,确定“3”后面“0”的位数。具体地,例如,客户端可获得拖长音语音片段的时长为1s则可在第一识别文本的“3”后加1位“0”,若最终累计拖长音3s,则可在第一识别文本“3”后加3位“0”,以确定转账金额为“3000”。
在另一种实施方式中,可预先设置有预设符号的数量和用户信息之间的对应关系,从而根据预设符号的数量,可确定与该数量对应的用户信息,并根据用户信息生成第二识别文本。其中,用户信息可包括但不限于用户帐号、用户姓名、用户ID等。在一个示例中,预设符号的数量为2,可对应用户姓名“张三”,从而可生成第二识别文本为“张三”,预设符号的数量为4时,可对应用户姓名“李四”,从而可生成第二识别文本为“李四”。
在一个示例中,在网银转账应用中,页面上显示有至少2个输入框,分别应输入转账金额和收款方,当用户说“我要给(停顿2s)转3000元”,停顿2s对应空白语音片段的时长2s,客户端根据用户输入的语音输入信号,可确定在第一识别文本中的“给”之后添加第二识别文本“张三”。由此还可隐藏收款方等其他信息,以进一步提高输入安全性。
步骤S507:将第二识别文本添加至第一识别文本中的位置,获得语音识别文本。
在一种具体的实施方式中,以无义语音片段为拖长音语音片段为例,例如,预设符号可以是“0”,则当用户说“我要转账3元”,其中“3”拖长音时,客户端可根据用户输入的语音输入信号可获得第一识别文本“我要转账3元”,并可获得拖长音语音片段的时长为3s,则可确定“0”的数量为3,即获得第二识别文本“000”,并客户端可获得拖长音语音片段的位置在第一识别文本中“3”之后,则可在第一识别文本“3”后加3位“0”,得到语音识别文本为“我要转账3000”。由此,用户在语音输入时,可通过输入无义语音片段,隐藏具体转账数额等隐私信息,以降低信息泄露风险,提高输入安全性。
步骤S508:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
步骤S509:将输入信息与页面的输入项进行匹配,确定目标输入项。
步骤S510:确定输入信息与目标输入项对应的输入内容。
步骤S511:将输入内容在目标输入项对应的显示区域显示。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
另外,在一些实施例中,根据输入信息,对页面执行输入操作之后,还可以提示用户进行确认,并在需要修改时,可获取用户的修改指令并进行修改,从而可灵活修改输入内容,提高修改便利性的同时,也提高了输入准确性,由此可进一步提高***可用性。具体地,请参阅图8,图8示出了本申请再又一个实施例提供的语音输入方法,该方法可包括:
步骤S610:确定页面是否存在待填写的输入项。
步骤S620:在页面存在待填写的输入项时,根据页面当前所显示的内容,生成输入提示。
步骤S630:对接收的语音输入信号进行语音识别,获得语音识别文本。
步骤S640:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
步骤S650:根据输入信息,对页面执行输入操作。
步骤S660:生成确认提示。
其中,确认提示用于提示确认输入是否正确。在一些实施方式中,确认提示,可以包括但不限于闪烁显示当前输入内容(表示当前如果接收到语音输入信号则会直接对这个输入内容进行修改)、或者生成弹窗、语音提示等。
作为一种方式,闪烁显示,可以是闪烁显示输入框中的输入焦点,具体地,可通过跳帧显示焦点,以实现闪烁显示。
步骤S670:基于确认提示,获取输入修改指令。
基于确认提示,用户可继续输入语音信号,使得客户端接收语音信号,并获取该语音信号对应的输入修改指令。
步骤S680:根据输入修改指令,对页面执行输入修改操作。
根据输入修改指令,可确定待修改的输入项,并根据输入修改指令对页面执行输入修改操作,以修改该待修改的输入项当前已输入的内容。从而可灵活修改,方便用户修改,在提高用户输入便利性的同时,还可有效保证页面提交前的信息输入准确性。
在一些实施方式中,若输入有误,则用户可通过语音输入修改指令,以明确指示客户端进行修改,例如应转3000,却输入的300,则用户可再语音输入如“再加一位”,来修改成正确的转账金额3000。由于用户始终未说最终转账金额,所以即便周围有人听见也不会泄露,因此大大降低信息泄露风险,提高输入安全性。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
进一步地,在一些实施例中,修改后仍可返回执行确定页面是否存在待填写的输入项,从而继续循环提示用户进行输入,并在不存在待填写的输入项时,生成页面提交提示,以提示用户提交填写完成的页面。由此可在前述实施例的基础上,进一步地提高***可用性。具体地,请参阅图9,图9示出了本申请又另一个实施例提供的语音输入方法,该方法可包括:
步骤S710:确定页面是否存在待填写的输入项。
于本实施例中,确定页面是否存在待填写的输入项之后,还可包括:
在页面存在待填写的输入项时,可执行步骤S720;
在页面不存在待填写的输入项时,可执行步骤S790。
步骤S720:根据页面当前所显示的内容,生成输入提示。
步骤S730:对接收的语音输入信号进行语音识别,获得语音识别文本。
步骤S740:将语音识别文本输入语义理解模型,获得与语音识别文本对应的输入信息。
步骤S750:根据输入信息,对页面执行输入操作。
步骤S760:生成确认提示。
步骤S770:基于确认提示,获取输入修改指令。
步骤S780:根据输入修改指令,对页面执行输入修改操作。
步骤S790:生成页面提交提示。
在页面不存在待填写的输入项时,可生成页面提交提示,以提示用户提交填写完成的页面,从而可基于语音输入智能辅助用户完成表单,并且在用户基于语音填写表单时,用户还可编辑所输入的内容,从而在提高输入便利性的同时,本实施例还可大大提高***可用性,使得用户在填写过程中可灵活修改,并在修改完成后没有待填写的输入项时,提示用户提交页面。
需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。
请参阅图10,图10示出了本申请实施例提供的语音输入装置200的结构框图。下面将针对图10所示的框图进行阐述,该语音输入装置200包括:输入确定模块10100、输入提示模块1020、语音识别模块1030、语义理解模块1040以及页面输入模块1050,其中:
输入确定模块1010,用于确定所述页面是否存在待填写的输入项;
输入提示模块1020,用于在所述页面存在待填写的输入项时,根据所述页面当前所显示的内容,生成输入提示,所述输入提示用于提示用户对所述待填写的输入项进行语音输入;
语音识别模块1030,用于对接收的语音输入信号进行语音识别,获得语音识别文本;
语义理解模块1040,用于将所述语音识别文本输入语义理解模型,获得与所述语音识别文本对应的输入信息;
页面输入模块1050,用于根据所述输入信息,对所述页面执行输入操作。
进一步地,所述页面包括一个或多个输入项,所述页面输入模块1050包括:目标确定子模块、内容确定子模块以及内容显示子模块,其中:
目标确定子模块,用于将所述输入信息与所述页面的输入项进行匹配,确定目标输入项;
内容确定子模块,用于确定所述输入信息与所述目标输入项对应的输入内容;
内容显示子模块,用于将所述输入内容在所述目标输入项对应的显示区域显示。
进一步地,所述语音识别模块1030包括:第一文本子模块、位置确定子模块、第二文本子模块以及识别文本子模块,其中:
第一文本子模块,用于对接收的语音输入信号进行语音识别,获得第一识别文本;
位置确定子模块,用于当所述语音输入信号中存在无义语音片段时,确定所述无义语音片段的时长和所述无义语音片段在所述第一识别文本的位置,所述无义语音片段包括空白语音片段和拖长音语音片段中的至少一种;
第二文本子模块,用于根据所述时长,获得所述无义语音片段对应的第二识别文本;
识别文本子模块,用于将所述第二识别文本添加至所述第一识别文本中的所述位置,获得语音识别文本。
进一步地,所述空白语音片段的声音强度小于预设强度;所述拖长音语音片段的声音强度不小于预设强度。
进一步地,所述第二文本子模块包括:数量子模块以及第二子模块,其中:
数量子模块,用于基于所述时长与预设时长的比值,确定将所述无义语音片段识别成预设符号的数量;
第二子模块,用于根据所述预设符号的数量,生成第二识别文本,所述第二识别文本包括所述数量个所述预设符号。
进一步地,所述页面包括一个或多个输入项,所述确定所述页面是否存在待填写的输入项之后,所述语音输入装置1000还包括:页面提交模块,其中:
页面提交模块,用于在所述页面不存在待填写的输入项时,生成页面提交提示,所述页面提交提示用于提示提交所述页面。
进一步地,所述根据所述输入信息,对所述页面执行输入操作之后,所述语音输入装置1000还包括:确认提示模块、修改指令模块以及修改输入模块,其中:
确认提示模块,用于生成确认提示,所述确认提示用于提示确认输入是否正确;
修改指令模块,用于基于所述确认提示,获取输入修改指令;
修改输入模块,用于根据所述输入修改指令,对所述页面执行输入修改操作。
本申请实施例提供的语音输入装置用于实现前述方法实施例中相应的语音输入方法,并具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的语音输入装置能够实现前述方法实施例中的各个过程,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参阅前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图11,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备1100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备1100可以包括一个或多个如下部件:处理器1110、存储器1120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1120中并被配置为由一个或多个处理器1110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器1110可以包括一个或者多个处理核。处理器1110利用各种接口和线路连接整个电子设备1100内的各个部分,通过运行或执行存储在存储器1120内的指令、程序、代码集或指令集,以及调用存储在存储器1120内的数据,执行电子设备1100的各种功能和处理数据。可选地,处理器1110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1110中,单独通过一块通信芯片进行实现。
存储器1120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1120可用于存储指令、程序、代码、代码集或指令集。存储器1120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图12,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读取存储介质300可以是诸如闪存、电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,EEPROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质300包括非易失性计算机可读介质(non-transitorycomputer-readable storagemedium)。计算机可读取存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的语音输入方法、装置、终端设备及存储介质,该方法包括:在显示待填写表单的过程中,接收第一语音输入信息,该待填写表单中包括多个待选择输入框;对第一语音输入信息进行识别,得到识别结果;从多个待选择输入框中确定与识别结果对应的目标输入框;接收第二语音输入信息,并将第二语音输入信息转化为文本输入信息;将文本输入信息填写至所述目标输入框中。从而通过接收第一语音输入信息,确定与第一语音输入信息对应的目标输入框,并接收第二语音输入信息,将第二语音输入信息对应的文本输入信息填写至目标输入框中,使得可以在表单填写的全程使用语音控制填写操作,完成复杂且精确的输入。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。