一种实体识别方法及相关设备与流程

文档序号:17951740发布日期:2019-06-19 00:05阅读:172来源:国知局
一种实体识别方法及相关设备与流程

本发明涉及信息处理技术领域,尤其涉及一种实体识别方法及相关设备。



背景技术:

在信息爆炸时代,如何快速有效地从海量数据中提取所需的信息成为热点研究的课题,并由此引发了对自然语言处理的研究。一直以来,实体抽取任务在自然语言处理领域被广泛关注,它是许多自然语言处理任务的前置步骤,因此它的性能表现也直接影响着下游自然语言处理任务的性能,比如实体连接、实体关系分类、知识图谱推理等。其中,实体即命名实体,它是指自然语言中的人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还可以包括数字、日期、货币、地址等等。在实体抽取任务中,可能会发生实体重叠和实体嵌套的现象,如图1左侧所示,字符串x1x2x3标注为人名实体(per),字符串x2x3x4标注为地名实体(gpe),两者有部分重叠(x2x3)。又如图1右侧所示,字符串x1x2标注为per,字符串x1x2x3x4标注为gpe,x1x2字符串是x1x2x3x4字符串的子串,属于嵌套结构。目前,针对实体抽取任务,主流的抽取模型为条件随机场模型和神经网络-条件随机场模型,此类模型无法直接处理嵌套结构,只能通过多个模型叠加的方式完成嵌套实体识别,但多个模型叠加的方式又将因每个条件随机场模型相互独立,而无法有效捕获实体间的依赖关系,导致实体识别的性能差、实体抽取准确率低。



技术实现要素:

本发明提供一种实体识别方法及相关设备,可以有效识别嵌套结构的实体,从而提高实体识别和实体抽取的准确性。

第一方面,本发明实施例提供了一种实体识别方法,包括:

获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;

按照预设的实体标注规则建立超图模型;

根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图;

根据所述超图模型和预设的神经网络模型,建立待训练模型;

将所述标注路径图输入所述待训练模型中进行训练,得到实体识别模型;

根据所述实体识别模型,识别输入语料中的至少一个命名实体。

第二方面,本发明实施例提供了一种实体识别装置,包括:

获取模块,用于获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;

建模模块,用于按照预设的实体标注规则建立超图模型;

标注模块,用于根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图;

所述建模模块,还用于根据所述超图模型和预设的神经网络模型,建立待训练模型;

训练模块,用于将所述标注路径图输入所述待训练模型中进行训练,得到实体识别模型;

识别模块,用于根据所述实体识别模型,识别输入语料中的至少一个命名实体。

第三方面,本发明实施例提供了一种实体识别设备,包括:处理器、存储器和通信总线,其中,通信总线用于实现处理器和存储器之间连接通信,处理器执行存储器中存储的程序用于实现上述第一方面提供的一种实体识别方法中的步骤。

在一个可能的设计中,本发明提供的实体识别设备可以包含用于执行上述方法中行为相对应的模块。模块可以是软件和/或硬件。

本发明实施例的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行上述各方面所述的方法。

本发明实施例的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

实施本发明实施例,首先获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;接着按照预设的实体标注规则建立超图模型;然后根据标注信息和实体标注规则,确定每条标注语料对应的标注路径图、以及根据超图模型和预设的神经网络模型,建立待训练模型;最后将标注路径图输入待训练模型中进行训练,得到实体识别模型,并根据实体识别模型,识别输入语料中的至少一个命名实体。可以有效识别嵌套结构的实体,从而提高实体识别和实体抽取的准确性。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是背景技术提供的嵌套实体和重叠实体的示意图;

图2是本发明实施例提供的一种信息抽取系统的结构示意图;

图3是本发明实施例提供的一种实体识别方法的流程示意图;

图4是本发明实施例提供的一种全连接超图模型的结构示意图;

图5是本发明实施例提供的一种标注路径图的结构示意图;

图6是本发明实施例提供的一种待训练模型的结构示意图;

图7是本发明实施例提供的另一种实体识别方法的流程示意图;

图8是本发明实施例提供的一种实体识别装置的结构示意图;

图9是本发明实施例提供的一种实体识别设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图2,图2是本发明实施例提供的一种信息抽取系统的结构示意图。该信息抽取系统中包括信息处理设备、数据库以及其他设备。其中,信息处理设备可以是电脑、手机和服务器(如数据库服务器、文件服务器)等等,数据库中存储了大量的语音信息和文本信息等,该数据库可以是信息处理设备的本地数据库,也可以是其他允许该信息处理设备访问的数据库。信息处理设备可以从数据库中获取信息也可以接收其他设备发送的信息,并对获取或接收到的信息进行实体抽取,以便执行后续的信息处理任务(如知识图谱推理、实体连接和实体关系分类)或向其他设备推送信息等等,其中,其他设备也可以是手机、电脑和服务器等。信息处理设备可以首先识别获取或接收到的信息中的命名实体,再从识别到的多种命名实体中抽取所需的命名实体。基于上述系统,本发明实施例提供了如下实体识别方法。

