用于识别词槽的方法、装置、设备以及存储介质与流程

文档序号:22248044发布日期:2020-09-18 12:17阅读:74来源:国知局
用于识别词槽的方法、装置、设备以及存储介质与流程

本申请涉及计算机技术领域,具体涉及自然语言处理、深度学习技术领域,尤其涉及用于识别词槽的方法、装置、设备以及存储介质。



背景技术:

随着智能对话技术的发展,查询理解(qu,queryunderstanding,也称为query理解)受到了越来越多的关注。query理解是指对用户的检索串分析、理解用户意图的过程,是一个标准的自然语言处理的任务。query理解一般来说被分为两个主要的任务:意图识别和词槽解析。其中,意图识别可被看成是一个分类任务,判断一条query表达了用户的什么意图。词槽解析又作为意图识别的基础,用于辅助意图的识别。槽位解析则可以被看作是一个序列标注任务,对于query中的具体槽位信息进行标注。例如,对于一条query“给我导航到xx大厦途径yy街的不堵车的路线”,我们可以判断出其意图是“navigate(导航)”,同时其中含有3个槽位,“yy街:user_passby(途经点)”,“xx大厦:user_destination(目的地)”,“不堵车:user_route_type(路线类别)”。

可以看出,query理解的核心之一就是槽位的解析,而槽位数据每天都在爆炸性的增长,并且有越来越多的用户个性化槽位信息。除了使用机器学习的模型来识别用户槽位信息之外,对于用户个性化的信息,例如,用户对家中的智能设备的命名,千变万化,各具特点,光靠模型的识别是远远不能满足的。而且模型的识别需要通过积累大量的数据不断训练调优之后才可以使用,这个过程是漫长的。



技术实现要素:

提供了一种用于识别词槽的方法、装置、设备以及存储介质。

根据第一方面,提供了一种用于识别词槽的方法,包括:接收目标语句;根据目标语句以及预先设置的实体集合,确定目标语句的第一词槽识别结果;根据目标语句以及预先训练的词槽识别模型,确定目标语句的第二词槽识别结果,词槽识别模型用于表征语句与词槽识别结果的对应关系;根据第一词槽识别结果以及第二词槽识别结果,确定目标词槽识别结果。

根据第二方面,提供了一种用于识别词槽的装置,包括:目标语句接收单元,被配置成接收目标语句;第一词槽识别单元,被配置成根据目标语句以及预先设置的实体集合,确定目标语句的第一词槽识别结果;第二词槽识别单元,被配置成根据目标语句以及预先训练的词槽识别模型,确定目标语句的第二词槽识别结果,词槽识别模型用于表征语句与词槽识别结果的对应关系;识别结果确定单元,被配置成根据第一词槽识别结果以及第二词槽识别结果,确定目标词槽识别结果。

根据第三方面,提供了一种用于识别词槽的电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。

根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。

根据本申请的技术能够即时对识别用户设置的新的实体词,无需收集大量数据,无需训练模型,无需进行模型效果优化,即可识别用户个性化的新词,具有即时、准确、易用的特性。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是本申请的一个实施例可以应用于其中的示例性系统架构图;

图2是根据本申请的用于识别词槽的方法的一个实施例的流程图;

图3是根据本申请的用于识别词槽的方法的一个应用场景示意图;

图4是根据本申请的用于识别词槽的方法的另一个实施例的流程图;

图5是根据本申请的用于识别词槽的装置的一个实施例的结构示意图;

图6是用来实现本申请实施例的用于识别词槽的方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于识别词槽的方法或用于识别词槽的装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音识别类应用等。终端设备101、102、103上还可以安装有麦克风阵列等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、车载电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103发送的目标语句进行处理的后台服务器。后台服务器可以利用词槽识别模型或者新词集合,确定出目标语句中用户设置的个性化词语,并基于个性化词语向终端设备101、102、103进行反馈。

需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本申请实施例所提供的用于识别词槽的方法一般由服务器105执行。相应地,用于识别词槽的装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的用于识别词槽的方法的一个实施例的流程200。本实施例的用于识别词槽的方法,包括以下步骤:

步骤201,接收目标语句。

本实施例中,用于识别词槽的方法的执行主体(例如图1所示的服务器105)可以通过各种有线或无线连接方式接收目标语句。上述目标语句可以是用户通过终端发送的,也可以是执行主体通过对语音、视频或图像进行处理后得到的。例如,用户通过终端向执行主体发送语音,执行主体可以对上述语音进行语音识别,得到目标语句。

步骤202,根据目标语句以及预先设置的实体集合,确定目标语句的第一词槽识别结果。

