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

命名实体识别方法、装置、设备及计算机可读存储介质

文献发布时间:2023-06-19 11:32:36


命名实体识别方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及人工智能技术领域,尤其涉及一种命名实体识别方法、装置、设备及计算机可读存储介质。

背景技术

人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。其中,自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,该研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以自然语言处理与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

相关技术中对文本数据中的命名实体的提取方案,准确度较低。

发明内容

本申请实施例提供一种命名实体识别方法、装置、设备及计算机可读存储介质,能够提升命名实体识别的准确性。

本申请实施例的技术方案是这样实现的:获取待识别文本的多个字符;确定多个字符中每一字符对应的字符向量集合;字符向量集合包括字符在多种语义维度下的向量;多种语义维度至少包括词汇维度和实体维度;基于每一字符对应的字符向量集合,生成每一字符对应的实体字符向量;实体字符向量用于表征字符对应的实体信息;根据每一字符对应的实体字符向量,确定待识别文本中的实体文本和实体文本的实体类型。

在本申请的一些实施例中,所述根据每一候选实体的先验向量,确定每一字符对应的待融合实体向量,包括:获取字符对应的至少一个候选集合;候选集合包括多个候选实体和每一候选实体的先验向量;基于每一候选集合,获取每一候选集合对应的候选向量;根据每一候选集合对应的候选向量,确定字符对应的待融合实体向量。

在本申请的一些实施例中,所述基于每一候选集合,获取每一候选集合对应的候选向量,包括:获取候选集合中每一候选向量的词频信息;根据每一候选向量的词频信息对候选集合中的每一候选向量进行加权平均,得到候选集合对应的候选向量。

在本申请的一些实施例中,所述获取字符对应的至少一个候选集合,包括:获取字符对应的第一候选集合、第二候选集合和第三候选集合;第一候选集合包括多个第一候选实体和每一第一候选实体的第一先验向量,第一候选实体为实体起始字符为字符的候选实体;第二候选集合包括多个第二候选实体和每一第二候选实体的第二先验向量,第二候选实体为实体中间字符为字符的候选实体;第三候选集合包括多个第三候选实体和每一第三候选实体的第三先验向量,第三候选实体为实体结束字符为字符的候选实体;所述基于每一候选集合,获取每一候选集合对应的候选向量,包括:基于第一候选集合中的多个第一先验向量确定第一候选向量;基于第二候选集合中的多个第二先验向量确定第二候选向量;基于第三候选集合中的多个第三先验向量确定第三候选向量;所述根据每一候选集合对应的候选向量,确定字符对应的待融合实体向量,包括:根据第一候选向量、第二候选向量和第三候选向量,确定字符对应的待融合实体向量。

本申请实施例提供一种命名实体识别装置,所述装置包括:获取模块,用于获取待识别文本的多个字符;确定模块,用于确定所述多个字符中每一所述字符对应的字符向量集合;所述字符向量集合包括所述字符在多种语义维度下的向量;多种语义维度至少包括词汇维度和实体维度;生成模块,用于基于每一所述字符对应的字符向量集合,生成每一所述字符对应的实体字符向量;所述实体字符向量用于表征所述字符对应的实体信息;识别模块,用于根据每一所述字符对应的实体字符向量,确定所述待识别文本中的实体文本和所述实体文本的实体类型。

本申请实施例提供一种命名实体识别设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的命名实体识别方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的命名实体识别方法。

本申请实施例具有以下有益效果:

本申请实施例通过确定多个字符中每一字符对应的字符向量集合;字符向量集合包括字符在多种语义维度下的向量;多种语义维度至少包括词汇维度和实体维度;基于每一字符对应的字符向量集合,生成每一字符对应的实体字符向量;实体字符向量用于表征字符对应的实体信息;根据每一字符对应的实体字符向量,确定待识别文本中的实体文本和实体文本的实体类型。可以提高命名实体识别过程中的实体文本及实体类型获取的准确度。

附图说明

图1是本申请实施例提供的命名实体识别系统的一个可选的架构示意图;

图2是本申请实施例提供的命名实体识别设备的结构示意图;

图3是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图4是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图5是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图6是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图7A是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图7B是本申请实施例提供的一个可选的全连接网络示意图;

图8是本申请实施例提供的命名实体识别方法的一个可选的流程示意图;

图9是本申请实施例提供的一个可选的实体标签应用示意图;

图10是本申请实施例提供的一个可选的用户画像示意图;

图11是本申请实施例提供的一个可选的预训练语言模型示意图;

图12是本申请实施例提供的一个可选的命名实体模型示意图;

图13是本申请实施例提供的一个可选的命名实体模型示意图;

图14是本申请实施例提供的一个可选的命名实体模型示意图;

图15是本申请实施例提供的一个可选的知识表示模型示意图;

图16是本申请实施例提供的一个可选的行业知识图谱数据示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使在本实施例中描述的本申请实施例能够以除了在在本实施例中图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

本申请实施例提供的方案涉及人工智能的计算机视觉技术等技术,具体通过如下实施例进行说明:

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例所涉及自然语言处理技术。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

(1)基于转换器的双向编码表征(Bidirectional Encoder Representation fromTransformers,BERT):一种采用双向编码器表示法的自然语言处理预训练技术。

(2)命名实体识别:命名实体识别(Named Entity Recognition,NER),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等文字。本申请将命名实体简称为实体。

(3)多行业:关注的是各个行业内的细粒度实体,例如,可以涉及多个行业中的多种实体类型。

(4)多分类:表示分类任务中有多个类别,比如对一堆水果图片分类,它们可能是橘子、苹果、梨等。多分类是假设每个样本都被设置了一个且仅有一个标签,一个水果可以是苹果或者梨,但是同时不可能是两者。

(5)知识图谱:知识图谱(Knowledge Graph)本质上是一种大规模语义网络(semantic network),富含实体(entity)、概念(concept)、属性(attribute)以及各种语义关系(relationship)。

(6)归一化:归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,使得处理更加便捷快速。

(7)Attention机制:Attention机制就是对输入的每个元素考虑不同的权重参数,从而更加关注与输入的元素相似的部分,而抑制其它无用的信息。其最大的优势就是能一步到位的考虑全局联系和局部联系,且能并行化计算,这在大数据的环境下尤为重要。

(8)前向最大匹配:前向最大匹配就是将一段字符串进行分隔,其中分隔的长度有限制,然后将分隔的子字符串与字典中的词进行匹配,如果匹配成功则进行下一轮匹配,直到所有字符串处理完毕,否则将子字符串从末尾去除一个字,再进行匹配,如此反复。

