掌桥专利:专业的专利平台
掌桥专利
首页

离线交互方法、装置、电子设备及可读存储介质

文献发布时间:2024-04-18 19:59:31


离线交互方法、装置、电子设备及可读存储介质

技术领域

本申请涉及语音交互技术领域,特别涉及一种离线交互方法、装置、电子设备及可读存储介质。

背景技术

人工智能(Artificial Intelligence,AI)技术在各个领域的应用开始了积极尝试,已逐渐走向成熟。而在日常的工作、学习和生活中,人机对话系统的应用越来广,其需求也越来越多。人机对话系统又可分为开放型对话系统和任务型对话系统。任务型对话系统从具体分类来看,目前大部分集中在云侧;云侧语音和处理存在一些弊端,例如需要稳定的网络连接,否则无法做到稳定的实时响应,数据需要上传云端,用户有隐私安全的顾虑。

而边缘测或端侧的AI技术则可以运行在本地设备上,实现离线交互。随着离线交互技术的应用场景越来越丰富,不同的应用场景对芯片的性能、功耗以及算法的类型、精度等需求也不同;相关技术中的离线交互方式无法适用多场景应用,导致性能消耗以及维护成本较高。

发明内容

根据本申请的各种实施例,提供一种离线交互方法、装置、电子设备及计算机可读存储介质,可以解决无法适用多场景应用,导致性能消耗以及维护成本较高的问题。

第一方面,本申请提供了一种离线交互方法,该方法包括:获取当前应用场景下的待处理的语义文本信息;基于针对当前应用场景下配置的各个离线交互功能项,对语义文本信息进行推理,得到与语义文本信息对应的推理结果;其中,离线交互功能项为基于当前应用场景对应的配置文件、需求指令以及模型文件配置得到的,模型文件为基于配置文件中的训练文件对离线交互模型进行训练得到的。

通过上述方式,针对不同的场景配置相应的离线交互功能项,从而对待处理的语义文本信息进行推理,并返回相应的推理结果;并且各个离线交互功能项为基于与场景对应的配置文件、需求指令以及模型文件配置得到,可以适用于各种不同应用场景,适配不同场景离线交互的推理流程需求,减少在一些场景下由于环境复杂或模型压缩带来的精度损失,在降低功耗的情况下,满足高性能、低成本的服务需求;具有较强的易用性与实用性。

在第一方面的一种可能的实现方式中,在所述获取当前应用场景下的待处理的语义文本信息之前,所述方法还包括:

获取应用场景的配置文件以及待训练的离线交互模型,所述应用场景的配置文件包括所述应用场景对应的训练文件;基于所述训练文件中的自定义功能文件和/或通用功能文件对所述应用场景的离线交互模型进行训练,得到所述应用场景的模型文件;基于与所述当前应用场景对应的配置文件、模型文件以及需求指令,配置与所述当前应用场景对应的所述离线交互功能项;其中,所述应用场景包括所述当前应用场景。

在第一方面的一种可能的实现方式中,所述基于所述训练文件中的自定义功能文件和/或通用功能文件对所述应用场景的离线交互模型进行训练,得到所述应用场景的模型文件,包括:

基于所述自定义功能文件中的意图文本和/或问答文本,对所述离线交互模型进行训练,得到所述应用场景的模型文件;和/或,基于所述通用功能文件中的意图文本和/或问答文本,对所述离线交互模型进行训练,得到所述应用场景的模型文件。

在第一方面的一种可能的实现方式中,所述自定义功能文件还包括语言文件;所述基于所述训练文件中的自定义功能文件对所述应用场景的离线交互模型进行训练,得到所述应用场景的模型文件,还包括:

基于所述语言文件配置与所述应用场景对应的语言类别;基于所述语言类别的意图文本和/或问答文本,对所述离线交互模型进行训练,得到与所述语言类别对应的模型文件。

在第一方面的一种可能的实现方式中,所述离线交互功能项包括语言类别、敏感词识别功能、热词匹配功能、意图识别功能、问答功能和会话管理功能;所述基于与所述当前应用场景对应的配置文件、模型文件以及需求指令,配置与所述当前应用场景对应的所述离线交互功能项,包括:

基于与所述当前应用场景对应的配置文件、模型文件以及需求指令,在首次启动时依次配置与所述当前应用场景对应的所述语言类别、所述敏感词识别功能、所述热词匹配功能、所述意图识别功能、所述会话管理功能以及所述问答功能。

在第一方面的一种可能的实现方式中,所述基于针对所述当前应用场景下配置的各个离线交互功能项,对所述语义文本信息进行推理,得到与所述语义文本信息对应的推理结果,包括:

若所述离线交互功能项中配置有所述敏感词识别功能,则对所述语义文本信息进行敏感词识别,得到第一结果;若所述第一结果包含敏感词,则返回的推理结果为空值;或者,若所述离线交互功能项中配置有所述敏感词识别功能且所述第一结果未包含敏感词,或所述离线交互功能项中未配置所述敏感词识别功能,则判断所述离线交互功能项中是否包含意图识别功能;若所述离线交互功能项中配置有所述意图识别功能,则对所述语义文本信息进行意图识别,得到第二结果;若所述第二结果为识别出意图,则基于所述会话管理功能返回推理结果;若所述第二结果为未识别出意图或所述离线交互功能项中未配置所述意图识别功能,则判断所述离线交互功能项中是否包含所述问答功能;若所述离线交互功能项中配置有所述问答功能,则基于所述问答功能返回所述推理结果。

在第一方面的一种可能的实现方式中,所述模型文件基于与所述离线交互功能项对应关系存储在指定位置的本地存储单元;所述基于针对所述当前应用场景下配置的各个离线交互功能项,对所述语义文本信息进行推理,包括:

在离线交互的推理过程中,基于所述指定位置的本地存储单元调用所述模型文件,对所述语义文本信息进行识别。

第二方面,本申请提供了一种离线交互装置,包括:

获取单元,用于获取当前应用场景下的待处理的语义文本信息;

处理单元,用于基于针对所述当前应用场景下配置的各个离线交互功能项,对所述语义文本信息进行推理,得到与所述语义文本信息对应的推理结果;

其中,所述离线交互功能项为基于所述当前应用场景对应的配置文件、需求指令以及模型文件配置得到的,所述模型文件为基于所述配置文件中的训练文件对离线交互模型进行训练得到的。

第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。

第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

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

图1为本申请实施例提供的离线交互模型训练的流程示意图;

图2为本申请实施例提供的配置离线交互功能项的流程示意图;

图3为本申请实施例提供的离线交互方法的实现流程示意图;

图4为本申请一实施例提供的离线语音交互推理的流程示意图;

图5为本申请实施例提供的离线交互装置的结构示意图;

图6为本申请实施例提供电子设备的结构示意图。

具体实施方式

下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。

在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

人机对话系统包括开放性对话系统和任务型对话系统。开放性对话系统主要的服务多应用在通用领域,例如智能对话系统;而该开放型的对话系统需要基于大数据、大算力以及通用范式,并进行大规模地训练语言模型,导致训练成本和部署成本比较高昂。

而任务型对话系统不同于开放型对话系统,更多的针对限定领域中的信息或服务,通常基于与用户进行的多轮对话来收集用户的信息,等待所有需要的信息满足后返回结果,往往不需要开放型的对话系统大规模的部署资源。任务型对话系统目前大部分集中在云侧。所谓云侧,是指从终端采集和感知到的信息,包括声音、视频、图像等数据都通过网络传输到云中心侧进行后续处理。然而,云侧语音处理存在一些弊端,例如需要稳定的网络连接,否则无法做到稳定的实时响应;数据上传云端,用户有隐私安全的顾虑。此外,由于需要每时每刻上传数据、接收指令、网络传输等,云端语音的成本增加是持续存在的。而且涉及到不同区域的部署,还可能需要到本地去采购服务器或者是在该地部署服务器,各种运维费用会导致最终的成本增高。

另外,边缘侧AI运行在边缘设备上,相较于云端的AI,其数据安全性更高,功耗更低,时延更短,可靠性更高,带宽需求更低,还可以更大限度的利用数据,以及进一步缩减数据处理成本。端侧可以理解为移动设备和物联网(Internet of Things,IoT)设备侧,是计算能力和能耗相当有限的,且大多是通过无线连接网络。与边缘侧AI相同,端侧AI运行在本地设备上,使得其更加安全、高效,也不会对带宽有过分依赖。