请参见图3,图3是本发明实施例提供的一种实体识别方法的流程示意图,该方法包括但不限于如下步骤:

s301,获取多条标注语料,所述多条标注语料携带标注信息。

具体实现中,标注语料可以是任意长度的语句,如“hetalkedtotheu.s.president”、“张三是xxx公司的职员”等。每条标注语料的标注信息包括该标注语料中每个字/单词的标注标签。根据标注标签就可以确定语料中是否包含命名实体、以及所包含的命名实体的类型,为了描述的简洁性以下将命名实体简称为实体。实体类型可以但不限于包括人名实体和地名实体,标注标签可以为数字、字符和字符串,其中,人名实体的标注标签可以但不限于为per、地名实体的标注标签可以但不限于为gpe。例如,标注语料“hetalkedtotheu.s.president”的标注情况如下所示:

其中,“he”为人名实体,对应的标注标签为per;“talked”和“to”既不是人名实体也不是地名实体,对应的标注标签为“o”;“theu.s.president”为人名实体,对应的标注标签为per;以及“u.s.”为地名实体,对应的标注标签为“gpe”。

s302,按照预设的实体标注规则建立超图模型。

具体实现中,超图模型是传统图模型的泛化,超图模型中的每条边可以连接两个及两个以上的节点,其中,超图模型中连接了两个以上节点边通常称为超边。而在传统图模型中,每条边最多只能连接两个节点,以及在传统的条件随机场图模型中,每条边只能连接一个节点。

为了标注嵌套实体,本发明实施例提出一种特殊的超图模型,该超图模型中包括多个父节点,每个父节点对应多种类型的子节点。每个父节点对应一个时间步上的输入字,其中,针对一个包含n个字/单词的句子,可以在每个时间步上输入其中一个字/单词,则每个时间步上输入的字/单词即为该时间步上的输入字,一个时间步可以看作是一个预设长度的时间段,如0.1毫秒。其中,每个父节点可以但不限于对应七种类型的子节点,在本发明实施例中用ak表示第k个时间步对应的父节点,则:

ak表示从k位置或更晚位置开始的实体,此处及以下所说的k位置/位置k可以理解为第k个时间步上的输入字在该输入字所在的语料中的位置;

ak的第一种类型的子节点ek表示左边界位于k位置的实体;

ak的第二种类型的子节点表示左边界位于k位置且类型为j的实体;

ak的第三种类型的子节点表示从k位置开始的类型为j的实体;

ak的第四种类型的子节点表示覆盖位置k且类型为j的实体;

ak的第五种类型的子节点表示结束于k且类型为j的实体;

ak的第六种类型的子节点表示在位置k处有单位长度的且类型为j的实体,其中,单位长度表示该实体的开始和结束都在相同位置;

ak的第七种类型的子节点x表示实体的结束。

其中,可以首先统计获取到的标注语料中每条标注语料的长度,其中,标注语料的长度与该标注语料所包含的字/单词的个数相同。例如,“hetalkedtotheu.s.president”中包括6个单词,则长度为6、“张三是xxx公司的职员”中包括7个字,则长度为7;接着可以但不限于根据最长长度确定超图模型中的父节点的个数,即确定超图模型的时间延展长度,例如最长长度为10,则确定父节点的个数为10。然后按照预设的实体标注规则连接多种类型的子节点、以及连接多个父节点,所述多个父节点中包括第一父节点和第二父节点,第一父节点和第二父节点为时间步相邻的两个父节点,其中,若第一父节点为ak,则第二父节点为ak+1,即第一父节点为第k个时间步上的父节点,第二父节点为第k+1个时间步上的父节点,则:

1、ak可以连接ak+1和ek。

2、ek可以连接到其中,由于实体的类型有m种,m为不小于1的正整数,即包括tk1、tk2、…、tkm,ek可以通过一条超边和tk1、tk2、…、tkm中的任意n个连接,n为不大于m的正整数。其中,tk+11、tk+12、…、tk+1m与tk1、tk2、…、tkm相同。

3、可以连接到(1)表示在位置k处类型为j的实体具有单位长度;(2)表示在位置k处有类型为j的实体并且将继续到下一个位置;(3)表示(1)和(2)情况都发生在位置k,即两个相同类型的实体之间存在嵌套关系。