(9)TransE模型:TransE的直观含义,就是TransE基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译(translating,向量相加),通过不断调整h、r和t(head、relation和tail的向量),使(h+r)尽可能与t相等,即h+r=t。

参见图1,图1是本申请实施例提供的命名实体识别系统100的一个可选的架构示意图,为实现支撑一个命名实体识别应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。图1还示出了服务器200可以为服务器集群,该服务器集群包括服务器200-1至200-3,同样地,服务器200-1至200-3可以是实体机器,也可以是利用虚拟化技术(如容器技术及虚拟机技术等)构建的虚拟机器,本申请实施例对此不做限定,当然,在本实施例中也可使用单个服务器来进行服务的提供。

参见图2,图2是本申请实施例提供的命名实体识别设备500的结构示意图,图2所示的命名实体识别设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。命名实体识别设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。

处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。

在本申请的一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在本申请的一些实施例中,本申请实施例提供的命名实体识别装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的命名实体识别装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的命名实体识别方法。

在本申请的一些实施例中,本申请实施例提供的命名实体识别装置可以采用软件方式实现,图2示出了存储在存储器550中的命名实体识别装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、确定模块5552、生成模块5553和识别模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的命名实体识别方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。

将结合本申请实施例提供的终端的示例性应用和实施,在本申请实施例中,将以终端为执行主体说明本申请实施例提供的命名实体识别方法。

参见图3,图3是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。

在步骤301中,获取待识别文本的多个字符。

在本申请的一些实施例中,其中,待识别文本是指待识别的文本信息。比如,新闻文本、对话文本、论文文本,等等。该待识别文本中可以多个按照顺序排列的字符。该字符包括但不限于是各种语言中的文字、数字、符号等。其中,还可以按场景类型的不同,将该待识别文本分为需要处理广告、APP描述、电商标题、资讯文章等多个场景的文本数据。该待识别文本还可以是用户感兴趣的内容文本,例如,用户浏览、点击、收藏或购买过的内容文本。

在本申请的一些实施例中,获取上述待识别文本的方式具有多种。比如,可以直接获取用户在终端上输入的待识别文本,也可以通过网络从数据库中获取待识别文本,还可以由其它媒体转换获得,等等。比如,可以获取目标用户的用户音频、视频、图片、动态图像等等不同类型的媒体数据,并将这些媒体数据转换为文本类型的待识别文本。

例如,可以获得目标用户的提问语音,并对该提问语音进行语音转换处理,得到该提问语音对应的待识别文本。还可以获得目标用户的用户照片,并采用图像识别的方式提取该用户照片中的关键字信息,从而根据该关键字信息得到对应的待识别文本。

在步骤302中,确定所述多个字符中每一所述字符对应的字符向量集合;所述字符向量集合包括所述字符在多种语义维度下的向量。

在本申请的一些实施例中,针对该待识别文本中的每一字符,可以获取多种语义维度下每一个字符对应的向量,以得到每一个字符对应的字符向量集合。也就是说,对于一个字符,可以获取该字符在多种语义维度下的向量,以得到该字符对应的字符向量集合。相应地,该字符向量集合包括该字符在多种语义维度下的向量。

在本申请的一些实施例中,字符对应的字符向量集合包括多个向量,所述多个向量可以与多种语义维度相对应。其中,该字符向量集合对应的多种语义维度可以包括以下至少之一:字符本身的语义信息、字符的全局语义信息、字符的位置语义信息、字符在词汇维度中的语义信息和字符在实体维度中的语义信息。

在本申请的一些实施例中,字符向量集合中的多个向量中,不同的向量对应不同的语义维度,即若字符向量集合中存在N个向量,该N个向量可以对应N种不同的语义维度;在本申请的另一些实施例中,可以存在多个向量对应一种语义维度,即若字符向量集合中存在N个向量,该N个向量可以对应N种或少于N种不同的语义维度。需要说明的是,一个向量只能对应一种语义维度,而一种语义维度可以对应多个向量。

在步骤303中,基于每一所述字符对应的字符向量集合,生成每一所述字符对应的实体字符向量;所述实体字符向量用于表征所述字符对应的实体信息。

其中,每一字符对应的字符实体向量融合了该字符向量集合中的多个向量。该实体字符向量由于已经融合了该字符在多个语义维度下的特征,因此,该实体字符向量包含了所述字符对应的实体信息,实体信息可以表征该字符是否属于实体文本中的字符;在该字符属于实体文本中的字符的情况下,该实体信息还可以表征该字符在实体文本中的位置,和该字符所在的实体文本的实体类型。

在本申请的一些实施例中,可以通过以下方式实现上述步骤303:对于每一个字符,可以基于该字符对应的字符向量集合,将该字符向量集合中的至少一个向量进行加权求和,以确定该字符对应的实体字符向量。

在本申请的一些实施例中,还可以通过以下方式实现上述步骤303:通过预先训练好的语言模型对每一字符对应的字符向量集合进行分析,并输出每一字符对应的实体字符向量。其中,该语言模型可以为BERT模型,还可以为ERNIE(Enhanced Representation fromKnowledge IntEgration)模型、XLNET模型、SpanBERT模型中的任意一种,本申请对此不作限定。

在步骤304中,根据每一所述字符对应的实体字符向量,确定所述待识别文本中的实体文本和所述实体文本的实体类型。

通过本申请实施例对于图3的上述示例性实施可知,本申请实施例通过确定多个字符中每一字符对应的字符向量集合;字符向量集合包括字符在多种语义维度下的向量;基于每一字符对应的字符向量集合,生成每一字符对应的实体字符向量;实体字符向量用于表征字符对应的实体信息;根据每一字符对应的实体字符向量,确定待识别文本中的实体文本和实体文本的实体类型。可以提高命名实体识别过程中的实体文本及实体类型获取的准确度。

参见图4,图4是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,基于图3,图3中的步骤302还可以包括步骤401、步骤402,将结合图4示出的步骤进行说明。

在步骤401中,将所述待识别文本输入预设的第一语言模型中,通过所述第一语言模型获取所述每一所述字符对应的字特征向量;所述字特征向量包括所述字符对应的字符向量、位置向量和片段向量。

在本申请的一些实施例中,该第一语言模型可以为BRRT模型,将每一字符输入至该BERT模型中,可以得到BERT模型对每一字符在字符本身的语义信息、字符的全局语义信息、字符的位置语义信息等语义维度上的向量表示。也就是说,在将每一字符输入至该BERT模型后,可以得到该BERT模型输出的每一字符对应的字符向量、位置向量和片段向量。