目前,越来越多的语音成为端侧特别是IoT设备的交互标配。离线自然语言处理(Natural Language Processing,NLP),或称端侧NLP技术,不依赖云端算力,通过端侧芯片来实现自然语言理解。离线NLP不受网络影响,在设备上/本地处理数据,具有更好的数据安全性,以及更少的监管和维护成本。

边缘和端侧AI硬件和算法向前迭代的时候,面临的问题:应用多样,需求不同。从单传感器到多传感器融合的智能硬件,从工业到农业再到智能家居,随着应用场景的丰富,不同的应用场景对于芯片的性能和功耗,对于使用的算法的类型和精度,都大不相同。大模型带来的高准确率的同时也带来高性能消耗及高成本。部分场景接受低一点的准确率,则基于低性能消耗的模型算法即可满足用户需求,节约部署成本。

通常机器人产品在离开网络或网络状况差的情况下,基本失去语音控制的能力,基本的指令都不支持。目前,对于类似展会中网络差的环境中的机器人,递送、巡检等无需对话的机器人,无对话需求但是需要语音控制的机器人,教育类小成本指令集语音控制的机器人,以及需要在本地设置服务器等各种应用场景,有的场景需求复杂,有的需求简单,有的需要不同的语言支持等需求。此外,用户的表达有可能会比较复杂,有很多限制条件,可能需要分多轮进行陈述,一方面,在对话过程中可以不断修改或完善用户需求,另一方面,当用户声明的需求不够具体或明确时,机器还可以通过不断询问、澄清或确认来帮助用户获取满意的服务。

针对以上问题以及应用场景的多样性,本申请实施例提供了一种可以支持多语言的离线交互系统,通过各个离线交互功能项的配置以及系统合理的推理过程来适应不同应用场景下的离线任务型交互,低功耗情况下可以保持高性能、低成本,减少由于环境复杂多样和模型压缩带来的精度损失。

下面通过实施例介绍本申请离线交互方法的具体实现过程。

请参见图1,图1是本申请实施例提供的离线交互模型训练的流程示意图。在使用该离线交互系统之前,对该离线交互系统进行模型训练以及对离线交互功能项进行配置;如图1所示,该方法可以包括以下步骤:

S101,获取应用场景的配置文件以及待训练的离线交互模型,应用场景的配置文件包括应用场景对应的训练文件。

在具体应用过程中,可以针对实际的应用场景设置有对应的配置文件,该配置文件可以是excel格式的文件或者其他类型的文本文件。配置文件可以包括语言配置以及意图识别、问答匹配等离线交互功能项对应的文件;其中,意图识别、问答匹配等离线交互功能项对应的文件可以包括对离线交互模型进行训练的训练文件。

示例性的,训练文件基于功能划分包括自定义功能文件和通用功能文件。自定义功能文件为用户(生产或销售方)自己定义的功能文件,通用功能文件为开发人员基于用户需求配置的功能文件。

其中,通用功能文件的内容可以根据客户的要求由系统开发人员扩展配置,如时间日期类功能(查询时间、节日等相关)。自定义功能文件为客户可以根据自己的场景,去设计自定义技能意图,如导航功能,客户可以自己配置开启导航意图或停止导航意图。

示例性的,训练文件基于内容划分包括存储意图信息的文件、存储实体值的文件以及存储问答信息的文件。其中,存储意图信息的文件包括但不仅限于技能和意图标识、技能和意图名、意图表达式(如导航去{位置position})、词槽信息(如词槽名、是否必要词槽、词槽绑定的词典标识)以及场景处理(如满足意图时的回复我要出发去{位置position}啦,请跟紧我哦)等内容。存储实体值的文件存储了词典标识对应的实体值,如位置position对应“某某广场”等一系列不同场景下的不同实体值,以及实体值的一些额外信息,如城市对应的时区信息等。

另外,存储问答信息的文件主要由主问题、相似问题和答案组成,根据语言选项放置在不同的文件夹下。

需要说明的是,不同的应用场景可以对应不同的配置文件,配置文件的内容种类可以基于应用场景的实际需求进行设置,例如不同的应用场景可以对应不同精度的离线交互模型,而对离线交互模型的训练可以基于不同的应用场景及精度的需求选择相适应的训练文件。

