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

一种实体召回方法及相关装置

文献发布时间:2023-06-19 09:27:35


一种实体召回方法及相关装置

技术领域

本申请涉及自然语言处理领域,尤其涉及一种实体召回方法及相关装置。

背景技术

命名实体识别(Named Entity Recognition,NER),又称作“专名识别”,是自然语言处理中的一项基础任务。命名实体一般指文本中具有特定意义或者指代性强的实体,通常包括人名、地名、机构名、日期时间、各领域的专有名词等。

目前的自然语言问答场景中,常见的实体召回方式是以深度学习模型为主,通过序列标注模型识别实体名称的提及边界,然后通过索引库文本匹配召回符合的实体。

在会话中,用户经常会省略前面提及过的部分内容,现有的基于深度学习的实体识别方法会因会话内容的缺省导致而识别不到缺省内容的实体,导致最终的识别不准确。

发明内容

针对上述问题,本申请第一方面提供一种实体召回方法,包括:

获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

获取候选实体名称集;

确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

根据所述目标字典从所述实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

对所述第四实体名称进行实体召回,得到目标命名实体。

可选地,所述对所述第四实体名称进行实体召回,得到目标命名实体,包括:

对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

可选地,所述对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体,包括:

对所述第三实体名称进行实体召回,得到第一目标命名实体集;

对所述第四实体名称进行实体召回,得到第二目标命名实体集;

确认所述第一实体名称集和所述第二实体名称集中重合的实体名称为目标命名实体。

可选地,所述实体召回方法还包括:

根据所述第三实体名的文本特征和/或所述第四实体名称的文本特征对所述目标命名实体进行评分;

按照所述评分的结果对所述目标命名实体进行排列,得到目标命名实体的排列顺序。

可选地,所述目标字典中还配置有至少一个实体名称的必要块属性;

在所述对所述第一实体名称和第二实体名称进行实体召回,得到目标命名实体之后,所述方法还包括:

根据所述目标字典检测所述目标命名实体是否存在对应的必要块属性;

若存在,检测所述候选实体名称集中是否包含所述必要块属性;

若为否,确认所述目标命名实体无效。

可选地,所述获取目标命名实体集,包括:

使用语音识别模型对目标语句进行命名实体识别,得到目标命名实体集,所述目标命名实体集包括至少两个实体名称。

可选地,所述目标语句包括对话中的当前轮次语句和历史轮次语句。

可选地,所述目标字典的标注过程包括:

使用样本字典对深度学习模型进行训练,所述样本字典包括多个已标注类型的实体名称和已标注块属性的实体名称;

使用训练完成的深度学习模型对初始字典中的实体名称进行块属性和类型进行标注,以得到目标字典。

本申请第二方面提供一种实体召回装置,该装置包括:

第一获取单元,用于获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

第二获取单元,用于获取候选实体名称集;

确认单元,用于确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

检索单元,用于根据所述目标字典从所述实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

补全单元,用于按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

召回单元,用于对所述第四实体名称进行实体召回,得到目标命名实体。

可选地,所述召回单元具体用于:

对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

可选地,所述召回单元包括:

第一召回模块,用于对所述第三实体名称进行实体召回,得到第一目标命名实体集;

第二召回模块,用于对所述第四实体名称进行实体召回,得到第二目标命名实体集;

确认模块,用于确认所述第一实体名称集和所述第二实体名称集中重合的实体名称为目标命名实体。

可选地,所述实体召回装置还包括:

评分单元,用于根据所述第三实体名的文本特征和/或所述第四实体名称的文本特征对所述目标命名实体进行评分;

排列单元,用于按照所述评分的结果对所述目标命名实体进行排列,得到目标命名实体的排列顺序。

可选地,所述目标字典中还配置有至少一个实体名称的必要块属性;所述的实体召回装置还包括:

第一检测单元,用于根据所述目标字典检测所述目标命名实体是否存在对应的必要块属性;

第二检测单元,用于在所述第一检测单元判断为是时,检测所述候选实体名称集中是否包含所述必要块属性;

无效单元,用于在所述第二检测单元判断为否时,确认所述目标命名实体无效。