其中,字符向量是将待识别文本中的字符转化为向量进行表示,用于表征字符本身的语义信息;片段向量是用于刻画文本的全局语义信息,并与文本中字的语义信息相融合,即用于表征字符的全局语义信息;位置向量则是为了区分在文本中不同位置出现的字符所携带的不同语义信息(比如:“我爱你”和“你爱我”)而附加的向量,即用于表征字符的位置语义信息。

在步骤402中,提取待识别文本中的至少一个待识别词的词边界信息;基于至少一个待识别词的词边界信息,生成每一字符对应的词特征向量。

在本申请的一些实施例中,为了获取待识别文本中实体文本及实体类型的准确度,需要获取字符在“词”的语义维度上的特征信息,也就是说,根据每一字符相对于该字符对应的待识别词的特征信息。其中,上述特征信息可以包括实体维度上的特征信息和词汇维度上的特征信息。可以通过以下方式实现每一字符对应的词特征向量的获取:

获取该待识别文本中的至少一个待识别词及每一待识别词对应的词边界信息。其中,可以通过该获取至少一个待识别词的词边界信息,以确定该待识别文本中的至少一个待识别词。例如,对于待识别文本为“南京建设新南京大桥”,该待识别文本中的各字符可以简称为“字符N”,其中,“字符1”为“南”,“字符4”为“设”,依次类推。获取该待识别文本中的待识别词为“南京”、“建设”、“新”、“南京大桥”;对于“南京大桥”,该待识别词的边界信息可以包括“南”为开始字符、“桥”为结束字符、“京”为第二字符或中间字符、“大”为第三字符或中间字符。

确定字符对应的待识别词,根据该待识别词的词边界信息确定该字符的对应的词特征向量。例如,对于字符1,可以确定该字符1对应的待识别词为“南京”,根据“南京”的词边界信息“南”为开始字符、“京”为第二字符或结束字符。因此,可以将字符1对应的词特征向量设置为用于表征开始字符的向量。

在本申请的一些实施例中,所述词特征向量包括以下至少之一:词汇边界向量和实体边界向量。其中,在该词特征向量包括词汇边界向量和实体边界向量的情况下,一个字符可以对应词汇边界向量和实体边界向量两种词特征向量。

通过本申请实施例对于图4的上述示例性实施可知,本申请实施例通过获取每个字符的字特征向量和词特征向量,可以得到每一字符在“字”维度上的特征的同时,得到每一字符在“词”维度上的特征,进一步提升了实体识别时的准确度。

参见图5,图5是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,基于图4,图4中的步骤402还可以包括步骤501、步骤502,将结合图5示出的步骤进行说明。

在步骤501中,对待识别文本进行分词,得到待识别文本中的至少一个待识别词汇的词汇边界信息;基于至少一个待识别词汇的词汇边界信息,生成每一字符对应的词汇边界向量;词汇边界向量用于表征字符在与字符对应的待识别词汇中的位置。

在本申请的一些实施例中,在该词特征向量包括词汇边界向量的情况下,可以利用该待识别文本中包含的待识别词汇确定每一字符对应的词汇边界向量。该词汇边界向量用于表征该待识别词汇中各字符的位置特征。

其中,可以采用预设的分词工具对该待识别文本进行分割/分词,得到多个待识别词汇,基于已经得到的待识别词汇,可以得到该待识别词汇的词汇边界信息。需要说明的是,所述多个待识别词汇可以按照排列顺序重新组合得到该待识别文本。

例如,基于上述举例,在待识别文本为“南京建设新南京大桥”的情况下,若采用上述的分词工具进行分割,可以得到“南京”、“建设”、“新”、“南京大桥”4个待识别词汇。对于“南京大桥”,该待识别词汇的词汇边界信息可以包括:“南”为词汇开始字符、“桥”为词汇结束字符、“京”为词汇第二字符或词汇中间字符、“大”为词汇第三字符或词汇中间字符。

在本申请的一些实施例中,基于至少一个待识别词汇的词汇边界信息,生成每一字符对应的词汇边界向量。其中,可以预设的词汇边界信息与词汇边界向量的转换规则,根据该转换规则得到每一字符对应的词汇边界向量。

例如,可以对词汇边界信息中字符的不同位置设置不同的词汇边界向量的映射关系,对每一个字符进行BMES的向量表示,其中B代表词汇的开始,M代表词汇的中间,E代表词汇的结尾,S代表字符单独成词。基于上述举例,对于“南京建设新南京大桥”,“南”为“南京”的词汇开始字符,词汇边界向量可以设置为E

在步骤502中,根据预设的实体词典,获取待识别文本中的至少一个待识别实体的实体分割信息;基于至少一个待识别词汇的实体分割信息,生成每一字符对应的实体边界向量;实体边界向量用于表征字符在与字符对应的待识别词汇中的位置。

在本申请的一些实施例中,在该词特征向量包括实体边界向量的情况下,可以利用该待识别文本中包含的待识别实体确定每一字符对应的实体边界向量。该实体边界向量用于表征该待识别实体中各字符的位置特征。

在本申请的一些实施例中,可以通过预设的实体词典获取该待识别文本中的至少一个待识别实体,及每一待识别实体的实体分割信息。例如,可以利用最大匹配算法依次提取该待识别文本中的部分字符在所述实体词典中进行匹配,以得到对应的待识别实体。其中,该最大匹配算法可以包括前向最大匹配算法和后向最大匹配算法。需要说明的是,在待识别文本中,可能存在不属于实体的字符,因此,所述多个待识别实体有可能不能按照排列顺序重新组合得到该待识别文本。

例如,基于上述举例,在待识别文本为“南京建设新南京大桥”的情况下,若采用上述的最大匹配算法进行提取,可以得到“南京”、“南京大桥”2个待识别实体。对于“南京大桥”,该待识别实体的实体分割信息可以包括:“南”为实体起始字符、“桥”为实体结束字符、“京”为实体第二字符或实体中间字符、“大”为实体第三字符或实体中间字符。

在本申请的一些实施例中,基于至少一个待识别实体的实体分割信息,生成每一字符对应的实体边界向量。其中,可以预设的实体边界信息与实体边界向量的转换规则,根据该转换规则得到每一字符对应的实体边界向量。

例如,可以对实体边界信息中字符的不同位置设置不同的实体边界向量的映射关系,对每一个字符进行BMESO的向量表示,其中B代表实体的开始,M代表实体的中间,E代表实体的结尾,S代表字符单独成一个实体;O代表当前字符不是实体的一部分。基于上述举例,对于“南京建设新南京大桥”,“南”为“南京”的实体起始字符,实体边界向量可以设置为E