4、可以连接到(1)ik+1j,表示类型为j的实体从位置k开始将在位置k+1上继续;(2)lk+1j,表示类型为j的实体从位置k开始,并且在位置k+1结束;(3)ik+1j和ik+1j,表示(1)和(2)情况都发生在位置k。

5、ukj节点只能连接到x节点,因为单位长度的实体开始和结束都在相同的位置。

6、可以连接到(1)ik+1j,表示存在一个类型为j的实体覆盖位置k和k+1;(2)lk+1j,表示存在一个类型为j的实体覆盖位置k,且在位置k+1处结束,(3)ik+1j和lk+1j,表示(1)和(2)情况都发生在位置k。

本发明实施例中的超图模型为全连接超图模型。其中,可以根据上述节点连接规则建立如图4所示全连接超图模型,该全连接超图模型包括了上述节点连接规则所包括的节点之间所有可能的连接方式,其中,相同的线型表示同一条边。需要说明的是,针对不同的父节点a,它们所对应的每种类型的子节点所表达的意义都是相同的,下标k和k+1仅仅用来区分相同类型的两个不同节点,例如,和ik+1j本质均是第四种类型的子节点,和ik+1j连接相当于两个均属于第四种类型的子节点相互连接。因此在图4中,省略了下标k和k+1。

在如图4所示全连接超图模型中,每个父节点及其对应的子节点所组成的图均为一类特殊的超图(该超图是全连接超图模型中的子图),其中,多个子节点可以组成一个有序的子节点列表,该超图将输入序列x对应的可能输出序列s的条件概率模型化为

其中,x可以为词序列,s可以为每个词的标注标签组成的序列。其中g(x,s)是特征函数,w是权向量。z(x)是所有可能的边s在x上的归一化因子。则为了找到最佳的分割算法,令aj表示第j个输入的最佳分割结束点,(m,y)表示第m个位置上并且具有标签y,则aj可以递归地计算为

aj=maxψ(j-1,y)+aj-1(2)

其中,ψ(j-1,y)是在边s=(j-1,y)上定义的特征值,通过以上方程,可以快速找出超图模型中最佳的分割序列,即特征值最大的分割序列。

s303,根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图。

具体实现中,针对标注语料中的每个字/单词进行标注,得到每个字/单词的唯一标注路径,将多个词的标注路径相结合所构成的超图作为标注语料对应的标注路径图,其中,标注路径图为全连接超图模型的一个子图。

例如,如图5所示,假设实体类型共包括两种,第一种为地名实体,第二种为人名实体,则在标注语料“hetalkedtotheu.s.president”中,根据标注信息,确定“he”为一个人名实体,可以使用u2节点(上述第六种类型的子节点)进行标注、“theu.s.president”也为一个人名实体,可以使用多个i2节点(上述第四种类型的子节点)、和b2节点(上述第三种类型的子节点)来标注,同时在“theu.s.president”中,“u.s.”是一个地名实体,可以用u1节点进行标注,其余单词为非实体,可以将其对应的父节点和相关子节点直接连接x节点,表示该处不存在实体。

s304,根据所述超图模型和预设的神经网络模型,建立待训练模型。

具体实现中,如图6所示,可以将超图模型和神经网络模型分别作为待训练模型的两个逻辑层,建立神经网络层-超图层结构的待训练模型。其中,预设的神经网络模型可以但不限于为双向长短期记忆神经网络(bidirectionallong-shorttimememory,bilstm)。

s305,将所述标注路径图输入所述待训练模型中进行训练,得到实体识别模型。

具体实现中,超图模型包括每条标注语料的多条标注路径,所述多条标注路径为每条标注语料的所有可能的标注路径。每条标注语料对应的标注路径图包括所述多条标注路径中的目标标注路径,该目标标注路径为该标注语料的最合理的标注路径。此外,待训练模型包括多个训练参数,所述多个训练参数可以但不限于为超图模型中每条边对应的权重系数和/或状态转移矩阵。其中,可以首先对所述多个训练参数进行任意初始化,接着根据超图模型和神经网络模型计算所述多条标注路径中每条标注路径的得分,并根据该得分调整所述多个训练参数,直到所述目标标注路径的得分在所述多条标注路径中最高。

s306,根据所述实体识别模型,识别输入语料中的至少一个命名实体。

具体实现中,可以将输入语料输入实体识别模型,则实体识别模型将输出该输入语料对应的与图5类似的标注路径图,从而可以首先确定该输入语料的标注路径,接着根据标注路径确定该输入语料对应的标注标签,其中包括该输入语料中的每个字/词的标注标签,然后根据标注标签,识别至少一个命名实体。例如,输入语料中“u.s.”的标注标签为gpe,则确定u.s.为地名实体。