S102,基于训练文件中的自定义功能文件和/或通用功能文件对应用场景的离线交互模型进行训练,得到应用场景的模型文件。

在本申请实施例中,训练文件中存储自定义功能的文件可以作为自定义功能文件,存储通用功能的文件作为通用功能文件;基于自定义功能文件和(或)通用功能文件训练离线交互模型,例如意图模型、问答模型等。

在一些实施例中,基于训练文件中的自定义功能文件和/或通用功能文件对应用场景的离线交互模型进行训练,得到应用场景的模型文件,包括:

基于自定义功能文件中的意图文本和/或问答文本,对离线交互模型进行训练,得到应用场景的模型文件;和/或,基于通用功能文件中的意图文本和/或问答文本,对离线交互模型进行训练,得到应用场景的模型文件。

在本申请实施例中,基于训练文件中的意图信息或问答信息的文本内容对离线交互模型进行训练,得到不同应用场景下的模型文件。

示例性的,在对离线交互模型进行训练的过程中,根据应用场景的类型加载配置文件,例如可以选择的配置文件可以为包括语言文件夹、问答文件夹、意图文件夹等自定义功能文件,还可以为通用功能文件。通过运行训练程序脚本,自动挂载存储配置文件的文件目录,调用运行代码,进行自动训练,并在存储单元的指定目录下生成模型文件,基于该模型文件的文档提示将该模型文件复制到存储单元的指定位置(用于在离线交互系统启用时调用模型文件的地址),完成模型训练过程;后续通过接口重载(重新调用程序启动接口)或直接重启离线交互系统的推理服务。其中,离线交互模型可以为卷积神经网络模型等。

其中,模型文件可以为二进制文件,该二进制文件经过进一步的处理,转成跨平台机器学习推理加速器,推理所需要的ort格式的文件,以及label.txt格式的文件(用于存储意图标签)、vacab.txt格式的文件(用于存储词表)。

另外,指定目录可以是开发板或手机等电子设备上存储这些配置文件的目录路径(可以放在默认项目目录下,也可以放到其它路径,后续初始化离线交互系统时需输入这些路径进行数据加载)。配置文件以及经过训练生成的模型文件的根目录可以相同;从而可以基于相同的根目录以及文档提示快速加载交互过程所需的数据,提高响应效率。

需要说明的是,经过训练得到的不同的模型文件占用的内存、耗时、准确率等不一样,具体可以根据实际场景和需求进行配置。

在一些实施例中,自定义功能文件还包括语言文件;基于训练文件中的自定义功能文件对应用场景的离线交互模型进行训练,得到应用场景的模型文件,还包括:

基于语言文件配置与应用场景对应的语言类别;基于语言类别的意图文本和/或问答文本,对离线交互模型进行训练,得到与语言类别对应的模型文件。

示例性的,针对于多语言的应用场景,在自定义文件夹下可以设置语言文件夹,在训练时改写配置文件里的语言配置,系统自动查找相应文件夹去选择对应语言的文件来生成相应的训练文件并进行模型训练。

其中,该语言文件可以为包括多个语种的文件,例如中文、英文等。在训练过程中可以只选择一种语言进行训练,也可以基于多个不同语言文件依次进行多种语言的训练。

另外,基于用户(生产或销售方)需求,还可以支持对通用技能的修改或更正,在通用功能文件下修改对应通用功能的excel表内容,如对应的词槽、实体、额外信息等内容。

S103,基于与当前应用场景对应的配置文件、模型文件以及需求指令,配置与当前应用场景对应的离线交互功能项。

在本申请实施例中,在训练完成后,将配置文件复制到指定目录下,启动离线交互系统的推理服务,并在启动过程中进行各功能项的配置。需要说明的是,在离线系统启用前,首次启动时进行一次配置即可,后续使用过程中则不用再进行配置;但后续需要更改配置时,还可以更改或重新配置各个离线功能项,例如基于场景的变化重新关闭或开启某些离线交互功能项。

其中,需求指令可以为基于应用场景及用户需求,接收到的对各个功能项是否开启的指令;例如,敏感词识别功能是否开启等指令。在该离线交互系统启用之前,通过修改配置文件中的各个功能项,以适配各种应用场景,使得离线交互系统的通用性以及灵活性更强。

