声控计算方法、装置及用户终端与流程

文档序号:12818676阅读:277来源:国知局
声控计算方法、装置及用户终端与流程

本申请涉及计算机技术领域,具体而言,涉及一种声控计算方法、装置及用户终端。



背景技术:

计算器是人们在日常生活中经常会使用到的工具,包括实体的计算器和电脑以及手机系统自带的计算器。现有的计算器往往都需要通过实体或虚拟的按钮输入数据,然后在运算后输出结果。

现有的计算器往往是通过手动输入(或点击实体按键或点击虚拟按键)运算式,这需要用户一直关注屏幕的按键,使得用户不得不停下手中的工作,耗费时间通过按键点击进行计算,效率较低。

申请内容

有鉴于此,本申请实施例提供了一种声控计算方法、装置及用户终端,能够通过声控方式输入运算式,并获得计算结果,与现有的计算器相比,提高用户的工作效率。

为实现上述目的,本申请实施例提供了一种声控计算方法,所述方法包括:接收用户输入的用于计算的音频数据;获得所述音频数据的语音识别结果;判断所述语音识别结果中的计算是否为连续计算,若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算进行组合作为待输出结果,若否,则将本次语音识别结果作为所述待输出结果;对所述待输出结果进行第一语义分析,根据所述第一语义分析的结果获得并输出对应的数学表达式。

本申请实施例还提供了一种声控计算装置,所述装置包括:音频接收模块,用于接收用户输入的用于计算的音频数据;语音识别模块,用于获得所述音频数据的语音识别结果;连续计算判断模块,用于判断所述语音识别结果中的计算是否为连续计算,若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算进行组合作为待输出结果,若否,则将本次语音识别结果作为所述待输出结果;表达式输出模块,用于对所述待输出结果进行第一语义分析,根据所述第一语义分析的结果获得并输出对应的数学表达式。

本申请实施例还提供了一种用户终端,所述用户终端包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时,使所述处理器执行以下操作:接收用户输入的用于计算的音频数据;获得所述音频数据的语音识别结果;判断所述语音识别结果中的计算是否为连续计算,若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算进行组合作为待输出结果,若否,则将本次语音识别结果作为所述待输出结果;对所述待输出结果进行第一语义分析,根据所述第一语义分析的结果获得并输出对应的数学表达式。

本申请实施例提供的声控计算方法、装置及用户终端的有益效果为:

本申请实施例提供的声控计算方法、装置及用户终端接收用户输入的音频数据,并且获得音频数据的语音识别结果,判断语音识别结果中的计算是否为连续计算,若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算组合,作为待输出结果;否则,将本次语音识别结果作为待输出结果,对待输出结果进行第一语义分析,根据第一语义分析的结果,获得并输出对应的表达式。本申请实施例提供的声控计算方法能够接收用户口述的用于计算的音频数据,并显示对应的数学表达式,与现有的计算器相比,能够节省用户通过键盘输入的时间,有利于提高用户的工作效率。

附图说明

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

图1是本申请实施例的应用环境示意图;

图2示出了本申请实施例提供的用户终端的结构框图;

图3示出了本申请第一实施例提供的声控计算方法的流程示意图;

图4示出了图3中步骤s2的具体步骤示意图;

图5示出了图3中步骤s6的具体步骤示意图;

图6示出了第一实施例的一种具体实施方式的流程示意图;

图7示出了图6中步骤s7的具体步骤示意图;

图8示出了图7中步骤s71的具体步骤示意图;

图9示出了本申请实施例中的树形结构的示意图;

图10示出了本申请实施例在用户终端的显示屏的显示界面;

图11示出了本申请第二实施例提供的声控计算装置的结构框图;

图12示出了图11中的语音识别模块的结构示意图。

具体实施方式

本申请下述各实施例均可应用于如图1所示的环境中。如图1所示,服务器10通过网络30与一个或多个用户终端20进行通信连接,以进行数据通信或交互。在本申请实施例中,用户终端20中安装有客户端,该客户端可以是应用程序,与服务器10相对应,从而为用户提供服务(例如接收录音、显示运算式及运算结果)。所述服务器10可以是数据库服务器、即时通信服务器、网络服务器、验证服务器等多个服务器,也可以是一个服务器。所述用户终端20可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、电子书阅读器、膝上型便携计算机、车载电脑、智能穿戴设备等。所述网络30可以是无线网络或有线网络,例如无线网络可以是,但不限于wi-fi(无线保真)网络、2g/3g/4g网络等。

图2示出了一种可应用于本申请实施例中的用户终端20的结构框图。如图2所示,所述用户终端20包括存储器202、存储控制器204,一个或多个(图中仅示出一个)处理器206、外设接口208、射频模块210、音频模块212、触控屏幕214等。这些组件通过一条或多条通讯总线/信号线216相互通讯。

