语音信息处理方法、装置、电子设备及存储介质与流程

文档序号:20911957发布日期:2020-05-29 13:06阅读:233来源:国知局
语音信息处理方法、装置、电子设备及存储介质与流程

本申请涉及物联网领域,更具体地,涉及一种语音信息处理方法、装置、电子设备及存储介质。



背景技术:

智能家居语音对话助手是对接入物联网的设备进行交互的任务型语音对话助手。语音对话助手主要利用人机对话技术,人机对话是指通过语音识别技术,实现机器对自然语音的理解,并产生回应的一种更加方便的人机交互方式。目前,大部分语音对话助手只能理解固定格式的语音指令,如果用户采用日常生活中的自然语言,语音对话助手不能正确理解,造成了人机对话不能顺利进行。



技术实现要素:

鉴于上述问题,本申请提出了一种语音信息处理的方法、装置、电子设备及存储介质,以解决上述问题。

第一方面,本申请实施例提供了一种语音信息处理方法,该方法包括:将获取的语音信息转换成文本信息;对所述文本信息进行处理,生成并记录当前结构化数据;判断所述当前结构化数据是否完整;若所述当前结构化数据不完整,则将所述当前结构化数据与历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,若所述当前结构化数据完整,则将所述当前结构化数据作为所述目标结构化数据;根据所述目标结构化数据执行动作。

第二方面,本申请实施例提供了一种语音信息处理装置,该装置包括:转换模块,用于将获取的语音信息转换为文本信息;预处理模块,用于对所述文本信息进行处理,生成并记录当前结构化数据;判断模块,用于判断所述当前结构化数据是否完整;处理模块,用于将不完整的当前结构化数据和历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,将完整的当前结构化数据作为所述目标结构化数据;应答模块,用于根据所述目标结构化数据,执行动作。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如上述应用于电子设备的方法。

第四方面,本申请实施列提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。

相对于现有技术,本申请实施例提供的一种语音信息处理的方法、装置、电子设备及存储介质,通过对获取到的语音信息进行处理,生成并记录每一个结构化数据供下轮调用,对生成的结构化数据进行判断是否完整,若不完整,则对当前的结构化数据进行状态模型的匹配形成完整的目标结构化数据,再根据目标结构化数据中的信息执行对应的动作,若是完整的,则直接根据当前的结构化数据执行对应的动作。通过对语音的信息处理,充分保留并利用用户每轮对话的信息,用户在进行对话时,不需要每轮都提供完整的信息,使得对话的语言更加自然流畅,可以缩短交互的时间、提升交互的体验。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

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

图1示出了一种适用于本申请实施例的应用环境示意图。

图2示出了本申请一个实施例提供的语音信息处理方法的流程图。

图3示出了本申请另一个实施例提供的语音信息处理方法的流程图。

图4示出了图3所示实施例中意图分类的结果示意图。

图5示出了本申请又一个实施例提供的语音信息处理方法的流程图。

图6示出了本申请再一个实施例提供的语音信息处理方法的流程图。

图7示出了本申请一个实施例提供的语音信息处理装置的结构框图。

图8示出了图7所示实施例中的应答模块的结构框图。

图9示出了本申请实施例提出的用于执行根据本申请实施例的语音信息处理方法的电子设备的结构框图。

图10示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的语音信息处理方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

物联网是指通过各种信息传感器,实时采集任何需要监控、连接、互动的物体或过程等个中需要的信息,与互联网结合形成的一个巨大网络。生活常见的物联网应用于物流行业,智能安防以及物联网智能家居。

智能家居对话助手是对接入物联网的设备进行交互的任务型语音对话助手,目前主要应用于居住场景中,用户可以通过语音和物联网设备进行交互,控制设备执行指定功能、查询设备指定状态等。语音对话助手可以通过物联网云平台对设备下发读/写指令,让用户实现和设备的交互。语音助手是语音识别技术和自然语言处理技术的结合。随着语音识别技术的成熟,以及云计算、物联网、智能硬件的发展,语音对话助手的应用需求越来越广泛。