可选地,所述第二获取单元具体用于:

使用语音识别模型对目标语句进行命名实体识别,得到目标命名实体集,所述目标命名实体集包括至少两个实体名称。

本申请第三方面提供一种计算机设备,包括中央处理器和存储器,所述存储器为短暂存储存储器或持久存储存储器,所述中央处理器配置为与所述存储器通信,在所述计算机设备上执行所述存储器中的指令操作以执行第一方面中任意一项所述的实体召回方法。

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

从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供的一种实体召回方法应用在自然语言识别任务时,可以将对话中缺省的文本进行补全,并根据缺省的文本内容进行联想和识别,为用户提供更准确的自然语言识别服务,得到个更加准确的实体召回结果。

附图说明

图1为本申请实施例提供的一个应用环境示意图;

图2为本申请的实体召回方法的一个实施例流程示意图;

图3为本申请的实体召回方法的一个实施例流程示意图;

图4为本申请的实体召回方法的一个实施例流程示意图;

图5为本申请的实体召回方法的一个实施例流程示意图;

图6为本申请的实体召回方法的一个实施例流程示意图;

图7为本申请的实体召回装置的一个实施例示意图;

图8为本申请的计算机设备的一个实施例示意图。

具体实施方式

本申请实施例提供了一种实体召回方法,用于在语义识别时,提高实体召回流程的识别正确率。

首先对本申请所进行的工作进行大致描述。本申请的实体召回方法主要应用于自然语言的处理中,将符合人们说话自然习惯的语言进行处理,以便于计算机得到语言的实际含义。该方法主要应用在垂直环境的QA问答场景中,例如京东的智能客服、QQ中的聊天机器人等软件,都可以使用本方案对语料进行处理,以获取与语料对应的回复内容。

自然语言通常是指一种自然地随文化演化的语言。例如,汉语、英语、日语为自然语言的例子,这一种用法可见于自然语言处理一词中。自然语言是人类交流和思维的主要工具,但是自然语言处理是人工智能中最为困难的问题之一。本申请主要解决的问题是,人们在使用自然语言进行表达时,可能省略对话中的部分语句,进而导致计算机在语言识别时无法正确获知对话所包含的实体的问题。例如,用户在手机的智能语音助手(例如苹果公司IOS系统中的Siri、VIVO手机内置的语音助手小V、微软windows操作系统的Cortana等)中,发出问句:如何办理深圳和武汉市民通闪酷卡。对于现有的自然语言识别系统来说,武汉市民通闪酷卡是容易识别的,很容易据此向用户返回武汉市民通闪酷卡的相关信息。但是,由于用户省略了“深圳”后面的“市民通闪酷卡”,导致“深圳市民通闪酷卡”是较难被识别的,系统可能不会返回“深圳市民通闪酷卡”的相关信息,本申请主要解决的就是类似情况下的语言识别问题。

现在面对垂直领域的QA场景的名词的实体识别的主要方法主要是两大类:1.以字典匹配为主,依靠现有的实体名称列表和人为丰富收集的别名列表;2.以深度学习模型为主,通过序列标注模型识别实体的提及边界,然后通过索引库文本匹配召回符合的实体。对于依赖字典匹配的方案,需要大量的人工数据工作,并且数据的完整性和质量直接决定识别的效果,人工成本过高。而对于现有的基于深度学习的实体识别方法,在面对QA场景多轮会话时,用户经常会省略前面提及过的部分内容,这时效果会不理想,并且对于一些特殊的业务规则,很难让模型学习兼顾到。

本发明主要提出了一种适应垂直领域QA场景的实体识别策略,将字典匹配和深度学习进行了深度结合,而不是简单的互相补充,很好的解决了实体提及多样性带来的人工成本,多轮会话中的部分省略带来的效果问题,以及当面对特定业务规则时难以调整的问题。本发明在字典中为实体名称配置了块属性和类型,当一个实体名称A的块属性符合另一个实体名称B的类型时,就可以尝试参照实体名称B的类型,联想出与实体名称A相关的其他实体。

