基于语义指令智能识别的建筑服务设施控制方法及系统与流程

文档序号:18035732发布日期:2019-06-28 23:16阅读:203来源:国知局
基于语义指令智能识别的建筑服务设施控制方法及系统与流程

本发明涉及智能控制技术领域,特别涉及基于语义指令智能识别的建筑服务设施控制方法,以及基于语义指令智能识别的建筑服务设施控制系统。



背景技术:

建筑服务设施是包括公共服务设施、生活服务设施在内的各种为城市的日常运行、人们的日常生活等提供服务的建筑内设施,建筑服务设施的运行离不开设施内各种服务设备的运行,例如公共场所中大厦内的电梯和居民楼门口处的门禁,以及私人会所中卧室内的空调、照明灯具等,这些服务设备共同正常运行才能保障建筑服务设施的正常运行。而随着城市的发展和人们生活水平的提高,建筑服务设施也愈加趋向于智能化、便利化和多功能化。

现有建筑服务设施内的服务设备都配备有用于启动和控制其的控制面板,但服务设备的运行通常都是通过对设置有按钮、按键的控制面板进行手动操控来实现的,例如用户手部按下电梯内的楼层按键、居民楼门禁系统的数字按钮、室内墙壁上空调面板和灯光面板上的按钮等,才能使相应的控制系统接收到控制指令,实现电梯升降、门牌号输入、温度调节和灯光调节。此种控制方式在有些情况下会给用户造成不便,例如用户是没有双手或者失明的残疾人,或者用户双手都持有物品,或者是因环境阻碍、距离远等因素无法触碰到控制面板等情况。

因此,希望能够提供一种由用户发出语音来控制建筑服务设施运行的方法,使得用户无需手部操控,只通过发出指令语音就能够控制建筑服务设施运行。例如,用户可以在门禁旁边说出“请呼叫xxx房间”、“请开门,开门密码是xxxxxx”、“请锁门”等指令语音;或者在空调面板附近说出“请打开空调”、“请关闭空调”、“请升温x度”、“请降温x度”等指令语音;又或者在灯光面板附近说出“请调亮吊灯灯光”、“请调暗床头灯灯光”等指令语音,以控制门禁或者空调或者灯具执行相应的操作。

然而,目前的通过语音控制设备运行以及实现多种不同功能的方法中,采用的都是较为简单的语音识别器,对于说话用户的不同口音、发音不规范以及吐字不清的情况无法较好的进行应对和处理,使得指令语音可能无法被正确识别,导致无法控制设施运行。



技术实现要素:

(一)发明目的

为克服上述现有技术存在的至少一种缺陷,使得用户可以通过指令语音来控制建筑服务设施内各种服务设备的运行,并且能够在用户发出的指令语音发音不规范时得到正确语义的指令,本发明公开了以下技术方案。

(二)技术方案

作为本发明的第一方面,本发明公开了基于语义指令智能识别的建筑服务设施控制方法,包括:

采集指令语音信号;

将所述指令语音信号通过语音识别转化为初级字符串;

从所述初级字符串中确定出低置信字符;

将所述低置信字符的特征参数代入神经网络中,得到规整字符串;

依据所述规整字符串生成相应的控制信号,并依据所述控制信号控制建筑服务设施执行相应功能。

在一种可能的实施方式中,在所述将所述指令语音信号通过语音识别转化为初级字符串之前,还包括:

对采集到的所述指令语音信号进行降噪和/或回音消除处理。

在一种可能的实施方式中,在所述将所述指令语音信号通过语音识别转化为初级字符串之前,还包括:

通过声纹识别技术识别出所述指令语音信号的声纹;

判断识别出的声纹是否具有控制权限,并在识别出的声纹不具有控制权限的情况下停止执行后续步骤。

在一种可能的实施方式中,在所述从所述初级字符串中确定出低置信字符之前,还包括:

识别所述指令语音信号或所述初级字符串中是否包含标识词的语音信号或字符,并在未识别出所述标识词的语音信号或字符的情况下,停止执行后续步骤。

在一种可能的实施方式中,所述从所述初级字符串中确定出低置信字符包括:

算出所述初级字符串中每个字符在指令语音样本库包含的所有样本字符串中,包含各所述字符的所述样本字符串的数量;

将算出包含各所述字符的所述样本字符串的数量与最小置信阈值比较,并将数量低于所述最小置信阈值的字符确定为低置信字符。

在一种可能的实施方式中,在所述将所述低置信字符的特征参数代入神经网络中得到规整字符串之前,还包括:

从所述初级字符串中确定出高置信字符;

确定出所述低置信字符的前驱高置信字符和/或后继高置信字符;并且,

所述将所述低置信字符的特征参数代入神经网络中得到规整字符串包括:

从指令语音样本库中确定出所述前驱高置信字符的后继字符集和/或所述后继高置信字符的前驱字符集;

依据所述后继字符集和/或所述前驱字符集中的部分或全部字符的声音向量训练神经网络;

将所述低置信字符对应的声音向量代入所述神经网络进行规整化识别,以从相应的所述后继字符集和/或前驱字符集中确定出替换字符,并替换所述低置信字符得到规整字符串。

在一种可能的实施方式中,所述从所述初级字符串中确定出高置信字符包括:

将所述初级字符串中所有未被确定为低置信字符的字符均确定为高置信字符;或,

将算出包含各所述字符的所述样本字符串的数量与最大置信阈值比较,并将数量高于所述最大置信阈值的字符确定为高置信字符。

在一种可能的实施方式中,所述从指令语音样本库中确定出所述前驱高置信字符的后继字符集和/或所述后继高置信字符的前驱字符集包括:

在所述指令语音样本库中确定出所述前驱高置信字符的所有后继字符,和/或确定出所述后继高置信字符的所有前驱字符;

统计所述后继字符和/或所述前驱字符在所有所述样本字符串中出现的频次;

按照频次排名或依据预设频次阈值确定出频次最高的多个所述后继字符和/或所述前驱字符,并分别组成后继字符集和/或前驱字符集。