可选的,可以在根据所述实体识别模型识别输入语料中的至少一个命名实体后,接收用户输入的选择指令,该选择指令携带实体类型信息,然后从所述至少一个命名实体中抽取与实体类型信息相匹配的命名实体。例如,选择指令中携带的实体类型信息为per,则可以抽取输入语料中所有人名实体。

在本发明实施例中,首先获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;接着按照预设的实体标注规则建立超图模型;然后根据标注信息和实体标注规则,确定每条标注语料对应的标注路径图、以及根据超图模型和预设的神经网络模型建立待训练模型;最后将标注路径图输入待训练模型中进行训练,得到实体识别模型,并根据实体识别模型,识别输入语料中的至少一个命名实体。可以有效识别嵌套结构的实体,从而提高实体识别和实体抽取的准确性。

请参见图7,图7是本发明实施例提供的另一种实体识别方法的流程示意图,该方法包括但不限于如下步骤:

s701,获取多条标注语料,所述多条标注语料携带标注信息。本步骤与上一实施例中的s301相同,本步骤不再赘述。

s702,按照预设的实体标注规则建立超图模型。本步骤与上一实施例中的s302相同,本步骤不再赘述。

s703,根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图。本步骤与上一实施例中的s303相同,本步骤不再赘述。

s704,根据所述超图模型和预设的神经网络模型,建立待训练模型。本步骤与上一实施例中的s304相同,本步骤不再赘述。

s705,将所述标注路径图输入所述待训练模型中进行训练。

具体实现中,超图模型包括每条标注语料的多条标注路径,所述多条标注路径为每条标注语料所有可能的标注路径。每条标注语料对应的标注路径图包括所述多条标注路径中的目标标注路径,该目标标注路径为该标注语料的最合理的标注路径。此外,待训练模型包括多个训练参数,所述多个训练参数可以但不限于为超图模型中每条边对应的权重系数和/或状态转移矩阵,在对待训练模型进行训练之前,可以对所述多个训练参数进行任意初始化。

首先,可以根据神经网络模型确定所述多条标注路径中的每条标注路径的第一特征分数,以及根据超图模型确定每条标注路径的第二特征分数,其中,可以但不限于结合向前-向后算法和最大期望(expectationmaximizationalgori-thm,em)算法来计算特征分数;接着将第一特征分数和第二特征分数的和作为所述每条标注路径的得分,每条标注路径的得分可以用来衡量用该标注路径的合理性。

为了提高标注路径的得分的准确度,可以通过不同特征维度来计算特征分数。其中,超图模型对应至少一种第一语料特征,神经网络模型对应至少一种第二语料特征,因此可以先根据至少一种第一语料特征中每种第一语料特征,确定每条标注路径的第一特征分量值、以及根据至少一种第二语料特征中每种第二语料特征,确定每条标注路径的第二特征分量值,再将第一特征分量值的和作为第一特征分数、以及将第二特征分量值的和作为第二特征分数。其中,第一语料特征可以是通过向前-向后算法捕获的标注语料的上下文特征,第二语料特征可以包括但不限于状态转移特征、单词特征(窗口大小可以为3)、语言模式特征(n-gram特征)、词性标签特征(窗口大小可以为3)、词袋特征(窗口大小可以为5)和单词模式特征中的至少一项,其中,n-gram特征可以包括单词n-grams特征和词性n-grams特征,n可以为2、3、4。单词模式可以包括全大写、全数字、全字母数字、包含数字、包含点、包含连字符、首字母大写、孤独首字母、标点符号、罗马数字、单字符和url中的至少一项。状态转移特征用于描述标注语料中的字/单词由一种类型的实体转变为另一种类型的实体的概率(也可以说分数)。

例如:第一语料特征为上下文特征,第二语料特征为状态转移特征,则针对标注语料[x]t1,可以用[fθ]i,t表示根据神经网络模型计算得到的[x]t中第t个词被标注为第i种类型的实体的分数,[x]t中共有t个词,从而根据每个字/单词的分数得到一个特征矩阵[fθ],其中,θ为神经网络的设置参数。超图模型中使用的状态转移特征矩阵为[a],[a]i,j表示从第i个状态到第j个转换的分数,这里需要说明的是,针对语料中的每个字/单词所使用的转移特征矩阵均相同。最终,标注语料[x]t的标签序列[i]t对应的标注路径的特征分数s([x]t,[i]t,θ)可以通过(3)式来计算。而当第一语料特征和第二语料特征分别包含多个时,按照(3)式将每种语料特征对应的特征分数矩阵依次相加即可。其中,可以以标注语料“hetalkedtotheu.s.president”为例来说明标签序列和标注路径的关系,在该标注语料中“he”、“talked”、“to”、“theu.s.president”以及“u.s.”的标注标签分别为per、o、o、per和gpe,则标签序列为per、o、o、per、gpe,该标签序列对应的标注路径图如5所示。