发明人在研究中发现,目前的智能家居语音对话助手只支持单轮对话,每轮语音对话彼此之间没有任何关联,每一句用户给出的语音指令必须完整的包括交互目标和交互动作。例如,用户想对一个空调进行控制:“打开空调”、“把空调调到25度”、“请问空调现在多少度?”、“帮我把空调调到高风速”,每轮对话用户都需要提供完整的信息,即包括交互目标“空调”和交互动作“打开”、“调到”、“请问”等。在自然语言中,由于这四轮对话彼此是有关联性的,用户可以在后面三轮对话中把“空调”这个交互目标省略。由于智能家居语音对话助手目前只支持单轮对话的这种特性,导致用户在每轮对话中可能需要提供一些不必要的信息,用户和设备交互命令的语言不自然,交互的时间变长,不符合用户习惯且用户体验不好。

因此,发明人提出了本申请中可以使对话更加自然流畅的语音信息处理方法,通过对语音的信息处理,充分保留并利用用户每轮对话的信息,用户可以在和智能家居对话助手进行对话时,不需要每轮都提供完整的信息,使得对话的语言更加自然流畅,可以缩短交互的时间、提升交互的体验。

为了便于详细说明本申请方案,下面先结合附图对本申请实施例的应用环境进行介绍。

请参阅图1,示出了本申请实施例提出的一种设备控制方法的应用环境10,该应用环境10包括:服务器96、网关97、其他设备98、目标设备99及电子设备100。其中,网关97连接到服务器96进行信息的传输,网关97与目标设备99和其他设备98有能够进行通讯控制的兼容的物理接口和数据格式,从而通过网关97控制目标设备99。目标设备99和其他设备98可以是电视机、空调、智能窗帘、电灯、投影仪等设备。其中,目标设备99指的是用户想要进行控制的设备。电子设备100可以是手机、平板电脑、pc(personalcomputer)电脑、笔记本电脑、智能穿戴设备、智能电视、车载终端等终端设备。本申请实施例中,电子设备100安装有控制其他设备98或目标设备99的客户端,电子设备100还携带有语音助手,用户可通过语音助手输入控制指令。网关97可以通过路由器与服务器96相连,电子设备100可以通过网络与服务器96和网关97相连。服务器96可以是本地服务器也可以是云端服务器。

下面将对本申请实施例进行详细的说明。

请参阅图2,本申请实施例提供了一种语音信息处理方法,本实施例描述的处理流程的执行主体可以是电子设备,可以是网关,也可以是本地服务器或者云端服务器,该方法可以包括:

步骤s110,将获取的语音信息转换为文本信息。

在一种实施方式中,用户可以通过电子设备中的客户端通过语音助手输入语音信息,电子设备直接对语音信息进行处理。

在另一种实施方式中,用户可以通过电子设备中的客户端通过语音助手发送语音信息给网关或者服务器,由网关或者扶着服务器对语音信息进行处理。

在其他实施例中,如果网关也具有语音输入接口或者音频采集模块,语音输入接口包括模拟或者数字音频输入接口,音频采集模块包括麦克风等;用户还可以直接通过网关输入语音信息,网关可以直接对语音信息进行处理,也可以发送给服务器进行处理。

在图1所示的系统中,在网关或者服务器获取到语音信息时,可以对获取到的语音信息进行分段处理,将语音信息分成多个片段。再利用语音识别技术将语音信息转换为文本信息。

步骤s120,对所述文本信息进行处理,生成并记录当前结构化数据。

在将文本信息处理为结构化数据之前,可以对文本信息进行预处理。预处理可以包括对文本信息进行去停用词、去无效字符、数字语言归一化或者同音词纠错等处理。去停用词可以是去掉文本信息中不表征实际意义的词,例如语气助词等。去无效字符是指去掉文本信息中一些程序不认可的字符。数字语言归一化是指将文本信息中的数字和语言统一起来,用一种形式进行表达,例如把壹贰统一为阿拉伯数字1和2。同音词纠错是指对文本信息中读音相同但字形不同的词语进行纠错。

在一些实施方式中,对语音信息转换成的文本信息,可以采用分词、词性标注、命名实体识别和模板匹配的方式,生成结构化数据。其中,分词是将文本信息依据词典划分出句子中的最小单元的词语。词性标注是对分词后的文本信息中的词语进行词性的标注,命名实体识别是识别出句子中特定意义的实体,模板匹配指的结合词性标注和命名实体识别的结果将对应的信息填入预设的模板中,从而生成结构化数据。

在另一些实施方式中,也可以采用模型匹配、句法解析或搜索泛化对所述文本信息进行处理,生成结构化数据。

对每一条文本信息进行处理生成了当前结构化数据后,都需要记录保存下来,在下一轮语音对话时作为历史结构化数据使用。