在一种可能的实施方式中,在所述按照频次排名或依据预设频次阈值确定出频次最高的多个所述后继字符和所述前驱字符之前,先对所述后继字符和所述前驱字符中相同字符的出现频次进行求和,以求和后的频次数据作为字符的出现频次。

在一种可能的实施方式中,在所述依据所述后继字符集和/或所述前驱字符集中的部分或全部字符的声音向量训练神经网络时,只选取所述指令语音样本库中相应字符的部分声音向量训练神经网络。

在一种可能的实施方式中,在所述依据所述规整字符串生成相应的控制信号之后,还包括:

将采集到的所述指令语音信号存储于所述指令语音样本库中。

在一种可能的实施方式中,所述依据所述规整字符串生成相应的控制信号包括:

将所述规整字符串通过同义词映射转化为语义指令;

依据所述语义指令生成控制信号,并依据所述控制信号控制建筑服务设施执行相应功能。

作为本发明的第二方面,本发明还公开了基于语义指令智能识别的建筑服务设施控制系统,包括:

信号采集模块,用于采集指令语音信号;

初级字符生成模块,用于将所述指令语音信号通过语音识别转化为初级字符串;

低置信字符确定模块,用于从所述初级字符串中确定出低置信字符;

规整字符生成模块,用于将所述低置信字符的特征参数代入神经网络中,得到规整字符串;

控制信号生成模块,用于依据所述规整字符串生成相应的控制信号,并依据所述控制信号控制建筑服务设施执行相应功能。

在一种可能的实施方式中,所述控制系统还包括:

噪声处理模块,用于在所述将所述指令语音信号通过语音识别转化为初级字符串之前,对采集到的所述指令语音信号进行降噪和/或回音消除处理。

在一种可能的实施方式中,所述控制系统还包括:

声纹判断模块,用于在所述将所述指令语音信号通过语音识别转化为初级字符串之前,通过声纹识别技术识别出所述指令语音信号的声纹,判断识别出的声纹是否具有控制权限,并在识别出的声纹不具有控制权限的情况下停止执行后续步骤。

在一种可能的实施方式中,所述控制系统还包括:

标识识别模块,用于在所述从所述初级字符串中确定出低置信字符之前,识别所述指令语音信号或所述初级字符串中是否包含标识词的语音信号或字符,并在未识别出所述标识词的语音信号或字符的情况下,停止执行后续步骤。

在一种可能的实施方式中,所述低置信字符确定模块包括:

出现数量统计单元,用于算出所述初级字符串中每个字符在指令语音样本库包含的所有样本字符串中,包含各所述字符的所述样本字符串的数量;

低置信字符确定单元,用于将算出包含各所述字符的所述样本字符串的数量与最小置信阈值比较,并将数量低于所述最小置信阈值的字符确定为低置信字符。

在一种可能的实施方式中,所述控制系统还包括:

高置信字符确定模块,用于在所述将所述低置信字符的特征参数代入神经网络中得到规整字符串之前,从所述初级字符串中确定出高置信字符,确定出所述低置信字符的前驱高置信字符和/或后继高置信字符;并且,

所述规整字符生成模块包括:

字符集确定单元,用于从指令语音样本库中确定出所述前驱高置信字符的后继字符集和/或所述后继高置信字符的前驱字符集;

神经网络训练单元,用于依据所述后继字符集和/或所述前驱字符集中的部分或全部字符的声音向量训练神经网络;

规整字符生成单元,用于将所述低置信字符对应的声音向量代入所述神经网络进行规整化识别,以从相应的所述后继字符集和/或前驱字符集中确定出替换字符,并替换所述低置信字符得到规整字符串。

在一种可能的实施方式中,所述高置信字符确定模块包括:

第一字符确定单元,用于将所述初级字符串中所有未被确定为低置信字符的字符均确定为高置信字符;和/或,

第二字符确定单元,用于将算出包含各所述字符的所述样本字符串的数量与最大置信阈值比较,并将数量高于所述最大置信阈值的字符确定为高置信字符。

在一种可能的实施方式中,所述字符集确定单元包括:

第三字符确定子单元,用于在所述指令语音样本库中确定出所述前驱高置信字符的所有后继字符,和/或确定出所述后继高置信字符的所有前驱字符;

频次统计子单元,用于统计所述后继字符和/或所述前驱字符在所有所述样本字符串中出现的频次;

字符集合成子单元,用于按照频次排名或依据预设频次阈值确定出频次最高的多个所述后继字符和/或所述前驱字符,并分别组成后继字符集和/或前驱字符集。

在一种可能的实施方式中,所述频次统计子单元还用于在所述按照频次排名或依据预设频次阈值确定出频次最高的多个所述后继字符和所述前驱字符之前,先对所述后继字符和所述前驱字符中相同字符的出现频次进行求和,以求和后的频次数据作为字符的出现频次。

在一种可能的实施方式中,所述神经网络训练单元只选取所述指令语音样本库中相应字符的部分声音向量训练神经网络。

在一种可能的实施方式中,所述控制系统还包括:

样本存储模块,用于在在所述依据所述规整字符串生成相应的控制信号之后,将采集到的所述指令语音信号存储于所述指令语音样本库中。

在一种可能的实施方式中,所述控制信号生成模块包括:

语义映射单元,用于将所述规整字符串通过同义词映射转化为语义指令;

信号生成单元,用于依据所述语义指令生成控制信号,并依据所述控制信号控制建筑服务设施执行相应功能。

(三)有益效果

本发明公开的基于语义指令智能识别的建筑服务设施控制方法及系统,具有如下有益效果:

1、使得用户可以通过指令语音来控制建筑服务设施内各种服务设备的运行,无需用户用手进行手动操控控制面板,使得控制方式更加智能化和便利化;同时还能够在说话用户发出的指令语音有口音、发音不规范以及吐字不清时,对指令语音进行正确联想和识别,以得到正确的指令语音,避免了由于语音的问题导致用户无法正常控制建筑服务设施。