需要说明的是,本申请可以同时将字符的词汇边界向量和实体边界向量作为该字符的词特征向量;也可以仅仅将词汇边界向量作为该字符的词特征向量;还可以仅仅将实体边界向量作为该字符的词特征向量。

通过本申请实施例对于图5的上述示例性实施可知,本申请实施例通过获取每个字符的实体边界向量和词汇边界向量,可以得到每一字符在“实体”维度上的特征的同时,得到每一字符在“词汇”维度上的特征,在进行实体提取时可以关注到字符对应的词汇先验信息和实体先验信息,进而提升了实体识别时的准确度。

参见图6,图6是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,基于图3,图3中的步骤303更新为步骤601,将结合图6示出的步骤进行说明。

在步骤601中,将每一字符对应的字符向量集合输入至预设的第二语言模型中,得到第二语言模型输出的每一字符对应的实体字符向量。

在本申请的一些实施例中,该第二语言模型为图3对应实施例中的预先训练好的语言模型。需要说明的是,该第二语言模型可以与上述第一语言模型相同,均为BERT模型;也可以与上述第一语言模型不同,本申请对此不作限定。

在本申请的一些实施例中,在将每一字符对应的字符向量集合输入至该预设的第二语言模型之前,可以先将每一字符对应的字符向量融合为每一字符对应的待输入字符向量。通过该实施例,可以在保留多语义特征维度的情况下,降低第二语言模型的数据计算量。

例如,可以通过以下方式实现上述步骤601:

在步骤6011中,获取字符向量集合对应的权重参数;权重参数包括字符向量集合中每一维度对应的权重。

在本申请的一些实施例中,该权重参数包括该字符向量集合中每一语义维度对应的权重。例如,在该字符向量集合包括词特征向量和字特征向量两种维度下的向量时,该字符向量集合对应的权重参数至少包括词特征向量对应的权重和字特征向量对应的权重。

在本申请的一些实施例中,本申请可以根据该字符向量集合中包括的各向量的维度种类,确定该字符向量集合对应的目标权重参数。其中,本申请预先针对不同维度的组合设置不同的待选权重参数,在选取权重参数时,会根据该字符向量集合包含的维度在待选权重参数中选择字符向量集合对应的权重参数。

例如,若该字符向量集合包括词特征向量和字特征向量两种维度下的向量,则会将“词特征向量+字特征向量”的组合对应的待选权重参数确定为该字符向量集合对应的权重参数,若该字符向量集合包括字符向量、位置向量、片段向量和词汇边界向量四种维度下的向量,会将“字符向量+位置向量+片段向量+词汇边界向量”的组合对应的待选权重参数确定为该字符向量集合对应的权重参数。

在步骤6012中,根据每一维度对应的权重,对字符在不同维度下的字符向量进行融合,得到待输入字符向量。

在步骤6013中,将每一字符对应的待输入字符向量输入至预设的第二语言模型中,得到第二语言模型输出的每一字符对应的实体字符向量。

通过本申请实施例对于图6的上述示例性实施可知,本申请实施例针对不同维度组合的字符向量集合设置不同的待选权重参数,可以提升实体识别的准确性。

参见图7A,图7A是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,基于图3,图3中的步骤304更新为步骤701至步骤703,将结合图7A示出的步骤进行说明。

在步骤701中,根据每一字符对应的实体字符向量构建每一字符对应的字符特征向量。

在本申请的一些实施例中,可以仅仅将该每一字符对应的实体字符向量确定为每一字符对应的字符特征向量。

在本申请的一些实施例中,还可以根据每一字符对应的实体字符向量和每一字符对应的待融合向量集合,生成每一字符对应的字符特征向量。其中,该待融合向量集合用于表征字符在词组维度下的向量。由于在每一字符对应的实体字符向量的基础上,融合了每一字符在词组维度下的向量,可以使得对字符进行实体分类的过程中,可以进一步考虑到字符在词组维度上的特征,进而提升了实体文本提取的准确性,也提升了实体类型识别的准确性。

在步骤702中,将每一字符对应的字符特征向量输入至预设的第三语言模型中,得到每一字符对应的实体文本分割结果;实体文本分割结果包括实体边界信息和实体类型信息。

在本申请的一些实施例中,该第三语言模型包括起始边界层和结束边界层,其中,该起始边界层用于确定字符是否为实体文本的开始字符,及该字符对应的实体文本的实体类型;该结束边界层用于确定字符是否为实体文本的结束字符,及该字符对应的实体文本的实体类型。其中,该起始边界层和结束边界层可以为图7B所示的全连接网络。

在本申请的一些实施例中,可以通过以下方式实现上述步骤702:

在步骤7021中,将每一字符对应的字符特征向量输入至起始边界层,得到起始边界层输出的每一字符对应的起始边界向量。

在步骤7022中,将每一字符对应的起始边界向量和字符特征向量输入至结束边界层,得到结束边界层输出的每一字符对应的结束边界向量。

需要说明的是,该第三语言模型中包括的起始边界层和结束边界层的输入均包括步骤702得到的每一字符对应的字符特征向量,其中,相比于该起始边界层的输入,结束边界层的输入不仅包括了字符对应的字符特征向量,还包括了该字符在输入至起始边界层之后得到的起始边界向量。

在步骤7023中,根据每一字符对应的起始边界向量确定每一字符的实体起始分割结果;实体起始分割结果用于表征字符是否为实体起始字符和实体类型。

在步骤7024中,根据每一字符对应的结束边界向量确定每一字符的实体结束分割结果;实体结束分割结果用于表征字符是否为实体结束字符和实体类型。

在步骤7025中,根据每一字符对应的实体起始分割结果和实体结束分割结果,确定每一字符对应的实体文本分割结果。

在步骤703中,根据每一字符对应的实体边界信息和实体类型信息,获取待识别文本中的实体文本和实体文本的实体类型。

在本申请的一些实施例中,基于每一字符对应的实体边界信息和实体类型信息,可以确定每一字符是否为实体中的字符,在该字符为实体字符的情况下,可以得到该字符对应的实体类型,还可以得到该字符为对应实体文本的实体起始字符或实体结束字符。进一步的,通过各实体类型的实体起始字符和实体结束字符,可以得到各实体类型的实体文本。