步骤s130,判断所述当前结构化数据是否完整。

在生成当前结构化数据后,对结构化数据进行分析,判断当前结构化数据是否为可执行的完整结构化数据,例如,是否是可以执行云端读/写的完整结构化数据。

判断当前结构化数据是否完整,可以通过判断结构化数据中是否包含了必要的信息,如果包含了必要的信息,则判定所述当前结构化数据是完整的。

在一些实施方式中,必要的信息可以包括有效的设备信息和有效的动作信息。设备信息指的是匹配的智能设备在云平台上的抽象数据,例如设备id、设备名称、设备属性、设备数据的值。动作信息指的是用户交互动作的抽象数据,例如动作名、动作类别、动作值。有效的设备信息指的是描述设备信息的字段不全为空,有效的动作信息指的是描述动作信息的字段不全为空。当所述当前结构化数据中同时含有有效的设备信息和有效的动作信息,则判定所述当前结构化数据是完整的。若所述当前结构化数据中只含有了有效的设备信息,或者只包含了有效的动作信息,则判定所述当前结构化数据不完整。

例如,文本信息为“关闭”的结构化数据为:

{intent:control,

position:null,

object:{name:’null’,id:’null’,type:’null’,attribute:’null’},

action:{name:’关闭’,type:’off’,value:null}}

其中,object表示设备信息,action表示动作信息。在该结构化数据中,包含有动作信息“关闭”,设备信息的值都为空,那么这个结构化数据只包含有效的动作信息,没有包含有效的设备信息,则可判定该结构化数据是不完整的结构化数据。

步骤s140,若所述当前结构化数据不完整,则将所述当前结构化数据与历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,若所述当前结构化数据完整,则将所述当前结构化数据作为所述目标结构化数据。

如果当前结构化数据不是完整的结构化数据,可以与历史结构化数据做匹配,例如进行状态模型匹配,如果历史结构化数据与当前结构化数据相关,则合并为完整的目标结构化数据。

其中,历史结构化数据是在先记录的每一轮生成的结构化数据,在生成当前结构化数据之前生成的结构化数据都可作为历史结构化数据。状态模型是预先定义的一个状态机中存在的多个状态。

当判定所述当前结构化数据不完整时,则当前结构化数据可能会缺少有效的设备信息,或是缺少了有效的动作信息,或是缺少了有效的设备信息和动作信息,不能作为目标结构化数据使用。则将所述当前结构化数据和历史结构化数据进行状态模型的匹配,当满足状态模型中预设状态模式的条件时,则认为符合对应的预设状态模式,形成完整的结构化数据,再将形成的完整的结构化数据作为目标结构化数据。当判定所述当前结构化数据为完整时,则认为所述当前结构化数据同时包含了有效的设备信息和有效的动作信息,则所述当前结构化数据可以作为目标结构化数据使用。

如果当前结构化数据已经是完整的结构化数据,则直接将所述当前结构化数据作为目标结构化数据,也就是说,目标结构化数据是完整的结构化数据。

步骤s150,根据所述目标结构化数据执行动作。

其中,目标结构化数据中包含了所需的必要信息,如有效的设备信息和有效的动作信息等,则可以根据目标结构化数据中的有效的设备信息和有效的动作信息来执行动作。

本申请提出的语音信息处理方法,通过对获取到的语音信息进行处理,生成并记录每一个结构化数据供下轮调用,对生成的结构化数据进行判断是否完整,若不完整,则对当前的结构化数据进行状态模型的匹配形成完整的目标结构化数据,再根据目标结构化数据中的信息执行对应的动作,若是完整的,则直接根据当前结构化数据中的信息执行对应的动作。通过对语音信息的处理,充分保留并利用用户每轮对话的信息,用户在进行对话时,不需要每轮都提供完整的信息,使得对话的语言更加自然流畅,可以缩短交互的时间、提升交互的体验。

请参阅图3,本申请另一实施例提供了一种语音信息处理方法,本实施例在前一实施例的基础上,进一步描述了利用意图分类及模板匹配生成结构化数据的过程,该方法可以包括:

步骤s210,将获取的语音信息转换为文本信息。

具体可参照前一实施例中步骤s110的相关描述,这里不再赘述。

步骤s220,对所述文本信息进行意图分类,判断是否为交互控制命令。