2、通过在将指令语音信号转化为初级字符串之前,先通过声纹识别技术判断说话的用户是否具有控制权限,避免了由于电视机发出声音被控制系统采集进而产生误操作的情况发生,同时防止在控制系统运算后期才发现用户不具备权限而终止进行后续的步骤,避免浪费控制系统的运算资源。

3、通过在从初级字符串中确定出低置信字符之前,或在将指令语音信号通过语音识别转化为初级字符串之前,先对指令语音信号或指令语音信号转化的初级字符串进行标识词识别,确认出指令语音信号是对控制系统发出的控制命令而不是其他人类对话,因而能够避免对非指令语音进行识别,避免浪费控制系统的运算资源。

4、通过在样本库中获取字符出现频次以及设置阈值的方式来确定低置信字符,进而定位到语义有误的字符,定位精准度较高,定位速度较快。

5、利用低置信字符前后的高置信字符得到低置信字符的候选字符,再利用神经网络从候选字符中得到语义正确的字符,能够准确、快速的将因口音等问题而被识别为语义有误的字符替换为语义正确的字符,方便了来自不同地区的用户对建筑服务设施进行控制,并且替换的正确率较高。

6、通过筛选出高频次的后继字符和前驱字符并只将高频次的后继字符和前驱字符训练神经网络,以及只挑选出部分的声音向量代入神经网络进行训练,提高了运算效率,节省了系统反应时间。

7、通过将能够正确识别的指令语音信号存储于指令语音样本库中,能够便于以后用户发出同样语音指令时的识别进程。

8、利用控制系统预先将种类多样的规整字符串转化为总数量相对较少的语义指令,然后再生成控制信号并发给被控设备,使得控制系统与被控设备之间的通信更加简洁,并且降低了对被控设备数据处理能力的要求。

附图说明

以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。

图1是本发明公开的基于语义指令智能识别的建筑服务设施控制方法第一实施例的流程示意图。

图2是本发明公开的基于语义指令智能识别的建筑服务设施控制系统第一实施例的结构框图。

具体实施方式

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。

需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本文中,“第一”、“第二”等仅用于彼此的区分,而非表示它们的重要程度及顺序等。

本文中的模块、单元或组件的划分仅仅是一种逻辑功能的划分,在实际实现时可以有其他的划分方式,例如多个模块和/或单元可以结合或集成于另一个系统中。作为分离部件说明的模块、单元、组件在物理上可以是分开的,也可以是不分开的。作为单元显示的部件可以是物理单元,也可以不是物理单元,即可以位于一个具体地方,也可以分布到网格单元中。因此可以根据实际需要选择其中的部分或全部的单元来实现实施例的方案。

下面参考图1详细描述本发明公开的基于语义指令智能识别的建筑服务设施控制方法第一实施例。本实施例主要应用于建筑服务设施,使得用户可以通过指令语音来控制建筑服务设施内各种服务设备的运行,无需用户用手进行手动操控控制面板,使得控制方式更加智能化和便利化;同时还能够在说话用户发出的指令语音有口音、发音不规范以及吐字不清时,对指令语音进行正确联想和识别,以得到正确的指令语音,避免了由于语音的问题导致用户无法正常控制建筑服务设施。

如图1所示,本实施例公开的建筑服务设施控制方法包括如下步骤:

步骤100,采集指令语音信号。

用户在需要控制建筑服务设施的启停、运转情况时,可以通过发出指令语音来实现控制。而对于建筑服务设施及其内的服务设备来说,则需要首先采集到用户发出的指令语音,并得到指令语音信号。

可以理解的是,采集指令语音信号的设备为预先安装于建筑服务设施内的各空间、场所、通道或建筑服务设施的出入口处等环境,例如电梯内、卧室内等。通常情况下,用户通过说话来发出指令语音。以下以用户在卧室内为了控制空调开闭而说出的“请关上空调”指令语音为例。

步骤200,将指令语音信号通过语音识别转化为初级字符串。

在得到用户发出的指令语音信号后,先对指令语音信号进行较为基础的语音识别技术进行识别,以将指令语音信号转化为文本形式,得到文本字符串。基础语音识别的识别速度较快,但可能会由于用户发出的指令语音存在口音、吐字不清等原因而导致识别出的文本字符串所表达的语义和用户实际想通过指令语音信号表达的语义不完全相同,因此将转化得到的文本指令称为初级字符串。例如,将用户发出的带有口音的“请关上空调”识别为“请管上控调”的文本字符串。

步骤300,从初级字符串中确定出低置信字符。

低置信字符是指在指令语音样本库的各语音样本中出现频次较低的字符。得到初级字符串后,需要从初级字符串中确定出哪些字符是在步骤200语音识别过程中由于口音、吐字不清等问题而语义有误的字符,这些确定出的语义有误的字符通常就是低置信字符。

确定语义有误字符的方式可以是通过预先设置的指令语音样本库进行筛选。指令语音样本库预先收录了一定数量(并不一定是全部)的指令语音样本,以及与每一段指令语音样本相对应的、经过准确识别的样本字符串,可以通过判断初级字符串中各字符的置信度来识别出语义有误的字符,例如初级字符串中的某个或某几个字符在指令语音样本库中的所有样本字符串中出现的频次极低,甚至所有样本字符串均未有包含(此时置信度为零),则这些字符很可能是语义有误的字符,即低置信字符。其中,置信度为零的字符,必定为语义有误的字符。

具体的,在“请管上控调”字符串中,“管”和“控”在指令语音样本库中所有样本字符串中出现的频次极低,因此“管”和“控”为低置信字符,会被认为是语义有误的字符。若经语音识别转化后的初级字符串为“庆关上空调”,而指令语音样本库中任一样本字符串中均未出现“庆”,因此“庆”的置信度为零,属于低置信字符,会被确定为是语义有误的字符。

步骤400,将低置信字符的特征参数代入神经网络中,得到规整字符串。

若初级字符串包含有低置信字符,则需要将低置信字符通过神经网络进行纠错,以使初级字符串转化为表意正确的规整字符串。可以理解的是,规整字符串并不一定是指令语音样本库中已经过准确识别的样本字符串,只要是建筑服务设施能够正确识别且表意正确的字符串即可。