请参阅图1,图1示出了一种适用于本申请实施例的应用环境示意图。本申请实施例提供的一种实体召回方法可以应该用于如图1所示的交互系统100。交互系统100包括终端设备101以及服务器102,服务器102与终端设备101通信连接。其中,服务器102可以是传统服务器,也可以是云端服务器,在此不做具体限定。

其中,终端设备101可以是具有显示屏、具有数据处理模块、具有拍摄相机、具有音频输入/输出等功能,且支持数据输入的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、自助服务终端和可穿戴式电子设备等。具体的,数据输入可以是基于电子设备上具有的语音模块输入语音、字符输入模块输入字符等。

其中,终端设备101上可以安装有客户端应用程序,用户可以基于客户端应用程序(例如APP,微信小程序等),其中,本实施例的对话机器人也是配置于终端设备101中的一个客户端应用程序。用户可以基于客户端应用程序在服务器102注册一个用户账号,并基于该用户账号与服务器102进行通信,例如用户在客户端应用程序登录用户账号,并基于该用户账号通过客户端应用程序进行输入,可以输入文字信息或语音信息等,客户端应用程序接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至终端设备101。

在一些实施方式中,对待识别语料进行处理的装置也可以设置于终端设备101上,使得终端设备101无需依赖于服务器102建立通信即可实现与用户的交互,此时交互系统100可以只包括终端设备101。

下面以用户对武汉市民闪酷卡和深圳市民通闪酷卡的咨询为例,用户提供的语料为“深圳和武汉市民通闪酷卡”时,对图2中的实体召回方法的一个处理流程图进行讲解:

201、获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

获取预设的目标字典,该字典中记录了多个实体名称。与普通的自然语言处理不同的是,目标字典中的一些实体名称还配置了对应的块属性,而另一些实体名称配置了类型。需要说明的是,一个实体名称可以同时配置有类型和块属性,作为一种较优的实施方式,字典中大部分实体名称都应配置类型。例如,目标字典中记载有“武汉市民通闪酷卡”作为一个实体名称,并且在目标字典中将“武汉市民通闪酷卡”的类型设置为card,而将“深圳”和“武汉”的类型设置为city;同时,还将“深圳”和“武汉”的块属性都设置为card_part1,表明“深圳”和“武汉”都可以作为card类型的实体名称的第一部分。

202、获取候选实体名称集;

获取对话中的候选实体名称集,所谓候选实体名称集,是指自然语言对话中提取到的多个实体名称的合集。例如,在语料为“深圳和武汉市民通闪酷卡”中,提及的实体名称就可以包括:深圳、武汉、武汉市民通闪酷卡、武汉市民、闪酷卡等实体名称。但是,由于提取实体名称的方式不同,或者该候选实体名称集也可以是其他设备或方法得到的。实体名称的提取已经是一项研究热点,目前已经存在多种实体名称的提取方法,因此本实施例对候选实体名称集的获取方式暂且不作限定,只需要将若干个实体名称确认为实体名称集即可,优选的方式是使用深度神经网络模型完成候选实体名称的提取工作。为了方便讲解,本实施例的候选实体名称集具体包括以下三个实体名称:“深圳”、“武汉”和“武汉市民通闪酷卡”。需要说明的是,步骤202与步骤201并无必然的先后顺序关系。

203、确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

从候选实体名称集所包含的实体名称中,确认一个符合条件的实体名称作为第一实体名称,该第一实体名称的文本中中包含一个配置了块属性的其他实体的名称。也就是说,第一实体名称需要满足以下三个条件:1、在目标字典中记录有第一实体名称的类型。2、第一实体名称的文本中还包含字典记录的第二实体名称。3、第二实体名称在目标字典中配置有对应的块属性。

下面对三个条件进行具体的说明。条件1的理解较为简单,例如目标字典中已经为“武汉市民通闪酷卡”这个实体名称配置了card类型,所以“武汉市民通闪酷卡”满足条件1。“武汉市民通闪酷卡”作为一个实体名称,其文本中还包含了“武汉”,而武汉在目标字典中同样有收录,因此“武汉市民通闪酷卡”也满足了条件2。此外,“武汉”作为一个实体名称,在目标字典中配置有块属性card_part1,因此满足了条件3。因此,“深圳”、“武汉”和“武汉市民通闪酷卡”中,选取“武汉市民通闪酷卡”作为第一实体名称,“武汉”是这个第一实体名称中所包含的第二实体名称,