存储器202可用于存储软件程序以及模块,如本申请实施例中的声控计算方法及装置对应的程序指令/模块,处理器206通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本申请实施例提供的数据处理方法。

存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器206以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。

外设接口208将各种输入/输出装置耦合至处理器206以及存储器202。在一些实施例中,外设接口208,处理器206以及存储控制器204可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

射频模块210用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。

音频模块212向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

触控屏幕214在用户终端20与用户之间同时提供一个输出及输入界面。具体地,触控屏幕214向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频及其任意组合。

可以理解,图2所示的结构仅为示意,用户终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例

图3示出了本申请第一实施例提供的一种声控计算方法的流程图,请参阅图3,本实施例描述的是用户终端的处理流程,所述方法包括:

步骤s1,接收用户输入的用于计算的音频数据。

用户具体可以通过用户终端进行录音,录入用于计算的音频数据。用户终端具体可以包括个人电脑(personalcomputer,pc)、平板电脑、智能手机等。

步骤s2,获得所述音频数据的语音识别结果。

用户终端接收音频数据后,可以将音频数据发送至服务器,以使所述服务器对所述音频数据进行语音识别,获得所述语音识别结果。然后用户终端再接收服务器发送的语音识别结果。

详情请参见图4,图4示出了步骤s2的具体步骤,包括如下步骤:

步骤s21,将所述音频数据发送至服务器,以使所述服务器对所述音频数据进行语音识别,获得所述语音识别结果。

服务器可以基于第三方语音识别服务对录音进行识别,也可以基于深度学习技术的语音识别系统,语音识别结果具体可以为中文识别结果。服务器基于的第三方语音识别服务可以利用现有的语音识别服务。对音频数据进行语音识别的过程不应该理解为是对本申请的限制。

步骤s22,接收所述服务器发送的所述语音识别结果。

服务器对音频数据进行语音识别,获得语音识别结果后,将语音识别结果发送给用户终端。

步骤s3,所述语音识别结果中的计算是否为连续计算,若是,则执行步骤s5;若否,则执行步骤s4。

具体地,用户终端可以判断语音识别结果中的计算的首个汉字是否为预设汉字集中的汉字,若是,判定语音识别结果中的计算为连续计算,否则,则判定语音识别结果中的计算不为连续计算。

步骤s4,将本次语音识别结果作为所述待输出结果。

若不是连续计算的话,可以将本次语音识别结果作为所述待输出结果。即不与前一次语音识别结果产生联系,直接根据本次语音识别结果进行分析。

步骤s5,将前一次语音识别结果中的计算与本次语音识别结果中的计算进行组合作为待输出结果。

若是连续计算的话,则说明仅根据本次语音识别结果无法得出完整的数学表达式,例如,前一次的语音识别结果为“三加五”,本次的语音识别结果为“加二”,将两次语音识别结果进行组合,即获得“三加五加二”。

具体地,在步骤s3之后,还可以包括基于拼音纠错的步骤,即根据用户的读音,在预设定允许输入的中文范围内获取相应的中文汉字,例如获得的读音的拼音为jia,对应的中文结果除了“加”还有可能为“家”或“佳”,预设定允许输入的中文范围可以只包括“加”,有利于提高语音识别的速度。

步骤s6,对所述待输出结果进行第一语义分析,根据所述第一语义分析的结果获得并输出对应的数学表达式。

具体地,可以先将待输出结果分成多个词组,查找与多个词组中的每个词组分别对应的字符,字符包括数字和运算符,然后输出上述的数字和运算符。数学表达式具体可以通过latex格式来表达。

详情请参见图5,图5示出了步骤s6的具体步骤,包括如下步骤:

步骤s61,将所述待输出结果分成多个词组。

用户终端将待输出结果分成多个词组,待输出结果为中文识别结果,例如,具体可以为:括号六加三括号乘二。用户终端具体可以将其分为:“括号”、“六”、“加”、“三”、“括号”、“乘”、“二”。

步骤s62,查找与所述多个词组中的每个词组分别对应的字符,所述字符包括数字和运算符。