上述低置信字符的特征参数可以是文本字符转化为图像以后的特征向量,例如256*256的矩阵,其中用于表意字符的部分和空白部分的取值不同;特征参数也可以是在之前采集到的指令语音信号中低置信字符对应的特征向量。

神经网络(neuralnetworks,nn)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统。神经网络具有自学习功能、联想存储功能和高速寻找优化解的能力,在将神经网络训练好之后,能够直接将可能包含有错误识别语义的初级字符串(例如“请管上控调”)输入神经网络,并直接得到语义规整化之后的规整字符串(例如“请关上空调”),以此来纠正步骤200中语音识别转化的过程中识别错误的部分,使得得到的字符串与用户本意想发出的指令相符。

具体的,可以将用户可能发出的指令语音信号所对应的多种正确样板作为神经网络的输入,并给出相应的期望输出。当输入作用到神经网络上时,将神经网络的实际输出与期望输出进行比较,如果神经网络的实际输出与期望输出不符,则调整神经网络的权值和偏置值。然后重复上述过程,直到神经网络的实际输出接近于期望输出,这时可认为神经网络已训练完成。将低置信字符代入已训练完成的神经网络,即可得到正确的输出。

例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。

步骤500,依据规整字符串生成相应的控制信号,并依据控制信号控制建筑服务设施执行相应功能。

得到规整字符串之后,可以确保建筑服务设施能够顺利识别并正确执行用户指令语音所意图执行的功能,实现用户想要得到的服务。例如用户说出“请关上空调”的语音后,控制系统自动经过上述步骤得到“请关上空调”的规整文本字符串,并依据该字符串向空调发出指令,关闭空调。

在一种实施方式中,在步骤200中将指令语音信号通过语音识别转化为初级字符串之前,还包括:

步骤010,对采集到的指令语音信号进行降噪和/或回音消除处理。

在用户发出指令语音同时控制系统采集用户发出指令语音信号的过程中,可能会有其他声源产生噪音干扰,例如电视的声音、洗衣机的声音等,通过降噪能够提高控制系统采集到的指令语音信号的信噪比,进而提高语音信号的识别精度。

在室内环境下,用户发出的指令语音可能遇到室内墙壁反射而产生回音,回音反射到控制系统的采集点处也会干扰到语音信号的采集,通过回音消除技术,同样能够提高控制系统采集到的指令语音信号的信噪比,进而提高语音信号的识别精度。

在一种实施方式中,在步骤200中将指令语音信号通过语音识别转化为初级字符串之前,还包括:

步骤020,通过声纹识别技术识别出指令语音信号的声纹。

步骤030,判断识别出的声纹是否具有控制权限,并在识别出的声纹不具有控制权限的情况下停止执行后续步骤。

控制系统在采集到用户发出的指令语音信号之后,并且在将采集到的语音信号通过语音识别转化为初级字符串之前,控制系统首先要确认发出指令语音信号的人是否有权限去控制建筑服务设施。例如,室内空调的开闭、温度调节等操作仅限于主人一家三口拥有,客人、鹦鹉、电视机等其他能够发出人声的人、生物或设备不具有权限,否则假设电视机里有一句“请关闭空调”的台词,则控制系统会进行采集识别并控制空调关闭,产生误操作现象。另外,权限的确认需要尽量安排在前面的步骤中,防止经过了系统运算后才发现不具备权限而终止进行后续的步骤,浪费系统运算资源。

声纹是用电声学仪器显示的携带言语信息的声波频谱,而声纹识别技术是一种通过声音判别说话人身份的技术。在将采集到的语音信号通过语音识别转化为初级字符串之前,先通过声纹识别技术识别出指令语音信号的声纹是否属于对建筑服务设施具有控制权限的声纹。若是,则继续后续的转化为初级字符串等步骤;若不是,则停止执行后续步骤并终止本次控制方法的实施。

操作仅限通常为预先设定于控制系统内的,例如主人一家三口预先让控制系统录入并存储足够多的声纹样本,使控制系统能够识别出三人的声纹。可以理解的是,在实际使用过程中,通过声纹识别技术识别说话人是否具有权限通常在对采集到的指令语音信号进行降噪和回音消除处理之后进行,以提高识别精度。需要说明的是,有些场合下并不需要识别声纹,例如在大厦的电梯里,所有人都可以通过语音选中目标电梯楼层,此时就无需设置声纹识别的步骤。或者,只有电梯管理员具有电梯的锁死权限,然后识别是否是电梯管理员发出指令语音信号。

在一种实施方式中,在步骤300中从初级字符串中确定出低置信字符之前,还包括:

步骤030,识别指令语音信号或初级字符串中是否包含标识词的语音信号或字符,并在未识别出标识词的语音信号或字符的情况下,停止执行后续步骤。

标识词是能够使控制系统确认采集到的语音信号是否是为了控制建筑服务设施而发出的。

如果是为了控制建筑服务设施而发出的,则用户在说话时需要在里面加入标识词,以使控制系统得知包含标识词的该句语音是为了控制建筑服务设施而发出的。例如,用户说出“请关上空调”,则可以将“请”字作为标识词,控制系统在识别出有“请”字之后,才会继续执行后续步骤;若控制系统发现采集到的语音中不包含标识词,例如采集到的语音为两个人之间对话中包含的“战略合作伙伴关系”,则控制系统停止执行后续步骤并终止本次控制方法的实施。

控制系统判断语音信号中是否包含标识词的方式有多种。

第一种,在步骤200中将指令语音信号转化为初级字符串之前,对指令语音信号直接进行标识词的识别,也就是说,以识别音频信号的方式判断指令语音信号中是否包含识别词的语音信号。

第二种,在步骤200中将指令语音信号转化为初级字符串之后,并在步骤300中从初级字符串中确定出低置信字符之前,对指令语音信号转化的初级字符串直接进行标识词的识别,也就是说,以识别文本字符的方式判断初级字符串中是否包含标识词,进而判断指令语音信号中是否包含识别词的语音信号。