在一些实施例中,配置文件中可以支持修改的离线交互功能项可以包括语言类别、敏感词识别功能、热词匹配功能、意图识别功能、问答功能和会话管理功能;基于与当前应用场景对应的配置文件、模型文件以及需求指令,配置与当前应用场景对应的离线交互功能项,包括:

基于与当前应用场景对应的配置文件、模型文件以及需求指令,在首次启动时依次配置与当前应用场景对应的语言类别、敏感词识别功能、热词匹配功能、意图识别功能、会话管理功能以及问答功能。

如图2所示,在读取配置文件(如语言文件)后,生成对应语言文件的路径地址,以便选择不同地址下的训练文件、通用功能文件及相关处理方式,同时通过修改配置文件中的语言以确定不同地址下的训练文件。进而针对敏感词识别功能进行配置,如果开启,则在指定文档里配置相关敏感词,针对不同场景敏感词也不同,系统启动时会根据选项去加载并读取配置的敏感词文件。进热针对热词匹配功能进行配置,部分场景可能会对应专有名词,如果开启,在后续处理上会针对相应的专有名词读取热词文件进行特殊处理,如纠错等。进而针对意图识别功能进行配置,是否开启意图识别功能、使用哪种意图模型或是否使用意图模型、使用哪种词槽或实体识别模型。不同应用场景对意图识别的准确率和内存要求也不同,可根据实际使用情况进行选择;例如使用稍大点的模型,准确率会比小模型高,但是消耗的资源会比小模型更多,如果资源有限,可以通过增加训练时的模板来提升识别的效果。当需要使用意图模型时,加载相应模型文件以及数据文件,当不使用意图模型时还可以直接加载相应的数据文件。

相应地,如图2所示,继续对问答功能及会话管理功能进行配置。其中,针对问答功能具体包括是否开启问答、使用哪种问答模型以及是否启用问答模型;例如部分场景需要开启问答匹配,匹配到客户预定好的问题就会回复答案,或者通过继续配置的问答模型加载问答模型文件以及问答数据文件进行识别返回答案;具体可根据实际应用场景进行选择和配置。当需要使用问答模型时,加载相应的问答模型文件以及问答数据文件,当不使用问答模型时还可以直接加载相应的问答数据文件。

其中,在配置文件中还包括对会话管理功能的设置,针对是否开启多轮会话进行配置;在开启了意图的情况下,如果配置中选择开启多轮,则会进行多轮会话应答,以导航举例:当输入开启导航,系统会命中导航意图,由于缺乏导航地点,系统会咨询用户“您会导航到哪里”,从而启动多轮会话以确定出最终意图;如果未开启此配置,那么未提供导航地址时,系统则不会命中导航意图。

针对意图识别功能,还可以针对是否使用词槽继承进行配置,例如开启该功能项时,用户第一句问“深圳天气怎么样”,识别的意图中的地点词槽是“深圳”;用户第二句问“那湿度呢”,识别出的意图中会带有上轮的地点词槽“深圳”。在针对会话管理功能的设置时,还可以对会话的有效时间进行设置,例如设置会话时间阈值,在相邻两轮次的会话时间超过时间阈值则不再关联相应,或者开启下一次的会话。另外,在需要超文本传输协议(Hyper Text Transport Protocol,HTTP)端口服务时,启动该端口,读取相应的配置文件或者在使用过程中调用相应的模型文件以及数据文件等。

需要说明的是,上述实施例主要针对意图识别和问答匹配功能进行训练及配置,其中意图识别包含通用功能和自定义功能的识别处理。通用技能为识别出意图后本程序自动处理,如命中查询时间技能后,自动输出当前地点时间等;自定义技能为识别出意图后由使用设备其它程序处理,如识别出导航意图后,由电子设备(如机器人)自动规划路径并带路去指定地点。上述基于配置文件的各功能项还可以包括其他功能的配置,具体可以基于实际应用场景进行开发设定。

