一种基于聚类与预训练模型结合的命名实体识别方法技术

技术编号:29758836 阅读:14 留言:0更新日期:2021-08-20 21:12
本发明专利技术公开了一种基于机器学习与Bert模型结合的命名实体识别方法对Bert训练后的结果结合机器学习的方法来改进Bert与NER任务的精确度。首先对Bert的结果提取其中的每个词的特征向量。首次迭代时,首先通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了认为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果的人为因素。通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert结果中的[CLS]结合,真正做到TopicBert的作用,并在运用训练后的参数进行NER或其他任务中提高效果。

【技术实现步骤摘要】
一种基于聚类与预训练模型结合的命名实体识别方法
本专利技术属于人工智能
,涉及人工智能NLP方向,具体涉及一种基于聚类与预训练模型结合的命名实体识别方法,提高对知识图谱构建时数据收集的效率。
技术介绍
随着信息科技的发展,互联网信息总量指数式翻增,传统信息量大而杂的现象已经难以处理,深度学习的重要领域自然语言处理可以为传统信息智能化提供好的思路。网络化信息来源广泛,内容错综复杂,很难获取每个信息节点之间的关系,知识图谱的构建很大的解决的信息之间的关联性问题,通过图数据库展示每个信息节点之间的关系,让来源不同的信息不在孤立节点而是以二元组的形式体现出来。目前知识图谱在构建的构建分为知识抽取,知识融合,知识储存,知识推理。而对于知识抽取的过程中,命名实体识别为主要任务,命名实体识别的精度越高效率越好,对于后期的处理工作就更容易进行,并且还能简化清洗数据的过程,不但能让知识抽取效果更好,还能提高图谱的构建准确度。目前命名实体识别主要的模型就是BiLSTM-CRF和BERT-BiLSTM-CRF。但是这两种模型都不能自动的生成一个数据集对应的分类Topic,使其在对数据处理时无法有效的抓住更多的数据信息。本专利技术基于BERT结合Canopy-Kmeans并行聚类来提升BERT训练效果,从而更提高NER的精度。
技术实现思路
本专利技术旨在提供一种基于聚类与预训练模型结合的命名实体识别方法。采用topic机制的方式解决了现有技术中存在的BERT模型在训练的精度较低,在执行NER任务时准确性不高的问题。本专利技术所采用的技术方案是,将机器学习的Canopy-Kmeans聚类算法与深度学习BERT的训练结果结合,通过Topic标签的方式来提高BERT在NER任务中的准确性。一种基于聚类与预训练模型结合的命名实体识别方法,首先对Bert的结果提取其中的每个词的特征向量;在进行对特征向量的首次迭代时,通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了人为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果产生的影响;通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert结果中的[CLS]结合,从而得到一个结合了Topic类别标记的Bert训练模型,并在运用训练后的参数进行NER时中提高识别效率和准确性。具体操作步骤如下:步骤1,模型的预训练语义段落来源于中文Wikipedia数据库,先从中文Wikipedia数据库中爬取数据;步骤2,对步骤1中的数据进行数据清洗,制作成训练可用的数据集保存在数据库中;步骤3,配置Bert的模型参数包括初始学习率,隐藏层个数,自注意力头数,Encoder-Decoder层数,全连接层维度;步骤4,调用步骤3中完成基本参数配置后的Bert模型,同时将步骤2中存储在数据库中的预训练数据集作为Bert模型的输入,运行Bert模型并在成功产生输出结果后保存Bert的结果中的高维特征向量的结果并将高维特征向量结果放在数据库中;步骤5,利用Canopy粗聚类算法与步骤4中词性的高维数据向量确定初始聚类簇数目K与中心节点集合Canopy;步骤6,将步骤5中,中心节点集合Canopy为聚类的K个初始点;步骤7,计算每个在步骤4中得出的的高维特征向量到K个中心点的欧氏距离;步骤8,对步骤7中的欧式距离结果按照距离中心点最小距离原则对所有高维特征向量进行分簇;步骤9,采用误差平方和目标函数对一个簇内所有节点求平均值C,C就为下次迭代时中心节点;步骤10,重复步骤7,步骤8,步骤9直到中心节点位置收敛即可;步骤11,依据聚类的K个类别将数据进行划分并标记Topic;步骤12,将步骤11的划分结果与Bert模型的输出中FinalLayer的句子开始标签[CLS]的向量进行组合并重新回送到输出序列中;步骤13,对完成步骤12后的新的TopicBert进行NER任务的测试与运行,通过改进的TopicBert模型在处理NER任务上比原先的Bert模型的效率和准确性有明显的提升。步骤4中,Bert模型的输出是一个与上下文相关的一个字向量矩阵,其中[CLS]为句子的开始表示符,用于对句子的进行分类与运行。步骤5中,采取先进行粗聚类算法以确定一个聚类簇数K,并且初始节点的选取合理性决定了后面运算的效率,我们用Canopy来确定初始的中心节点;Canopy的两个阈值T1,T2。T1用于确定两个中心点之间距离,T2用于确认每个簇中的节点个数,两个阈值就能确定数据集中大概的分类个数与合理的起始点,便于提高效率。步骤7中,计算欧式距离得到了两个特征向量之间的相似度。步骤8中,距离中心最小原则的目的就是得到和中心节点相关程度高的一系列节点,对其进行分类,形成一个Topic来代表这个簇中元素;步骤9中,所述目标函数具体为将寻找中心节点的问题化为一个多元线性规划问题,目的函数明确并且对SSE求偏导后发现中心节点就是一个簇中每个节点之和的平均值C就为下次迭代时中心点。直到中心节点在迭代时收敛就能认为聚类已经结束。步骤12中,由于[CLS]在每个句子的唯一性存在,将聚类产生的topic与Bert模型相结合可以大幅提高命名实体识别过程中的识别效率。本专利技术的有益效果是:本专利技术的目的是提供一种方法,对Bert训练后的结果结合机器学习的方法来改进Bert与NER任务的精确度。首先对Bert的结果提取其中的每个词的特征向量。首次迭代时,首先通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了认为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果的人为因素。通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert结果中的[CLS]结合,真正做到TopicBert的作用,并在运用训练后的参数进行NER或其他任务中提高准确率。附图说明图1为本专利技术一种基于机器学习与Bert模型结合的命名实体识别方法的总流程图;图2为本专利技术一种基于机器学习与Bert模型结合的命名实体识别方法进行首次粗聚类时的Canopy算法流程图;图3为本专利技术一种基于机器学习与Bert模型结合的命名实体识别方法Bert模型的训练过程流程图;图4为本专利技术一种基于机器学习与Bert模型结合的命名实体识别方法与Topic相关的Bert模型结果集TopicBert的获得方法流程图。具体实施方式下面结合附图和具体实施方式对本专利技术进行详细说明。一种基于聚类与预训练模型结合的命名实体识别方法,首先对Bert的结果提取其中的每个词的特征向量;在进行对特征向量的首次迭代时,通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了人为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果产生的影响;通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert本文档来自技高网...

