实体识别方法、装置、电子设备及存储介质
技术领域
本公开涉及实体识别技术,尤其涉及一种实体识别方法、装置、电子设备及存储介质。
背景技术
相关技术中,在对对象主题进行实体识别时,可以使用大规模语言模型进行识别,或者使用匹配的方式,直接使用词表匹配对象主题中的实体。
相关技术依赖大量的人工标注数据来实现训练数据集的构建,成本过高,而且由于对象主题文本组成复杂的特殊情况很难覆盖所有种类,训练数据容易有偏差,而且模型依赖于对象主题中每个字符本身的信息来进行实体识别,导致模型的识别准确率不高;使用匹配的方式直接匹配,没有语言模型的配合,准确率也比较低。
发明内容
本公开提供一种实体识别方法、装置、电子设备及存储介质,以至少解决相关技术中实体识别准确率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种实体识别方法,包括:
根据实体词表,将对象主题文本切分为多个字符和至少一个实体词,并确定包括所述对象主题文本中每个字符的词汇;
确定所述每个字符的字向量,作为第一字向量,并确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量;
根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量;
根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量,包括:
分别确定包括同一字符的多个词汇中以所述同一字符开头、居中和结尾的词汇;
确定以所述同一字符开头的词汇的第二词向量的平均向量,作为第一平均向量,确定以所述同一字符居中的词汇的第二词向量的平均向量,作为第二平均向量,并确定以所述同一字符结尾的词汇的第二词向量的平均向量,作为第三平均向量;
拼接所述同一字符的第一字向量、所述第一平均向量、所述第二平均向量和所述第三平均向量,作为所述同一字符的第二字向量。
可选的,根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量,包括:
确定包括同一字符的至少一个词汇的第二词向量的平均向量;
拼接所述同一字符的第一字向量和所述平均向量,作为所述同一字符的第二字向量。
可选的,根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果,包括:
根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,所述第一位置信息包括第一开头位置信息和第一结尾位置信息,所述第二位置信息包括第二开头位置信息和第二结尾位置信息。
可选的,根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,对所述对象主题文本进行实体识别,得到实体识别结果,包括:
根据所述每个字符在所述对象主题文本中的第一位置信息和所述实体词在所述对象主题文本中的第二位置信息,通过编码器分别确定每个字符相对于所述多个字符中除当前的字符外的其他字符的相对位置编码;
根据所述每个字符的第二字向量、第一词向量以及每个字符相对于所述其他字符的相对位置编码,通过注意力机制确定每个字符相对于所述其他字符的注意力权重;
根据所述每个字符相对于所述其他字符的注意力权重,通过解码器对所述对象主题文本进行实体识别,得到所述对象主题文本中的实体识别结果。
可选的,所述确定所述每个字符的字向量,作为第一字向量,并确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量,包括:
通过所述词向量模型确定所述每个字符的字向量,作为第一字向量,并通过所述词向量模型确定所述实体词的词向量,作为第一词向量,通过所述词向量模型确定所述词汇的词向量,作为第二词向量;其中,所述词向量模型基于所述实体词表训练得到;
所述根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果,包括:
根据每个字符的第二字向量和所述实体词的第一词向量,通过实体识别模型对所述对象主题文本进行实体识别,得到实体识别结果,所述实体识别模型是基于所述实体词表得到的标注数据集训练得到。
可选的,还包括:
将接收到的新的实体词表替换所述实体词表;
根据所述新的实体词表,对对象主题文本语料进行标注,得到第一标注数据集;
根据所述新的实体词表和所述对象主题文本语料对预训练词向量模型进行训练,得到新的词向量模型;
根据所述新的实体词表和所述新的词向量模型,确定所述第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
根据所述第一标注数据集,以及第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对初始的实体识别模型进行训练,得到新的实体识别模型。
可选的,还包括:
若所述实体识别结果中的实体词在所述实体词表中不存在,则将所述实体识别结果中的实体词保存至新的词表中;
将所述新的词表中的实体词去重,并将去重后的实体词添加至所述实体词表中,得到扩充词表;
根据所述扩充词表,对对象主题文本语料进行标注,得到第二标注数据集;
根据所述扩充词表和对象主题文本语料对所述词向量模型进行迭代训练,得到迭代后的词向量模型;
根据所述扩充词表和所述迭代后的词向量模型,确定所述第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
根据第二标注数据集,以及第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对所述实体识别模型进行迭代训练,得到迭代后的实体识别模型。
根据本公开实施例的第二方面,提供一种实体识别装置,包括:
文本切分模块,被配置为执行根据实体词表,将对象主题文本切分为多个字符和至少一个实体词,并确定包括所述对象主题文本中每个字符的词汇;
词向量确定模块,被配置为执行确定所述每个字符的字向量,作为第一字向量,并确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量;
字向量确定模块,被配置为执行根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量;
实体识别模块,被配置为执行根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,所述字向量确定模块包括:
不同位置词汇确定单元,被配置为执行分别确定包括同一字符的多个词汇中以所述同一字符开头、居中和结尾的词汇;
第一平均向量确定单元,被配置为执行确定以所述同一字符开头的词汇的第二词向量的平均向量,作为第一平均向量,确定以所述同一字符居中的词汇的第二词向量的平均向量,作为第二平均向量,并确定以所述同一字符结尾的词汇的第二词向量的平均向量,作为第三平均向量;
第一字向量确定单元,被配置为执行拼接所述同一字符的第一字向量、所述第一平均向量、所述第二平均向量和所述第三平均向量,作为所述同一字符的第二字向量。
可选的,所述字向量确定模块包括:
第二平均向量确定单元,被配置为执行确定包括同一字符的至少一个词汇的第二词向量的平均向量;
第二字向量确定单元,被配置为执行拼接所述同一字符的第一字向量和所述平均向量,作为所述同一字符的第二字向量。
可选的,所述实体识别模块被配置为执行:
根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,所述第一位置信息包括第一开头位置信息和第一结尾位置信息,所述第二位置信息包括第二开头位置信息和第二结尾位置信息。
可选的,所述实体识别模块包括:
相对位置编码单元,被配置为执行根据所述每个字符在所述对象主题文本中的第一位置信息和所述实体词在所述对象主题文本中的第二位置信息,通过编码器分别确定每个字符相对于所述多个字符中除当前的字符外的其他字符的相对位置编码;
注意力权重确定单元,被配置为执行根据所述每个字符的第二字向量、第一词向量以及每个字符相对于所述其他字符的相对位置编码,通过注意力机制确定每个字符相对于所述其他字符的注意力权重;
实体识别单元,被配置为执行根据所述每个字符相对于所述其他字符的注意力权重,通过解码器对所述对象主题文本进行实体识别,得到所述对象主题文本中的实体识别结果。
可选的,所述词向量确定模块被配置为执行:
通过所述词向量模型确定所述每个字符的字向量,作为第一字向量,并通过所述词向量模型确定所述实体词的词向量,作为第一词向量,通过所述词向量模型确定所述词汇的词向量,作为第二词向量;其中,所述词向量模型基于所述实体词表训练得到;
所述实体识别模型被配置为执行:
根据每个字符的第二字向量和所述实体词的第一词向量,通过实体识别模型对所述对象主题文本进行实体识别,得到实体识别结果,所述实体识别模型是基于所述实体词表得到的标注数据集训练得到。
可选的,所述装置还包括:
词表替换模块,被配置为执行将接收到的新的实体词表替换所述实体词表;
第一标注模块,被配置为执行根据所述新的实体词表,对对象主题文本语料进行标注,得到第一标注数据集;
词向量重新训练模块,被配置为执行根据所述新的实体词表和所述对象主题文本语料对预训练词向量模型进行训练,得到新的词向量模型;
第一样本向量确定模块,被配置为执行根据所述新的实体词表和所述新的词向量模型,确定所述第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
实体识别模型重新训练模块,被配置为执行根据所述第一标注数据集,以及第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对初始的实体识别模型进行训练,得到新的实体识别模型。
可选的,所述装置还包括:
实体词保存模块,被配置为执行若所述实体识别结果中的实体词在所述实体词表中不存在,则将所述实体识别结果中的实体词保存至新的词表中;
词表扩充模块,被配置为执行将所述新的词表中的实体词去重,并将去重后的实体词添加至所述实体词表中,得到扩充词表;
第二标注模块,被配置为执行根据所述扩充词表,对对象主题文本语料进行标注,得到第二标注数据集;
词向量迭代训练模块,被配置为执行根据所述扩充词表和对象主题文本语料对所述词向量模型进行迭代训练,得到迭代后的词向量模型;
第二样本向量确定模块,被配置为执行根据所述扩充词表和所述迭代后的词向量模型,确定所述第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
实体识别模型迭代训练模块,被配置为执行根据第二标注数据集,以及第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对所述实体识别模型进行迭代训练,得到迭代后的实体识别模型。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的实体识别方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的实体识别方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或计算机指令被处理器执行时实现第一方面所述的实体识别方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开通过根据实体词表将对象主题文本切分为多个字符和至少一个实体词,并分别确定包括对象主题文本中每个字符的词汇,确定每个字符的第一字向量,确定实体词的第一词向量,确定词汇的第二词向量,根据包括同一字符的第二词向量和第一字向量,确定该字符的第二字向量,根据每个字符的第二字向量和实体词的第一词向量,对对象主题文本进行实体识别,得到实体识别结果,由于将包括第二词向量和第一字向量信息的第二字向量作为字符的字向量,加强了字符在整体文本中的词汇分布,而且结合了字符的第二字向量和实体词的第一词向量来进行实体识别,强化了实体词的边界信息,提高了实体识别的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实体识别方法的流程图;
图2是本公开实施例中的Lattice结构的示意图;
图3是本公开实施例中的FLAT-Lattice结构的示意图;
图4是根据一示例性实施例示出的一种实体识别装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种实体识别方法的流程图,如图1所示,该实体识别方法用于服务器等电子设备中,包括以下步骤。
在步骤S11中,根据实体词表,将对象主题文本切分为多个字符和至少一个实体词,并确定包括所述对象主题文本中每个字符的词汇。
其中,实体词表保存的是对象主题文本中会包含的实体词。所述对象例如可以是商品,商品主题文本多为修饰性短语堆叠,并无明显文本结构,且长度较短,难以充分利用上下文,本公开实施例可以使用轻量级的模型来对商品主题文本进行实体识别,可以学习到词汇的信息,进而提高识别准确率。
要对一个对象主题文本进行实体识别时,依据实体词表对对象主题文本进行切分,得到对象主题文本中按照顺序包括的多个字符以及至少一个实体词。同时还需要依据实体词表分别针对每个字符,确定对象主题文本语料中包括该字符的所有词汇。
在步骤S12中,确定所述每个字符的字向量,作为第一字向量,确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量。
在得到词向量模型后,可以使用词向量模型来确定对象主题文本中每个字符的字向量,将该字向量作为字符的第一字向量;使用词向量模型确定实体词的词向量,将该词向量作为第一词向量;对于每个所述词汇,也需使用词向量模型确定对应的词向量,将该词向量作为第二词向量。
在步骤S13中,根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量。
将对象主题文本中的每个字符分别作为同一字符,筛选出包括同一字符的第二词向量和所述同一字符对应的第一字向量,对第二词向量和第一字向量进行预设的处理,得到第二字向量,将所述同一字符的第二字向量作为所述同一字符进行实体识别的基础数据,即为输入实体识别模型的字向量。对于每个字符均进行上述的处理,得到每个字符的第二字向量。
在一个示例性实施例中,根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量,包括:分别确定包括同一字符的多个词汇中以所述同一字符开头、居中和结尾的词汇;确定以所述同一字符开头的词汇的第二词向量的平均向量,作为第一平均向量,确定以所述同一字符居中的词汇的第二词向量的平均向量,作为第二平均向量,并确定以所述同一字符结尾的词汇的第二词向量的平均向量,作为第三平均向量;拼接所述同一字符的第一字向量、所述第一平均向量、所述第二平均向量和所述第三平均向量,作为所述同一字符的第二字向量。
从包括同一字符的多个词汇中分别确定以该同一字符开头的词汇、以该同一字符居中的词汇和以该同一字符结尾的词汇;对于以该同一字符开头、居中和结尾的词汇,分别确定对应第二词向量的平均向量,将以该同一字符开头的词汇的第二词向量的平均向量作为第一平均向量,将以该同一字符居中的词汇的第二词向量的平均向量作为第二平均向量,将以该同一字符结尾的词汇的第二词向量的平均向量作为第三平均向量;拼接该同一字符的第一字向量、第一平均向量、第二平均向量和第三平均向量,将拼接后得到的向量作为该同一字符的第二字向量。
例如,以主题文本为“南京市长江大桥”为例,针对其中的“长”这个字符,相关技术中是直接使用“长”这个字符的字向量,本公开中,将以“长”这个字符开头、居中和结尾的词汇的词向量分别取平均,得到第一平均向量、第二平均向量和第三平均向量,假设实体词表中存在100个以“长”为开头(如长河、长高等)的词汇,将这些词汇的第二词向量取平均得到第一平均向量a,实体词表中存在若干个以“长”在中间的词汇(如等长三角形等),将这些词汇的第二词向量取平均得到第二平均向量b,实体词表中存在若干个以“长”结尾的词汇(如市长、委员长等),将这些词汇的第二词向量取平均得到第三平均向量c,将“长”这个字符的第一字向量d与第一平均向量a、第二平均向量b、第三平均向量c进行拼接,即将每个向量进行首尾相连,得到第二字向量dabc,将该第二字向量dabc作为“长”这个字符的新的字向量。
通过根据以同一字符开头的多个词汇的第一平均向量、以同一字符居中的多个词汇的第二平均向量、以同一字符结尾的多个词汇的第三平均向量以及该同一字符的第一字向量进行拼接作为该同一字符的第二字向量,能够加强对整体文本中词汇分布的信息,有助于提高实体识别结果的准确性。
在另一个示例性实施例中,根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量,包括:确定包括同一字符的至少一个词汇的第二词向量的平均向量;拼接所述同一字符的第一字向量和所述平均向量,作为所述同一字符的第二字向量。
通过对包括同一字符的至少一个词汇的第二词向量取平均,得到平均向量,将该同一字符的第一字向量和平均向量进行拼接,得到该同一字符的第二字向量,将第二字向量作为该同一字符的新的字向量,引入了该同一字符在词汇中的信息,有助于提高实体识别结果的准确性。
在步骤S14中,根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果。
在得到对象主题文本中每个字符的第二字向量后,将每个字符的第二字向量以及实体词的第一词向量输入实体识别模型,通过实体识别模型对对象主题文本进行实体识别,得到对象主题文本的实体识别结果,即得到对象主题文本中各个字符的标签信息。
在一个示例性实施例中,所述确定所述每个字符的字向量,作为第一字向量,并确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量,包括:通过所述词向量模型确定所述每个字符的字向量,作为第一字向量,并通过所述词向量模型确定所述实体词的词向量,作为第一词向量,通过所述词向量模型确定所述词汇的词向量,作为第二词向量;其中,所述词向量模型基于所述实体词表训练得到;
所述根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果,包括:根据每个字符的第二字向量和所述实体词的第一词向量,通过实体识别模型对所述对象主题文本进行实体识别,得到实体识别结果,所述实体识别模型是基于所述实体词表得到的标注数据集训练得到。
其中,所述词向量模型可以是对预训练BERT模型进行微调训练得到的模型。所述实体识别模型是基于词汇增强的模型,是根据上述的标注数据集进行训练得到的。
在得到词向量模型后,可以使用词向量模型来确定对象主题文本中每个字符的字向量,将该字向量作为字符的第一字向量;使用词向量模型确定实体词的词向量,将该词向量作为第一词向量;对于每个所述词汇,也需使用词向量模型确定对应的词向量,将该词向量作为第二词向量。
可以利用已有的实体词表和对象主题文本语料,对预训练BERT模型进行微调训练。微调训练时,将实体词表作为分词参考,构建词向量,使用实体词表中的实体词和对象主题文本语料对预训练BERT模型进行二次微调训练,训练完成后,得到词向量模型。其中,预训练BERT可以是Robert汉语BERT模型,训练得到词向量模型后,可以直接输出一个主题文本的所有分词结果及对应的字向量或词向量。
在对实体识别模型进行训练之前,需要构建进行训练的标注数据集。在构建标注数据集时,根据已有的实体词表,来反向标注对象主题文本语料,即将对象主题文本语料与实体词表中的实体词进行匹配,并对对象主题文本语料中匹配到的实体词进行标注,得到标注数据集。在将对象主题文本语料与实体词表中的实体词进行匹配时,若匹配到存在包含关系的至少两个实体词,则将较长的实体词作为对象主题文本语料中的实体词。例如,对象主题文本为“我要买长袖T恤”,而实体词表中的实体词包括“T恤”和“长袖T恤”,而实体词“长袖T恤”包含实体词“T恤”,则将“长袖T恤”确定为对象主题文本中的实体词。
在对对象主题文本语料中匹配到的实体词进行标注时,可以使用BIO或BIOES的标注标签体系,对对象主题文本语料进行标注。对于BIO的标注标签体系,如果只有一类实体,则词的开头、中间、非标注字对应的标签分别为B、I、O,比如:文本语料为“我爱吃苹果”,其中苹果为实体词,即要标注的词汇,则得到的标注数据为“我O爱O吃O苹B果I”;如果需要对多种类别的数据进行标注,则B、I待带上相应的类别,比如:文本语料为“我爱吃苹果不爱喝可乐”,其中,苹果和可乐为实体词,且属于不同类别,苹果为a类型,可乐为d类型,则得到的标注数据为“我O爱O吃O苹B-a果I-a不O爱O喝O可B-d乐B-d”。使用BIOES进行标注时,标签B表示起始,标签I表示中间,标签O表示无标签,标签E表示结尾,标签S表示单字。
在通过将对象主题文本语料与实体词表中的实体词进行匹配,得到标注数据集后,还可以进行少量人工复检来修正标注数据集中的明显错误,如果数据量较大,例如词表有万级则可省略人工复检部分。
得到标注数据集后,可以对实体识别模型进行训练,将标注数据集中样本数据中的对象主题文本样本输入词向量模型,通过词向量模型按照上述方式确定每个字符的第二字向量和每个实体词的第一词向量,之后每个字符的第二字向量和每个实体词的第一词向量输入初始的实体识别模型,通过初始的实体识别模型确定对象主题文本样本对应的实体识别结果,根据该实体识别结果和样本数据中的标注结果,对初始的实体识别模型的网络参数进行调整,以对初始的实体识别模型进行训练,在达到预设训练目标时,得到训练完成的实体识别模型。得到训练完成的实体识别模型后,可以用该实体识别模型进行对象主题文本的实体识别。
通过使用远程监督的方式低成本的解决了数据标注问题,使用商品的实体词表反向标注文本语料,在词表涵盖了所有需要的类别实体情况下,标注准确度与人工标注接近,但大大降低了数据标注成本。
在一个示例性实施例中,根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果,包括:根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,对所述对象主题文本进行实体识别,得到实体识别结果。
其中,所述第一位置信息包括第一开头位置信息和第一结尾位置信息,所述第二位置信息包括第二开头位置信息和第二结尾位置信息。
所述实体识别模型可以是FLAT-Lattice结构。对于每一个字符和词汇都构建两个位置信息,即开头位置信息(head position encoding)和结尾位置信息(tail positionencoding),可以重构普通的Lattice结构,如图2所示,将传统的Lattice结构展平,将其从一个有向无环图展平为一个平面的结构,由多个范围构成:每个字符的开头位置信息和结尾位置信息是相同的,即第一开头位置信息和第一结尾位置信息是相同的,每个词汇的头和尾是跳过的,即第二开头位置信息和第二结尾位置信息是跳过的。
将每个字符的第二字向量、每个字符在对象主题文本中的第一位置信息、实体词的第一词向量以及实体词在对象主题文本中的第二位置信息输入实体识别模型,通过实体识别模型对对象主题文本进行实体识别,得到实体识别结果。通过字符的第一位置信息和实体词的第二位置信息,可以使得实体识别模型很好的捕捉长距离依赖,提高实体识别的准确性。
在一个示例性实施例中,根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,通过实体识别模型对所述对象主题文本进行实体识别,得到实体识别结果,包括:
根据所述每个字符在所述对象主题文本中的第一位置信息和所述实体词在所述对象主题文本中的第二位置信息,通过编码器分别确定每个字符相对于所述多个字符中除当前的字符外的其他字符的相对位置编码;
根据所述每个字符的第二字向量、第一词向量以及每个字符相对于所述其他字符的相对位置编码,通过注意力机制确定每个字符相对于所述其他字符的注意力权重;
根据所述每个字符相对于所述其他字符的注意力权重,通过解码器对所述对象主题文本进行实体识别,得到所述对象主题文本中的实体识别结果。
所述实体识别模型是FLAT-Lattice结构。图3是本公开实施例中的FLAT-Lattice结构的示意图,如图3所示,Lattice结构主要是输入对象主题文本中的每个字符、每个字符在所述对象主题文本中的第一位置信息、实体词和实体词在所述对象主题文本中的第二位置信息。之后,通过Transformer结构中的编码器来进行编码处理和实体识别,编码器首先基于每个字符在对象主题文本中的第一位置信息和实体词在对象主题文本中的第二位置信息,对每个字符进行相对位置编码,即确定每个字符相对于其他字符的相对位置编码;之后,Transformer结构中的注意力机制基于每个字符的第二字向量、每个实体词的第一词向量以及每个字符相对于其他字符的相对位置编码,确定每个字符相对于其他字符的注意力权重,以获取字符和实体词间的交互信息;根据每个字符相对于其他字符的注意力权重,通过Transformer结构的解码器对所述对象主题文本进行实体识别,得到所述对象主题文本中的实体识别结果。
其中,在确定相对位置编码时,依赖四种相对距离,这四种相对距离也包含字符和实体词之间的关系,四种相对距离表示如下:
其中,表示第i个字符或实体词的开头位置到第j个字符或实体词的开头位置的距离,表示第i个字符或实体词的开头位置到第j个字符或实体词的结尾位置的距离,表示第i个字符或实体词的结尾位置到第j个字符或实体词的开头位置的距离,表示第i个字符或实体词的结尾位置到第j个字符或实体词的结尾位置的距离,head[i]表示第i个字符的第一开头位置信息或者第i个实体词的第二开头位置信息,head[j]表示第j个字符的第一开头位置信息或者第j个实体词的第二开头位置信息,tail[i]表示第i个字符的第一结尾位置信息或者第i个实体词的第二结尾位置信息,tail[j]表示第j个字符的第一结尾位置信息或者第j个实体词的第二结尾位置信息。
相对位置编码表达式如下:
其中,ReLU是激活函数,Wr是一个可学习的参数,表示连接算子,pd表示嵌入的位置向量,d是和中的任意一个值,dmodel表示需要映射成的向量维度,k为位置编码的维数指标。
通过相对位置编码,可以提升Transformer结构中编码器的位置感知能力和方向感知能力,很好的区分对象主题文本中的上下文信息,有助于提高实体识别的准确性。而且使用基于词汇增强的实体识别模型,可以充分利用现有的数据,提高模型的识别准确度,使用词汇增强结合大规模预训练的模型进行模型的构建,提高了模型识别的准确度,与只使用BERT的情况相比,准确率、召回率提高2%,而且该词向量模型和实体识别模型为轻量级的模型,能够实现快速的高精度识别,比原有复杂模型的识别精确度提高两个百分点;利用实体词表进行过滤,保留需要的对象实体,方便进行实体链接。
本示例性实施例提供的实体识别方法,通过根据实体词表将对象主题文本切分为多个字符和至少一个实体词,并分别确定包括对象主题文本中每个字符的词汇,确定每个字符的第一字向量,确定实体词的第一词向量,确定词汇的第二词向量,根据包括同一字符的第二词向量和第一字向量,确定同一字符的第二字向量,根据每个字符的第二字向量和实体词的第一词向量,对对象主题文本进行实体识别,得到实体识别结果,由于将包括第二词向量和第一字向量信息的第二字向量作为字符的字向量,加强了字符在整体文本中的词汇分布,而且结合了字符的第二字向量和实体词的第一词向量来进行实体识别,强化了实体词的边界信息,提高了实体识别的准确率。
在上述技术方案的基础上,所述方法还包括:将接收到的新的实体词表替换所述实体词表;根据所述新的实体词表,对对象主题文本语料进行标注,得到第一标注数据集;根据所述新的实体词表和所述对象主题文本语料对预训练词向量模型进行训练,得到新的词向量模型;根据所述新的实体词表和所述新的词向量模型,确定所述第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;根据所述第一标注数据集,以及第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对初始的实体识别模型进行训练,得到新的实体识别模型。
其中,新的实体词表可以是使用上述的词向量模型和实体识别模型进行一段时间的实体识别后,对识别出来的结果进行识别筛选,并将筛选出的实体词保存为新的实体词表。
进行实体识别通常是为了之后的实体链接以及分类做前期工作。如果根据需求,需要更换实体词表,则将接收到的新的实体词表替换原始的实体词表,并根据新的实体词表,对对象主题文本语料进行标注,得到第一标注数据集;根据新的实体词表和对象主题文本语料对预训练词向量模型进行微调训练,以使得预训练词向量模型依据新的实体词表对对象主题文本语料进行切分,并确定切分后的字或词的向量,微调训练完成后得到新的词向量模型;之后可以使用新的词向量模型根据新的实体词表,按照上述方式确定第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;之后每个字符的第二字向量和每个实体词的第一词向量输入初始的实体识别模型,通过初始的实体识别模型确定样本数据对应的实体识别结果,根据该实体识别结果和样本数据中的标注结果,对初始的实体识别模型的网络参数进行调整,以对初始的实体识别模型进行重新训练,在达到预设训练目标时,得到新的实体识别模型。其中,所述初始的实体识别模型是网络参数随机初始化的模型。用户可以根据需求确定新的实体词表,从而根据新的实体词表标注语料,得到第一标注数据集,并对词向量模型和实体识别模型进行重新训练,得到的新的词向量模型和新的实体识别模型可以识别出新的实体词表内部的实体,实现了根据需求更新词向量模型和实体识别模型。
在上述技术方案的基础上,所述方法还包括:若所述实体识别结果中的实体词在所述实体词表中不存在,则将所述实体识别结果中的实体词保存至新的词表中;将所述新的词表中的实体词去重,并将去重后的实体词添加至所述实体词表中,得到扩充词表;根据所述扩充词表,对对象主题文本语料进行标注,得到第二标注数据集;根据所述扩充词表和对象主题文本语料对所述词向量模型进行迭代训练,得到迭代后的词向量模型;根据所述扩充词表和所述迭代后的词向量模型,确定所述第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;根据第二标注数据集,以及第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对所述实体识别模型进行迭代训练,得到迭代后的实体识别模型。
在通过训练完成的词向量模型和实体识别模型对对象主题文本进行一段时间的实体识别后,会识别出一些实体词表中不存在的实体词,即得到的实体识别结果中会有实体词表中不存在的实体词,这时将这些实体词保存至新的词表中;将新的词表中的实体词进行去重,将去重后的实体词添加至实体词表中,得到扩充词表;根据扩充词表,按照上述方式对对象主题文本语料进行标注,得到第二标注数据集;基于扩充词表和对象主题文本语料,对之前训练完成的词向量模型进行迭代训练,得到迭代后的词向量模型,使得迭代后的词向量模型可以很好的确定扩充词表中的实体词的词向量;根据扩充词表和迭代后的词向量模型,按照上述方式确定第二标注数据集中样本数据每个字符的第二字向量和每个实体词的第一词向量;之后每个字符的第二字向量和每个实体词的第一词向量输入原有的实体识别模型,通过原有的实体识别模型确定样本数据对应的实体识别结果,根据该实体识别结果和样本数据中的标注结果,对原有的实体识别模型的网络参数进行调整,以对原有的实体识别模型进行迭代训练,在达到预设训练目标时,得到迭代后的实体识别模型。实现了根据识别出的实体词扩充词表,并依据扩充词表来重新标注数据,节约了大量的标注数据的成本,而且可以根据扩充词表来迭代训练模型,可以识别越来越多的实体词,减少了模型迭代更新的成本。
图4是根据一示例性实施例示出的一种实体识别装置框图。参照图4,该装置包括文本切分模块21,词向量确定模块22、字向量确定模块23和实体识别模块24。
文本切分模块21,被配置为执行根据实体词表,将对象主题文本切分为多个字符和至少一个实体词,并确定包括所述对象主题文本中每个字符的词汇;
词向量确定模块22,被配置为执行确定所述每个字符的字向量,作为第一字向量,并确定所述实体词的词向量,作为第一词向量,确定所述词汇的词向量,作为第二词向量;
字向量确定模块23,被配置为执行根据包括同一字符的第二词向量和第一字向量,确定所述同一字符的第二字向量;
实体识别模块24,被配置为执行根据每个字符的第二字向量和所述实体词的第一词向量,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,所述字向量确定模块包括:
不同位置词汇确定单元,被配置为执行分别确定包括同一字符的多个词汇中以所述同一字符开头、居中和结尾的词汇;
第一平均向量确定单元,被配置为执行确定以所述同一字符开头的词汇的第二词向量的平均向量,作为第一平均向量,确定以所述同一字符居中的词汇的第二词向量的平均向量,作为第二平均向量,并确定以所述同一字符结尾的词汇的第二词向量的平均向量,作为第三平均向量;
第一字向量确定单元,被配置为执行拼接所述同一字符的第一字向量、所述第一平均向量、所述第二平均向量和所述第三平均向量,作为所述同一字符的第二字向量。
可选的,所述字向量确定模块包括:
第二平均向量确定单元,被配置为执行确定包括同一字符的至少一个词汇的第二词向量的平均向量;
第二字向量确定单元,被配置为执行拼接所述同一字符的第一字向量和所述平均向量,作为所述同一字符的第二字向量。
可选的,所述实体识别模块被配置为执行:
根据所述每个字符的第二字向量、每个字符在所述对象主题文本中的第一位置信息、第一词向量以及所述实体词在所述对象主题文本中的第二位置信息,对所述对象主题文本进行实体识别,得到实体识别结果。
可选的,所述第一位置信息包括第一开头位置信息和第一结尾位置信息,所述第二位置信息包括第二开头位置信息和第二结尾位置信息。
可选的,所述实体识别模块包括:
相对位置编码单元,被配置为执行根据所述每个字符在所述对象主题文本中的第一位置信息和所述实体词在所述对象主题文本中的第二位置信息,通过编码器分别确定每个字符相对于所述多个字符中除当前的字符外的其他字符的相对位置编码;
注意力权重确定单元,被配置为执行根据所述每个字符的第二字向量、第一词向量以及每个字符相对于所述其他字符的相对位置编码,通过注意力机制确定每个字符相对于所述其他字符的注意力权重;
实体识别单元,被配置为执行根据所述每个字符相对于所述其他字符的注意力权重,通过解码器对所述对象主题文本进行实体识别,得到所述对象主题文本中的实体识别结果。
可选的,所述词向量确定模块被配置为执行:
通过所述词向量模型确定所述每个字符的字向量,作为第一字向量,并通过所述词向量模型确定所述实体词的词向量,作为第一词向量,通过所述词向量模型确定所述词汇的词向量,作为第二词向量;其中,所述词向量模型基于所述实体词表训练得到;
所述实体识别模型被配置为执行:
根据每个字符的第二字向量和所述实体词的第一词向量,通过实体识别模型对所述对象主题文本进行实体识别,得到实体识别结果,所述实体识别模型是基于所述实体词表得到的标注数据集训练得到。
可选的,所述装置还包括:
词表替换模块,被配置为执行将接收到的新的实体词表替换所述实体词表;
第一标注模块,被配置为执行根据所述新的实体词表,对对象主题文本语料进行标注,得到第一标注数据集;
词向量重新训练模块,被配置为执行根据所述新的实体词表和所述对象主题文本语料对预训练词向量模型进行训练,得到新的词向量模型;
第一样本向量确定模块,被配置为执行根据所述新的实体词表和所述新的词向量模型,确定所述第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
实体识别模型重新训练模块,被配置为执行根据所述第一标注数据集,以及第一标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对初始的实体识别模型进行训练,得到新的实体识别模型。
可选的,所述装置还包括:
实体词保存模块,被配置为执行若所述实体识别结果中的实体词在所述实体词表中不存在,则将所述实体识别结果中的实体词保存至新的词表中;
词表扩充模块,被配置为执行将所述新的词表中的实体词去重,并将去重后的实体词添加至所述实体词表中,得到扩充词表;
第二标注模块,被配置为执行根据所述扩充词表,对对象主题文本语料进行标注,得到第二标注数据集;
词向量迭代训练模块,被配置为执行根据所述扩充词表和对象主题文本语料对所述词向量模型进行迭代训练,得到迭代后的词向量模型;
第二样本向量确定模块,被配置为执行根据所述扩充词表和所述迭代后的词向量模型,确定所述第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量;
实体识别模型迭代训练模块,被配置为执行根据第二标注数据集,以及第二标注数据集中样本数据中每个字符的第二字向量和每个实体词的第一词向量,对所述实体识别模型进行迭代训练,得到迭代后的实体识别模型。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备300可以被提供为一服务器。参照图5,电子设备300包括处理组件322,其进一步包括一个或多个处理器,以及由存储器332所代表的存储器资源,用于存储可由处理组件322的执行的指令,例如应用程序。存储器332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件322被配置为执行指令,以执行上述实体识别方法。
电子设备300还可以包括一个电源组件326被配置为执行电子设备300的电源管理,一个有线或无线网络接口350被配置为将电子设备300连接到网络,和一个输入输出(I/O)接口358。电子设备300可以操作基于存储在存储器332的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器332,上述指令可由电子设备300的处理组件322执行以完成上述实体识别方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现上述实体识别方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。