205、根据目标字典从候选实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

从步骤202中的候选实体名称集中找出一个与第二实体名称的块属性相同的实体名称,作为第三实体名称,这里的第三实体名称很有可能就是自然语言的对话中,存在缺省的实体名称。示例中的候选实体名称集还包括“深圳”,且“深圳”和“武汉”的块属性都在目标字典中记录为card_part1,因此“深圳”就是与“武汉”块属性相同的第三实体名称。

206、按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

参照第一实体名称在目标字典中所记录的类型,对第三实体名称尝试进行联想补全,从而得到与第一实体名称的类型相同或相关的第四实体名称。在本示例中,第一实体名称“武汉市民通闪酷卡”在目标字典中所对应的类型是card,所以按照card的类型尝试对第三实体名称“深圳”进行联想补全,得到第四实体名称“深圳市民通闪酷卡”。可以理解的是,根据具体联想和补全方式的不同,第四实体名称可以在目标字典中有记载,也可以无记载。

207、对所述第四实体名称进行实体召回,得到目标命名实体。

为了便于区分,本申请将实体召回的结果称为目标命名实体。

对第四实体名称从数据库中进行实体召回,得到目标命名实体,目标命名实体的数量可以不限。实体召回是自然语言处理中已经广泛应用的技术,可以根据给出的文本在数据库中找出对应的命名实体。例如,根据“深圳市民通闪酷卡”,可以找到诸如“深圳通卡”、“深圳公交卡”、“深圳市民卡”等含义或文本与第四实体名称相关、相似的结果,但是实体召回的结果可能并非目标语句原本想表达的含义。可以理解的是,由于各个自然语言识别系统的数据库配置不同,实体召回的方法多种多样,因此具体的实体召回结果(即目标命名实体)也会不同。大部分情况下,会得到多个目标命名实体作为实体召回的结果,但是在某些情况下,由于自然语言识别系统的数据库和实体召回方法的不同,可能得不到任何目标命名实体,但是仍可以将这种情况视为实体召回所得到目标命名实体的一种结果,从而涵盖在本发明的技术方案中。

可以看出,本申请的技术方案以目标字典为核心,基于传统实体的召回方案进行了大幅度改进,使得计算机在识别自然语言时,能够对自然语言表达中缺省的部分进行补全,将原本无法识别的“深圳”补全为“深圳市民通闪酷卡”,从而正确地进行实体召回。目标字典是本技术方案的核心,目标字典的标注方法具体在后面的实施例中进行讲解。

请参见图3,在本申请的另一实施例中,对实体召回的方式进行了改进。图3所示的实体召回方法包括:

301、获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

302、获取候选实体名称集;

303、确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

304、根据目标字典从候选实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

305、按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

步骤301至305的具体流程可以参照上述对图2所示实施例中201至206的描述,在此不再赘述。

306、对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

与图2所示实施例有所不同的是,本实施例中,对第四实体名称的召回流程实际可以同时包括对第三实体名称的实体召回和第四实体名称的实体召回。由于第四实体名称由第三实体名称补全而来,那么第三实体名称必然和第四实体名称之间有着极为密切的联系。利用第三实体名称和第四实体名称之间的联系,可以对二者共同进行召回,得到更为准确的实体召回结果。

作为一种较优的实施方式,可以将第三实体名称和第四实体名称各进行一次实体召回,在此过程中,根据第三实体名称进行的实体召回结果可以记为第一目标命名实体集;根据第四实体名称进行的实体召回结果可以记为第二目标命名实体集;第一目标命名实体集和第二目标命名实体集中相同的实体名称作为目标命名实体集。换句话说,也就是将第三实体名称的实体召回结果,与第四实体名称的实体召回结果放在一起求交集,从而得到目标命名实体集。