例如,若输入的待识别文本为“南京建立新南京大桥”,可以得到分类结果包括:第一个“南”为类别为“51”类的实体,且为实体起始字符,第一个“京”为类别为“51”类的实体,且为实体结束字符;第二个“南”为类别为“52”类的实体,且为实体起始字符,“桥”为类别为“52”类的实体,且为实体结束字符,则可以得到类别为“51”类的实体“南京”和类别为“52”类的实体“南京大桥”。

通过本申请实施例对于图7A的上述示例性实施可知,本申请实施例通过设置不同层来对字符进行实体起始字符或实体结束字符的判断,使得第三语言模型中的起始边界层对实体起始字符的识别准确度更高,也使得第三语言模型中结束边界层对实体结束字符的识别准确度更高;由于在每一字符对应的实体字符向量的基础上,融合了每一字符在词组维度下的向量,可以使得对字符进行实体分类的过程中,可以进一步考虑到字符在词组维度上的特征,进而提升了实体文本提取的准确性,也提升了实体类型识别的准确性。

参见图8,图8是本申请实施例提供的命名实体识别方法的一个可选的流程示意图,基于图7A,图7A中的步骤701还可以包括步骤801至步骤802,将结合图8示出的步骤进行说明。

在步骤801中,基于所述待识别文本,确定每一所述字符对应的待融合向量集合;所述待融合向量集合包括所述字符在不同词组维度下的向量。

在本申请的一些实施例中,由于第二语言模型比较关注待识别文本中单个字符在各个语义维度下的特征,因此,在进行实体文本及实体类型的获取过程中,为了提升实体文本及实体类型的识别准确性,本申请还对每一字符对应的实体字符向量设置用于体现字符在不同词组维度下的向量,即,确定每一字符对应的待融合向量集合;所述待融合向量集合包括所述字符在不同词组维度下的向量。

在本申请的一些实施例中,待融合向量集合包括以下至少之一:待融合词汇向量和待融合实体向量。其中,该待融合词汇向量为字符在词汇维度下的向量;该待融合实体向量为字符在实体维度下的向量。

在步骤802中,基于每一所述字符对应的待融合向量集合,对每一所述字符对应的实体字符向量进行融合处理,得到每一所述字符对应的字符特征向量。

在本申请的一些实施例中,获取该待融合向量集合中每一个向量对应的降权权重,并通过以下方式完成对每一所述字符对应的实体字符向量进行融合处理:确定该待融合向量集合中每一个向量与对应的降权权重的乘积作为中间向量,将该中间向量与该实体字符向量的和确定为所述字符特征向量。

在本申请的一些实施例中,可以根据该待融合向量集合中包含的向量类型,确定融合处理中该待融合向量集合中各个向量的降权权重。例如,待融合向量集合包括以下至少之一:待融合词汇向量和待融合实体向量,在待融合向量集合仅包括待融合词汇向量的情况下,该待融合词汇向量对应的降权权重为A1;在待融合向量集合仅包括待融合实体向量的情况下,该待融合实体向量对应的降权权重为B1;在待融合向量集合包括待融合词汇向量和待融合实体向量的情况下,该待融合词汇向量对应的降权权重为A2、该待融合实体向量对应的降权权重为B2。其中,A1和A2可以相同也可以不相同,B1和B2可以相同也可以不相同。

在本申请的一些实施例中,在待融合向量集合包括待融合词汇向量的情况下,上述基于待识别文本,确定每一字符对应的待融合向量集合,包括:根据待识别文本中的至少一个待识别词汇的词汇边界信息,和每一字符对应的实体字符向量,获取每一字符对应的待融合词汇向量;待融合词汇向量用于表征字符在词汇维度下的语义特征。上述基于每一字符对应的待融合向量集合,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量,包括:基于每一字符对应的待融合词汇向量,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

其中,可以通过以下方式实现步骤801。例如,通过公式(1)获取字符对应的待融合词汇向量。

E

其中,Attention(.)为Attention机制,就是对输入的每个元素考虑不同的权重参数,从而更加关注与输入的元素相似的部分,而抑制其它无用的信息;E

之后,可以通过以下方式实现步骤802。例如,通过公式(2)对每一所述字符对应的实体字符向量进行融合处理。

O

其中,O

在本申请的一些实施例中,在待融合向量集合包括待融合词汇向量和待融合实体向量的情况下,上述基于待识别文本,确定每一字符对应的待融合向量集合包括:获取每一字符对应的候选实体集合;候选实体集合包括多个包含字符的候选实体和每一候选实体的先验向量;根据每一候选实体的先验向量,确定每一字符对应的待融合实体向量;上述基于每一字符对应的待融合向量集合,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量,包括:基于每一字符对应的待融合词汇向量和每一字符对应的待融合实体向量,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

在本申请的一些实施例中,在待融合向量集合包括待融合实体向量的情况下,上述基于待识别文本,确定每一字符对应的待融合向量集合包括:获取每一字符对应的候选实体集合;候选实体集合包括多个包含字符的候选实体和每一候选实体的先验向量;根据每一候选实体的先验向量,确定每一字符对应的待融合实体向量;上述基于每一字符对应的待融合向量集合,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量,包括:基于每一字符对应的待融合实体向量,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

在本申请的一些实施例中,可以通过以下方式实现上述根据每一候选实体的先验向量,确定每一字符对应的待融合实体向量:获取字符对应的至少一个候选集合;候选集合包括多个候选实体和每一候选实体的先验向量;基于每一候选集合,获取每一候选集合对应的候选向量;根据每一候选集合对应的候选向量,确定字符对应的待融合实体向量。

在本申请的一些实施例中,可以通过以下方式实现上述基于每一候选集合,获取每一候选集合对应的候选向量:获取候选集合中每一候选向量的词频信息;根据每一候选向量的词频信息对候选集合中的每一候选向量进行加权平均,得到候选集合对应的候选向量。

其中,在候选实体集合包括第一候选集合、第二候选集合和第三候选集合的情况下,可以通过以下方法实现上述获取字符对应的至少一个候选集合:获取字符对应的第一候选集合、第二候选集合和第三候选集合;第一候选集合包括多个第一候选实体和每一第一候选实体的第一先验向量,第一候选实体为实体起始字符为字符的候选实体;第二候选集合包括多个第二候选实体和每一第二候选实体的第二先验向量,第二候选实体为实体中间字符为字符的候选实体;第三候选集合包括多个第三候选实体和每一第三候选实体的第三先验向量,第三候选实体为实体结束字符为字符的候选实体。

在本申请的一些实施例中,可以通过以下方法实现上述基于每一候选集合,获取每一候选集合对应的候选向量:基于第一候选集合中的多个第一先验向量确定第一候选向量;基于第二候选集合中的多个第二先验向量确定第二候选向量;基于第三候选集合中的多个第三先验向量确定第三候选向量。