意图分类的输入数据是文本信息,输出数据是这个文本信息的意图标签。意图是这句文本信息想要表达的任务的类别。在图1所述的场景中,意图的类别可以是查询、控制或场景执行等。意图的分类器可以采用多种方法,可以是递归神经网络模型或者是统计学模型。

请参阅图4,图4示出了对文本信息进行意图分类的几种结果。意图的分类可以先对文本信息进行判断,判断是否为智能家居交互类,若为智能家居交互类,再对智能家居交互类进行更加细致的分类,将智能家居交互类分为查询类、控制类、场景类、定时类、配置类和其他智能家居交互类。

当意图分类为场景类时,还可以包括位置信息;当意图分类为定时类时,还可以包括时间信息等。意图分类的结果的不同,所需要生成的文本的结构化数据也不同。

意图分类完成后会输出意图标签,可以根据这个意图标签判断出该文本信息的意图。根据意图分类的标签,若文本信息的意图分类标签为控制类,则可判断出该文本信息的意图为交互控制类,是一个交互控制命令。

步骤s230,若为交互控制命令,则对所述文本信息进行分词,并将分词后的文本信息进行词性标注和命名实体识别。

一句交互控制命令通常包括了意图、有效的设备信息和有效的动作信息。当判定文本信息的意图为交互控制类时,则对该文本信息进行分词处理。文本信息为一个句子,词语是句子中的最小单位,在分词时,可以依据《信息处理用现代汉语分词规范》来对句子进行分词。划分出句子中的最小单元的词语。

例如,文本信息为:今天12点把卧室的空调调到25度。假设今天为2018年6月8号,分词时可以依据《信息处理用现代分词规范》将文本信息划分为:今天/12点/把/卧室/的/空调/调到/25/度。再将分词后的信息进行词性标注:今天/12点/把/卧室(slot_position)/的/空调(slot_device)/调到/25(number)/度。命名实体识别为:今天12点(2018-06-08-12:00)。

步骤s240,将所述词性标注和命名实体识别的结果基于模板匹配的映射解析,生成所述意图下的当前结构化数据。

在一种实施方式中,生成当前结构化数据为一种交互动作对应生成一条结构化数据,多种不同交互动作生成多条结构化数据。例如“打开灯,打开空调”都是打开的交互动作,则生成一条动作信息为打开,设备信息为灯和空调的结构化数据。而“打开灯,空调调到25度”是两种交互动作,一种为打开,一种为调节,则生成两条结构化数据。一条结构化数据的动作信息为打开,设备信息为灯,另外一条结构化数据的动作信息为调到25度,设备信息为空调。

在进行词性标注和命名实体识别后会得到一个词性标注的结果和命名实体识别的结果,将词性标注的结果和命名实体识别的结果结合预设的智能家居词表模板和从云端获取的用户设备命名信息,一起生成结构化数据。

词表模板是描述操作属性和云端设备对应的一个模板,例如云端有个设备是空调(device_ac),空调有个属性操作是打开(attribute_on),那词表模板可以是:device_ac:attribute_on:[打开,开启,启动……]这三元组的格式,词表模板就是这一类的结构的集合。依据词表模板,结合词性标注的结果和命名实体识别的结果一起生成结构化数据,则文本信息为“今天12点把卧室的空调调到25度”的句子的结构化数据为:

{intent:control,

position:{name:’卧室’,id:’position.001’,type:’room’},

object:{name:’空调’,id:’object.001’,type:’ac’,attribute:’ac_state’},

action:{name:’调到’,type:’set’,value:’25’},

time:’2018-06-08-12-00-00-00’}

其中,intent表示文本信息的意图position表示位置信息,object表示设备信息,action表示动作信息,time表示时间信息。

步骤s250,判断所述结构化数据是否完整。

步骤s260,若所述当前结构化数据不完整,则将所述当前结构化数据与历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,若所述当前结构化数据完整,则将所述当前结构化数据作为所述目标结构化数据。

步骤s270,根据所述目标结构化数据执行动作。

步骤s250至步骤s270可参照前述实施例对应的部分,在此不再赘述。

本申请提出的语音信息处理方法,通过对获取的语音信息转换为文本信息,将文本信息进行意图分类,根据意图分类的结果对文本信息进行分词、词性标注、和命名实体识别,将词性标注和命名实体识别的结果结合预设的智能家居词表模板和从云端获取的用户设备命名信息,一起生成所述意图分类下的结构化数据。对获取的每一句语音信息转换为文本信息,并对文本信息进行处理生成结构化数据,将每一句语音的信息都保存了下来。提供了后续调用结构化数据的基础。