在用户终端的服务器中,查找多个词组中的每个词组分别对应的字符。例如,“括号六加三括号乘二”中的第一个括号之前未提到括号,则对应为“(”;六对应为阿拉伯数字6,加对应运算符+,三对应阿拉伯数字3,第二个括号与第一个括号“(”相对应,故为“)”。乘对应运算符×,二对应阿拉伯数字2。

步骤s63,输出所述字符。

将上述字符输出,便可以获得对应的数学表达式,即(6+3)×2。

详情请参见图6,图6示出了本申请第一实施例的一种具体实施方式,与图3示出的声控计算方法相比,区别在于:

还包括步骤s7:对所述待输出结果进行第二语义分析,根据所述第二语义分析的结果获得并输出对应的运算结果。

详情请参见图7,图7示出了步骤s7的具体步骤,包括:

步骤s71,根据上下文无关文法将所述待输出结果转化成树形结构。

具体可以使用文法分析工具(antlr)对中文文本表达的语义进行分析,可以先将待输出结果分成多个词组,多个词组包括多个数字词组以及多个运算符词组。获得多个数字词组中的每个数字词组对应的阿拉伯数字,获得多个运算符词组中的每个运算符词组对应的函数运算表达式,然后根据上下文无关文法,将阿拉伯数字以及函数运算表达式转化为树形结构。

步骤s72,通过递归遍历对所述树形结构进行遍历,获得对应的运算结果。

通过递归遍历的方式对树形结构进行遍历,以获得运算结果。当然,也可以通过其他的遍历方式对树形结构进行遍历,例如深度优先遍历或宽度优先遍历。

运算结果以及相应的表达式可以在用户终端的显示屏显示,详情请参见图10。

详情请参见图8,图8示出了步骤s71的具体步骤:

步骤s711,将所述待输出结果分成多个词组,所述多个词组包括多个数字词组以及多个运算符词组。

将待输出结果分成词组,词组中包括数字词组以及运算符词组。

步骤s712,获得多个数字词组中的每个数字词组对应的阿拉伯数字。

对于数字词组,查找相应的数据库,获得与数字词组对应的阿拉伯数字。

步骤s713,获得多个运算符词组中的每个运算符词组对应的函数运算表达式。

对于运算符词组,查找对应的数据库,例如“根号三”中的根号对应的函数为sqrt()。

步骤s714,根据是上下文无关文法,将所述阿拉伯数字以及函数运算表达式转化为树形结构。

上下文无关文法是形式语言理论中一种重要的变换文法,用来描述上下文无关语言,在乔姆斯分层中称为2型文法。将阿拉伯数字以及函数运算表达式转化为树形结构的示意图请参见图9,这里为便于理解,以中文描述相关含义。

具体地,对于“一加二乘三乘四的平方”该语音识别结果转化为树形结构,依据运算优先级,先判断是否有幂运算,若有(即图9中的四的平方),则将其置于树形结构的最下层,再判断是否有括号,没有;则继续判断是否有乘除运算,即图9中的二乘三乘幂运算,将乘除运算置于树形结构的次下层;然后判断是否有加减运算,即图9中的一加乘除法表达式,将加减运算置于树形结构的上层,本申请实施例具体可以将优先级从高到低的运算按照从下到上的顺序进行排列。

本申请实施例提供的声控计算方法能够接收用户口述的用于计算的音频数据,并显示对应的数学表达式,与现有的计算器相比,能够节省用户通过键盘输入的时间,有利于提高用户的工作效率。

第二实施例

本申请实施例还提供了一种声控计算装置,详情请参见图10,图10示出了声控计算装置在用户终端的显示屏的显示界面,图11示出了本申请第二实施例提供的声控计算装置。该装置100包括:

音频接收模块110,用于接收用户输入的用于计算的音频数据。

语音识别模块120,用于获得所述音频数据的语音识别结果。

连续计算判断模块130,用于判断所述语音识别结果中的计算是否为连续计算,若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算进行组合作为待输出结果,若否,则将本次语音识别结果作为所述待输出结果。

表达式输出模块140,用于对所述待输出结果进行第一语义分析,根据所述第一语义分析的结果获得并输出对应的数学表达式。

图11示出的声控计算装置与图3示出的声控计算方法相对应,在此便不做赘述。

图12示出了语音识别模块120的模块框图,包括:

音频数据发送模块121,用于将所述音频数据发送至服务器,以使所述服务器对所述音频数据进行语音识别,获得所述语音识别结果。

识别结果接收模块122,用于接收所述服务器发送的所述语音识别结果。

图12示出的语音识别模块与图4示出的步骤对应相同,在此便不做赘述。

本申请实施例提供的声控计算方法、装置及用户终端接收用户输入的音频数据,并且获得音频数据的语音识别结果,判断语音识别结果中的计算是否为连续计算。若是,则将前一次语音识别结果中的计算与本次语音识别结果中的计算组合,作为待输出结果;否则,将本次语音识别结果作为待输出结果。对待输出结果进行第一语义分析,根据第一语义分析的结果,获得并输出对应的表达式。本申请实施例提供的声控计算方法能够接收用户口述的用于计算的音频数据,并显示对应的数学表达式,与现有的计算器相比,能够节省用户通过键盘输入的时间,有利于提高用户的工作效率。

本申请实施例中,可以获得全部的音频数据再输出与全部的音频数据对应的数学表达式以及运算结果,也可以在获得音频数据的同时执行运算过程,并以中间计算的运算结果带入接下来将要输入的音频数据所对应的表达式中。即音频数据的录入过程以及运算过程两者执行的先后顺序不应该理解为是对本申请的限制。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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