一种自适应的跨领域命名实体识别方法与系统与流程

文档序号:18526083发布日期:2019-08-24 10:15阅读:435来源:国知局
一种自适应的跨领域命名实体识别方法与系统与流程

本发明涉及计算机自然语言处理领域,具体涉及一种自适应的跨领域命名实体识别方法与系统。



背景技术:

命名实体识别(namedentityrecognition,ner)解决的问题是如何从文本中提取指定类型的实体,例如人名、地名、机构名等,从而抽取文本中的关键信息。ner是自然语言处理领域的一个基础性的工作,是众多人工智能应用(例如实体关系抽取、网络问答系统等ai应用)的基础。命名实体识别方法有基于规则的方法、基于统计的方法(如条件随机场、马尔科夫模型等)和基于神经网络的方法等(如卷积神经网络和循环神经网络等)。

目前中文命名实体识别大多针对通用实体类型的识别,如人名、地名、机构名等,较少针对特定的专业领域实体对象识别问题。随着自然语言技术的深入应用,需要处理的命名实体类型逐渐深入到不同专业应用领域,导致需要处理的实体类型激增。例如知识服务领域对于计算机领域常常需要识别文本中的算法、模型、系统、框架以及评估指标等实体类型;而材料学科需要识别其中的材料类型、生产工艺、力学性质等实体类型等。

另一方面,现有的实体识别方法也难以处理一词多义的问题。比如“cell(细胞)”,在生物学中指生物体基本的结构和功能单位,但是在计算机科学领域可以指lstm神经网络模型的一个单元。

基于上述理由,现有的命名实体识别不能很好的适用于不同的专业应用领域,难以解决跨领域文本内容中实体的精准识别问题。



技术实现要素:

本发明的目的在于克服现有技术中所存在的上述不足,提供一种自适应的跨领域命名实体识别方法与系统,以提高跨领域文本内容中实体识别的精准度。

为了实现上述发明目的,本发明提供了以下技术方案:

一种自适应的跨领域命名实体识别方法,其特征在于,包括以下步骤:

s1:输入已标记的训练文本和待测的测试文本;

s2:实体识别模型调用模块调用文本内容领域识别模块,识别待测试的文本所属技术领域;

s3:调用命名实体识别模型管理模块,将步骤s2识别结果的领域集合送入实体识别模型调用模块;

s4:通过实体识别模型调用模块依次将待测试的测试样本送入领域集合所含领域对应的命名实体识别模型中,命名实体识别模型识别命名实体,并将实体识别结果与概率值相关联,每个命名实体识别模型输出识别结果;

s5:实体识别模型调用模块,将所有的模型输出的命名实体识别的结果进行合并,输出识别结果。

优选地,所述步骤s2中,文本内容领域识别模块利用层次分类器完成文本领域的分类处理,所述层次分类器基于核的距离加权knn文本分类方法设计实现,将已标记的训练文本作为训练向量训练层次分类器,然后对测试样本进行分类。

优选地,所述层次分类器具体实现步骤如下:

s2-1:根据训练向量训练文本分类层次的第一层;训练文本集合为t,使用k邻近算法将训练文本t分为p类,记为t={t1,t2,...,tp},即第i类训练文本记做ti,且1≤i≤p;

s2-2:对于类别ti中的训练文本,计算他们的类中心wi,类中心wi为该类别中所有文本向量的重心;

s2-3:计算类别ti中所有的训练文本到类中心wi的余弦距离,根据预设阈值di去除距离类中心wi较远的边界样本,减少边界样本对类中心的影响;

s2-4:使用k邻近算法对经过步骤s2-3去除边界样本后的类别ti中剩余的训练样本分类,得到ki个子类;

s2-5:分别计算类别ti中ki个子类的中心,得到w′1,w′2,...,w′ki,作为类别ti代表点,这些代表点成为类别ti的核;

s2-6:判断p类训练文本是否均已用于训练层次分类器,若还有文本领域类别未训练,执行步骤s2-2至s2-5;若文本领域类别训练完毕,执行通过步骤s2-7;

s2-7:计算待测试的测试样本到所有类别代表点的余弦距离,选取余弦距离值较小的n个代表点,n代表点所对应的n个文本领域类别即为识别结果。