可以理解的是,对于上述多种标识词判断方式,标识词可能不止有一个,例如可以将“麻烦”也为标识词。并且,标识词的音频信号和文字信号是预先录入系统的,在需要用到的时候直接提取出来并对待测语音信号或文本字符串进行识别。对指令语音信号直接进行标识词的识别通常在执行完降噪和回音消除之后进行,以提高标识词的识别精度。另外,标识词的识别可以在声纹识别之后进行,因为声纹识别大概率能够筛除掉更多的声音信号。在电梯等公共设施内,可以选择不设置标识词的识别,避免降低公共设施的运算速度。

在一种实施方式中,步骤300中从初级字符串中确定出低置信字符包括:

步骤310,算出初级字符串中每个字符在指令语音样本库包含的所有样本字符串中,包含各字符的样本字符串的数量。

指令语音样本库收录一定数量的指令语音样本,例如收录10000段的经过准确识别的语音样本字符串。各语音样本字符串与每一段指令语音样本相对应。初级字符串为上述实施方式提及的“请管上控调”,此时初级字符串包括五个字符:“请”、“管”、“上”、“控”、“调”。而指令语音样本库收录的10000段的指令语音样本中,包括“请”字符的语音样本字符串为5000个,包括“管”字符的语音样本字符串为500个,包括“上””字符的语音样本字符串为2500个,包括“控”字符的语音样本字符串为800个,包括“调”字符的语音样本字符串为2000个。

步骤320,将算出包含各字符的所述样本字符串的数量与最小置信阈值比较,并将数量低于最小置信阈值的字符确定为低置信字符。

预先设置的最小置信阈值为1000,可知“管”和“控”字符的出现数量为500个和800个,均小于最小置信阈值,因此“管”和“控”被确定为低置信字符。

通过在样本库中获取字符出现频次以及设置阈值的方式来确定低置信字符,进而定位到语义有误的字符,定位精准度较高,定位速度较快。

在一种实施方式中,步骤400中在将低置信字符的特征参数代入神经网络中得到规整字符串之前,还包括:

步骤330,从初级字符串中确定出高置信字符。

在确定出低置信字符时,还确定出高置信字符。高置信字符是指在指令语音样本库的各语音样本中出现频次较高的字符。出现频次较高的字符可以是相对的,例如在初级字符串的每个字符中,所有未被确定为低置信字符的字符均可以被确定为高置信字符,也就是说,所有出现频次较低的字符都可以被认为是出现频次较高的字符,而“请”、“上”、“调”三个字符均为高置信字符。出现频次较高的字符也可以是绝对的,例如可以预先设置一个用于判断字符是否为高置信字符的最大置信阈值,类似于确定出低置信字符的方式,通过将初级字符串中在指令语言样本库中出现频次超过最大置信阈值来判断哪些是高置信字符。具体的,例如最大置信阈值被设置为2000,则“请”、“上”、“调”三个字符均为高置信字符。

可以理解的是,高置信字符和低置信字符可以是同时确定出来的,也可以是按照步骤依次确定出来的。

步骤340,确定出低置信字符的前驱高置信字符和/或后继高置信字符。

前驱高置信字符指的是位于低置信字符之前最近的一个高置信字符,后继高置信字符指的是位于低置信字符之后最近的一个高置信字符。对于低置信字符“管”和“控”,“管”的前驱高置信字符是“请”,后继高置信字符是“上”;“控”的前驱高置信字符是“上”,后继高置信字符是“调”。

可以理解的是,低置信字符可能只有相应的前驱高置信字符,例如初级字符串最后一个字符没有后继字符,只有前驱字符;低置信字符也可能只有相应的后继高置信字符,例如初级字符串第一个字符没有前驱字符,只有后继字符。也有可能是低置信字符之前有多个字符但是都未被确定为高置信字符,或低置信字符之后有多个字符但是都未被确定为高置信字符。

进一步的,步骤400中将低置信字符的特征参数代入神经网络中得到规整字符串包括:

步骤410,从指令语音样本库中确定出前驱高置信字符的后继字符集和/或后继高置信字符的前驱字符集。

后继字符集是指指令语音样本库中包含前驱高置信字符的指令语音样本中,邻接于该前驱高置信字符之后的字符组成的集合。

例如,“管”的前驱高置信字符为“请”,而指令语音样本库中包含“请”的语音样本字符串为5000个,例如“请打开吊灯”、“请关上电视”等,则上述两个语音样本字符串中的“打”和“关”就是邻接于“请”之后的字符,而在包含“请”的5000个语音样本字符串中所有的这类字符的集合{“开”、“关”、“打”、“升”、“降”……}就是前驱高置信字符“请”的后继字符集。

同理,“管”的后继高置信字符为“上”,指令语音样本库中包含“上”的语音样本字符串中,例如“十分钟之后关上电视”、“请拉上窗帘”等,则上述两个语音样本字符串中的“关”和“拉”就是邻接于“上”之前的字符,而在包含“上”的语音样本字符串中所有的这类字符的集合{“关”、“升”、“合”、“闭”……}就是后继高置信字符“管”的前驱字符集。

在“管”的前驱高置信字符“请”的后继字符集中以及后继高置信字符“上”的前驱字符集中,必定会出现低置信字符“管”的表意正确的字符。

可以理解的是,低置信字符“控”的前驱高置信字符的后继字符集和后继高置信字符的前驱字符集的确定方式同上述“管”,并且在有多个低置信字符时,可以是全部确定出所有低置信字符的相应后继字符集和前驱字符集之后,再分别对各低置信字符进行后续的神经网络训练,也可以是在确定出一个低置信字符的相应后继字符集和前驱字符集并且训练完神经网络并且得到该低置信字符的替换字符后,再确定下一个低置信字符的相应后继字符集和前驱字符集。

需要说明的是,若低置信字符没有相应的前驱高置信字符,也就没有相应的后继字符集,前驱字符集同理。

步骤420,依据后继字符集和/或前驱字符集中的部分或全部字符的声音向量训练神经网络。