又如,标注语料x中包含4个词x1、x2、x3和x4。预设实体类型总共包括3种a1、a2和a3。根据神经网络模型得到的特征矩阵为w,其中,第i行第j列的元素表示xi属于第j种类型的实体的分数,则根据w可以得到每条标注路径的特征分数,比如:x的一条可能标注路径ω对应的标签序列为a1、a3、a2、a1,则根据w得到x1属于a1的分数为1.5、x2属于a3的分数为0.11、x3属于a2的分数为0.002以及x4属于a1的分数为0.12,因此该标注路径ω的第一特征分数为1.5+0.11+0.002+0.12=1.772。超图模型的状态转移矩阵为q,其中,第m行第n列的元素表示由第m种类型转变为第n种类型的概率(分数),则针对上述标注路径ω,得到x1从类型a1转换为类型a3的分数为0.1、x2从类型a3换为类型a2的分数为0以及x3从类型a2转换为类型a1的分数为0.008,因此该标注路径ω的第二特征分数为0.1+0+0.008=0.108,因此标注路径ω的得分为1.772+0.108=1.88。

然后,根据每条标注路径的得分,调节所述多个训练参数以提高所述目标标注路径的得分。

相比于现有技术中基于超图模型的实体识别模型,本发明实施例训练得到的实体识别模型在利用超图模型得到标注路径的传统特征矩阵(如状态转移矩阵,n-gram特征矩阵等)的基础上,通过神经网络多计算了一个神经网络特征矩阵,用以一起计算标注路径的特征分数,提高了标注路径的合理性判别的准确度。此外,本发明实施例针对嵌套实体提出的特殊超图模型可有效解决现有技术中无法识别嵌套实体的问题。

s706,确定所述标注路径图对应的目标标注路径的得分在所述超图模型所包括的多条标注路径中是否为最高得分。若是,则执行s707,若否,则继续执行s705。

具体实现中,可将获取到的多条标注语料分成多份(batch),例如,共获取到1000条标注语料,则将其分为4个batch,每个batch包含250条。因此,可以首先将其中一个batch输入待训练模型进行训练,若训练完成后目标标注路径的得分在多条标注路径中不为最高得分,则接着利用另一个batch继续对待训练模型进行训练,以便继续调整待训连模型的训练参数直到目标标注路径的得分为多条标注路径中的最高得分。

s707,将所述最高得分对应的训练参数作为待训练模型的设置参数,得到实体识别模型。

具体实现中,当目标标注路径的得分在多条标注路径中为得分最高时,目标标注路径在全连接超图模型中的出现概率最大。则可以将待训练模型的相应参数设置为所述设置参数后作为实体识别模型。

s708,根据所述实体识别模型,识别输入语料中的至少一个命名实体。本步骤与上一实施例中的s306相同,本步骤不再赘述。

在本发明实施例中,首先获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;接着按照预设的实体标注规则建立超图模型;然后根据标注信息和实体标注规则,确定每条标注语料对应的标注路径图、以及根据超图模型和预设的神经网络模型,建立待训练模型;最后将标注路径图输入待训练模型中进行训练,得到实体识别模型,并根据实体识别模型,识别输入语料中的至少一个命名实体。可以有效识别嵌套结构的实体,从而提高实体识别和实体抽取的准确性。

上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关设备。

请参见图8,图8是本发明实施例提供的一种实体识别装置的结构示意图,该实体识别装置可以包括:

获取模块801,用于获取多条标注语料,所述多条标注语料携带标注信息。

具体实现中,标注语料可以是任意长度的语句,如“hetalkedtotheu.s.president”、“张三是xxx公司的职员”等。每条标注语料的标注信息包括该标注语料中每个字/单词的标注标签。根据标注标签就可以确定语料中是否包含命名实体、以及所包含的命名实体的类型,为了描述的简洁性以下将命名实体简称为实体。实体类型可以但不限于包括人名实体和地名实体,标注标签可以为数字、字符和字符串,其中,人名实体的标注标签可以但不限于为per、地名实体的标注标签可以但不限于为gpe。

建模模块802,用于按照预设的实体标注规则建立超图模型。