在本申请的一些实施例中,可以通过以下方法实现上述根据每一候选集合对应的候选向量,确定字符对应的待融合实体向量:根据第一候选向量、第二候选向量和第三候选向量,确定字符对应的待融合实体向量。

其中,可以通过以下方式实现步骤801。例如,通过公式(3)获取字符对应的待融合实体向量。该待融合实体向量可以视为字符对应的实体表示。

E

其中,E

对于Emb(.),若存在一个候选集合G为{entity1、entity2、entity3},可以获取该候选集合G中各实体对应的词频权重,entity1对应G1,entity2对应G2,entity3对应G3,若按照实体出现频率从高到低进行排序得到“entity1、entity2、entity3”,其中entity1出现的频率最高,entity3出现的频率最低,对应地,“G1>G2>G3”,之后,可以根据“G1、G2、G3”对该候选集合G中各实体对应的先验向量进行加权平均,以得到Emb(G)。

之后,可以通过以下方式实现步骤802。例如,通过公式(4)对每一所述字符对应的实体字符向量进行融合处理。

O

其中,O

在本申请的一些实施例中,还可以通过以下方式实现步骤802。例如,通过公式(5)对每一所述字符对应的实体字符向量进行融合处理。

O

其中,O

通过本申请实施例对于图8的上述示例性实施可知,本申请实施例通过对原始的待识别文本进行分词,可以获取到每一字符对应的词汇先验信息;通过对原始的待识别文本进行实体查询,可以获取到每一字符对应的实体先验信息,因而可以得到更加准确的识别结果。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

发明人经过研究发现,多场景多行业命名实体识别模型对于未登录实体的表现较差,主要是因为实体信号难以通过内部组合语义学到,而行业知识图谱中有1900万实体,4700万三元组,因此,发明人基于行业知识图谱做知识增强,提升了模型对命名实体识别的效果。

现有的知识增强方法一般是采用Lattice长短期记忆网络(Lattice Long Short-Term Memory,Lattice LSTM)模型,知识增强通过一个固定词表来实现,具体地,通过词汇信息(词典)匹配一个句子时,可以获得一个类似Lattice的结构,Lattice是一个有向无环图,词汇的开始和结束字符决定了其位置。Lattice LSTM结构则融合了词汇信息到原生的LSTM中,对于当前的字符,融合以该字符结束的所有word(词)信息。

可以看出,现有技术中,命名实体识别模型的可迁移性差,只适配于LSTM模型,不具备向其他网络迁移的特性;并且,只能采用词汇先验,无法准确的提取命名实体的实体文本。

在实际应用中,可以参阅图9所示的实体标签应用示意图,可以看到,在广告中,通过对用户的历史行为数据进行数据挖掘,从而为用户打上画像标签。具体来说,通过对用户点击的广告、用户阅读过的文章、用户购买过的商品标题以及用户安装或下载过的APP的描述等多个场景的文本进行多行业命名实体识别,从而获得实体标签(即实体文本),进而构建用户画像,应用到整个广告系统。用户画像如图10所示,之后通过将构建的用户画像应用于整个广告系统。例如,从投放、检索召回、到粗排、精排,贯穿着整个广告系统。除此之外,实体标签还广泛的应用于上下文广告、广告主标签搜索推荐服务、垂直行业专项优化等项目。

命名实体识别就是识别出文本数据中的命名实体,包括实体边界和实体类型,比如“凯迪拉克将选择某某某作为新一代的产品代言人”,文本中的凯迪拉克就是实体,汽车品牌就是对应的实体类型。面对多场景多行业命名实体识别,多场景是指广告、APP描述、电商标题、资讯文章等四个场景的文本数据,多行业是指是各个行业内的细粒度实体,涉及多个行业中的多种实体类型。

其中,具体涉及:通用行业:(人物、地名、组织机构名);电商:(电商品牌、电商店铺名、电商产品、电商商品型号、电商商品品类);泛娱乐:(人物组合、作品、娱乐人物、娱乐团体);游戏:(游戏名称、游戏开发者、角色、类型(玩法)、道具、场景、平台、游戏术语、游戏题材);APP:(APP名称、APP开发者);汽车:(汽车品牌、车系、车型、厂商经销商);金融:(信贷产品、股票、基金、信托、金融机构、金融术语、金融家、银行卡、信用卡、货币)等。

相关技术方案的输入层是以词为基本单位,分词的错误传播会直接导致实体边界的错误,同时采用的静态词向量无法处理动态词义的问题。例如,对于文本“龙纹鲤鱼竿1折促销”,若分词错误,得到了以下分词结果“龙纹”、“鲤鱼竿1折”和“促销”,则无法获取到正确的实体“龙纹鲤鱼竿”。

因此,发明人经过研究,引入了如图11所示的预训练语言模型BERT来对输入序列进行建模,输入层以字为基本单位,BERT模型之上接二元模型来建模标签间的转移关系。

在一些实施例中,采用预训练语言模型BERT来对文本的上下文进行建模,BERT模型的输入是文本的每个字符,输出是对应字符的Embedding(一般翻译为嵌入或映射,对应上述实施例中的实体字符向量),在模型训练过程中会对BERT模型中的参数进行Fine-tune(微调整),从而使得BERT模型拟合具体的任务。

在一些实施例中,可以将实体边界和实体类型同时建模,用条件随机场(CRF,conditional random field algorithm)模型进行解码,其中,每个实体类型标签需要和4个实体边界标签BIES进行组合。发明人经过实验发现,组合后的标签数高达277个,过多的标签数会影响模型的解码效果。同时CRF无法解决标签重叠的问题,为了解决这些问题,提出了图12所示的命名实体模型示意图。

其中,该命名实体模型包括BERT+二元模型,解决多行业细粒度命名实体识别问题,二元模型用两层来分别建模哪类实体的开始和结尾。start层采用多分类的方式来建模哪类实体的开始,end层采用多分类的方式来建模哪类实体的结尾,同时,在计算end层时考虑start层的计算结果,具体是将start层产出的Embedding(向量)输入给end层,从而影响end层的计算结果。start层是一个全连接层(fully connected layers,FC),输入是BERT输出后的长度为768的向量,输出为当前字符是哪类实体类型的开始。end层也是一个全连接层,输入是BERT输出后的长度为768的向量和start层输出的Embedding做concat(合并)操作,输出为当前字符的哪类实体类型的结尾。