本申请实施例提供的基于多语言的通用型的离线NLP交互系统,通过文本文件去自定义功能和意图,通过训练、配置各个功能项以及系统合理的推理流程以适应不同场景、不同语言下的离线任务型交互,使设备在断网情况下仍能顺畅的进行人机交互对话,提升离线状态下用户的交互体验,让智能交互不再受限于网络。另外,该实现方式也可以适用于云边协同等类似场景。该离线交互系统可适配于大部分场景,对于特定的场景可通过微调来修正,不需要每开发一个产品再从头开始开发离线交互技术,大大减少了开发成本。

下面进一步介绍该离线交互方法的具体实现过程。请参见图3,图3为本申请实施例提供的离线交互方法的实现流程示意图。在当前应用场景下,使用该离线交互系统时,基于已配置的各离线交互功能项对用户的语义文本信息进行推理并进行响应;如图3所示,该方法可以包括以下步骤:

S301,获取当前应用场景下的待处理的语义文本信息。

在具体的实际应用场景中,电子设备(或离线交互系统)可以接收用户输入的文本文字,或基于语音识别出的文本信息;将接收到的文本文字或识别出的文本信息作为待处理的语义文本信息。

其中,待处理的语义文本信息为电子设备待响应的指令信息,可以为电子设备进行语音应答响应或执行动作任务响应的指令信息,例如询问指令、操控指令等。当接收到用户的语音信息时,该语义文本信息可以是基于自动语音识别(Auto mate SoeechRecontion,ASR)得到的指令信息。

示例性的,当前应用场景为该电子设备具体的使用场景,例如网络环境欠佳或无网络的机器人应用场景,递送、巡检等无需对话的机器人应用场景,无对话需求但是需要语音控制的机器人应用场景,教育类小成本指令集语音控制的机器人的应用场景,以及需要在本地设置服务器等各种应用场景,本申请实施例包括但不限于以上应用场景。

步骤S302,基于针对当前应用场景下配置的各个离线交互功能项,对语义文本信息进行推理,得到与语义文本信息对应的推理结果。

其中,离线交互功能项为基于当前应用场景对应的配置文件、需求指令以及模型文件配置得到的,模型文件为基于配置文件中的训练文件对离线交互模型进行训练得到的。

在本申请实施例中,基于该离线交互系统已配置各个离线交互功能项,对语义文本信息进行推理的过程可以为基于各个离线功能项的优先级依次进行识别或匹配的过程,最后基于识别或匹配的结果给出响应,语音响应或动作执行响应。

在一些实施例中,基于针对当前应用场景下配置的各个离线交互功能项,对语义文本信息进行推理,得到与语义文本信息对应的推理结果,包括:

A1、若离线交互功能项中配置有敏感词识别功能,则对语义文本信息进行敏感词识别,得到第一结果;若第一结果包含敏感词,则返回的推理结果为空值。

A2、若离线交互功能项中配置有敏感词识别功能且第一结果未包含敏感词,或所述离线交互功能项中未配置所述敏感词识别功能,则判断所述离线交互功能项中是否包含意图识别功能。

A3、若离线交互功能项中配置有意图识别功能,则对语义文本信息进行意图识别,得到第二结果;若第二结果为识别出意图,则基于会话管理功能返回推理结果。

A4、若第二结果为未识别出意图或离线交互功能项中未配置意图识别功能,则判断离线交互功能项中是否包含所述问答功能。

A5、若离线交互功能项中配置有问答功能,则基于问答功能返回推理结果。

如图4所示,在对用户输入的语音信息进行ASR识别后得到语义文本信息,经过预处理后,通过后续的离线交互功能项进行识别与匹配处理。

其中,预处理包括对语义文本信息进行去空格、繁体转简体、去除无意义词(如哦、呢等)、纠错。例如不同用户拥有不同的口音与方言,表达方式也是丰富多彩,以及可能会有环境噪声干扰,ASR可能会有错误识别的可能,语义理解还可以根据热词进行纠错(可以基于热词匹配功能处理)。

相应地,在后续的离线交互功能项进行识别与匹配处理过程中,如图4所示,若该离线交互系统配置有敏感词识别功能,则通过该功能进行敏感词识别,若存在敏感词则返回空信息或进行语音提醒。若配置有该敏感词识别功能且未识别出有敏感词,或者未启用敏感词识别功能,则继续进行后续的处理。

