基于本地和云端混合识别的自然语音识别方法、装置和系统与流程

文档序号:12609211阅读:413来源:国知局
基于本地和云端混合识别的自然语音识别方法、装置和系统与流程

本发明涉及汽车电子技术领域,特别涉及一种基于本地和云端混合识别的自然语音识别方法、装置和系统。



背景技术:

随着当代信息技术的日益发展,语音识别技术已经被广泛应用于消费电子、家用电器及车载领域。以车载领域为例,驾驶员在开车时需要保持非常高的专注度,传统的依赖双手的交互存在一定的安全隐患,因此,语音识别的交互方式是将来车载交互的方向。车载领域现有的语音识别技术中,有只基于本地的语音识别系统,有只基于云端的语音识别系统,也有支持本地和云端识别的语音系统。

现有专利文献CN103440867A,公开了一种基于本地和云端的语音识别技术。该技术以云端语音识别为主,只有当网络故障,云端的识别不能在指定时间内返回时,才根据本地语音识别的置信度判断是否输出本地语音识别。

这种技术虽然解决了识别范围和功能动态更新的局限性,但无论何种应用场景,都考虑以云端识别结果为准。但如果是在与车载环境强相关的情况下,比如“空调温度太高了”,对空调功能的支持是车机端定制的,则这种情况本地识别结果效率更高,且识别结果具有较高可靠性。即如果与车载环境强相关的情况下也一味只认可云端识别结果,以云端识别结果为准,并不合适,且降低了识别结果输出效率。



技术实现要素:

现有技术中基于本地和云端的语音识别技术主要以云端识别引擎的反馈结果为准,基本不采用本地引擎识别结果,而在与本地应用相关的应用环境下,本地识别结果也具有较高可靠性,且识别效率更高,所以只采用云端引擎的识别结果是不合适的,且降低了识别结果输出的效率。本发明所要解决现有技术中本地识别结果采用率低、识别结果输出效率差的问题。

本发明为解决现有问题而提出一种基于本地和云端混合识别的自然语音识别方法,步骤包括:

获取自然语音的应用场景;

接收本地识别的第一语音识别结果及其置信度和云端识别的第二语音识别结果及其置信度;

根据所述自然语音的应用场景,调整所述第一语音识别结果的置信度和所述第二语音识别结果的置信度;其中,若所述应用场景与本地应用相关,则提高第一语音识别结果的置信度;

将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出。

进一步地,接收本地识别的第一语音识别结果和云端识别的第二语音识别结果的步骤中还包括以下步骤:

根据应用场景设定预设时间;

判断预设时间内是否接收到云端识别的第二语音识别结果;

若在预设时间内没有接收到云端识别的第二语音识别结果,则根据所述应用场景,对所述第一语音识别结果和所述第二语音识别结果的置信度分别进行调整的步骤中:

调整所述第一语音识别结果的置信度高于所述第二语音识别结果的置信度。

进一步地,步骤还包括根据调整后的最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式。

进一步地,根据所述最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式的步骤中:

若所述最终识别结果的置信度在第一置信度范围内,则响应方式为执行;

若所述最终识别结果的置信度在第二置信度范围内,则响应方式为交互和引导;

若所述最终识别结果的置信度在第三置信度范围内,则响应方式为引导。进一步地,根据所述最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式的步骤中,还包括对于每一响应方式,随机输出预存的应答结果。

基于同一发明构思,本发明实施例还提出一种基于本地和云端混合识别的自然语音识别装置,包括:

场景获取模块,用于获取自然语音的应用场景;

接收模块,用于接收本地识别的第一语音识别结果和云端识别的第二语音识别结果;

置信度调整模块,用于根据所述应用场景,对所述第一语音识别结果和所述第二语音识别结果的置信度进行调整;

输出模块,用于将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出。

进一步地,还包括:

时间设定模块,用于根据应用场景设定预设时间;

判断模块,用于判断预设时间内是否接收到云端识别的第二语音识别结果。

进一步地,还包括交互模块,用于根据调整后的最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式。

进一步地,所述交互模块中的响应方式为:

若所述最终识别结果的置信度在第一置信度范围内,则响应方式为执行;

若所述最终识别结果的置信度在第二置信度范围内,则响应方式为交互和引导;

若所述最终识别结果的置信度在第三置信度范围内,则响应方式为引导。

进一步地,所述交互模块中,对于每一响应方式,随机输出预存的应答结果。

进一步地,所述置信度调整模块,在所述判断模块的判断结果为否时调整所述第一语音识别结果的置信度高于所述第二语音识别结果的置信度。

基于同一发明构思,本发明实施例还提出一种基于本地和云端混合识别的自然语音识别系统,包括:

自然语音识别装置,接收自然语音的应用场景,以及所述第一语音识别结果及其置信度,所述云端识别的第二语音识别结果及其置信度;根据所述自然语音的应用场景,调整所述第一语音识别结果的置信度和所述第二语音识别结果的置信度;其中,若所述应用场景与本地应用相关,则提高第一语音识别结果的置信度;将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出;

语音接收装置,接收自然语音信号;

语音发送装置,将所述自然语音信号发送至本地识别引擎、云端识别引擎和自然语言识别模块;

所述本地识别引擎,对所述自然语音信号进行解析,得到本地识别的第一语音识别结果;

所述云端识别引擎,对所述自然语音信号进行解析,得到云端识别的第二语音识别结果;

所述自然语言识别模块,对所述自然语音信号进行解析,得到自然语音的应用场景。

进一步地,所述自然语言识别模块,配置于所述本地识别引擎内。

本发明的有益效果在于,

本发明所述的基于本地和云端混合识别的自然语音识别方法、装置和系统,通过自然语言识别模块识别自然语言的应用场景,并根据应用场景,调整第一语音识别结果置信度和第二语音识别结果的置信度;当应用场景与本地应用相关时,则提高第一语音识别结果的置信度,最后比较第一语音识别结果置信度和第二语音识别结果的置信度,输出置信度高的结果作为最终结果。如此,本发明提高了第一语音识别结果的利用程度,并且最终输出的结果与应用场景相关。

附图说明

图1为本发明实施例1所述基于本地和云端混合识别的自然语音识别方法的流程图。

图2为本发明实施例2所述基于本地和云端混合识别的自然语音识别方法的流程图。

图3为本发明实施例3所述基于本地和云端混合识别的自然语音识别方法的流程图。

图4为本发明实施例4所述基于本地和云端混合识别的自然语音识别装置的原理框图。

图5为本发明实施例5所述基于本地和云端混合识别的自然语音识别系统的原理结构图。

具体实施方式

下面将结合附图对本发明作进一步描述。另外,本文中的术语“第一”、“第二”、“第三”等,用于在类似要素之间进行区别,并且不一定是描述特定的次序或者按时间的顺序。要理解,这样使用的这些术语在适当的环境下是可互换的,使得在此描述的主题的实施例如是能够以与那些说明的次序不同的次序或者以在此描述的另外的次序来进行操作。

实施例1

本实施例提供一种基于本地和云端混合识别的自然语音识别方法,如图1所示,包括如下步骤。

步骤101,获取自然语音的应用场景。所述应用场景,根据自然语言中出现的与用户想法契合的词语直接得到。例如在车辆行驶过程中,用户提出“我要开空调”,其自然语音的应用场景为控制空调。当用户对道路不熟悉时,提出“打开导航”,其自然语言的应用场景为控制导航软件。而且对每种应用场景进行了分层式的细化,例如控制空调的下一层包括控制空调开启和控制空调温度;再例如,控制导航软件的下一层包括控制导航开启和控制导航到兴趣地点。

步骤102,接收本地识别的第一语音识别结果及其置信度和云端识别的第二语音识别结果及其置信度。通常情况下,本地识别的语料库不大,内容大多跟本地应用相关,但识别速度快;而云端识别的语料库强大,可识别较多信息,但相应的识别速度比较慢,且容易受到网速的影响。

步骤103,根据所述自然语音的应用场景,调整所述第一语音识别结果的置信度和所述第二语音识别结果的置信度;其中,若所述应用场景与本地应用相关,则提高第一语音识别结果的置信度。通常不同应用场景对本地识别和云端识别的依赖程度是不同的,例如,对空调的控制在车机端,则应用场景为控制空调时,判断为该应用场景与本地应用相关,应用场景依赖于本地,本地识别的第一语音识别结果的权重经验值调高;当应用场景为导航领域时,导航的目的地及路线,都存储于云端,本地无法获取,故该应用场景与本地应用不相关,应用场景依赖于云端,云端识别的第二语音识别结果的权重经验值调高。

故需要根据不同的应用场景,对第一语音识别结果和第二语音识别结果的权重经验值进行调整,根据调整后的结果调用不同的语音识别结果作为最终识别结果。根据大量车载语音识别领域积累的经验和专家判断,制定了不同应用场景下本地识别的权重经验值和云端识别的权重经验值,调整置信度即根据不同应用场景提取本地识别的权重经验值和云端识别的权重经验值,结合本地识别的原有置信度和云端识别的原有置信度,经过计算,获得调整后的本地识别置信度和云端识别置信度。具体计算方法可以直接由原有置信度与对应的权重经验值进行相乘的方式获取,或者通过其他计算方法得到。另外,置信度获取过程也是一种比较复杂的算法,由于这并不是本发明的发明要点,因此可选择现有技术中的方法即可,在此不再详细描述。

步骤104,将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出。