以图12中的待检测文本“南京建设新南京大桥”为例,在输入至BERT模型时,会添加“[CLS]”作为文本开始标识,“[SEP]”为文本结束标识,得到“E

在一些实施例中,对于BERT模型和二元模型,本申请采用了分层学习率,即,对BERT模型和二元模型采用了不同的学习率,避免了二元模型层学习不充分,起不到应有的作用的问题。需要说明的是,本申请对该BERT模型和二元模型的训练过程包括标注训练数据,模型训练,模型评测等步骤。

为了降低人工标注错误的标签对模型产生过大的负面影响,训练过程中的损失函数上考虑了标签平滑正则化。标签平滑的主要思想是假设样本以阿尔法的概率为其它类别,从而降低标签置信度,这样在训练时就可以避免模型“过分”相信训练样本的标签。基于此,本申请将交叉熵损失函数替换成了带标签平滑的交叉熵损失函数,其中,可以通过公式(6)实现上述带标签平滑的交叉熵损失函数:

其中,K为类别数,α为label smoothing引入的超参数,y

发明人在对图12提供的命名实体模型进行验证的过程中,发现只基于字的标注丢失了字与字之间的关联信息,人们平时表达的时候,词汇也是语义的最小使用单元。所以,本申请引入了词汇信息,建模词汇先验信息时,从词边界和词向量两个角度进行了考虑。进而得到图13所示的命名实体模型示意图。

词边界方面,首先本申请将文本进行分词,之后对词汇的边界进行建模,具体来说对每一个字符进行BMES的向量表示,其中B代表词汇的开始,M代表词汇的中间,E代表词汇的结尾,S代表字符单独成词,如上图所示,这样就建模了词汇的边界信息。然后将词汇边界信息与字向量、位置向量、片段向量一起进入BERT模型。词向量方面,本申请在BERT输出字向量之后,基于词信息对每个字向量做attention,从而计算出当前字符在整个词汇中的重要度,如公式(1)所示,之后将字向量与降权的词向量进行归一化操作,从而保证向量空间的一致性,如公式(2)所示。

以图13中的待检测文本“南京建设新南京大桥”为例,在输入至BERT模型时,会添加“[CLS]”作为文本开始标识,“[SEP]”为文本结束标识,得到字向量:“E

将字向量、位置向量、片段向量和词边界向量作为BERT模型的输入,得到BERT模型输出的“T

将其中的“O

发明人在对图13提供的命名实体模型进行验证的过程中,发现模型对于未登录的实体表现仍然较差,这主要是因为实体信号难以通过内部组合语义学到。因此引入实体先验来提升模型的准确率。如图14所示的命名实体模型。

在一些实施例中的实体边界方面,本申请借助1900万实体词典,通过最大匹配方法确定每个字在实体中的位置,通过BMESO的方式对实体边界进行编码,其中B代表实体的开始,M代表实体的中间,E代表实体的结尾,S代表字符单独是一个实体,O代表当前字符不是实体的一部分,如上图所示,这样本申请就建模了实体的边界信息。同时,本申请在字向量、词向量的基础上融合进了实体向量。

以图14中的待检测文本“南京建设新南京大桥”为例,在输入至BERT模型时,会添加“[CLS]”作为文本开始标识,“[SEP]”为文本结束标识,得到字向量:“E

将字向量、位置向量、片段向量、词边界和实体边界作为BERT模型的输入,得到BERT模型输出的“T

将其中的“O

在建模实体先验时,本申请主要考虑了三点,首先是希望在计算量与先验信息量间取得平衡,其次是每个字共享其所在的候选实体向量,并引入潜在实体类型、关系和属性等信息,再者是字的实体表示可以随字在实体中的位置变化。具体的,每个字的实体先验来自4个关联实体词集B、M、E、S的拼接表示。

关联词集的表示由所有包含的实体向量进行词频加权平均得到,比如“B-马”这个关联词集是由所有以马字开头的实体向量词频加权平均得到。

本申请通过如图15所示的知识表示模型TransE在本申请的行业知识图谱数据上训练得到实体向量,其中,TransE是基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译,在TransE训练过程中,通过不断调整实体head的向量、实体tail的向量和关系tail的向量,使(h+r)尽可能与t相等,以完成模型训练。模型训练完成后,可输出各个实体的实体向量。本申请采用了6个行业(包括游戏、电商、汽车、金融、APP、泛娱乐)、1900万实体(包括王者荣耀、手机、南京等)、4700万关系和属性(即三元组,例如南京,地名,城市),如图16是本申请提供的行业知识图谱数据的一个示例。

以广告场景为例,如表1所示,本申请的BERT+二元模型+知识增强相比于现有技术方案,在准确率、召回率以及F值等指标上均有显著提升,F值提升6.85%。

表1

下面继续说明本申请实施例提供的命名实体识别装置555的实施为软件模块的示例性结构,在本申请的一些实施例中,如图2所示,存储在存储器550的命名实体识别装置555中的软件模块可以包括:

获取模块5551,用于获取待识别文本的多个字符;

确定模块5552,用于确定所述多个字符中每一所述字符对应的字符向量集合;所述字符向量集合包括所述字符在多种语义维度下的向量;多种语义维度至少包括词汇维度和实体维度;

生成模块5553,用于基于每一所述字符对应的字符向量集合,生成每一所述字符对应的实体字符向量;所述实体字符向量用于表征所述字符对应的实体信息;

识别模块5554,用于根据每一所述字符对应的实体字符向量,确定所述待识别文本中的实体文本和所述实体文本的实体类型。

在本申请的一些实施例中,所述确定模块5552,还用于将所述待识别文本输入预设的第一语言模型中,通过所述第一语言模型获取所述每一所述字符对应的字特征向量;所述字特征向量包括所述字符对应的字符向量、位置向量和片段向量。

在本申请的一些实施例中,所述确定模块5552,还用于提取待识别文本中的至少一个待识别词的词边界信息;基于至少一个待识别词的词边界信息,生成每一字符对应的词特征向量。

在本申请的一些实施例中,所述确定模块5552,还用于对待识别文本进行分词,得到待识别文本中的至少一个待识别词汇的词汇边界信息;基于至少一个待识别词汇的词汇边界信息,生成每一字符对应的词汇边界向量;词汇边界向量用于表征字符在与字符对应的待识别词汇中的位置。

在本申请的一些实施例中,所述确定模块5552,还用于根据预设的实体词典,获取待识别文本中的至少一个待识别实体的实体分割信息;基于至少一个待识别词汇的实体分割信息,生成每一字符对应的实体边界向量;实体边界向量用于表征字符在与字符对应的待识别词汇中的位置。