【技术保护点】
1.一种基于聚类与预训练模型结合的命名实体识别方法,其特征在于,首先对Bert的结果提取其中的每个词的特征向量;在进行对特征向量的首次迭代时,通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了人为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果产生的影响;通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert结果中的[CLS]结合,从而得到一个结合了Topic类别标记的Bert训练模型,并在运用训练后的参数进行NER时中提高识别效率和准确性。/n

【技术特征摘要】
1.一种基于聚类与预训练模型结合的命名实体识别方法,其特征在于,首先对Bert的结果提取其中的每个词的特征向量;在进行对特征向量的首次迭代时,通过Canopy算法确定往后计算的聚类的簇个数K与迭代的初始点,避免了人为确定簇个数与随机选择迭代初始点时对程序运行效率与运行结果产生的影响;通过不断迭代运算,最终确定K个簇中的个个节点集,将节点集返回结果与Bert结果中的[CLS]结合,从而得到一个结合了Topic类别标记的Bert训练模型,并在运用训练后的参数进行NER时中提高识别效率和准确性。


2.具体操作步骤如下:
步骤1,模型的预训练语义段落来源于中文Wikipedia数据库,先从中文Wikipedia数据库中爬取数据;
步骤2,对步骤1中的数据进行数据清洗,制作成训练可用的数据集保存在数据库中;
步骤3,配置Bert的模型参数包括初始学习率,隐藏层个数,自注意力头数,Encoder-Decoder层数,全连接层维度;
步骤4,调用步骤3中完成基本参数配置后的Bert模型,同时将步骤2中存储在数据库中的预训练数据集作为Bert模型的输入,运行Bert模型并在成功产生输出结果后保存Bert的结果中的高维特征向量的结果并将高维特征向量结果放在数据库中;
步骤5,利用Canopy粗聚类算法与步骤4中词性的高维数据向量确定初始聚类簇数目K与中心节点集合Canopy;
步骤6,将步骤5中,中心节点集合Canopy为聚类的K个初始点;
步骤7,计算每个在步骤4中得出的的高维特征向量到K个中心点的欧氏距离;
步骤8,对步骤7中的欧式距离结果按照距离中心点最小距离原则对所有高维特征向量进行分簇;
步骤9,采用误差平方和目标函数对一个簇内所有节点求平均值C,C就为下次迭代时中心节点;
步骤10,重复步骤7,步骤8,步骤9直到中心节点位置收敛即可;
步骤11,依据聚类的K个类别将数据进行划分并标记Topic;
步骤12,将步骤11的划分结果与Bert模型的输出中FinalLayer的句子开始标签[CLS]的向量进行组合并重新回送到输出序列中;...

【专利技术属性】
技术研发人员:朱磊吴江浩黑新宏王一川姬文江
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1