上述方法将自然语音的应用场景作为一个影响因素,用于选择最后输出结果为第一语音识别结果还是第二语音识别结果。当应用场景与本地应用相关时,本地识别的第一语音识别结果的可信度较高,识别速度更快,因此调高第一语音识别结果的置信度,如果第一语音识别结果的原有置信度已经是一个较高的值,那么经过该调整后,可使第一语音识别结果的置信度高于第二语音识别结果的置信度,最后输出第一语音识别结果,提高第一语音识别结果的利用率,同时提高了语音识别的效率。

实施例2

本实施例在实施例1的基础上进行如下改进,具体为上述步骤101及步骤104之间,采用如下方式实现:

步骤202,根据应用场景设定预设时间。即根据应用场景,判断是否与本地应用相关,当与本地应用相关时,则预设时间可适当缩短;当与本地应用无关时,可适当延长预设时间。

步骤203,判断预设时间内是否接收到云端识别的第二语音识别结果。由于云端识别的语料库强大,与本地识别相比,虽然云端识别的识别结果准确性较高,但相应的会比较耗时,而且云端识别必须依赖网络,当网络功能受限时,则只能等待。

步骤204,若在预设时间内没有接收到云端识别的第二语音识别结果,则根据所述应用场景,调整所述第一语音识别结果的置信度高于所述第二语音识别结果的置信度。当无法接收到云端识别结果时,则第二语音识别结果的置信度必然为零,根据应用场景调整置信度时,其调整后的置信度必然低于第一语音识别结果的置信度。

本实施例中,预设时间根据应用场景调整。由于本地识别速度快,而云端识别会受到当时网络环境的影响,在接收识别结果时会有延迟。故当所识别的应用场景跟本地应用相关时,本地识别的第一语音识别结果的可靠性高,此时预设时间较短,即等待云端识别结果的时间较短,最终识别结果可以在较短时间内输出,提高了最终结果输出效率。当应用场景与本地应用无关时,则云端识别的第二语音识别结果可靠性更好,此时预设时间较长,即尽量等待云端识别结果,增强最终输出的识别结果的效率和可靠性。

实施例3

进一步地,在实施例1或者实施例2的基础上,还可以包括步骤305。

以实施例1为例,步骤104之后采用如下方式实现:

步骤305,根据调整后的最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式。

具体内容为,若所述最终识别结果的置信度在第一置信度范围内,则响应方式为执行;若所述最终识别结果的置信度在第二置信度范围内,则响应方式为交互和引导;若所述最终识别结果的置信度在第三置信度范围内,则响应方式为引导。如此,当应用场景与本地应用无关,而云端识别结果又迟迟无法反馈时,最后输出为本地识别结果,其调整后的置信度必然会在第二置信度范围或者第三置信度范围,以交互、引导的方式继续跟用户沟通,以达到最后执行命令的目的。

需要说明的是,为适应不同应用场景的特点,不同的应用场景下,三个置信度划分的界限是不同的。如此,对较为复杂的语音识别情况,响应方式可以更加灵活多变。除此之外,也可以在确定了三个置信度划分的界限后,调整应用场景的权重经验值,将调整后的置信度符合置信度的范围。

当然,置信度的划分可以是多种多样的,不限于三个,也不限于三种响应方式。下面以打电话的应用场景为例进行说明:

情况一:当用户提出“打电话”,应用场景为拨号控制,该功能场景下,因为用户未提出打电话给哪一个人,本地识别的第一语音识别结果的置信度较低,识别结果经权重经验值调整后,会落入第三置信度范围。在这种情况下,相应方式应以引导为主,例如输出“请指定通话对象”,以引导用户进行下一步操作。

情况二:当用户提出“致电唐寅”,应用场景为拨号对象控制,该功能场景下,第二语音识别结果置信度低,而本地引擎进行语音识别时发现本地通讯录中有“唐寅”和“唐银”两个发音相同的名字,则本地引擎识别的第一语音识别结果的置信度也比较低。在进行置信度调整时,该场景功能与本地应用相关,则提高第一语音识别结果。最后输出第一语音识别结果,并且输出的最终结果的置信度落入第二置信度范围,以交互和引导为主,例如输出“请问需要拨号给唐寅还是唐银?”,用户可以再次进行选择。

情况三:当用户提出“致电唐寅”,应用场景为拨号对象控制,该功能场景下,第二语音识别结果置信度低,而本地引擎进行语音识别时发现本地通讯录中只有一个“唐寅”,则第一语音识别结果的置信度较高。同时由于应用场景与本地应用相关,则调整后的第一语音识别结果的置信度必然会高于第二语音识别结果的置信度。最后输出第一语音识别结果,并且输出的最终结果的置信度落入第一置信度范围内,以执行为主,则此时无需进行交互直接拨号致电唐寅即可。