神经网络主要用于在复杂多样的数据中识别模式,诸如图像中的目标识别或语音中的信号识别。利用海量训练数据正确“训练”神经网络以便提供将被分析的“现场的”采样时能够完成它们的识别任务。训练神经网络就其本身是一项复杂的任务并且涉及利用例如迭代或自适应算法设定大量参数。

对于每个指令语音样本库中存在的字符,指令语音样本库中都含有字符的声音向量,也就是字符的特征参数。而此时前驱字符集和后继字符集中包含的都是可能会替代相应低置信字符的候选字符,因此前驱字符集和后继字符集的集合也可以称为候选字符集。以“管”为例,从指令语音样本库中提取出“管”的前驱字符集和后继字符集中各字符的声音向量,然后将声音向量代入神经网络,以对神经网络进行训练。

具体的可以采用离散型二值网络:hopfield神经网络训练方式:

1、先将声音向量进行二值编码,用二值矩阵进行分别储存。二值化的方式可以借鉴二值图像中的二值半色调方法,对数字音频信号进行二值化处理。经上述二值化过程处理的音频,其连续时域波形被转换成只有二值方波,二值化后的音频只包含0和1两种音频信号,或者-1和1两种音频信号。若指令语音样本库中存储的声音向量是模拟音频,则需要先转化为数字音频。

2、然后将得到的二值矩阵双极值化,并转化为列向量,得到样本向量组,此时低置信字符也可以同时被转化为列向量,得到待测向量。将样本向量组利用外积规则生成权值矩阵,权值表示神经元之间的连接强度,神经网络所记忆的模式均通过权值矩阵来存储。hopfield神经网络模型是一种循环神经网络,从输出到输入有反馈连接,所有神经元单元都是一样的,它们之间相互连接。每个神经元都通过连接权重接受所有其他神经元输出反馈来的信息,其目是为了让每个神经元的输出能够接受所有其他神经元输出的控制,从而使各神经元能够相互制约。此时各神经元的权值均为0。然后设定汉明(hamming)距离。

3、将样本向量组输入神经网络,并采用同步工作方式进行学习,得到训练之后的权值矩阵,此时神经网络已经训练好。同步工作方式,也称为并行工作方式,是指在任一时刻,全部或部分神经元的状态同时发生改变。

4、将待测向量输入训练好的神经网络,并经过一定次数的迭代,网络达到能量极小点,输出相应的声音向量结果,然后再转化为字符形式,得到相应字符。

可以理解的是,在提取字符的声音向量时,可以将所有后继字符集和前驱字符集中的声音向量都提取出来并代入神经网络,也可以只提取部分字符的声音向量并代入神经网络,以减少运算量和运算时间。需要说明的是,对不同的低置信字符需要分别进行神经网络的训练,防止混淆。

需要说明的是,若低置信字符没有相应的后继字符集,只需带入相应的前驱字符集,没有相应前驱字符集的情况同理。

步骤430,将低置信字符对应的声音向量代入神经网络进行规整化识别,以从相应的后继字符集和/或前驱字符集中确定出替换字符,并替换低置信字符得到规整字符串。

在低置信字符“管”的相应神经网络训练完成之后,从指令语音样本库中提取“管”的声音向量,将“管”的声音向量代入神经网络,即可得到相应候选字符集中的替换字符“关”。同理,将“控”的声音向量代入神经网络,即可得到相应候选字符集中的替换字符“空”。将“关”和“空”分别替换掉初级字符串中的“管”和“控”,实现将初级字符串“请管上控调”转化并得到规整字符串“请关上空调”。

可以理解的是,“管”的声音向量的提取可以是神经网络训练完成之后,也可以在提取后继字符集和前驱字符集中字符的声音向量时同时提取。

利用低置信字符前后的高置信字符得到低置信字符的候选字符,再利用神经网络从候选字符中得到语义正确的字符,能够准确、快速的将因口音等问题而被识别为语义有误的字符替换为语义正确的字符,方便了来自不同地区的用户对建筑服务设施进行控制,并且替换的正确率较高。

在一种实施方式中,步骤330中从初级字符串中确定出高置信字符采用以下其中一种方式:

第一种,将初级字符串中所有未被确定为低置信字符的字符均确定为高置信字符。此种方式下,初级字符串中的字符只可能是低置信字符或高置信字符,并且所有低置信字符的前驱高置信字符是低置信字符的前一个字符,后继高置信字符是低置信字符的后一个字符。

第二种,将算出包含各字符的所述样本字符串的数量与最大置信阈值比较,并将数量高于最大置信阈值的字符确定为高置信字符。此种方式下,初级字符串中的字符可能是低置信字符,也可能是高置信字符,还可能是既非低置信字符也非高置信字符的中间字符。而高置信字符也并不一定与低置信字符邻接,而可能间隔有中间字符。

在一种实施方式中,步骤410中从指令语音样本库中确定出前驱高置信字符的后继字符集以及后继高置信字符的前驱字符集包括:

步骤411,在指令语音样本库中确定出前驱高置信字符的所有后继字符,和/或确定出后继高置信字符的所有前驱字符。

例如,低置信字符“管”的前驱高置信字符“请”的所有后继字符为:{“开”、“关”、“打”、“升”、“降”……},以及“管”的后继高置信字符“上”的所有前驱字符为:{“关”、“升”、“合”、“闭”……}。低置信字符“控”同理可得。可以理解的是,此时已经形成了相应的后继字符集和前驱字符集,但此时的后继字符集和前驱字符集都是没有经过筛选的。

需要说明的是,若低置信字符和前驱高置信字符/后继高置信字符之间邻接,并未间隔有中间字符时,则前驱高置信字符的后继字符也从与前驱高置信字符邻接的字符中选取,后继高置信字符的前驱字符也从与后继高置信字符邻接的字符中选取。若低置信字符和前驱高置信字符/后继高置信字符之间邻接有中间字符时,则在确定前驱高置信字符的后继字符/后继高置信字符的前驱字符时,需要依据低置信字符和前驱高置信字符/后继高置信字符之间间隔的字符数来确定。例如低置信字符和前驱高置信字符之间间隔有两个中间字符,则确定的后继字符也需要与前驱高置信字符之间间隔两个字符。