具体实现中,超图模型是传统图模型的泛化,超图模型中的每条边可以连接两个及两个以上的节点,其中,超图模型中连接了两个以上节点边通常称为超边。而在传统图模型中,每条边最多只能连接两个节点,以及在传统的条件随机场图模型中,每条边只能连接一个节点。

为了标注嵌套实体,本发明实施例提出一种特殊的超图模型,该超图模型中包括多个父节点,每个父节点对应多种类型的子节点。每个父节点对应一个时间步上的输入字,其中,针对一个包含n个字/单词的句子,可以在每个时间步上输入其中一个字/单词,则每个时间步上输入的字/单词即为该时间步上的输入字,一个时间步可以看作是一个预设长度的时间段,如0.1毫秒。其中,每个父节点可以但不限于对应七种类型的子节点,在本发明实施例中用ak表示第k个时间步对应的父节点,则:

ak表示从k位置或更晚位置开始的实体,此处及以下所说的k位置/位置k可以理解为第k个时间步上的输入字在该输入字所在的语料中的位置;

ak的第一种类型的子节点ek表示左边界位于k位置的实体;

ak的第二种类型的子节点表示左边界位于k位置且类型为j的实体;

ak的第三种类型的子节点表示从k位置开始的类型为j的实体;

ak的第四种类型的子节点表示覆盖位置k且类型为j的实体;

ak的第五种类型的子节点表示结束于k且类型为j的实体;

ak的第六种类型的子节点表示在位置k处有单位长度的且类型为j的实体,其中,单位长度表示该实体的开始和结束都在相同位置;

ak的第七种类型的子节点x表示实体的结束。

其中,可以首先统计获取到的标注语料中每条标注语料的长度,其中,标注语料的长度与该标注语料所包含的字/单词的个数相同。例如,“hetalkedtotheu.s.president”中包括6个单词,则长度为6、“张三是xxx公司的职员”中包括7个字,则长度为7;接着可以但不限于根据最长长度确定超图模型中的父节点的个数,即确定超图模型的时间延展长度,例如最长长度为10,则确定父节点的个数为10。然后按照预设的实体标注规则连接多种类型的子节点、以及连接多个父节点,所述多个父节点中包括第一父节点和第二父节点,第一父节点和第二父节点为时间步相邻的两个父节点,其中,若第一父节点为ak,则第二父节点为ak+1,即第一父节点为第k个时间步上的父节点,第二父节点为第k+1个时间步上的父节点,则:

1、ak可以连接ak+1和ek。

2、ek可以连接到其中,由于实体的类型有m种,m为不小于1的正整数,即包括tk1、tk2、…、tkm,ek可以通过一条超边和tk1、tk2、…、tkm中的任意n个连接,n为不大于m的正整数。其中,tk+11、tk+12、…、tk+1m与tk1、tk2、…、tkm相同。

3、可以连接到(1)表示在位置k处类型为j的实体具有单位长度;(2)表示在位置k处有类型为j的实体并且将继续到下一个位置;(3)表示(1)和(2)情况都发生在位置k,即两个相同类型的实体之间存在嵌套关系。

4、可以连接到(1)ik+1j,表示类型为j的实体从位置k开始将在位置k+1上继续;(2)lk+1j,表示类型为j的实体从位置k开始,并且在位置k+1结束;(3)ik+1j和ik+1j,表示(1)和(2)情况都发生在位置k。

5、节点只能连接到x节点,因为单位长度的实体开始和结束都在相同的位置。

6、可以连接到(1)ik+1j,表示存在一个类型为j的实体覆盖位置k和k+1;(2)lk+1j,表示存在一个类型为j的实体覆盖位置k,且在位置k+1处结束,(3)ik+1j和lk+1j,表示(1)和(2)情况都发生在位置k。

本发明实施例中的超图模型为全连接超图模型。其中,可以根据上述节点连接规则建立如图4所示全连接超图模型,该全连接超图模型包括了上述节点连接规则包括的节点之间所有可能的连接方式,其中,相同的线型表示同一条边。

标注模块803,用于根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图。

具体实现中,针对标注语料中的每个字/单词进行标注,得到每个字/单词的唯一标注路径,将多个词的标注路径相结合所构成的超图作为标注语料对应的标注路径图,其中,标注路径图为全连接超图模型的一个子图。例如,如图5所示,假设实体类型共包括两种,第一种为地名实体,第二种为人名实体,则在标注语料“hetalkedtotheu.s.president”中,根据标注信息,确定“he”为一个人名实体,可以使用u2节点(上述第六种类型的子节点)进行标注、“theu.s.president”也为一个人名实体,可以使用多个i2节点(上述第四种类型的子节点)、和b2节点(上述第三种类型的子节点)来标注,同时在“theu.s.president”中,“u.s.”是一个地名实体,可以用u1节点进行标注,其余单词为非实体,可以将其对应的父节点和相关子节点直接连接x节点,表示该处不存在实体。