本实施例中,可以将目标语句与预先设置的实体集合进行对比,确定目标语句中是否包括实体集合中的实体。如果包括,则可以根据目标语句中包括的实体集合中的实体来生成第一词槽识别结果。如果不包括,则可以认定第一词槽识别结果为空。上述实体集合可以包括多个实体,这些实体可以为用户自定义的实体,也可以是根据上述自定义实体生成的关联实体。举例来说,自定义的实体为“客厅那盏可爱的灯”,关联实体可以为“客厅的灯”、“可爱的灯”。

步骤203,根据目标语句以及预先训练的词槽识别模型,确定目标语句的第二词槽识别结果。

本实施例中,还可以将目标语句输入预先训练的词槽识别模型中。上述词槽识别模型可以用于表征语句与词槽识别结果的对应关系。上述词槽识别模型可以是由大量标注数据训练得到的神经网络。词槽识别模型可以输出目标语句的词槽识别结果,这里,将该词槽识别结果记为第二词槽识别结果。

步骤204,根据第一词槽识别结果以及第二词槽识别结果,确定目标词槽识别结果。

本实施例中,可以根据第一词槽识别结果以及第二词槽识别结果,确定目标词槽识别结果。目标识别结果可以为第一词槽识别结果、第二词槽识别结果或二者的结合。

参见图3,其示出了根据本申请的用于识别词槽的方法的一个应用场景的示意图。在图3所示的场景中,用户可以通过与智能电灯301进行对话可以实现对智能电灯301的控制。上述控制可以包括:打开、关闭、调整灯光颜色、明暗等。用户通过自定义设置,将该智能电灯301的实体设置为“客厅那盏可爱的灯”。则用户在向智能电灯301发出语音“打开客厅那盏可爱的灯”时,智能电灯301可以将该语音上传至服务器302,服务器302对语音进行语音识别后,对得到的目标语句进行词槽识别,得到词槽识别结果为“客厅那盏可爱的灯”。

本申请的上述实施例提供的用于识别词槽的方法,能够即时对识别用户设置的新的实体词,无需收集大量数据,无需训练模型,无需进行模型效果优化,即可识别用户个性化的新词,具有即时、准确、易用的特性。

继续参见图4,其示出了根据本申请的用于识别词槽的方法的另一个实施例的流程400。如图4所示,本实施例的用于识别词槽的方法可以包括以下步骤:

步骤401,接收实体更新请求。

本实施例中,执行主体可以接收实体更新请求。上述实体更新请求可以是用户通过终端发送的。上述实体更新请求可以包括更新实体。此处,更新实体是指用户对新添加的实体词。

步骤402,将更新实体即时同步到实体集合。

执行主体在接收到实体更新请求后,可以将其中包括的更新实体通过数据即时同步服务即时同步到实体集合。数据即时同步服务可以在接收到实体更新请求时,立刻将更新实体存储到实体集合中。其处理速度可以达到秒级,这样实现即时对用户设置的新的实体的更新。数据即时同步服务还可以保存用户的更新记录。

这里实体集合可以存储在执行主体的内存中。在实际应用中,为保证数据的安全,执行主体还可以定期将实体集合中的数据写入硬盘中。这样,一旦遇到掉电,可以通过数据即时同步服务和硬盘中进行恢复。

步骤403,接收目标语句。

步骤404,确定目标语句中的实体提及。

本实施例中,执行主体可以确定目标语句中的实体提及。具体的,执行主体可以对目标语句进行分词处理。将得到的各个词语中的名词作为实体提及。可以理解的是,目标语句中可以包括一个实体提及,也可以包括多个实体提及。

步骤405,响应于确定实体集合中包括实体提及,将实体提及作为第一词槽识别结果。

本实施例中,执行主体可以在实体集合中检索上述实体提及,如果实体集合中包括实体提及,则将实体提及作为第一词槽识别结果。如果实体集合中不包括实体提及,则第一词槽识别结果可以为空。

在本实施例的一些可选的实现方式中,上述实体集合可以包括多个实体子集合,每个实体子集合对应一个用户标识。每个实体子集合中包括至少一个实体。执行主体还可以通过以下步骤确定第一词槽识别结果:确定目标语句对应的目标用户标识;响应于确定目标用户标识对应的实体子集合中包括实体提及,将实体提及作为第一词槽识别结果。

本实现方式中,执行主体可以首先确定目标语句对应的目标用户标识。具体的,执行主体可以从发送目标语句的电子设备处获取目标用户标识。然后,执行主体可以首先确定目标用户标识对应的实体子集合。并确定该实体子集合中是否包括上述实体提及。如果包括,则将实体提及作为第一词槽识别结果。如果不包括,则可以认定第一词槽识别结果为空。

在本实施例的一些可选的实现方式中,执行主体还可以接收用户对实体集合中实体的修改请求。上述修改请求可以包括修改前的实体、修改后的实体。执行主体在接收到上述请求后,可以对实体集合中的实体进行修改。