在本申请的一些实施例中,所述生成模块5553,还用于将每一字符对应的字符向量集合输入至预设的第二语言模型中,得到第二语言模型输出的每一字符对应的实体字符向量。

在本申请的一些实施例中,所述生成模块5553,还用于获取字符向量集合对应的权重参数;权重参数包括字符向量集合中每一维度对应的权重;根据每一维度对应的权重,对字符在不同维度下的字符向量进行融合,得到待输入字符向量;将每一字符对应的待输入字符向量输入至预设的第二语言模型中,得到第二语言模型输出的每一字符对应的实体字符向量。

在本申请的一些实施例中,所述识别模块5554,还用于根据每一字符对应的实体字符向量构建每一字符对应的字符特征向量;将每一字符对应的字符特征向量输入至预设的第三语言模型中,得到每一字符对应的实体文本分割结果;实体文本分割结果包括实体边界信息和实体类型信息;根据每一字符对应的实体边界信息和实体类型信息,获取待识别文本中的实体文本和实体文本的实体类型。

在本申请的一些实施例中,所述识别模块5554,还用于将每一字符对应的字符特征向量输入至起始边界层,得到起始边界层输出的每一字符对应的起始边界向量;将每一字符对应的起始边界向量和字符特征向量输入至结束边界层,得到结束边界层输出的每一字符对应的结束边界向量;根据每一字符对应的起始边界向量确定每一字符的实体起始分割结果;实体起始分割结果用于表征字符是否为实体起始字符和实体类型;根据每一字符对应的结束边界向量确定每一字符的实体结束分割结果;实体结束分割结果用于表征字符是否为实体结束字符和实体类型;根据每一字符对应的实体起始分割结果和实体结束分割结果,确定每一字符对应的实体文本分割结果。

在本申请的一些实施例中,所述识别模块5554,还用于基于待识别文本,确定每一字符对应的待融合向量集合;待融合向量集合包括字符在不同词组维度下的向量;待融合向量集合包括以下至少之一:待融合词汇向量和待融合实体向量;基于每一字符对应的待融合向量集合,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

在本申请的一些实施例中,所述识别模块5554,还用于根据待识别文本中的至少一个待识别词汇的词汇边界信息,和每一字符对应的实体字符向量,获取每一字符对应的待融合词汇向量;待融合词汇向量用于表征字符在词汇维度下的语义特征;基于每一字符对应的待融合词汇向量,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

在本申请的一些实施例中,所述识别模块5554,还用于获取每一字符对应的候选实体集合;候选实体集合包括多个包含字符的候选实体和每一候选实体的先验向量;根据每一候选实体的先验向量,确定每一字符对应的待融合实体向量;基于每一字符对应的待融合词汇向量和每一字符对应的待融合实体向量,对每一字符对应的实体字符向量进行融合处理,得到每一字符对应的字符特征向量。

在本申请的一些实施例中,所述识别模块5554,还用于获取字符对应的至少一个候选集合;候选集合包括多个候选实体和每一候选实体的先验向量;基于每一候选集合,获取每一候选集合对应的候选向量;根据每一候选集合对应的候选向量,确定字符对应的待融合实体向量。

在本申请的一些实施例中,所述识别模块5554,还用于获取候选集合中每一候选向量的词频信息;根据每一候选向量的词频信息对候选集合中的每一候选向量进行加权平均,得到候选集合对应的候选向量。

在本申请的一些实施例中,所述识别模块5554,还用于获取字符对应的第一候选集合、第二候选集合和第三候选集合;第一候选集合包括多个第一候选实体和每一第一候选实体的第一先验向量,第一候选实体为实体起始字符为字符的候选实体;第二候选集合包括多个第二候选实体和每一第二候选实体的第二先验向量,第二候选实体为实体中间字符为字符的候选实体;第三候选集合包括多个第三候选实体和每一第三候选实体的第三先验向量,第三候选实体为实体结束字符为字符的候选实体;基于第一候选集合中的多个第一先验向量确定第一候选向量;基于第二候选集合中的多个第二先验向量确定第二候选向量;基于第三候选集合中的多个第三先验向量确定第三候选向量;根据第一候选向量、第二候选向量和第三候选向量,确定字符对应的待融合实体向量。

本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的命名实体识别方法。

本公开实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的命名实体识别方法,例如,如图3、图4、图5、图6、图7A、图8示出的方法。

在本申请的一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在本申请的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超待识别文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例能够实现以下技术效果:

(1)本申请实施例通过确定多个字符中每一字符对应的字符向量集合;字符向量集合包括字符在多种语义维度下的向量;基于每一字符对应的字符向量集合,生成每一字符对应的实体字符向量;实体字符向量用于表征字符对应的实体信息;根据每一字符对应的实体字符向量,确定待识别文本中的实体文本和实体文本的实体类型。可以提高命名实体识别过程中的实体文本及实体类型获取的准确度。

(2)本申请实施例通过获取每个字符的字特征向量和词特征向量,可以得到每一字符在“字”维度上的特征的同时,得到每一字符在“词”维度上的特征,进一步提升了实体识别时的准确度。

(3)本申请实施例通过获取每个字符的实体边界向量和词汇边界向量,可以得到每一字符在“实体”维度上的特征的同时,得到每一字符在“词汇”维度上的特征,在进行实体提取时可以关注到字符对应的词汇先验信息和实体先验信息,进而提升了实体识别时的准确度。

(4)本申请实施例针对不同维度组合的字符向量集合设置不同的待选权重参数,可以提升实体识别的准确性。。

(5)本申请实施例通过设置不同层来对字符进行实体起始字符或实体结束字符的判断,使得第三语言模型中的起始边界层对实体起始字符的识别准确度更高,也使得第三语言模型中结束边界层对实体结束字符的识别准确度更高;由于在每一字符对应的实体字符向量的基础上,融合了每一字符在词组维度下的向量,可以使得对字符进行实体分类的过程中,可以进一步考虑到字符在词组维度上的特征,进而提升了实体文本提取的准确性,也提升了实体类型识别的准确性。

(6)通过对原始的待识别文本进行分词,可以获取到每一字符对应的词汇先验信息;通过对原始的待识别文本进行实体查询,可以获取到每一字符对应的实体先验信息,因而可以得到更加准确的识别结果。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

相关技术
  • 命名实体识别方法、装置、设备及计算机可读存储介质
  • 命名实体识别方法、装置、计算机设备及可读存储介质
技术分类

06120112965264