请参阅图5,本申请又一实施例提供了一种语音信息处理方法,本实施例在前述实施例的基础上,重点描述了对不完整的结构化数据的处理形成完整的结构化数据的过程,该方法可以包括:

步骤s310,将获取的语音信息转换为文本信息。

步骤s320,对所述文本信息进行处理,生成并记录当前结构化数据。

步骤s330,判断所述当前结构化数据是否完整。

步骤s310至步骤s330可参阅前述实施例对应的部分,在此不再赘述。

步骤s340,若不完整,逆序遍历所述历史结构化数据,调用找到的第一个完整的结构化数据为待匹配上文。

在对文本信息进行处理后,可以生成并记录当前结构化数据,那么每生成一个结构化数据,就可以记录下对应的结构化数据。历史结构化数据就是在生成当前结构化数据之前记录的所有的已经生成的结构化数据。在判定当前的结构化数据不完整时,逆序遍历历史结构化数据,寻找历史结构化数据中完整的结构化数据,将找到的第一个完整的历史结构化数据作为待匹配上文,以供匹配状态模型时使用。

步骤s350,调用所述当前结构化数据为当前下文。

若判定当前结构化数据为不完整的结构化数据,可以将当前结构化数据作为当前下文,以供匹配状态模型时使用。

步骤s360,循环匹配所述状态模型,判断所述待匹配上文和所述当前下文是否符合预设状态模式。

其中,调用在历史结构化数据中找到的第一个完整的结构化数据作为待匹配上文,将判定为不完整的当前结构化数据作为当前下文,则根据待匹配上文和当前下文判断是否满足预设状态模式的状态条件来确认是否符合预设状态模式。

在图1所示的系统中,可以定义一个状态机,这个状态机可以预设多个状态模式,每个状态模式都有一定的满足条件。当所述待匹配上文和所述当前下文满足预设状态模式的条件时,则认为符合预设状态模式。

例如,定义了这样一个状态机,里面有三种不同的预设状态模式,每个预设状态模式的条件也不一样,请参阅表1。

表1

状态模型是定义的多种不同的状态,即多个预设状态模式;待匹配上文是通过查询历史结构化数据,逆序历遍历史结构化数据,找到的第一个完整的结构化数据;当前下文是被判定为不完整的当前结构化数据。条件为待匹配上文和当前下文符合该预设状态模式需要满足的条件,当待匹配上文和当前下文满足所有条件时,则认为符合该预设状态模式。

例如,待匹配上文为“打开空调”,当前下文为“关闭”。根据上述实施例所描述的方法,那么当前下文的结构化数据为:

{intent:control,

position:null,

object:{name:’null’,id:’null’,type:’null’,attribute:’null’},

action:{name:’关闭’,type:’off’,value:null}}

那么,当前下文中的object的值为null,则当前下文没有有效的设备信息,即缺少了目标设备;当前下文中的action的值“关闭”,则当前下文存在着有效的动作信息,即存在着交互信息“关闭”。

待匹配上文的结构化数据为:

{intent:control,

position:null,

object:{name:’空调’,id:’object.001’,type:’ac’,attribute:’ac_state’},

action:{name:’打开’,type:’on’,value:null}}

那么在待匹配上文中,object的值为“空调”,则待匹配上文中存在着有效的设备信息,即存在着目标设备;待匹配上文中的action的值为“打开”,则待匹配上文中存在着有效的动作信息,即存在着交互信息“打开”,且“空调”可以执行“关闭”的动作。

由此可以得出,当前下文缺少目标设备,下文存在交互动作“关闭”,且上文目标设备“空调”可以执行下文的交互动作“关闭”,则认为满足了预设状态模式状态1的条件,符合所述状态1:省略相同目标。若不符合所述状态1的条件,则依次比对其他的预设状态模式如状态2,状态3。

步骤s370,若符合,则匹配所述待匹配上文和所述当前下文,形成完整的目标结构化数据。

当所述待匹配上文和所述当前下文符合预设状态模式,则将所述待匹配上文和所述当前下文进行合并,形成完整的目标结构化数据。例如,待匹配上文为“打开空调”,当前下文为“关闭”,循环匹配预设状态模式后,符合状态1。则将所述待匹配上文“打开空调”和所述当前下文“关闭”合并起来,形成的完整的目标结构化数据。形成的完整的目标结构化数据为:

{intent:’control’,

position:null,

object:{name:’空调’,id:’object.001’,type:’ac’,attribute:’ac_state’},

action:{name:’关闭’,type:’off’,value:null}}

步骤s380,根据所述目标结构化数据执行动作。

通过状态模型匹配,将不完整的当前结构化数据转换成了完整的可执行的目标结构化数据,可以根据目标结构化数据中的有效的设备信息,有效的动作信息控制有效的设备信息对应的设备执行与有效的动作信息对应的动作。

本申请提出的信息处理方法,将不完整的结构化数据结合历史结构化数据,进行状态模型的匹配,生成完整的目标结构化数据,充分利用了获取到的每一条信息,增强了对语音的理解,使得对话更加自然流畅。

请参阅图6,本申请再一实施例提供了一种语音信息处理方法,本实施例在前述实施例的基础上,重点描述了根据形成的完整的目标结构化数据执行动作的过程,该方法可以包括:

步骤s410,将获取的语音信息转换为文本信息。

步骤s420,对所述文本信息进行处理,生成并记录当前结构化数据。

步骤s430,判断所述当前结构化数据是否完整。

步骤s440,若所述当前结构化数据不完整,则将所述当前结构化数据与历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,若所述当前结构化数据完整,则将所述当前结构化数据作为所述目标结构化数据。

步骤s410至步骤s440可参照前述实施例对应部分,在此不再赘述。

步骤s450,根据所述目标结构化数据控制设备执行动作。

其中,目标结构化数据带有完整的信息,携带了必要的有效的设备信息和有效的动作信息,则根据目标结构化中的有效的设备信息和有效的动作信息控制有效的设备信息对应的设备执行与有效的动作信息对应的动作。

步骤s460,接收所述设备返回的动作执行结果。

根据目标结构化数据中有效的设备信息和有效的动作信息控制设备执行动作后,可以接收设备返回的动作执行结果。

其中,当执行主体为电子设备或网关时,可以根据目标结构化数据中的有效的设备信息和有效的动作信息请求云平台,调用云平台接口,指示云平台根据有效的动作信息和有效的设备信息,控制有效的设备信息对应的设备执行与有效的动作信息对应的动作。例如,目标结构化数据的有效的设备信息为空调,有效的动作信息为打开,可以将“空调”和“打开”通过云平台发送给与空调相连的网关,由网关下发动作指令给空调,控制空调打开,空调成功打开后可以反馈一个动作执行结果给网关,网关再通过云平台将动作执行结果反馈回来。当执行主体为服务器时,则可以直接根据目标结构化数据中有效的设备信息“空调”和有效的动作信息“打开”控制空调打开,并直接接收空调返回的动作执行结果。

步骤s470,根据所述目标结构化数据和所述动作执行结果,匹配对应的预设回复模板,生成回复文本。

接收到所述动作执行结果后,可以结合所述目标结构化数据和动作执行结果匹配对应的回复模板,生成回复文本。例如,结构化数据为

{intent:’control’,

position:null,

object:{name:’空调’,id:’object.001’,type:’ac’,attribute:’ac_state’},

action:{name:’打开’,type:’on’,value:null}}。

空调返回的动作执行结果为执行成功。

回复模板为action.ac_state:“好的,已将[object_name][action_name]”。那么,将对应的object_name和action_name填入回复模板生成的回复文本则为“好的,已将空调打开”。

在生成回复文本后,可以使用语音合成技术将回复文本转变为对应的语音信息。通过用户输入语音信息的接口将语音信息输出。例如,用户是通过电子设备中的客户端通过语音助手发送的语音信息,则将对应回复文本生成的语音信息通过语音助手输出。

本申请提供的语音信息处理方法,将语音信息转换为文本信息,通过对文本信息的处理生成结构化数据,再判断结构化数据是否完整,若不完整,则进行状态模型匹配,若符合预设状态模式,则将待匹配上文和当前下文进行合并,生成完整的目标结构化数据,再根据目标结构化数据控制设备执行目动作,并接收动作的执行结果,结合动作执行结果和目标结构化数据,匹配对应的回复模板,生成回复文本并转换成语音输出。实现了在用户省略部分信息时进行口语化的语音输入时,仍然可以理解用户想要表达的内容,并对用户的指令进行响应,用户在进行人对话时的语言可以更加自然流畅,提升了用户在使用语音控制设备的体验感。