步骤412,统计后继字符和/或前驱字符在所有样本字符串中出现的频次。

“管”的相应后继字符中,“开”、“关”、“打”、“升”、“降”在各样本字符串中出现的频次分别为4100、3900、3400、2600、2000,同理,其他后继字符都有自己的出现频次。而“管”的相应前驱字符也一样,“关”、“升”、“合”、“闭”在各样本字符串中出现的频次分别为4500、3700、3500、2400,同理,其他前驱字符都有自己的出现频次。可以理解的是,“控”的后继字符和前驱字符也都有各自的出现频次。

若低置信字符只有相应的后继字符,则只统计后继字符的频次,前驱字符同理。

步骤413,按照频次排名或依据预设频次阈值确定出频次最高的多个后继字符和/或前驱字符,并分别组成后继字符集和/或前驱字符集。

得到各个后继字符和前驱字符的出现频次后,可以通过以下其中一种方式来选出高频字符。第一种,将同一低置信字符的相应后继字符和前驱字符的出现频次按照从多到少进行排序,并从中选出频次最高的多个字符,例如选出频次最高的两个字符作为高频字符。第二种,依据预先设置的频次阈值,从后继字符和前驱字符中分别筛选出出现频次高于频次阈值的字符,将筛选出的字符确定为高频字符。得到前驱高频字符和后继高频字符后,由同一低置信字符的相应前驱高频字符组成的字符集即为前驱字符集,由同一低置信字符的相应后继高频字符组成的字符集即为后继字符集。

若低置信字符只有相应的后继字符,则只组成后继字符,前驱字符同理。

通过筛选出高频次的后继字符和前驱字符,并只将高频次的后继字符和前驱字符训练神经网络,提高了运算效率,节省了系统反应时间。

在一种实施方式中,在执行完步骤412之后并执行步骤413之前,先对后继字符和前驱字符中相同字符的出现频次进行求和,以求和后的频次数据作为字符的出现频次。

若低置信字符同时具有相应的后继字符和前驱字符,在统计出后继字符以及前驱字符在所有样本字符串中出现的频次之后,先对后继字符和前驱字符中相同字符的出现频次进行求和,例如“管”的相应后继字符和前驱字符中,有相同字符“关”和“升”,因此将“关”和“升”的出现频次求和。求和之后,该两个相同字符以总频次数据作为字符的出现频次,也就是说,“关”无论在后继字符还是在前驱字符中,频次都为3900+4500=8400,“升”无论在后继字符还是在前驱字符中,频次都为2600+3700=6300。在确定高频字符时,也按照求和后的频次进行排名以及与频次阈值进行比较。

需要说明的是,在求和之后,若执行步骤413中确定出的高频字符全部都是后继字符集中的字符,或全部都是前驱字符集的字符,则后续执行步骤420时,属于依据后继字符集和前驱字符集中的部分字符的声音向量训练神经网络的情况。

在一种实施方式中,在步骤420中依据后继字符集和/或前驱字符集中的部分或全部字符的声音向量训练神经网络时,只选取指令语音样本库中相应字符的部分声音向量训练神经网络。

后继字符集和前驱字符集组成的候选字符集中,无论包含的字符有多少,其中的每个字符(也就是候选字符)的声音向量可能会有很多,例如“关”和“升”的频次都较高,因此相应的,指令语音样本库中的“关”和“升”的声音向量也会很多,此时可以只从中选取一部分的声音向量代入神经网络进行训练,以减少运算量。

在一种实施方式中,步骤500中依据规整字符串生成相应的控制信号包括:

步骤510,将规整字符串通过同义词映射转化为语义指令。

执行步骤400并得到规整字符串之后,将得到的规整字符串经过词向量映射,转化为格式更为标准的语义指令。语义指令是能够表达指令语音所含语义的标准化的指令信息,例如规整字符串“请关上空调”、“请关了空调”等都可以被转换为标准用语的“请关闭空调”,其中,“关上”、“关了”以及其他可能的同语义用语在同义词映射的过程中都被转化为标准用语“关闭”。

控制系统会自带有语义指令集,其中保存有若干能够与语义指令产生同义映射的词语,例如上述“关上”、“关了”就会被存储于语义指令集中,并均会被映射到“关闭”上。

步骤520,依据语义指令生成控制信号,并依据控制信号控制建筑服务设施执行相应功能。

标准的语义指令具有对应的机器识别码,以上述经过转化的“请关闭空调”为例,可以把“请关闭空调”的机器识别码作为控制信号发给空调,空调可以根据该机器识别码执行控制。

利用控制系统自身的高运算能力、高数据处理能力来预先将种类多样的规整字符串转化为统一的、总数量相对较少的语义指令,然后再生成控制信号,使得控制系统与被控设备之间的通信更加简洁,并且降低了对被控设备数据处理能力的要求,被控设备只需能够识别与为数较少的语义指令相对应的控制信号即可执行相应功能,而无需预先储备具有很多种映射关系的指令-信号映射库,来应对可能由控制系统发来的种类多样的控制信号。

可以理解的是,步骤510中,可以只讲规整字符串的部分词语通过同义词映射转化为语义指令。具体的,在步骤510之前,可以先将规整字符串进行切词处理,将一个文字序列切分成一个一个单独的词,然后从中选出动词等词语进行转化,例如将“请关上空调”进行切词处理,得到“关上”,然后执行步骤510并得到语义指令“关闭”,然后将与“关闭”对应的机器识别码发送至被控设备—空调,以使空调关闭。

在一种实施方式中,在步骤500中依据规整字符串生成相应的控制信号之后,还包括:

步骤600,将采集到的指令语音信号存储于指令语音样本库中。

