本发明涉及自然语言处理领域,具体涉及一种基于增量学习和多模型融合的中文实体关系抽取方法。
背景技术:
互联网时代,每时每刻都有大量的信息出现,大众用户面对如此庞大、杂乱无章的数据量,往往有些应接不暇,通常需要花费时间去仔细阅读和理解,那么如何从这些非结构化的信息中提取出有价值的信息,帮助用户快速找到对自己有益的信息,就迫切需要一些自动化的提取方式,信息抽取技术正是在这样的背景下应运而生的。
信息抽取指的是从大量的非结构化的文本信息中提取出有价值的信息,并转换为结构化的数据存储,方便用户进一步分析和使用。关系抽取是信息抽取领域非常重要的技术,它能够自动地提取文本中的实体对及其之间的关系,形成三元组形式,不仅能帮助用户从海量的数据中获得文本的高价值信息,还能快速理解信息之间的相互关系,而且对知识图谱、问答系统的构建具有重要意义。
大多数的关系抽取是基于有监督学习或是规则的方法,通常需要专业人士来人工标注数据,常常花费大量的时间和人力成本,而且标注的数据通常存在一定的误差,影响后续的算法模型训练。而且,传统的关系抽取方式所使用的训练数据集通常是针对某一个特定领域的,无法具备通用性,难以进行大规模的工程应用。另外,传统方式生成的关系抽取模型往往受限于原有的训练数据,面对日益增加的新数据没有加以有效利用,缺乏更新性和可扩展性。
技术实现要素:
本发明的目的在于提出了一种基于增量学习和多模型融合的中文实体关系抽取方法,以解决现有关系抽取方法需要大量人工标注,局限于特定领域,不具有持续扩展性,泛化能力差,预测准确度低的问题。
实现本发明目的的技术解决方案为:一种基于增量学习和多模型融合的中文实体关系抽取方法,具体包含如下步骤:
步骤1:获取word2vec预训练模型的外部语料库,并使用神经网络算法训练得到词向量模型;
步骤2:获取实体识别预训练模型的外部语料库,并结合bilstm和crf算法生成实体识别模型;
步骤3:获取依存句法分析预训练模型的外部语料库,并基于依存句法分析算法生成依存句法分析模型;
步骤4:根据预定义的实体间基础关系类别,及每个类别下的基础关系词汇,初始化多个关系数据簇;
步骤5:获取扩充关系数据簇的增量学习样本集,利用实体识别模型得到样本的实体集合,利用依存句法分析模型提取样本中每句句子的主语、谓语和宾语,利用词向量模型将句子中的谓语转换为词向量,投射到步骤4初始化的多个关系数据簇中,然后通过增量学习的方式不断扩充每个关系数据簇的数据量,最终得到扩充完成的多个关系数据簇;
步骤6:获取中文实体关系抽取的测试样本集,结合利用实体识别模型得到测试样本的实体集合,利用依存句法分析模型提取测试样本中每句句子的主语、谓语和宾语,利用词向量模型将句子中的谓语转换为词向量,投射到步骤5扩充完成的多个关系数据簇中,确定对应的关系类别,完成中文实体关系抽取。
进一步的,步骤1中,获取word2vec预训练模型的外部语料库,并使用神经网络算法训练得到词向量模型,记为mw2v,具体方法为:
1.1、训练语料库为中文维基百科语料库,通过对语料库进行文本内容提取、数据处理、分词这些操作,生成训练数据集;
1.2、基于此训练数据集,使用word2vec算法中的skip-gram模型(continuousskip-grammodel)对其进行训练,模型包括输入层、投影层和输出层三层神经网络,通过当前词汇来预测上下文的语义信息,通过式(1)计算词汇概率:
p(wn-c,wn-c+1,…,wn+c-1,wn+c|wn)(1)
其中,wn表示第n个词汇,c为滑动窗口的大小,在训练参数中,设置词向量维度为250维,窗口大小为5,通过训练最终生成word2vec词向量模型,记为mw2v。
进一步的,步骤2中,获取实体识别预训练模型的外部语料库,并结合bilstm和crf算法生成实体识别模型,记为mee,具体方法为:
2.1、基于msra_ner训练数据集,结合使用bilstm算法和crf算法进行训练,其中,bilstm算法也称双向lstm算法,其输入为词嵌入层的输出,即文本分词后通过嵌入层转换得到的词向量,记为(w1,w2,…,wn),wn表示第n个词汇,正向lstm的输出记为
2.2、crf层设置在bilstm层后面,通过学习标签状态转移概率矩阵来约束bilstm的输出;
2.3、通过训练最终生成实体识别模型,记为mee。
进一步的,步骤3中,获取依存句法分析预训练模型的外部语料库,并基于依存句法分析算法生成依存句法分析模型,具体方法:
训练语料库为哈工大的中文依存语料库,使用依存句法分析算法训练该语料库,学习句子中各语法成分之间的相互依赖关系,最终生成依存句法分析模型,记为mdp。
进一步的,步骤4中,根据预定义的实体间基础关系类别,及每个类别下的基础关系词汇,初始化关系数据簇,具体方法为:
4.1、预定义实体间的基础关系类别标签c=(c1,c2,…,cm),其中m为关系类别数;
4.2、搜集整理每个类别下的基础关系词汇,每个类别下的词汇数满足不少于20个,各类别的词汇数量记为p=(p1,…,pi,…,pm),其中pi代表第i个类别的词汇数;
4.3、使用步骤1中生成的词向量模型mw2v将每个关系类别下的基础词汇转换为词向量,记为
进一步的,步骤5中,获取扩充关系数据簇的增量学习样本集,利用实体识别模型得到样本的实体集合,利用依存句法分析模型提取样本中每句句子的主语、谓语和宾语,利用词向量模型将句子中的谓语转换为词向量,投射到步骤4初始化的多个关系数据簇中,然后通过增量学习的方式不断扩充每个关系数据簇的数据量,最终得到扩充完成的多个关系数据簇,具体方法为:
5.1、将搜狐新闻的中文文本语料库作为扩充关系数据簇的增量学习样本集,内容以txt格式存储,记为φ=(t1,t2,…,tn),其中n为样本个数;
5.2、针对样本集中的每篇文本ti,使用步骤2生成的实体识别模型mee提取出其中的实体,进行去重、停用词过滤这些操作,得到实体集合,记为e;
5.3、对文本ti进行分句处理;
5.4、针对文本中的每句句子,使用步骤3生成的依存句法分析模型mdp提取出句子的主语、谓语和宾语,组成三元组形式,记为(s,v,o);
5.5、判断三元组中的主语s和宾语o是否都存在于实体集合e中,若存在,则继续;若不存在,则跳过;
5.6、使用步骤1中生成的mw2v模型将谓语v转换为词向量v,并将其到m个关系数据簇cu中进行匹配,若已经存在该条关系词向量数据,则跳过;若不存在,则继续;
5.7、按照式(3)计算其与第i个关系簇之间的相似度:
其中,cos(.)表示向量之间的余弦相似度函数,
5.8、根据式(4)得到最大相似度对应的关系数据簇类别索引
若其最大相似度
5.9、按照上述增量学习方式不断执行,直到样本集φ中所有文本都执行完成,保存所有数据和参数,退出迭代,最终得到扩充完成的m个关系数据簇cu。
进一步的,步骤6中,获取中文实体关系抽取的测试样本集,结合利用实体识别模型得到测试样本的实体集合,利用依存句法分析模型提取测试样本中每句句子的主语、谓语和宾语,利用词向量模型将句子中的谓语转换为词向量,投射到步骤5扩充完成的多个关系数据簇中,确定对应的关系类别,完成中文实体关系抽取,具体方法为:
6.1、获取中文实体关系抽取的测试样本集为ψ=(t1,t2,…,tq),其中q为测试样本个数;
6.2、针对测试样本集中的每篇文本ti,使用步骤2生成的实体识别模型mee提取出其中的实体,进行去重、停用词过滤这些操作,得到实体集合,记为e;
6.3、对文本ti进行分句处理;
6.4、针对文本中的每句句子,使用步骤3生成的依存句法分析模型mdp提取出句子的主语、谓语和宾语,组成三元组形式,记为(s,v,o);
6.5、判断三元组中的主语s和宾语o是否都存在于实体集合e,若存在,则继续;若不存在,则跳过该三元组;
6.6、使用步骤1中生成的词向量模型mw2v将谓语v转换为词向量v,并投射到步骤5得到的m个关系数据簇cu中,根据式(3)和式(4)计算其最大相似度对应的关系簇类别索引
6.7、按照上述方式不断对测试数据进行关系抽取,直到所有文本均已抽取完成,返回全部抽取结果。
一种基于增量学习和多模型融合的中文实体关系抽取系统,基于任一项所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任一项所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
本发明与现有技术相比,其显著优点为:(1)本发明基于外部中文语料库学习大量的语义信息生成词向量模型,来对关系抽取中的词汇进行高质量的语义理解,从而增强了关系抽取的准确性和泛化能力,弥补了传统关系抽取方法只学习训练集的语义信息,而导致语义理解和泛化能力不足的问题。
(2)本发明采用多模型融合的方式提取文本的实体对及其关系,代替了基于特定训练集的传统方法,通过集成多模型的各自优势显著提高了关系抽取的准确度,且无需人工标注关系训练集,大大降低了时间和人力成本,而且避免了人工标注时带来的误差导致关系抽取准确度不高的问题。
(3)本发明采用增量学习算法不断扩充和优化关系数据簇,弥补了传统方式依赖于特定的训练数据集从而导致关系抽取局限于特定领域,在其他领域泛化能力不足,准确度低的问题,而本发明的方式不受限于特定领域,能不断学习和有效利用日益增长的新数据,具有持续扩展性,在工程实际应用中泛化能力更强,准确度更高。
附图说明
图1是本发明方法的流程示意图;
图2是本发明的初始化关系数据簇示意图;
图3是本发明的使用增量学习扩充关系数据簇示意图;
图4是本发明的结合多模型和关系数据簇进行预测示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,本发明主要分为vi个步骤:
步骤i是基于外部语料预训练词向量模型;
步骤ii是基于外部语料预训练实体识别模型;
步骤iii是基于外部语料预训练依存句法分析模型;
步骤iv是初始化关系数据簇;
步骤v是使用增量学习扩充关系数据簇;
步骤vi是结合多模型和关系数据簇进行预测。
下面详细说明本发明的技术方案以及所依据的科学原理。
步骤i中词向量模型的预训练具体过程如下:
1.1、训练语料库为中文维基百科语料库,通过对语料库进行文本内容提取、数据处理、分词等操作,生成训练数据集。
1.2、基于此训练数据集,使用word2vec算法中的skip-gram模型(continuousskip-grammodel)对其进行训练,模型包括输入层、投影层和输出层三层神经网络,通过当前词汇来预测上下文的语义信息,通过式(1)计算词汇概率:
p(wn-c,wn-c+1,…,wn+c-1,wn+c|wn)(1)其中,wn表示第n个词汇,c为滑动窗口的大小。
1.3、在训练参数中,设置词向量维度为250维,窗口大小为5,通过训练最终生成word2vec词向量模型,记为mw2v。
步骤ii中实体识别模型的预训练具体过程如下:
2.1、基于msra_ner训练数据集,结合使用bilstm算法和crf算法进行训练。其中,bilstm算法也称双向lstm算法,能充分捕捉上下文的语义信息,其输入为词嵌入层的输出,即文本分词后通过嵌入层转换得到的词向量,记为(w1,w2,…,wn)(wn表示第n个词汇),正向lstm的输出记为
2.2、为了充分利用标签的状态转移信息,在bilstm层后增加crf层,即条件随机场,通过学习标签状态转移概率矩阵来约束bilstm的输出,进一步提高了预测标签的合理性。
2.3、通过训练最终生成实体识别模型,记为mee。
步骤iii中依存句法分析模型的预训练具体过程如下:
3.1、训练语料库为哈工大的中文依存语料库,使用依存句法分析算法训练该语料库,学习句子中各语法成分之间的相互依赖关系,最终生成依存句法分析模型,记为mdp。
步骤iv中初始化关系数据簇具体过程如下(如图2所示):
4.1、假设m为关系类别数,首先预定义实体间的基础关系类别标签c=(c1,c2,…,cm),并涵盖实体间绝大多数应用场景下会出现的关系类型。
4.2、搜集整理每个类别下的基础关系词汇,每个类别下的词汇数满足不少于20个,各类别的词汇数量记为p=(p1,…,pi,…,pm),其中pi代表第i个类别的词汇数。
4.3、使用步骤i中生成的mw2v词向量模型将每个关系类别下的基础词汇转换为词向量(均为250维),记为
步骤v中使用增量学习扩充关系数据簇具体过程如下(如图3所示):
5.1、将搜狐新闻的中文文本语料库作为扩充关系数据簇的增量学习样本集,内容以txt格式存储,记为φ=(t1,t2,…,tn)(n为样本个数)。
5.2、针对样本集中的每篇文本ti,使用步骤ii生成的实体识别模型mee提取出其中的实体,实体类型包括:人物、机构、国家和地点。然后,将提取出来的实体进行去重、停用词过滤等操作,得到实体集合,记为e。
5.3、对文本ti进行分句处理。
5.4、针对文本中的每句句子,使用步骤iii生成的依存句法分析模型mdp提取出句子的主语、谓语和宾语,组成三元组形式,记为(s,v,o)。
5.5、判断三元组中的主语s和宾语o是否都存在于实体集合e中。若存在,则继续;若不存在,则跳过。
5.6、使用步骤i中生成的mw2v模型将谓语v转换为词向量v,并将其到m个关系数据簇cu中进行匹配,若已经存在该条关系词向量数据,则跳过;若不存在,则继续。
5.7、按照式(3)计算其与第i个关系簇之间的相似度:
其中,cos()表示向量之间的余弦相似度函数。
5.8、根据式(4)得到最大相似度对应的关系数据簇类别索引
若其最大相似度
5.9、按照上述增量学习方式不断执行,直到样本集φ中所有文本都执行完成,保存所有数据和参数,退出迭代,最终得到扩充完成的m个关系数据簇cu。
步骤vi中结合多模型和关系数据簇进行预测的具体过程如下(如图4所示):
6.1、假设中文实体关系抽取的测试样本集为:ψ=(t1,t2,…,tq)(q为测试样本个数)。
6.2、对于每篇文本ti,使用步骤v中5.2~5.4中相同的方式得到其实体集合e和每句的主谓宾三元组,记为(s,v,o)。
6.3、判断三元组中的主语s和宾语o是否都存在于实体集合e。若存在,则继续;若不存在,则跳过。
6.4、使用步骤i中生成的mw2v词向量模型将谓语v转换为词向量v,并投射到步骤v中扩充完成的关系数据簇cu中,根据步骤v中式(3)和式(4)计算其最大相似度对应的关系簇类别索引
6.5、按照上述方式不断对测试数据进行关系抽取,直到所有文本均已抽取完成,返回全部抽取结果。
本发明还提出一种基于增量学习和多模型融合的中文实体关系抽取系统,基于所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法进行基于增量学习和多模型融合的中文实体关系抽取。
实施例
为了验证本发明方案有效性,进行如下仿真实验。
输入:三个预训练模型(词向量模型,实体识别模型,依存句法分析模型)的外部语料库,扩充关系数据簇的增量学习样本集φ=[t1,t2,…,tn](n为样本的个数),中文实体关系抽取的测试样本集ψ=(t1,t2,…,tq)(q为测试样本个数),预定义的实体间的基础关系类别c=(c1,c2,…,cm)(m为关系类别数)及每个类别下的基础关系词汇。
step1:基于词向量模型、实体识别模型、依存句法分析模型的三个外部语料库,使用步骤i~步骤iii中所述方式生成三个预训练模型,分别是词向量模型mw2v、实体识别模型mee、依存句法分析模型mdp。
step2:基于实体间的基础关系类别c=(c1,c2,…,cm)及其词汇库,按照下述步骤初始化关系数据簇:
step2.1:使用步骤iv中4.2的词向量转换方式得到m个关系数据簇cu=(cu1,…,cui,…,cum),其中,
step3:基于扩充数据簇的增量学习样本集φ=[t1,t2,…,tn],按照下述步骤扩充数据簇:
step3.1:使用步骤v中5.2的识别方式得到每篇文本ti中的实体集合e。
step3.2:对文本ti进行分句。
step3.3:使用步骤v中5.4的提取方式得到句子成分中的主语、谓语和宾语,记为(s,v,o)三元组。
step3.4:判断三元组中的主语s和宾语o是否都存在于step3.1中得到的实体集合e。若存在,则进入step3.5;若不存在,则忽略并进入step3.3继续分析。
step3.5:使用step1中生成的mw2v词向量模型将谓语v转换为词向量v,并将其到m个关系数据簇cu中进行匹配,若已经存在该条关系词向量数据,则忽略并进入step3.3继续分析;若不存在,则进入step3.6。
step3.6:使用步骤v中5.7的计算方式得到谓语的词向量v与第i个关系簇之间的相似度。
step3.7:使用步骤v中5.8的计算方式得到最大相似度对应的关系数据簇类别索引
step3.8:按照上述增量学习方式step3.1~step3.7不断执行,直到样本集φ中所有文本都已经学习完成,保存所有数据和参数,退出迭代,得到扩充完成的m个关系数据簇cu。否则,继续进入step3.1。
step4:基于测试样本集ψ=(t1,t2,…,tq),按照下述步骤使用关系抽取模型mre进行预测:
step4.1:对于每篇文本ti,使用step3.1~step3.3中相同的方式得到其实体集合e和每句的主谓宾(s,v,o)三元组。
step4.2:判断三元组中的主语s和宾语o是否存在于step4.1中生成的实体集合e。若存在,则进入step4.3;若不存在,则忽略。
step4.3:使用step1中生成的mw2v词向量模型将谓语转换为词向量v,并投射到step3.8得到的关系数据簇中,按照步骤v中式(3)和(4)的方式计算其最大相似度对应的关系簇的类别索引
step4.4:按照上述方式step4.1~step4.3不断对测试数据进行关系抽取,直到所有测试文本均已抽取完成,则退出,并返回全部抽取结果。
输出:测试样本集的全部关系抽取结果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。