请参阅图7,其示出了本申请实施例提供的一种语音信息处理装置500,所述装置500包括转换模块510、预处理模块520、判断模块530、处理模块540、应答模块550。

转换模块510,用于将获取的语音信息转换为文本信息;

预处理模块520,用于对所述文本信息进行处理,生成并记录当前结构化数据;

判断模块530,用于判断所述当前结构化数据是否完整;

处理模块540,用于将不完整的当前结构化数据和历史结构化数据进行状态模型匹配,形成完整的目标结构化数据,将完整的当前结构化数据作为所述目标结构化数据;

应答模块550,用于根据所述目标结构化数据执行动作。请参阅图8,示出了本申请实施例提供的一种应答模块550的结构图。

进一步的,所述应答模块550还包括执行单元551、接收单元552以及回复单元553。执行单元551用于根据所述目标结构化数据控制设备执行动作;接收单元552用于接收所述设备返回的动作执行结果;回复单元553用于根据所述目标结构化数据和所述动作执行结果,匹配对应的预设回复模板,生成回复文本。

进一步的,所述回复单元553还用于根据所述目标结构化数据和所述动作执行结果,匹配对应的预设回复模板;将所述目标结构化数据中的有效的设备信息和有效的动作信息填入所述预设回复模板,生成回复文本。

进一步的,所述转换模块510还用于将回复文本转换成语音。

进一步的,所述预处理模块520还用于对文本信息进行意图分类,并对意图分类后的文本信息进行分词;对分词后的文本信息进行词性标注和命名实体识别;将所述词性标注和命名实体识别的结果进行基于模板匹配的映射解析,生成所述意图下的结构化数据。

进一步的,所述判断模块530还用于判断所述文本信息的意图是否明确,若不明确,所述处理模块540则提示用户表述明确意图。

进一步的,所述判断模块530还用于判断所述意图明确的文本信息是否为交互控制命令,若不为交互控制命令,则调用聊天机器人接口直接生成回复。

进一步的,所述判断模块530还用于判断所述待匹配上文和所述当前下文是否符合预设状态模式的状态条件,若所述当前下文存在交互动作,缺少目标设备,且所述待匹配上文中的目标设备能够执行当前下文中的交互动作,则判定满足所述状态条件;或者若所述当前下文存在交互动作和位置信息,缺少目标设备,且所述待匹配上文中位置信息存在同类的目标设备能够执行当前下文中的交互动作,则判定满足所述状态条件;或者若所述当前下文存在目标设备,缺少交互动作,且所述当前下文中的目标设备能够执行待匹配上文中的交互动作,则判定满足所述状态模式的状态条件。

进一步的,当所述判断模块530判定所述待匹配上文和当前下文满足所述预设状态模式的状态条件时,所述处理模块540逆序遍历所述历史结构化数据,调用找到的第一个完整的结构化数据为待匹配上文;调用所述当前结构化数据为当前下文;循环匹配所述状态模型,判断所述待匹配上文和所述当前下文是否符合预设状态模式;若符合,则合并所述待匹配上文和所述当前下文,形成完整的目标结构化数据。

需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

综上所述,本申请提供的语音信息处理方法,通过对获取到的语音信息进行处理,生成并记录每一个结构化数据供下轮调用,对生成的结构化数据进行判断是否完整,若不完整,则对当前的结构化数据进行状态模型的匹配形成完整的目标结构化数据,再根据目标结构化数据中的信息执行对应的动作,若是完整的,则直接根据当前的结构化数据执行对应的动作。通过对语音的信息处理,充分保留并利用用户每轮对话的信息,用户在进行对话时,不需要每轮都提供完整的信息,使得对话的语言更加自然流畅,可以缩短交互的时间、提升交互的体验。

在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

本申请实施例提供的一种电子设备的结构框图。请参考图9,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器101、存储器102、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器102中并被配置为由一个或多个处理器101执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器101可以包括一个或者多个处理核。处理器101利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器102内的指令、程序、代码集或指令集,以及调用存储在存储器102内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器101可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器101可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器101中,单独通过一块通信芯片进行实现。

存储器102可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器102可用于存储指令、程序、代码、代码集或指令集。存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质600中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质600可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质600包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。

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

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