建模模块802,还用于根据所述超图模型和预设的神经网络模型,建立待训练模型。

具体实现中,如图6所示,可以将超图模型和神经网络模型分别作为待训练模型的两个逻辑层,建立神经网络层-超图层结构的待训练模型。其中,预设的神经网络模型可以但不限于为bilstm。

训练模块804,用于将所述标注路径图输入所述待训练模型中进行训练,得到实体识别模型。

具体实现中,超图模型包括每条标注语料的多条标注路径,所述多条标注路径为每条标注语料所有可能的标注路径。每条标注语料对应的标注路径图包括所述多条标注路径中的目标标注路径,该目标标注路径为该标注语料的最合理的标注路径。此外,待训练模型包括多个训练参数,所述多个训练参数可以但不限于为超图模型中每条边对应的权重系数和/或状态转移矩阵,在对待训练模型进行训练之前,可以对所述多个训练餐参数进行任意初始化。

首先,可以根据神经网络模型确定所述多条标注路径中的每条标注路径的第一特征分数,以及根据超图模型确定每条标注路径的第二特征分数,其中,可以但不限于结合向前-向后算法和最大期望(expectationmaximizationalgori-thm,em)算法来计算特征分数;接着将第一特征分数和第二特征分数的和作为所述每条标注路径的得分,每条标注路径的得分可以用来衡量用该标注路径的合理性。

为了提高标注路径的得分的准确度,可以通过不同特征维度来计算特征分数,其中,超图模型对应至少一种第一语料特征,神经网络模型对应至少一种第二语料特征,因此可以先根据至少一种第一语料特征中每种第一语料特征,确定每条标注路径的第一特征分量值、以及根据至少一种第二语料特征中每种第二语料特征,确定每条标注路径的第二特征分量值,再将第一特征分量值的和作为第一特征分数、以及将第二特征分量值的和作为第二特征分数。其中,第一语料特征可以是通过向前-向后算法捕获的标注语料的上下文特征,第二语料特征可以包括但不限于状态转移特征、单词特征(窗口大小可以为3)、语言模式特征(n-gram特征)、词性标签特征(窗口大小可以为3)、词袋特征(窗口大小可以为5)和单词模式特征中的至少一项,其中,n-gram特征可以包括单词n-grams特征和词性n-grams特征,n可以为2、3、4。单词模式可以包括全大写、全数字、全字母数字、包含数字、包含点、包含连字符、首字母大写、孤独首字母、标点符号、罗马数字、单字符和url中的至少一项。状态转移特征用于描述标注语料中的字/单词由一种类型的实体转变为另一种类型的实体类别的概率(也可以说分数)。

然后,根据每条标注路径的得分,调节所述多个训练参数,以使目标标注路径的得分为所述多条标注路径中的最高得分,并将所述最高得分对应的训练参数座为待训练模型的设置参数,得到实体识别模型。其中,可将获取到的多条标注语料分成多份(batch),例如,共获取到1000条标注语料,则将其分为4个batch,每个batch包含250条。因此,可以首先将其中一个batch输入待训练模型进行训练,若训练完成后目标标注路径的得分在所述多条标注路径中不为最高得分,则接着利用另一个batch继续对待训练模型进行训练,以便继续调整待训连模型的训练参数直到目标标注路径的得分为多条标注路径中的最高得分。

识别模块805,用于根据所述实体识别模型,识别输入语料中的至少一个命名实体。

具体实现中,可以将输入语料输入实体识别模型,则实体识别模型将输出该输入语料对应的与图5类似的标注路径图,从而可以首先确定该输入语料的标注路径,接着根据标注路径确定该输入语料对应的标注标签,其中包括该输入语料中的每个字/词的标注标签,然后根据标注标签,识别至少一个命名实体。例如,输入语料中“u.s.”的标注标签为gpe,则确定u.s.为地名实体。

可选的,本发明实施例所述的装置还包括抽取模块,可以用于在根据所述实体识别模型识别输入语料中的至少一个命名实体后,接收用户输入的选择指令,该选择指令携带实体类型信息,然后从所述至少一个命名实体中抽取与实体类型信息相匹配的命名实体。例如,选择指令中携带的实体类型信息为per,则可以抽取输入语料中所有人名实体。