可以理解的是,上述实施方式中,对第三实体名称和第四实体名称的实体召回过程仅仅是作为对第三实体名称和第四实体名称之间的联系的一种利用方式,对第三实体名称和第四实体名称的具体召回方法也可以按照目前已有的其他实体召回方法。重点在于,能够通过第四实体名称是由第三实体名称得来的这一特点,进行得到更准确的召回结果。

在图2或图3实施例的基础上,本申请还可以在进行实体召回得到多个目标命名实体之后,对这些目标命名实体进行打分排序。

401、获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

402、获取候选实体名称集;

403、确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

404、根据目标字典从候选实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

405、按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

406、对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

步骤401至406的具体流程可以参照上述图2实施例的201至206或图3所示实施例中301至306的描述,在此不再赘述。

407、根据所述第三实体名称的文本特征和/或第四实体名称的文本特征对所述目标命名实体进行评分;

根据第三实体名称和第四实体名称的文本特征,对步骤407中的目标命名实体集内的命名实体进行评分,具体的评分规则可以在参照目前市面上的其他命名实体的召回评分规则,其核心在于将文本特征作为一个实体召回结果的参考项即可。可以理解的是,由于存在第三实体名称和第四实体名称,因此在按照文本特征的评分时,第三实体名称和第四实体名称的文本特征在对目标命名实体的评分过程中,可能占据不同的权重,例如第三实体名称的文本特征在评分中可以占据较高的70%的权重,而第四实体名称占据其他30%的权重。一些情况下,由于评分中的权重是可以修改的,所以第三实体名称可以占据100%的权重,从而不必参照第四实体名称的文本特征评分,或者所以第四实体名称可以占据100%的权重,从而不必参照第三实体名称的文本特征评分,这两种情况同样涵盖在申请的技术方案之中。

408、按照所述评分的结果对所述目标命名实体进行排列,得到目标命名实体的排列顺序。

按照评分高低,将多个目标命名实体进行排列得到目标命名实体的排列顺序,以便后续从中筛选最符合候选实体名称集的命名实体或进行其他操作。较优的方式是,从中选取文本特征评分最高的命名实体作为第三实体名称所对应的命名实体。

在本申请的又一实施例中,还可以在目标字典中为一些实体名称(在实体召回的结果中称为命名实体)配置必要块属性,从而过滤掉一些缺乏必要块属性的目标命名实体。具体请参阅图5,该实施例包括:

501、获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性

502、获取候选实体名称集;

503、确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

504、根据目标字典确认所述第二实体名称的块属性;

505、根据目标字典从候选实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

506、按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

507、对所述第三实体名称进行实体召回,得到目标命名实体;

508、根据所述目标字典检索所述目标命名实体的必要块属性;

检查所得到的目标命名实体中的某个命名实体是否在目标字典中记录有其对应的必要块属性。此前的实施例中,用到了目标字典中对实体名称的类型和块属性的记载,目标字典中所记录的任意一个实体名称可以配置有对应的类型和/或块属性。在此基础上,还可以为任意一个实体名称配置必要块属性,用在该实体名称作为实体召回的结果出现在目标命名实体中时,验证该实体名称是否与第三实体名称存在必要的联系。

例如,在目标图2目标字典的基础上,本实施例的目标字典还记载有“深圳通卡”这一实体名称,该实体名称配置的类型是card,配置的必要块属性是“深圳通”。步骤507召回的命名实体集中如果存在一个命名实体为“深圳通卡”,那么步骤508根据目标字典的记载,找到“深圳通卡”对应的必要块属性为“深圳通”。

509、根据所述目标字典检测所述候选实体名称集中是否存在对应的必要块属性;若不存在,执行步骤510;

检验步骤501的候选实体名称集中,是否存在与步骤508中提及的必要块属性。具体来说,必要块属性是一个在目标字典中为某个实体名称(在实体召回的结果中被称为命名实体)特别定义的规则,以对实体召回的命名实体进行验证。如果满足这个规则,就认为508中的被召回的命名实体有较大概率为用户想要表达的实体名称,如果不满足这个规则,就确认这个被召回的命名实体不是用户想要表达的实体名称。步骤507召回的命名实体集中如果存在一个命名实体为“深圳通卡”,步骤508中确认“深圳通卡”对应的必要块属性为“深圳通卡”,因此在整个候选实体名称集之中进行检索,验证是否存在“深圳通”三个字构成的连续文本。如果不存在,执行步骤510。