优选地,所述步骤s3调用命名实体识别模型管理模块,从步骤s2识别的文本领域中选出余弦距离小于预设阈值的领域,领域的集合记做x;集合x送入实体识别模型调用模块。

优选地,所述步骤s4中,采用基于字的bilstm-crf模型来构建命名实体模型;步骤s4中命名实体识别模型进行命名实体识别具体实现步骤如下:

s4-1:文本分词,获得词向量;

s4-2:通过词向量获得完整的隐状态序列,依次经过词级的序列标注和句子级的序列标注,预测实体类别。

优选地,步骤s4-1具体实现过程如下:bilstm-crf模型的输入为句子,将一个含有n个字序列的句子记为x=(x1,x2,…,xn),其中xi表示句子中第i个字在字典中的编码id;获取每个字的ont-hotvector;在bilstm-crf模型的第一层look-uplayer,利用随机初始化的embedding矩阵将每个字的ont-hot向量映射为低维稠密字向量ei∈rd,d是embedding的维度。

优选地,其特征在于,步骤s4-2具体实现过程如下:

通过bilstm-crf模型第二层bilstmlayer,将上述序列作为各个时间步的输入,得到各个位置的输出正向的隐状态序列以及反向的隐状态序列将两个序列进行拼接得到完整的隐状态序列,记做(h1,h2,…,hn)∈rn×m

通过bilstm-crf模型第三层线性层,将隐状态向量由m维映射到k维,k是实体类别数量,记为矩阵p=(p1,p2,…,pn)∈rn×k,其中pi=(pi1,…,pij,…,pik),pi表示字xi分别标注为k个实体类别标签的得分序列,其中pij表示字xi标注为第j个标签的得分;

通过bilstm-crf模型第四层crflayer,进行句子级的序列标注;crf层的参数为(k+2)×(k+2)的矩阵a,aij表示从第i个标签到第j个标签的转移得分;若记标签序列为y=(y1,y2,…,yn),那么模型对于句子x的实体标注为y的得分为

通过bilstm-crf模型第五层softmax归一化得到对于句子序列x对应标签序列y的概率最大概率标签序列即为预测实体类别序列。

另一方面,本申请提供一种自适应的跨领域命名实体识别系统,包括文本内容领域识别模块、命名实体识别模型管理模块以及实体识别模型调用模块;所述实体识别模型调用模块包括第一输入端口,第二输入端口,第一输出端口,第二输出端口;实体识别模型调用模块的第一输入端口用于输入待识别的文本,实体识别模型调用模块的第一输出端口连接文本内容领域识别模块的输入端,文本内容领域识别模块的输出端连接命名实体识别模型管理模块的输入端,命名实体识别模型管理模块的输出端连接实体识别模型调用模块的第二输入端口,实体识别模型调用模块的第二输出端口输出识别的实体结果。

优选地,所述文本内容领域识别模块包含层次型文本分类器,所述层次型文本分类器为层次结构。

优选地,所述命名实体识别模型管理模块包括多个命名实体识别模型,所述层次型文本分类器包含的每一个应用领域对应1个以上的命名实体识别模型。

与现有技术相比,本发明的有益效果:首先根据需要将文本划分到不同的应用领域或者子领域;在不同领域文本集上标注并训练命名实体识别模型;建立层次型的文本分类模型,来识别文本所在领域的概率,提高命名实体识别的准确度,提高跨领域文本中命名实体识别的精度;相比于通用命名实体识别方法,本申请可以根据识别需要扩展领域,具备良好的扩展性。

附图说明:

图1为本发明示例性实施例1的一种自适应的跨领域命名实体识别方法的流程图;

图2为本发明示例性实施例1的命名实体识别模型识别流程图;

图3为本发明示例性实施例2的一种自适应的跨领域命名实体识别系统的系统结构图;

图4为本发明示例性实施例2的领域树的示意图。

具体实施方式

下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

实施例1

如图1所示,本实施例提供一种自适应的跨领域命名实体识别方法,包括以下步骤:

s1:输入文本数据;

输入的文本包括已标记的训练文本和待测的测试文本,输入的文本均通过已有的自然语言处理工具转换为机器可识别的文本向量。

s2:实体识别模型调用模块调用文本内容领域识别模块,识别待测试的文本所属技术领域;

