一种语音交互方法及装置与流程

文档序号:17899070发布日期:2019-06-13 16:12阅读:140来源:国知局
一种语音交互方法及装置与流程

本发明涉及语音识别技术领域,尤其涉及一种语音交互方法及装置。



背景技术:

目前由于深度学习技术的发展,使得语音识别结果的准确度越来越高,类似智能音箱的各种产品受到市场的广泛关注,智能音箱等产品采集用户语音上传至云端服务器,利用服务器的资源进行快速解码,获得语音识别结果。在嵌入式平台上,受限于处理器性能、内存资源的影响,本地离线大词汇量连续语音识别难以实现;在有限命令词的情况下,人机命令词交互性体验差。



技术实现要素:

本发明的主要目的在于提出一种语音交互方法及装置,通过置信度阈值过滤等方式降低了命令词误识别的概率,提高了组合命令词的准确率,提升了人机命令词的交互体验。

为实现上述目的,本发明提供的一种语音交互方法,包括:

通过解码器解码音频信号,获得解码结果生成图;

从所述解码结果生成图中获取解码结果序列,并获取序列中每个解码结果词的置信度;

根据所述置信度对对应的解码结果词进行过滤;

对过滤后的解码结果词进行组词,并通过组词结果进行控制。

可选地,所述通过解码器解码音频信号,获得解码结果生成图之前还包括:

对解码器进行初始化,设置应用场景,并加载场景词id重映射表、词与词的关联关系表及输出结果表。

可选地,所述根据所述置信度对对应的解码结果词进行过滤包括:

根据所述场景词id重映射表判断所述解码结果词是否为填充词,若是则删除所述解码结果词;

否则,判断所述解码结果词的置信度是否大于预设的置信度阈值,若是,则保留所述解码结果词作为命令词。

可选地,所述对过滤后的解码结果词进行组词,并通过组词结果进行控制包括:

根据所述词与词的关联关系表对过滤后的解码结果词进行组词,并得到组词结果;

判断所述组词结果是否为快捷控制命令词,若是,则进行快捷控制;

否则,所述组词结果为唤醒词,进行唤醒操作。

可选地,所述进行快捷控制之前还包括:

对所述组词结果进行动名词互换操作。

作为本发明的另一方面,提供的一种语音交互装置,包括:

解码模块,用于通过解码器解码音频信号,获得解码结果生成图;

置信度获取模块,用于从所述解码结果生成图中获取解码结果序列,并获取序列中每个解码结果词的置信度;

过滤模块,用于根据所述置信度对对应的解码结果词进行过滤;

组词控制模块,用于对过滤后的解码结果词进行组词,并通过组词结果进行控制。

可选地,还包括:

初始化模块,用于对解码器进行初始化,设置应用场景,并加载场景词id重映射表、词与词的关联关系表及输出结果表。

可选地,所述过滤模块包括:

命令判断单元,用于根据所述场景词id重映射表判断所述解码结果词是否为填充词,若是则删除所述解码结果词;

阈值判断单元,用于当所述解码结果词为命令词时,判断所述解码结果词的置信度是否大于预设的置信度阈值,若是,则保留所述解码结果词作为命令词。

可选地,所述组词控制模块包括:

组词单元,用于根据所述词与词的关联关系表对过滤后的解码结果词进行组词,并得到组词结果;

控制单元,用于判断所述组词结果是否为快捷控制命令词,若是,则进行快捷控制;

唤醒单元,用于当所述组词结果为唤醒词时,进行唤醒操作。

可选地,所述组词控制模块还包括:

互换单元,用于对所述组词结果进行动名词互换操作。

本发明提出的一种语音交互方法及装置,该方法包括:通过解码器解码音频信号,获得解码结果生成图;从所述解码结果生成图中获取解码结果序列,并获取序列中每个解码结果词的置信度;根据所述置信度对对应的解码结果词进行过滤;对过滤后的解码结果词进行组词,并通过组词结果进行控制;通过置信度阈值过滤等方式降低了命令词误识别的概率,提高了组合命令词的准确率,提升了人机命令词的交互体验。

附图说明

图1为本发明实施例一提供的一种语音交互方法的流程图;

图2为本发明实施例一提供的另一种语音交互方法的流程图;

图3为图1中步骤s30的方法流程图;

图4为本发明实施例二提供的一种语音交互装置的示范性结构框图;

图5为本发明实施例二提供的另一种语音交互装置的示范性结构框图;

图6为图4中过滤模块的示范性结构框图;

图7为图4中组词控制模块的一种示范性结构框图;

图8为图4中组词控制模块的另一种示范性结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

实施例一

如图1所示,在本实施例中,一种语音交互方法,包括:

s10、通过解码器解码音频信号,获得解码结果生成图;

s20、从所述解码结果生成图中获取解码结果序列,并获取序列中每个解码结果词的置信度;

s30、根据所述置信度对对应的解码结果词进行过滤;

s40、对过滤后的解码结果词进行组词,并通过组词结果进行控制。

在本实施例中,通过置信度阈值过滤等方式降低了命令词误识别的概率,提高了组合命令词的准确率,提升了人机命令词的交互体验。

在本实施例中,在解码前还需要对语音识别模型进行训练,对发音字典中的命令词进行拆分并添加部分填充词,训练得到分词的模型,其中,填充词为非命令词,用于降低误识别率,提升交互的准确性。

如图2所示,在本实施例中,所述步骤s10之前还包括:

s01、对解码器进行初始化,设置应用场景,并加载场景词id重映射表、词与词的关联关系表及输出结果表。

在本实施例中,应用场景为空调、微波炉、灯、网关等,不同应用场景拥有不同的控制命令词。场景选定后,其他场景的命令词被当作填充词看待。

在本实施例中,场景词id重映射表:因模型训练时,加入一些填充词,会导致每次训练后词的id发生变化,例如某次训练词“打开”在模型中的id是m,另外一次训练词“打开”会变成另外一个整数n;为了消除每次训练生成的模型中词的id不固定问题,需要重新映射到一个新的固定的id上。

在本实施例中,词与词的关联关系表:利用以上重新映射的id值,配置词与词的关联关系表,此表包含五个属性,分别为命令词映射后的id、词类型、自定义置信度阈值、关联关系、特殊关联关系,具体的说明如下:

词类型:用于区分命令词的类型。类型1代表未拆分的命令词,如“打开空调”;类型2代表有关联关系的拆分词,如“打开”、“关闭”;类型3代表一种特殊词,它本身是一个命令词或者可以组成命令词,但在解码序列中检出它之后,并不一定是解码结果,如“电加热关闭”,“电加热”本身是一个命令词,但是还需要检查后续是否存在动词“关闭”,否则会执行相反的控制操作;

自定义置信度阈值:用于调整每个拆分后的命令词的置信度阈值,使得整个系统的打分机制更加灵活,在一定程度上可以控制误识别率;

关联关系:用于存放与当前词有关联的词的id,比如当前词为“打开”,与之相关联的词有“灯”、“台灯”“书房灯”等等;

特殊关联关系:若词类型为3,当前词是拆分词,首先该词需要与关联关系表中的词进行组合,组合后的词属于命令词,此时在解码序列中检出它之后,并不一定是解码结果,例如“睡眠模式关闭”,当前词为“睡眠”,关联关系词为“模式”,如果组合成“睡眠模式”,会执行错误的控制操作,所以还需要检查后续解码序列中是否存在特殊关联关系词“关闭”。

在本实施例中,输出结果表:包括命令词,播放的语音路径及控制码。

如图3所示,在本实施例中,所述步骤s30包括:

s31、根据所述场景词id重映射表判断所述解码结果词是否为填充词,若是则s32、删除所述解码结果词;

否则,s33、判断所述解码结果词的置信度是否大于预设的置信度阈值,若是,则s34、保留所述解码结果词作为命令词;

否则,进入步骤s32、删除所述解码结果词。

在本实施例中,所述步骤s40包括:

根据所述词与词的关联关系表对过滤后的解码结果词进行组词,并得到组词结果;

判断所述组词结果是否为快捷控制命令词,若是,则进行快捷控制;

否则,所述组词结果为唤醒词,进行唤醒操作。

在本实施例中,循环过滤后的解码序列,在词与词的关联关系表中查询当前序列的信息(该词的自定义置信度阈值和关联词),利用自定义置信度阈值进一步过滤解码结果。如果该词大于阈值,则查询下一个解码序列(阈值检查)是否在其关联词中,若在,则当前词与下一个解码词进行组合;若不在,为了防止其他人声误识别带来的影响,还需再检查再下一个解码词;若还不在,循环索引加1并重复以上操作。

在本实施例中,所述快捷控制命令词为唤醒词+控制命令词的组合。

在本实施例中,所述进行快捷控制之前还包括:

对所述组词结果进行动名词互换操作。

在本实施例中,为了提升交互的灵活性,控制命令词会出现名词在前,动词在后的情况。举例:“请打开空调”,“请把空调打开”,同样的控制命令“打开空调”,出现了两种组合形式,所以需要对组词结果进行是否需要动名词互换的操作,最后在输出结果表中进一步确认。

实施例二

如图4所示,在本实施例中,一种语音交互装置,包括:

解码模块10,用于通过解码器解码音频信号,获得解码结果生成图;