511、确认所述目标命名实体无效。

显然,在示例中的候选实体名称集中,只包含深圳”、“武汉”和“武汉市民通闪酷卡”三个实体名称,不存在“深圳通卡”字样,所以“深圳通卡”这个命名实体不是用户想要表达的命名实体,确认“深圳通卡”这个实体召回得到的命名实体无效。

可以理解的是,图5所示实施例中,步骤507仅对第三实体名称进行了实体召回,但是本领域技术人员可以结合前述实施例,简单地将步骤507替换为对第三实体名称和第四实体名称进行实体召回后,继续实施本方案,进而完成对命名实体的必要块属性的验证过程。

作为图4所示的实施例和图5所示实施例的结合,在本申请的又一实施例中,还可以在对目标命名实体进行打分排序后,再进行图5所示的步骤508至511中的必要块属性的验证。该实施例具体如图6所示,包括:

601、获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性

602、获取候选实体名称集;

603、确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

604、根据目标字典从候选实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

605、按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

606、对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

607、根据所述第三实体名称的文本特征和/或第四实体名称的文本特征对所述目标命名实体进行评分;

608、按照所述评分的结果对所述目标命名实体进行排列,得到目标命名实体的排列顺序;

本实施例步骤601至608的具体实施方式可以与图4所示实施例的步骤401至409类似,再次不再赘述。

609、根据所述目标字典检索所述目标命名实体的必要块属性;

在得到了目标命名实体的排列顺序的基础上,可以更有选择性挑选需要验证必要块属性的命名实体。目标命名实体的评分高低,取决于这个目标命名实体与第三实体名称和/或第四实体名称的文本相似程度。目标命名实体的评分越高,就越有可能是对话中用户的自然语言真正想表达的命名实体。因此可以仅选择排名靠前的目标命名实体进行步骤610至612的必要块属性的验证,例如在对第三实体名称的实体召回中,得到了10个目标命名实体,那么用户想要表达的那个命名实体很大概率在10个候选实体名称中排名前3,因此可以仅对其中排名前3的目标命名实体验证必要块属性,以节约计算资源。在另一些实施例中,可以仅对评分在80分以上的选命名实体进行必要块属性的验证。总之,对目标命名实体的块属性的验证可以是选择性的,具体取决于目标命名实体的排列顺序或评分高低。

610、根据所述目标字典检测所述候选实体名称集中是否存在对应的必要块属性;若不存在,执行步骤611;

611、确认所述目标命名实体无效。

步骤610和611与图5所示实施例的步骤509和510类似,在此不再赘述。

可以看出,图2至图6的各个实施例中,目标字典记载的各个实体名称所对应的类型和块属性起到了重要作用。但是,收录更多的实体名称,并为更多的实体名称配置类型和块属性的工作是较为繁琐的。如果仅靠人工进行标注,会耗费相当长的时间。例如建立一个铁路交通部门的目标字典时,会将“沈阳火车站”的类型配置为station,在“沈阳”的块属性中增加一条station_part1,为了能根据沈阳火车站联想到郑州火车站、长沙火车站,在“郑州”的块属性中增加一条station_part1。依此类推,目标字典还需要为“长春”“杭州”等全国各个城市的实体名称添加station_part1的块属性。

为此,本申请的目标字典的除了人工编辑外,较为节约资源的标注方法是使用神经网络进行编辑。具体的方法是,先由人工编辑一个样本字典,在其中进行实体名称的类型及块属性的配置。然后使用神经网络模型对样本字典进行学习后,使用该神经网络模型再对一个没有配置类型和块属性的字典进行类型和块属性的标注工作,最后得到目标字典,该目标字典内收录了比样本字典更多的标注了类型或块属性的实体名称。