文本内容领域识别模块利用层次分类器完成文本领域的分类处理,确定文本最可能所属的领域。层次分类器将文本分为若干个大类,每一个大类又分为若干个小类,根据分类要求设计层次分类器,确定层次分类器的层级数及每一层级(大类或小类等)包含的类别。例如文本分为计算机、生物、医学等领域,计算机领域又可继续分为互联网、信息安全、人工智能等领域。

本实施例基于核的距离加权knn文本分类方法设计层次分类器,将已标记的训练文本作为训练向量训练层次分类器,提高层次分类器的分类效果,然后对测试样本进行分类。所述层次分类器具体实现步骤如下:

s2-1:根据训练向量训练文本分类层次的第一层;训练文本集合为t,使用k邻近算法将训练文本t分为p类,记为t={t1,t2,...,tp},即第i类训练文本记做ti,且1≤i≤p;

s2-2:对于类别ti中的训练文本,计算他们的类中心wi,即该类中所有文本向量的重心(几何平均值);

s2-3:计算类别ti中所有的训练文本到类中心wi的余弦距离,根据预设阈值di去除距离类中心wi较远的边界样本,减少边界样本对类中心的影响;

s2-4:使用k邻近算法对经过步骤s2-3去除边界样本后的类别ti中剩余的训练样本分类,得到ki个子类;

s2-5:分别计算类别ti中ki个子类的中心,得到w′1,w′2,...,w′ki,作为类别ti代表点,这些代表点成为类别ti的核;

s2-6:判断p类训练文本是否均已用于训练层次分类器,若还有文本领域类别未训练,执行步骤s2-2至s2-5;若文本领域类别训练完毕,执行通过步骤s2-7;

s2-7:计算待测试的测试样本到所有类别代表点的余弦距离,选取余弦距离值较小的n个代表点,n代表点所对应的n个文本领域类别即为识别结果。测试样本到类别代表点的余弦距离值越小,文本属于代表点所对应的文本领域类别的可能性越大。

s3:调用命名实体识别模型管理模块,从步骤s2识别的文本领域中选出余弦距离小于预设阈值的领域,领域的集合记做x;集合x送入实体识别模型调用模块;

s4:实体识别模型调用模块逐个取出集合x中的领域,并将待测试的测试样本送入集合x所含领域对应的命名实体识别模型中;对应的命名实体识别模型识别命名实体,并将实体识别结果与概率值相关联,每个命名实体识别模型输出识别结果;某一实体识别结果关联的概率值越大,表示实体识别为该实体识别结果的可能性越高。

一个文本领域ti对应的模型集合为mi,mi内包含m个命名实体识别模型,文本领域ti内第j个命名实体识别模型记做mi,j。

命名实体识别模型mi,j可以采用基于规则的方法、基于统计的方法或基于神经网络的方法等来构建模型,本实施例以基于字的bilstm-crf模型为例,进行介绍。使用基于字单位的bilstm-crf模型,以计算机学科为例,可以识别算法、模型、架构、系统等实体类别。采用bakeoff-3评测中的bio标注集,即b-表示实体首字,i-表示实体非首字。比如b-算法表示算法实体首字,i-算法表示算法实体非首字,o代表该字不属于要识别实体类型中的任意部分。

如图2所示,命名实体识别模型进行命名实体识别具体实现步骤如下:

s4-1:文本分词,获得词向量;

bilstm-crf模型的输入为句子,将一个含有n个字序列的句子记为x=(x1,x2,…,xn),其中xi表示句子中第i个字在字典中的编码id。获取每个字的ont-hotvector(ont-hot向量);在bilstm-crf模型的第一层look-uplayer,利用随机初始化的embedding矩阵将每个字的ont-hot向量映射为低维稠密字向量ei∈rd,d是embedding的维度。

s4-2:通过词向量获得完整的隐状态序列,依次经过词级的序列标注和句子级的序列标注,预测实体类别;

bilstm-crf模型第二层是bilstmlayer,将上述序列作为各个时间步的输入,得到各个位置的输出正向的隐状态序列以及反向的隐状态序列将两个序列进行拼接得到完整的隐状态序列,记做(h1,h2,…,hn)∈rn×m。接着通过bilstm-crf模型第三层线性层,将隐状态向量由m维映射到k维,k是实体类别数量,记为矩阵p=(p1,p2,…,pn)∈rn×k,其中pi=(pi1,…,pij,…,pik),pi表示字xi分别标注为k个实体类别标签的得分序列,其中pij表示字xi标注为第j个标签的得分。