进一步地,步骤305中,对于每一响应方式,随机输出预存的答应结果,例如用户需要退出语音识别,则输出的答应结果可为“再见”或者“有需要请再唤醒我”,从而模拟了日常生活中人与人之间对话的随机性,降低了车载语音识别对话系统的机械感。

实施例4

本实施例提供了一种基于本地和云端混合识别的自然语音识别装置,包括场景获取模块401、接收模块402、置信度调整模块403和输出模块404。其中场景获取模块401用于获取自然语音的应用场景;接收模块402用于接收本地识别的第一语音识别结果和云端识别的第二语音识别结果;置信度调整模块403用于根据所述应用场景,对所述第一语音识别结果和所述第二语音识别结果的置信度进行调整;输出模块404用于将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出。

上述方案中的基于本地和云端混合识别的自然语音识别装置,在获取应用场景后,根据应用场景调整第一语音识别结果的置信度和第二语音识别结果的置信度,当应用场景与本地应用相关时,提高第一语音识别结果的置信度,如此可提高本地识别的利用率,使输出结果与应用环境相关。

进一步地,为解决网络延迟或网络不可用的情况下也能完成用户的命令,上述装置还包括时间设定模块405和判断模块406。时间设定模块305用于根据应用场景设定预设时间;判断模块406用于判断预设时间内是否接收到云端识别的第二语音识别结果。

为降低车载语音识别对话系统的机械感,进一步地,还包括交互模块407,用于根据调整后的最终识别结果的置信度和所述应用场景,确定对所述自然语音识别结果的响应方式。其中交互模块407中的响应方式为,若所述最终识别结果的置信度在第一置信度范围内,则响应方式为执行;若所述最终识别结果的置信度在第二置信度范围内,则响应方式为交互和引导;若所述最终识别结果的置信度在第一置信度范围内,则响应方式为引导。进一步地,还包括对于每一响应方式,随机输出预存的应答结果。

实施例5

本实施例提供一种基于本地和云端混合识别的自然语音识别系统,其结构包括自然语音识别装置501、语音接收装置502、语音发送装置503、本地识别引擎504、云端识别引擎505和自然语言识别模块506。

自然语音识别装置501用于接收自然语音的应用场景,以及所述第一语音识别结果及其置信度,所述云端识别的第二语音识别结果及其置信度;根据所述自然语音的应用场景,调整所述第一语音识别结果的置信度和所述第二语音识别结果的置信度;其中,若所述应用场景与本地应用相关,则提高第一语音识别结果的置信度;将所述第一语音识别结果和所述第二语音识别结果中置信度高的一个,作为最终识别结果输出。

语音接收装置502用于接收自然语音信号,该装置可以是一个简单的具有录音功能的录音笔、录音机等装置,也可以是具备录音、存储、分词等功能的智能装置。

语音发送装置503将所述自然语音信号发送至本地识别引擎和云端识别引擎,该装置可为无线发射装置,无线和有线通用的装置也可。将自然语音信号发送至本地识别引擎时可采用无线或者有线信号发送,当将自然语音信号发送至云端识别引擎时,则需采用无线信号发送。

本地识别引擎504对所述自然语音信号进行解析,得到本地识别的第一语音识别结果。本地识别引擎可将与本地应用相关、且用户常用的语言命令存储于本地语料库中,方便常用的语言命令的识别。

云端识别引擎505对所述自然语音信号进行解析,得到云端识别的第二语音识别结果。

自然语言识别模块506,对所述自然语音信号进行解析,得到自然语音的应用场景。

本实施例提供的基于本地和云端混合识别的自然语音识别系统,通过自然语音识别模块识别自然语言的应用场景,并根据功能场景,调节本第一语音识别结果的置信度和第二语音识别结果的置信度,当识别的应用场景与本地应用相关时,本地识别结果准确性高,故调高第一语音识别结果的置信度,提高了本地识别结果的利用率。

上述自然语言识别模块506,可以设置于本地引擎中也可以设置于云端引擎中,但是由于其用于获取与车载应用相关的应用场景,将其配置于所述本地识别引擎504内,相对于将其配置于云端引擎中具有更高的识别效率和准确度。

具体地,本地识别引擎中的自然语言识别模块,收集了大量用户在不同车载功能场景下常用的自然语言命令,并针对这些收集的自然语言命令按照中文语言的特性、特点,通过分词技术进行分析并分词,确定每个功能场景下确定的词汇,通过识别用户语音信息,匹配词汇,达到功能场景识别的目的。

另外,本实施例还提供一种车载控制器,所述车载控制器包括:处理器、存储器及通信组件。其中,所述存储器中存储实施例1或2或3所述方法的具体代码,由所述处理器具体执行,所述通信组件用于与其他设备进行通信。

此外,上述的存储器中的逻辑指令通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台移动终端(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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