在本发明实施例中,首先获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;接着按照预设的实体标注规则建立超图模型;然后根据标注信息和实体标注规则,确定每条标注语料对应的标注路径图、以及根据超图模型和预设的神经网络模型,建立待训练模型;最后将标注路径图输入待训练模型中进行训练,得到实体识别模型,并根据实体识别模型,识别输入语料中的至少一个命名实体。可以有效识别嵌套结构的实体,从而提高实体识别和实体抽取的准确性。

请参见图9,图9是本发明实施例提供的一种实体识别设备的结构示意图。如图所示,该实体识别设备可以包括:至少一个处理器901,至少一个通信接口902,至少一个存储器903和至少一个通信总线904。

其中,处理器901可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线904可以是外设部件互连标准pci总线或扩展工业标准结构eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线904用于实现这些组件之间的连接通信。其中,本发明实施例中设备的通信接口902用于与其他节点设备进行信令或数据的通信。存储器903可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatilerandomaccessmemory,nvram)、相变化随机存取内存(phasechangeram,pram)、磁阻式随机存取内存(magetoresistiveram,mram)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、闪存器件,例如反或闪存(norflashmemory)或是反及闪存(nandflashmemory)、半导体器件,例如固态硬盘(solidstatedisk,ssd)等。存储器903可选的还可以是至少一个位于远离前述处理器901的存储装置。存储器903中存储一组程序代码,且处理器901执行存储器903中的程序:

获取多条标注语料,所述多条标注语料中每条标注语料携带标注信息;

按照预设的实体标注规则建立超图模型;

根据所述标注信息和所述实体标注规则,确定所述每条标注语料对应的标注路径图;

根据所述超图模型和预设的神经网络模型,建立待训练模型;

将所述标注路径图输入所述待训练模型中进行训练,得到实体识别模型;

根据所述实体识别模型,识别输入语料中的至少一个命名实体。

可选的,所述超图模型包括多个父节点,所述多个父节点中的每个父节点对应多种类型的子节点;

处理器901还用于执行如下操作步骤:

按照所述实体标注规则连接所述多种类型的子节点、以及连接所述多个父节点得到所述超图模型。

可选的,所述多个父节点包括第一父节点和第二父节点;

处理器901还用于执行如下操作步骤:

连接所述第一父节点的第一种类型的子节点与所述第一父节点的第二种类型的子节点;以及

连接所述第一父节点的第二种类型的子节点与所述第一父节点的第三种类型的子节点和第六种类型的子节点中的至少一个;以及

连接所述第一父节点的第三种类型的子节点与所述第二父节点的第四种类型的子节点和第五种类型的子节点中的至少一个;以及

连接所述第一父节点的第四种类型的子节点与所述第二父节点的第四种类型的子节点和第五种类型的子节点中的至少一个;以及

连接所述第一父节点的第六种类型的子节点和第五种类型的子节点与所述第一父节点的第七种类型的子节点;以及

连接所述第一父节点和所述第二父节点。

可选的,所述待训练模型包括多个训练参数;所述超图模型中包括所述每条标注语料的多条标注路径;所述标注路径图中包括所述多条标注路径中的目标标注路径;

可选的,处理器901还用于执行如下操作步骤:

根据所述神经网络模型确定所述多条标注路径中每条标注路径的第一特征分数、以及根据所述超图模型确定所述每条标注路径的第二特征分数;

将所述第一特征分数和所述第二特征分数的和作为所述每条标注路径的得分;

根据所述每条标注路径的得分,调节所述多个训练参数以使所述目标标注路径的得分为所述多条标注路径中的最高得分;

将所述最高得分对应的多个训练参数作为所述待训练模型的设置参数,得到所述实体识别模型。

可选的,所述超图模型对应至少一种第一语料特征;所述神经网络模型对应至少一种第二语料特征;

处理器901还用于执行如下操作步骤:

根据所述至少一种第一语料特征中每种第一语料特征,确定所述每条标注路径的第一特征分量值、以及根据所述至少一种第二语料特征中每种第二语料特征,确定所述每条标注路径的第二特征分量值;

将所述第一特征分量值的和作为所述第一特征分数、以及将所述第二特征分量值的和作为所述第二特征分数。

可选的,处理器901还用于执行如下操作步骤:

将所述输入语料输入所述实体识别模型,得到所述输入语料的标注路径;

根据所述标注路径,确定所述输入语料对应的标注标签;

根据所述标注标签,识别所述至少一个命名实体。

可选的,处理器901还用于执行如下操作步骤:

接收用户输入的选择指令,所述选择指令携带实体类型信息;

从所述至少一个命名实体中抽取与所述实体类型信息相匹配的命名实体。

进一步的,处理器还可以与存储器和通信接口相配合,执行上述发明实施例中实体识别装置的操作。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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