紧接通过bilstm-crf模型第四层crflayer,进行句子级的序列标注。crf层的参数为(k+2)×(k+2)的矩阵a,aij表示从第i个标签到第j个标签的转移得分。模型训练过程中,使用最大似然估计定义优化函数,通过反向传播算法训练矩阵a中的权值。若记标签序列为y=(y1,y2,…,yn),那么模型对于句子x的实体标注为y的得分为最后通过bilstm-crf模型第五层softmax归一化得到对于句子序列x对应标签序列y的概率最大概率标签序列即为预测实体类别序列。命名实体识别,是为了对一句话里面的一些实体进行一个标注,看这些实体是哪种类型,得到的实体识别结果为一个序列。一句话,每个字或词都会得出一个属于某个类别的标签。比如北京欢迎你。得出来的实体识别结果就是b-loc,i-loc,o,o,o。意思为“北”为地名实体首字,“京”为地名实体非首字,“欢”、“迎”以及“你”为不属于要识别实体类型中的任意部分。预测的时候,是依次判断每个字属于每个标签的一个概率,得出的预测标签序列有多个。bilstm-crf模型选取概率最大的预测标签序列作为最终的预测结果进行输出。

s5:实体识别模型调用模块,将所有的模型输出的命名实体识别的结果进行合并,输出识别结果。

本实施例首先根据需要将文本划分到不同的应用领域或者子领域;在不同领域文本集上标注并训练命名实体识别模型;建立层次型的文本分类模型,来识别文本所在领域的概率,提高命名实体识别的准确度,提高跨领域文本中命名实体识别的精度;相比于通用命名实体识别方法,本申请可以根据识别需要扩展领域,具备良好的扩展性。

实施例2

如图3所示,本实施例提供一种利用实施例1所述命名实体识别方法的自适应的跨领域命名实体识别系统,包括文本内容领域识别模块、命名实体识别模型管理模块以及实体识别模型调用模块。所述实体识别模型调用模块包括第一输入端口,第二输入端口,第一输出端口,第二输出端口;实体识别模型调用模块的第一输入端口用于输入待识别的文本,实体识别模型调用模块的第一输出端口连接文本内容领域识别模块的输入端,文本内容领域识别模块的输出端连接命名实体识别模型管理模块的输入端,命名实体识别模型管理模块的输出端连接实体识别模型调用模块的第二输入端口,实体识别模型调用模块的第二输出端口输出识别的实体结果。

所述的文本内容领域识别模块包含了层次型文本分类器c,通过层次型文本分类器c来得到文本属于某个领域的概率,以识别待分析文本内容包含哪些领域的文本数据;

其中的层次型文本分类器c需要根据应用需要,在特定语料数据集上预先训练,使层次型文本分类器c具备较高的分类精度。

所述的命名实体识别模型管理模块:用来管理每个领域对应的命名实体识别模型的集合,通常每个应用领域包含1个以上的命名实体识别模型;

所述的实体识别模型调用模块:用于接收待处理的文本数据,并利用文本内容领域识别模块获取文本与每个领域关联的概率;用于调用余弦距离小于用户设定阈值的领域包含的命名实体识别模型以进行命名识别;用于整合每个命名实体模型输出的命令实体列表,输出识别结果。

如图4所示,所述的多个领域之间的关系按照所谓的领域树来管理,即领域树上的每个节点ni对应一个领域di,每个领域可以包含多个子领域,除了顶层领域外均包含一个父领域。领域树在具体应用时可以随时扩展,但是扩展后需要重新训练文本内容领域识别模块中的层次型文本分类器。

领域树上的每个节点对应的领域di均可关联j个命名实体识别模型的集合mi,其包含的每个命名实体识别模型mi,j,需要在训练数据集上预先训练,且这些模型采用了相同的输入/输出处理接口。

以上所述,仅为本发明具体实施方式的详细说明,而非对本发明的限制。相关技术领域的技术人员在不脱离本发明的原则和范围的情况下,做出的各种替换、变型以及改进均应包含在本发明的保护范围之内。

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