需要注意的是,本申请的实体召回方法以用户在终端设备上输入的自然语言为目标语句,可以根据用户自然语言所提及的实体名称进行联想和实体召回,重在解决用户自然语言中的实体名称的缺省问题,这种缺省可能是因为用户在之前的对话中已经提及了相同或相似的实体名称而出现的缺省。例如,用户在对话中先输入语句1:郑州火车站在哪?然后输入语句2:火车站附近有什么餐厅?在回答用户的语句2时,需要用户的语句1中的实体名称。因此,在多轮会话的情况下,候选实体名称集的实体名称可能来自于当前轮次会话中的语句2,也可能同时来自当前会话中的语句1和语句2。

请参阅图7,对应于上述实体召回方法,本申请还提供一种实体召回装置,该实体召回装置包括:

第一获取单元701,用于获取目标字典,所述目标字典配置有至少一个实体名称的类型和至少两个实体名称的块属性;

第二获取单元702,用于获取候选实体名称集;

确认单元703,用于确认所述候选实体名称集中的一个实体名称为第一实体名称,其中所述第一实体名称为所述目标字典中配置有类型的实体名称,且所述第一实体名称包含配置了块属性的第二实体名称;

检索单元704,用于根据所述目标字典从所述实体名称集中找出第三实体名称;所述第三实体名称的块属性与所述第二实体名称的块属性相同;

补全单元705,用于按照所述第一实体名称的类型对所述第三实体名称进行补全,得到第四实体名称;

召回单元706,用于对所述第四实体名称进行实体召回,得到目标命名实体。

可选的,在一些实施例中,所述召回单元706具体用于:

对所述第三实体名称和第四实体名称进行实体召回,得到目标命名实体。

可选的,在一些实施例中,所述召回单元706具体包括:

第一召回模块7061,用于对所述第三实体名称进行实体召回,得到第一目标命名实体集;

第二召回模块7062,用于对所述第四实体名称进行实体召回,得到第二目标命名实体集;

确认模块7063,用于确认所述第一实体名称集和所述第二实体名称集中重合的实体名称为目标命名实体。

可选的,在一些实施例中,所述实体召回装置还包括:

评分单元707,用于根据所述第三实体名的文本特征和/或所述第四实体名称的文本特征对所述目标命名实体进行评分;

排列单元708,用于按照所述评分的结果对所述目标命名实体进行排列,得到目标命名实体的排列顺序。

可选的,请参阅图在一些实施例中,所述目标字典中还配置有至少一个实体名称的必要块属性;所述实体召回装置还包括:

第一检测单元709,用于根据所述目标字典检测所述目标命名实体是否存在对应的必要块属性;

第二检测单元710,用于在所述第一检测单元判断为是时,检测所述候选实体名称集中是否包含所述必要块属性;

无效单元711,用于在所述第二检测单元判断为否时,确认所述目标命名实体无效。

可选的,在一些实施例中,所述第二获取单元702具体用于:

使用语音识别模型对目标语句进行命名实体识别,得到目标命名实体集,所述目标命名实体集包括至少两个实体名称。

图8为本申请提供的一种计算机设备,计算机设备800可以包括一个或一个以上中央处理器(central processing units,CPU)801和存储器805,该存储器805中存储有一个或一个以上的应用程序或数据。其中,存储器805可以是易失性存储或持久存储。存储在存储器805的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备800中的一系列指令操作。更进一步地,中央处理器801可以设置为与存储器805通信,在计算机设备800上执行存储器805中的一系列指令操作。计算机设备800还可以包括一个或一个以上电源802,一个或一个以上有线或无线网络接口803,一个或一个以上输入输出接口804,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。该中央处理器801可以执行前述图2至图6所示实施例中的对应操作。

本申请实施例还出示一种计算机可读存储介质,该计算机可读存储介质中存储有程序代码,其中,在所述程序代码由处理器运行时,可以控制处理器执行图2至图6中任一实施例所示的实体召回方法。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种实体召回方法及相关装置
  • 一种基于多路召回的医疗文本命名实体识别方法
技术分类

06120112169062