采集到的指令语音信号除了进行语音识别转化以实现最终对建筑服务设施的控制以外,还可以在最终确定出对应的真正指令后,将初始采集到的指令语音信号更新到指令语音样本库中作为指令语音样本,以用于以后识别其他语音时作为语音向量被提取;或作为声纹识别时的声音信号参考;或在确认声纹符合要求且语音信号中包含有标识词时,可以增设一预识别步骤,先对指令语音信号进行音频信号上的预识别,而预识别对比的对象就是存储的按照用户平时发音习惯的多条语音,也就是之前被正确识别并执行后就被存储为预识别对比的对象的语音信号。

通过将能够正确识别的指令语音信号存储于指令语音样本库中,能够便于以后用户发出同样语音指令时的识别进程。

下面参考图2详细描述本发明公开的基于语义指令智能识别的建筑服务设施控制系统第一实施例。本实施例是用于实施上述建筑服务设施控制方法第一实施例的控制系统。本实施例主要应用于建筑服务设施,使得用户可以通过指令语音来控制建筑服务设施内各种服务设备的运行,无需用户用手进行手动操控控制面板,使得控制方式更加智能化和便利化;同时还能够在说话用户发出的指令语音有口音、发音不规范以及吐字不清时,对指令语音进行正确联想和识别,以得到正确的指令语音,避免了由于语音的问题导致用户无法正常控制建筑服务设施。

如图2所示,本实施例公开的建筑服务设施控制系统,包括:信号采集模块、初级字符生成模块、低置信字符确定模块、规整字符生成模块和控制信号生成模块。

信号采集模块用于采集指令语音信号。信号采集模块可以采用麦克风或由麦克风和音频放大电路组成的拾音器等,拾音器的选取根据环境空间的大小设置,大空间下需要选取最大拾音范围较大的拾音器,还可以采用摄像头。

初级字符生成模块与信号采集模块连接,用于将指令语音信号通过语音识别转化为初级字符串。

低置信字符确定模块与初级字符生成模块连接,用于从初级字符串中确定出低置信字符。

规整字符生成模块与低置信字符确定模块连接,用于将低置信字符的特征参数代入神经网络中,得到规整字符串。

控制信号生成模块与规整字符生成模块连接,用于依据规整字符串生成相应的控制信号,并依据控制信号控制建筑服务设施执行相应功能。

在一种实施方式中,控制系统还包括:噪声处理模块,用于在将指令语音信号通过语音识别转化为初级字符串之前,对采集到的指令语音信号进行降噪和/或回音消除处理。

在一种实施方式中,控制系统还包括:声纹判断模块,用于在将指令语音信号通过语音识别转化为初级字符串之前,通过声纹识别技术识别出指令语音信号的声纹,判断识别出的声纹是否具有控制权限,并在识别出的声纹不具有控制权限的情况下停止执行后续步骤。

在一种实施方式中,控制系统还包括:标识识别模块,用于在从初级字符串中确定出低置信字符之前,识别指令语音信号或初级字符串中是否包含标识词的语音信号或字符,并在未识别出标识词的语音信号或字符的情况下,停止执行后续步骤。

在一种实施方式中,低置信字符确定模块包括:出现数量统计单元和低置信字符确定单元。

出现数量统计单元用于算出初级字符串中每个字符在指令语音样本库包含的所有样本字符串中,包含各字符的样本字符串的数量。

低置信字符确定单元与出现数量统计单元连接,用于将算出包含各字符的样本字符串的数量与最小置信阈值比较,并将数量低于最小置信阈值的字符确定为低置信字符。

在一种实施方式中,控制系统还包括:高置信字符确定模块,用于在将低置信字符的特征参数代入神经网络中得到规整字符串之前,从初级字符串中确定出高置信字符,确定出低置信字符的前驱高置信字符和/或后继高置信字符。

并且,规整字符生成模块包括:字符集确定单元、神经网络训练单元和规整字符生成单元。

字符集确定单元用于从指令语音样本库中确定出前驱高置信字符的后继字符集和/或后继高置信字符的前驱字符集。

神经网络训练单元与字符集确定单元连接,用于依据后继字符集和/或前驱字符集中的部分或全部字符的声音向量训练神经网络。

规整字符生成单元与神经网络训练单元连接,用于将低置信字符对应的声音向量代入神经网络进行规整化识别,以从相应的后继字符集和/或前驱字符集中确定出替换字符,并替换低置信字符得到规整字符串。

在一种实施方式中,高置信字符确定模块包括:第一字符确定单元和第二字符确定单元,

第一字符确定单元用于将初级字符串中所有未被确定为低置信字符的字符均确定为高置信字符。和/或,

第二字符确定单元与第一字符确定单元连接,用于将算出包含各字符的样本字符串的数量与最大置信阈值比较,并将数量高于最大置信阈值的字符确定为高置信字符。

在一种实施方式中,字符集确定单元包括:第三字符确定子单元、频次统计子单元和字符集合成子单元。

第三字符确定子单元用于在指令语音样本库中确定出前驱高置信字符的所有后继字符,和/或确定出后继高置信字符的所有前驱字符。

频次统计子单元与第三字符确定子单元连接,用于统计后继字符和/或前驱字符在所有样本字符串中出现的频次。

字符集合成子单元与频次统计子单元连接,用于按照频次排名或依据预设频次阈值确定出频次最高的多个后继字符和/或前驱字符,并分别组成后继字符集和/或前驱字符集。

在一种实施方式中,频次统计子单元还用于在按照频次排名或依据预设频次阈值确定出频次最高的多个后继字符和前驱字符之前,先对后继字符和前驱字符中相同字符的出现频次进行求和,以求和后的频次数据作为字符的出现频次。

在一种实施方式中,神经网络训练单元只选取指令语音样本库中相应字符的部分声音向量训练神经网络。

在一种实施方式中,控制系统还包括:样本存储模块,用于在在依据规整字符串生成相应的控制信号之后,将采集到的指令语音信号存储于指令语音样本库中。

在一种实施方式中,控制信号生成模块包括:语义映射单元和信号生成单元。

语义映射单元用于将规整字符串通过同义词映射转化为语义指令。

信号生成单元与语义映射单元连接,用于依据语义指令生成控制信号,并依据控制信号控制建筑服务设施执行相应功能。

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

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