置信度获取模块20,用于从所述解码结果生成图中获取解码结果序列,并获取序列中每个解码结果词的置信度;

过滤模块30,用于根据所述置信度对对应的解码结果词进行过滤;

组词控制模块40,用于对过滤后的解码结果词进行组词,并通过组词结果进行控制。

在本实施例中,通过置信度阈值过滤等方式降低了命令词误识别的概率,提高了组合命令词的准确率,提升了人机命令词的交互体验。

在本实施例中,在解码前还需要对语音识别模型进行训练,对发音字典中的命令词进行拆分并添加部分填充词,训练得到分词的模型,其中,填充词为非命令词,用于降低误识别率,提升交互的准确性。

如图5所示,在本实施例中,一种语音交互装置还包括:

初始化模块50,用于对解码器进行初始化,设置应用场景,并加载场景词id重映射表、词与词的关联关系表及输出结果表。

在本实施例中,应用场景为空调、微波炉、灯、网关等,不同应用场景拥有不同的控制命令词。场景选定后,其他场景的命令词被当作填充词看待。

在本实施例中,场景词id重映射表:因模型训练时,加入一些填充词,会导致每次训练后词的id发生变化,例如某次训练词“打开”在模型中的id是m,另外一次训练词“打开”会变成另外一个整数n;为了消除每次训练生成的模型中词的id不固定问题,需要重新映射到一个新的固定的id上。

在本实施例中,词与词的关联关系表:利用以上重新映射的id值,配置词与词的关联关系表,此表包含五个属性,分别为命令词映射后的id、词类型、自定义置信度阈值、关联关系、特殊关联关系,具体的说明如下:

词类型:用于区分命令词的类型。类型1代表未拆分的命令词,如“打开空调”;类型2代表有关联关系的拆分词,如“打开”、“关闭”;类型3代表一种特殊词,它本身是一个命令词或者可以组成命令词,但在解码序列中检出它之后,并不一定是解码结果,如“电加热关闭”,“电加热”本身是一个命令词,但是还需要检查后续是否存在动词“关闭”,否则会执行相反的控制操作;

自定义置信度阈值:用于调整每个拆分后的命令词的置信度阈值,使得整个系统的打分机制更加灵活,在一定程度上可以控制误识别率;

关联关系:用于存放与当前词有关联的词的id,比如当前词为“打开”,与之相关联的词有“灯”、“台灯”“书房灯”等等;

特殊关联关系:若词类型为3,当前词是拆分词,首先该词需要与关联关系表中的词进行组合,组合后的词属于命令词,此时在解码序列中检出它之后,并不一定是解码结果,例如“睡眠模式关闭”,当前词为“睡眠”,关联关系词为“模式”,如果组合成“睡眠模式”,会执行错误的控制操作,所以还需要检查后续解码序列中是否存在特殊关联关系词“关闭”。

在本实施例中,输出结果表:包括命令词,播放的语音路径及控制码。

如图6所示,在本实施例中,所述过滤模块包括:

命令判断单元31,用于根据所述场景词id重映射表判断所述解码结果词是否为填充词,若是则删除所述解码结果词;

阈值判断单元32,用于当所述解码结果词为命令词时,判断所述解码结果词的置信度是否大于预设的置信度阈值,若是,则保留所述解码结果词作为命令词。

如图7所示,在本实施例中,所述组词控制模块包括:

组词单元41,用于根据所述词与词的关联关系表对过滤后的解码结果词进行组词,并得到组词结果;

控制单元42,用于判断所述组词结果是否为快捷控制命令词,若是,则进行快捷控制;

唤醒单元43,用于当所述组词结果为唤醒词时,进行唤醒操作。

在本实施例中,循环过滤后的解码序列,在词与词的关联关系表中查询当前序列的信息(该词的自定义置信度阈值和关联词),利用自定义置信度阈值进一步过滤解码结果。如果该词大于阈值,则查询下一个解码序列(阈值检查)是否在其关联词中,若在,则当前词与下一个解码词进行组合;若不在,为了防止其他人声误识别带来的影响,还需再检查再下一个解码词;若还不在,循环索引加1并重复以上操作。

在本实施例中,所述快捷控制命令词为唤醒词+控制命令词的组合。

如图8所示,在本实施例中,所述组词控制模块还包括:

互换单元44,用于对所述组词结果进行动名词互换操作。

在本实施例中,为了提升交互的灵活性,控制命令词会出现名词在前,动词在后的情况。举例:“请打开空调”,“请把空调打开”,同样的控制命令“打开空调”,出现了两种组合形式,所以需要对组词结果进行是否需要动名词互换的操作,最后在输出结果表中进一步确认。

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

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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