示例性的,继续基于意图识别功能进行推理,若配置了意图识别功能,则基于意图规则进行匹配,并判断是否存在与语义文本信息匹配的意图,如果存在则进一步判断是否识别出了语音文本信息的真实意图,若识别出意图则调用会话管理功能,判断意图信息是否完整;若意图信息完整,则基于该意图对应所属的通用功能或自定义功能进行业务处理或后处理(例如开启导航模式等),并基于会话管理的存储历史输出推理结果。在基于意图规则进行匹配时,未匹配到与语义文本信息匹配的意图,则进一步判断是否开启了使用意图模型,若开启了使用意图模型,则调用意图模型文件,基于意图模型文件中包括的意图词槽模型对语义文本信息进行意图识别,在通过意图词槽模型进行识别或未启用意图模型时,进一步判断是否识别出真实意图,若识别出真实意图,与上述流程相同,最后输出结果。若通过调用会话管理功能判断意图信息并不完整,则进行词槽澄清或意图失败处理,基于会话管理功能对应的存储历史输出处理后的推理结果。

在意图识别过程中,根据配置的功能项,进行意图规则匹配和相应的模型匹配。如果匹配出意图,则会获取该意图的信息(通过会话管理模块功能,检测是否包含必要词槽等),再判断该意图是否成立。如果成立,则判断是否是通用功能,如果是通用功能,调用该通用功能对应的业务处理模块,例如时间技能,提取出词槽是今天,则将该词槽转换成今天对应的年月日时分秒;如果是自定义功能,则进行自定义功能对应的相应步骤。

示例性的,若基于上述意图识别功能的处理未识别出意图,或者未启用意图识别功能,则继续判断是否启用了问答功能。若启用了问答功能,则基于问答规则或问答模型进行匹配,若匹配出问答答案,则进行问答答案的提取,并将问答答案作为推理结果,基于会话管理功能的存储历史输出。若未启用问答功能或者未匹配到问答答案,则返回空信息或语音提醒。

其中,问答功能的优先级低于意图识别功能。未使用意图或未识别出意图且开启了问答的情况下,会根据加载的问答模型,进行规则匹配、问题相似度计算或模型匹配等处理。如果匹配到相应的问题,则会提取答案进行输出。

另外,会话管理功能主要用于开启多轮会话时处理意图识别出来的信息。本轮如果是意图的话,在多轮会话过程中检查历史数据,综合汇总该意图的信息,看该意图的信息是否齐全。基于此,一个词槽与该意图中所需要获取的一种信息相对应,而词槽分为必要词槽和非必要词槽。必要词槽即为要满足该意图必须要具备的一个信息。如果必要词槽缺失(例如导航意图中的导航地点就是必要词槽),则向用户发起澄清或问询,一次只澄清一个词槽,如果澄清失败,则进行失败返回。如果不缺少必要词槽,则该意图识别成功。

在一些实施例中,模型文件基于与离线交互功能项对应关系存储在指定位置的本地存储单元;基于针对当前应用场景下配置的各个离线交互功能项,对语义文本信息进行推理,包括:

在离线交互的推理过程中,基于指定位置的本地存储单元调用模型文件,对语义文本信息进行识别。

本申请实施例,在电子设备上离线部署和处理自然语言识别,不必通过网络来分析意图和查询目标信息,大大提高了响应效率,节省了交互时间。在一些识别的泛化性要求一般的场景,该离线交互系统可以占用更少的使用内存,交互过程的耗时也将更少。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例提供的离线交互方法,图5示出了本申请实施例提供的离线交互装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图5,该离线交互装置包括:

获取单元51,用于获取当前应用场景下的待处理的语义文本信息;

处理单元52,用于基于针对所述当前应用场景下配置的各个离线交互功能项,对所述语义文本信息进行推理,得到与所述语义文本信息对应的推理结果;

其中,所述离线交互功能项为基于所述当前应用场景对应的配置文件、需求指令以及模型文件配置得到的,所述模型文件为基于所述配置文件中的训练文件对离线交互模型进行训练得到的。