在本实施例的一些可选的实现方式中,执行主体还可以响应于用户的请求,向用户发送其用户标识对应的实体列表。

步骤406,根据目标语句以及预先训练的词槽识别模型,确定目标语句的第二词槽识别结果。

步骤407,响应于确定第一词槽识别结果与第二词槽识别结果不重叠,将第一词槽识别结果作为目标词槽识别结果。

本实施例中,执行主体可以首先判断第一词槽识别结果与第二词槽识别结果是否重叠。重叠的意思是指第一词槽识别结果中的至少一个词语与第二词槽识别结果中的至少一个词语共有至少一个字。举例来说,第一词槽识别结果包括词语a、b,第二词槽识别结果包括词语c、d。如果a与c、a与d、b与c、b与d之间都不具有相同的字,则第一词槽识别结果与第二词槽识别结果不重叠。

步骤408,响应于确定第一词槽识别结果与第二词槽识别结果重叠,确定重叠部分对应的两个词语。

如果a与c、a与d、b与c、b与d之间任一具有相同的字,则认为第一词槽识别结果与第二词槽识别结果有重叠。此时,可以确定上述重叠部分对应的两个词语。

步骤409,将两个词语中字数多的一者作为目标词语。

执行主体可以将上述两个词语中字数较多的一个词语作为目标词语。这样,可以得到多个目标词语。

步骤410,根据得到的至少一个目标词语,确定目标词槽识别结果。

执行主体可以将得到的各目标词语作为目标词槽识别结果。

本申请的上述实施例提供的用于识别词槽的方法,能够即时(即秒级别的时间内)对用户提供的新的实体词存储,并进行识别,无需收集大量数据,无需训练模型,无需进行模型效果优化,即可识别用户个性化的新词,具有即时、准确、易用的特性。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于识别词槽的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的识别词槽装置500包括:目标语句接收单元501、第一词槽识别单元502、第二词槽识别单元503和识别结果确定单元504。

目标语句接收单元501,被配置成接收目标语句。

第一词槽识别单元502,被配置成根据目标语句以及预先设置的实体集合,确定目标语句的第一词槽识别结果。

第二词槽识别单元503,被配置成根据目标语句以及预先训练的词槽识别模型,确定目标语句的第二词槽识别结果。词槽识别模型用于表征语句与词槽识别结果的对应关系。

识别结果确定单元504,被配置成根据第一词槽识别结果以及第二词槽识别结果,确定目标词槽识别结果。

在本实施例的一些可选的实现方式中,第一词槽识别单元502可以进一步包括图5中未示出的:实体提及确定模块和第一词槽识别模块。

实体提及确定模块,被配置成确定目标语句中的实体提及。

第一词槽识别模块,被配置成响应于确定实体集合中包括实体提及,将实体提及作为第一词槽识别结果。

在本实施例的一些可选的实现方式中,实体集合包括多个实体子集合,单个实体子集合中的实体对应同一用户标识。第一词槽识别模块进一步被配置成:确定目标语句对应的目标用户标识;响应于确定目标用户标识对应的实体子集合中包括实体提及,将实体提及作为第一词槽识别结果。

在本实施例的一些可选的实现方式中,识别结果确定单元504可以进一步被配置成:响应于确定第一词槽识别结果与第二词槽识别结果不重叠,将第一词槽识别结果作为目标词槽识别结果。

在本实施例的一些可选的实现方式中,第一词槽识别结果包括至少一个词语,第二词槽识别结果包括至少一个词语。识别结果确定单元504可以进一步被配置成:响应于确定第一词槽识别结果与第二词槽识别结果重叠,确定重叠部分对应的两个词语;将两个词语中字数多的一者作为目标词语;根据得到的至少一个目标词语,确定目标词槽识别结果。

在本实施例的一些可选的实现方式中,装置500还可以进一步包括图5中未示出的即时同步单元,被配置成:接收实体更新请求。实体更新请求包括更新实体。将更新实体即时同步到实体集合。

应当理解,用于识别词槽的装置500中记载的单元501至单元504分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用于识别词槽的方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图6所示,是根据本申请实施例的执行用于识别词槽的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。

存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的执行用于识别词槽的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的执行用于识别词槽的方法。

存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的执行用于识别词槽的方法对应的程序指令/模块(例如,附图5所示的目标语句接收单元501、第一词槽识别单元502、第二词槽识别单元503和识别结果确定单元504)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的执行用于识别词槽的方法。

存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行用于识别词槽的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至执行用于识别词槽的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

执行用于识别词槽的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。

输入装置603可接收输入的数字或字符信息,以及产生与执行用于识别词槽的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,能够即时对识别用户设置的新的实体词,无需收集大量数据,无需训练模型,无需进行模型效果优化,即可识别用户个性化的新词,具有即时、准确、易用的特性。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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