在一种可能的实现方式中,该装置还包括训练单元和配置单元;所述获取单元51,还用于获取应用场景的配置文件以及待训练的离线交互模型,所述应用场景的配置文件包括所述应用场景对应的训练文件;所述训练单元,用于基于所述训练文件中的自定义功能文件和/或通用功能文件对所述应用场景的离线交互模型进行训练,得到所述应用场景的模型文件;所述配置单元,用于基于与所述当前应用场景对应的配置文件、模型文件以及需求指令,配置与所述当前应用场景对应的所述离线交互功能项;其中,所述应用场景包括所述当前应用场景。

在一种可能的实现方式中,上述训练单元,还用于基于所述自定义功能文件中的意图文本和/或问答文本,对所述离线交互模型进行训练,得到所述应用场景的模型文件;和/或,基于所述通用功能文件中的意图文本和/或问答文本,对所述离线交互模型进行训练,得到所述应用场景的模型文件。

在一种可能的实现方式中,所述自定义功能文件还包括语言文件;上述训练单元,还用于基于所述语言文件配置与所述应用场景对应的语言类别;基于所述语言类别的意图文本和/或问答文本,对所述离线交互模型进行训练,得到与所述语言类别对应的模型文件。

在一种可能的实现方式中,所述离线交互功能项包括语言类别、敏感词识别功能、热词匹配功能、意图识别功能、问答功能和会话管理功能;上述配置单元,还用于基于与所述当前应用场景对应的配置文件、模型文件以及需求指令,在首次启动时依次配置与所述当前应用场景对应的所述语言类别、所述敏感词识别功能、所述热词匹配功能、所述意图识别功能、所述会话管理功能以及所述问答功能。

在一种可能的实现方式中,所述处理单元52,还用于若所述离线交互功能项中配置有所述敏感词识别功能,则对所述语义文本信息进行敏感词识别,得到第一结果;若所述第一结果包含敏感词,则返回的推理结果为空值;或者,若所述离线交互功能项中配置有所述敏感词识别功能且所述第一结果未包含敏感词,或所述离线交互功能项中未配置所述敏感词识别功能,则判断所述离线交互功能项中是否包含意图识别功能;若所述离线交互功能项中配置有所述意图识别功能,则对所述语义文本信息进行意图识别,得到第二结果;若所述第二结果为识别出意图,则基于所述会话管理功能返回推理结果;若所述第二结果为未识别出意图或所述离线交互功能项中未配置所述意图识别功能,则判断所述离线交互功能项中是否包含所述问答功能;若所述离线交互功能项中配置有所述问答功能,则基于所述问答功能返回所述推理结果。

在一种可能的实现方式中,所述模型文件基于与所述离线交互功能项对应关系存储在指定位置的本地存储单元;所述处理单元52,还用于在离线交互的推理过程中,基于所述指定位置的本地存储单元调用所述模型文件,对所述语义文本信息进行识别。

图6示出了电子设备6的硬件结构示意图。

如图6所示,该实施例的电子设备6包括:至少一个处理器60(图6中仅示出一个)、存储器61,所述存储器61中存储有可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述方法实施例中的步骤,例如图3所示的S301至S302。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能。

可以理解的是,本申请实施例示意的结构并不构成对电子设备6的具体限定。在本申请另一些实施例中,电子设备6可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

该电子设备6可以是机器人等可以实现离线交互的设备,可以是独立的离线交互系统,还可以是设置有离线交互系统的终端设备。该电子设备6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如该服务器还可以包括输入发送设备、网络接入设备、总线等。

上述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

处理器60中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器60中的存储器为高速缓冲存储器。该存储器可以保存处理器60刚用过或循环使用的指令或数据。如果处理器60需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器60的等待时间,因而提高了系统的效率。

上述存储器61在一些实施例中可以是所述电子设备6的内部存储单元,例如电子设备6的硬盘或内存。该存储器61也可以是所述电子设备6的外部存储设备,例如该电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,该存储器61还可以既包括该电子设备6的内部存储单元也包括外部存储设备。该存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。该存储器61还可以用于暂时地存储已经发送或者将要发送的数据。

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

需要说明的是,上述电子设备的结构仅示例性说明,基于不同的应用场景,还可以包括其他实体结构,在此不对电子设备的实体结构进行限定。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时实现可实现上述各个方法实施例中的步骤。

所集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。

上述本申请实施例提供的算法开发平台、电子设备、计算机存储介质、计算机程序产品均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。

应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。

还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。

还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

技术分类

06120116522650