实体关系的识别方法、装置及电子设备与流程

文档序号:23727308发布日期:2021-01-26 17:38阅读:106来源:国知局
实体关系的识别方法、装置及电子设备与流程

[0001]
本申请涉及数据识别技术领域,尤其是涉及到一种实体关系的识别方法、装置及电子设备。


背景技术:

[0002]
进入互联网时代,人们交流沟通变得快速便捷,与此同时各种社交软件每时每刻都在产生大量的文本数据。为了让人们的生活体验越来越好、生活质量越来越高,需要充分利用产生的大量文本数据,通过自然语言处理技术进行最优最快的智能匹配,节省时间、提高效率。这样就需要将产生的文本数据进行结构化处理,例如生成知识图谱。而生成知识图谱过程的关键步骤之一就是进行实体关系抽取,生成{头实体,关系,尾实体}这样的三元组,以更有效地分析复杂关系中存在的特定潜在的内容,更好的服务与人们的日常生活。
[0003]
目前,传统方案中利用远程监督算法进行实体关系的识别抽取,前期需要有一个小型知识图谱作为初始三元组,且由于远程监督的强假设条件,会引入大量的噪音,得到的实体关系抽取结果不是很准确,进而会影响实体关系的识别准确性。


技术实现要素:

[0004]
有鉴于此,本申请提供了一种实体关系的识别方法、装置及电子设备,主要目的在于改善目前现有技术中会影响实体关系识别准确性的技术问题。
[0005]
依据本申请的一个方面,提供了一种实体关系的识别方法,该方法包括:将待识别文本中缺少主语的语句进行主语补齐处理;获取经过主语补齐处理后的所述待识别文本中含有实体对的语句;获取所述实体对中实体对应的实体信息特征;将所述实体信息特征、实体对、以及所述含有实体对的语句输入到深度学习的预设识别模型中;根据所述预设识别模型输出的分类结果,确定所述待识别文本中的实体关系。
[0006]
依据本申请的另一方面,提供了一种实体关系的识别装置,该装置包括:处理模块,用于将待识别文本中缺少主语的语句进行主语补齐处理;获取模块,用于获取经过主语补齐处理后的所述待识别文本中含有实体对的语句;所述获取模块,还用于获取所述实体对中实体对应的实体信息特征;输入模块,用于将所述实体信息特征、实体对、以及所述含有实体对的语句输入到深度学习的预设识别模型中;确定模块,用于根据所述预设识别模型输出的分类结果,确定所述待识别文本中的实体关系。
[0007]
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实体关系的识别方法。
[0008]
依据本申请再一个方面,提供了一种电子设备,包括存储介质、处理器及存储在存
储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实体关系的识别方法。
[0009]
借由上述技术方案,本申请提供的一种实体关系的识别方法、装置及电子设备,考虑到远程监督算法的强假设条件会引入大量的噪音,因此本申请不使用远程监督的强假设条件下,首先将待识别文本中缺少主语的语句进行主语补齐处理,再获取经过主语补齐处理后的待识别文本中含有实体对的语句;然后获取实体对中实体对应的实体信息特征;最后将实体信息特征、实体对、以及含有实体对的语句输入到深度学习的预设识别模型中,进而根据预设识别模型输出的分类结果,确定待识别文本中的实体关系。与现有技术相比,本申请可去除一些冗余、无关的文本数据,进而尽量去除噪音文本数据,增加有效文本数据的比例,能够有效提升识别模型的准确率,并且模型的训练也会更加迅速。从而可提高实体关系识别的准确率和效率。
[0010]
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0011]
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1示出了本申请实施例提供的一种实体关系的识别方法的流程示意图;图2示出了本申请实施例提供的另一种实体关系的识别方法的流程示意图;图3示出了本申请实施例提供的主语缺失补齐的流程示意图;图4示出了本申请实施例提供的依存句法分析的流程示意图;图5示出了本申请实施例提供的实体信息描述的处理流程示意图;图6示出了本申请实施例提供的pcnn+mil远程监督模型中pcnn部分的流程示意图;图7示出了本申请实施例提供的pcnn+att远程监督模型中的流程示意图;图8示出了本申请实施例提供的bilstm+att+mil远程监督模型中的流程示意图;图9示出了本申请实施例提供的模型融合的流程示意图;图10示出了本申请实施例提供的示例整体流程示意图;图11示出了本申请实施例提供的一种实体关系的识别装置的结构示意图。
具体实施方式
[0012]
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0013]
针对改善目前传统方案中利用远程监督算法进行实体关系的识别抽取时,远程监督算法的强假设条件会引入大量的噪音,进而会影响实体关系识别准确性的技术问题。本实施例提供了一种实体关系的识别方法,如图1所示,该方法包括:步骤101、将待识别文本中缺少主语的语句进行主语补齐处理。
[0014]
对于本实施例的执行主体可为实体关系识别的装置或设备,可配置在客户端侧或服务器侧,可用于文本数据中实体关系的识别。
[0015]
如果待识别文本存在缺失主语的语句,那么对于实体关系识别具有干扰性,影响实体关系识别的准确性。因此,本实施例首先将待识别文本中缺少主语的语句进行主语补齐处理。例如,“张三性格较好,他与李四从事多年”的语句中“他与李四从事多年”缺少主语,可根据前一句“张三性格较好”中的主语“张三”进行主语补齐,得到“张三性格较好,张三与李四从事多年”的语句。
[0016]
步骤102、获取经过主语补齐处理后的待识别文本中含有实体对的语句。
[0017]
实体对可为一个句子中具有一定关系(如子母公司的关系、亲戚关系、上下级关系、合作关系等)的一对实体(两个实体,如人名、地名、机构名、专有名词等)。需要说明的是,含有实体对的一个句子中可至少存在一组实体对。
[0018]
步骤103、获取实体对中实体对应的实体信息特征。
[0019]
其中,实体信息特征可为描述实体相关信息的特征,是从待识别文本语料以外的文本数据中获取得到的。例如,可通过百科类网站中获取得到描述实体的相关信息,然后对这些信息进行提取能够准确表达出实体特征的信息内容,作为实体对应的实体信息特征。
[0020]
步骤104、将获取到的实体信息特征、实体对、以及含有实体对的语句输入到深度学习的预设识别模型中。
[0021]
其中,预设识别模型可利用深度学习算法提前训练得到,深度学习算法可根据实际需求进行预先设置。
[0022]
预设识别模型根据输入的实体信息特征、实体对、以及含有实体对的语句进行特征匹配计算,找到相似特征对应实体关系的标签的概率,进而可获取概率值最大的、或大于预设阈值的实体关系的标签作为输出的分类结果。
[0023]
步骤105、根据预设识别模型输出的分类结果,确定待识别文本中的实体关系。
[0024]
例如,根据预设识别模型输出的分类结果,获取概率值最大的实体关系的标签,并根据该标签内容,确定待识别文本中的实体关系。
[0025]
需要说明的是,本实施例方法可应用于招聘领域进行实体关系抽取,也适用于其他领域。以招聘领域为例,其实体类型主要可以包括公司、子公司、法人等,对招聘领域进行实体关系抽取,获得{头实体,关系,尾实体}这样的三元组、进而获得知识图谱,可以对招聘领域进行快速了解,并通过这个结构化的文本数据更有效地发掘复杂关系中存在的特定潜在的内容。
[0026]
本实施例提供的实体关系的识别方法,考虑到远程监督算法的强假设条件会引入大量的噪音,因此本实施例不使用远程监督的强假设条件下,首先将待识别文本中缺少主语的语句进行主语补齐处理,再获取经过主语补齐处理后的待识别文本中含有实体对的语句;然后获取实体对中实体对应的实体信息特征;最后将实体信息特征、实体对、以及含有实体对的语句输入到深度学习的预设识别模型中,进而根据预设识别模型输出的分类结果,确定待识别文本中的实体关系。与现有技术相比,本实施例可去除一些冗余、无关的文本数据,进而尽量去除噪音文本数据,增加有效文本数据的比例,能够有效提升识别模型的准确率,并且模型的训练也会更加迅速。从而可提高实体关系识别的准确率和效率。
[0027]
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的实施方式,本实施例还提供了另一种实体关系的识别方法,如图2所示,该方法包括:步骤201、对输入的样本文本进行语料清洗。
[0028]
输入的样本文本可为用于预设识别模型训练的原始数据。
[0029]
例如,可通过正则表达式等方法对输入样本文本的语料进行清洗。将语料中的无效乱码、符号等进行去除,将中文标点符号中混入的英文标点符号、全半角情况进行纠正,检查标点符号的重复使用情况,最后对语料进行句子去重。通过这种语料清洗操作可实现输入文本的初步清洗,去除文本中的无用信息,格式统一,得到规范性的文本数据。
[0030]
步骤202、将语料清洗后的样本文本中缺少主语的语句进行主语补齐处理。
[0031]
目前,在前期的数据处理过程中,发现很多样本文本数据缺少主语,通过统计缺少主语的比例大概占到了三分之一,一般都是一段文本数据中,第二句或之后缺少主语。主语的缺失很多时候导致候选实体对内其中一个实体的缺失,造成很多含有有用信息的文本数据无法进行学习,严重影响输出结果的准确率、召回率。
[0032]
为此本实施例提供一种主语自动补齐方法,进行主语缺少的判断,如果主语缺失则进行主语自动补齐。相应可选的,步骤202具体可包括:在对各样本语句分别进行分词处理、词性标注、命名实体识别后,对各样本语句进行逐句判断;若当前样本语句内跳过先导词后的首个分词是命名实体识别(named entity recognition,ner)实体,则判断ner实体在文本中的预设距离阈值范围内是否存在代词,如果预设距离阈值范围内存在代词,则根据该ner实体,将代词位置进行主语添加替换;若当前样本语句内跳过先导词后的首个分词不是ner实体,则判断首个分词是否为代词,如果首个分词为代词,则将首个分词位置进行主语添加替换;如果首个分词不是代词,则判断需要添加的主语是否出现在当前样本语句中,如果需要添加的主语没有在当前样本语句中出现,则为当前样本语句添加主语。
[0033]
例如,主语缺失补齐流程图如图3所示,首先是通过自然语言处理工具,如ltp工具包进行分词、词性标注、ner操作,为主语缺失判别做准备。对于每个段落中的各个语句,跳过先导词后,先判断该句子内首个token(分词)是否为ner实体,如果是,通过设置的合理阈值判断阈值范围内是否有代词,如果有代词则对代词位置进行主语添加,如果没有代词则不进行主语添加。如果首个token不是ner实体,则判断首个token是否为代词,如果是代词则添加主语。如果不是代词,则判断要添加的主语是否出现在当前句子中,如果要添加的主语出现了在当前句子则不添加主语,没有出现则给当前句子添加主语。
[0034]
具体实例见表1所示:
通过主语自动补齐,减少由于缺少主语造成的很多含有有用信息的样本文本数据无法进行学习的情况,以提高输出结果的准确率、召回率。
[0035]
步骤203、将经过主语补齐处理后的样本文本进行分句处理。
[0036]
例如,使用工具包,如ltp工具包,对每个段落进行分句,得到单独的句子。
[0037]
步骤204、基于依存句法,分析分句处理得到的各样本语句的初始三元组。
[0038]
为了便于说明,以目标语句(分句处理得到的各样本语句中的一个语句,其他语句也按照相同操作进行处理)为例,可选的,步骤204具体可包括:首先对目标语句进行分词处理;再将分词处理得到的分词作词性标注;然后对分词和与分词对应的词性标注的结果进
行命名实体识别,得到目标语句的实体标注;最后基于实体标注进行依存句法分析,得到目标语句的初始三元组。
[0039]
例如,依存句法分析的过程如图4所示。本实施例可使用ltp工具包,对句子分词,之后对分词做词性标注。然后对分词、词性标注的结果进行命名实体识别,完成对实体对进行标注。最后基于以上结果进行依存句法分析。其中进行依存句法分析主要可包括有主语谓语宾语关系、定语后置动宾关系、含有介宾关系的主谓动补关系等。句子“a公司创建b公司”是进行依存句法分析通过主谓宾结构得到的初始三元组。
[0040]
在分析得到各样本语句的初始三元组后,可利用初始三元组,获取样本文本中含有实体对的样本语句,具体可执行步骤205所示的过程。
[0041]
步骤205、利用初始三元组,对分句处理得到的单句进行映射,以便筛选出含有实体对的样本语句。
[0042]
考虑到远程监督算法的强假设条件会引入大量的噪音,例如有的句子中的实体对虽然可以存在子母公司关系,但是在当前句子中却没有表达出子母公司关系的含义,而是其他含义。因此本实施例提供了一种关系相关关键词的过滤方法,以尽量去除噪音文本数据。具体可执行步骤205至207所示的内容。
[0043]
例如,基于远程监督算法的强假设条件,利用步骤204得到的初始三元组对通过分句得到的单句进行映射,将含有实体对的句子筛选出来,并对两个实体进行标注,例如:<e1>a公司<\e1>创建<e2>b公司<\e2>是对a公司、b公司这两个实体进行了标注;不含实体对的句子舍弃。
[0044]
步骤206、对含有实体对的样本语句标注关系标签,得到目标关系标签对应的第一语句集合。
[0045]
其中,第一语句集合包含的各语句各自对应的关系标签可为同一个关系标签,即目标关系标签。关系标签的内容可根据具体的关系内容进行标注设置。例如,a句子含有子母公司关系的实体对,可为a句子标注子母公司关系的关系标签。b句子含有合作关系的实体对,可为b句子标注合作关系的关系标签。
[0046]
在为每一语句标注各自对应的关系标签之后,可将相同关系标签的语句进行汇总,得到目标关系标签对应的语句集合,即第一语句集合。每一个第一语句集合都存在各自对应的关系标签。
[0047]
例如,对标注了实体对的句子添加关系标签,添加关系标签的依据是远程监督的假设:如果在一个句子中含有一个关系涉及的实体对,则认为此句子描述了这个关系。也就是说,语料里所有含有a公司和b公司的句子,全都假设a公司是b公司的母公司、b公司是a公司的子公司,即a公司和b公司是子母公司的关系。假设所有认为是子母公司关系的句子构成集合k(其他关系类似操作)。
[0048]
步骤207、根据第一语句集合中各样本语句含有的实体对,获取头实体和尾实体前后出现频率符合预设条件的分词。
[0049]
对于语句中含有的实体对,可将实体对中第一个出现的实体作为头实体,后一个出现的实体作为尾实体。预设条件可根据实际需求进行设置。例如,获取语句集合中的各个语句,然后根据每个语句含有的实体对,确定头实体和尾实体分别在语句中前后特定范围内的分词,如在语句1中头实体的前a个分词和后b个分词,以及尾实体的前c个分词和后d个
分词,而对于语句2也可这样确定对应的分词。然后将第一语句集合中各语句对应确定的分词进行汇总并统计这些分词的出现频率。以便根据出现频率是否符合预设条件确定需要获取的分词。如按照出现频率进行排序,取排名靠前的n个分词或排名靠前的一定比例的分词作为符合预设条件的分词,或者设定频率阈值,将出现频率大于该频率阈值的分词作为符合预设条件的分词。
[0050]
在得到出现频率符合预设条件的分词之后,可能会夹杂着一些干扰词、无用词等,可进行筛选得到符合要求的分词。
[0051]
可选的,步骤207具体可包括:首先将第一语句集合的各样本语句中,头实体前后预设个数的分词和尾实体前后预设个数的分词进行词频统计;然后按照词频统计结果进行排序,获取排名靠前的预置个数的分词;最后对排名靠前的预置个数的分词进行异常过滤,并将未被异常过滤掉的分词作为符合预设条件的分词。
[0052]
例如,定义窗口大小为m,则将集合k中的所有句子中,头实体前后的m个token(分词)、尾实体前后边的m个token取出,构成集合a。将集合a中的所有token进行词频统计和排序后,取出与子母公司关系最相关的前n个token,并可通过人工快速筛选(这个人工部分不会太耗时,因为已经进行了初步筛选得到n个token),得到集合b。
[0053]
步骤208、依据第一语句集合中包含符合预设条件的分词的第二语句集合,利用深度学习算法训练得到预设识别模型。
[0054]
获取第一语句集合中包含符合预设条件的分词的第二语句集合,通过这种通过关系相关关键词的过滤方式,可去除一些冗余、无关的文本数据,进而尽量去除噪音文本数据,增加有效文本数据的比例,能够有效提升识别模型的准确率,并且模型的训练也会更加迅速。在得到每一个第一语句集合各自对应的第二语句集合后,可根据这些第二语句集合以及这些第二语句集合分别对应的关系标签(可依据所在的第一语句集合获取得到),训练识别模型。
[0055]
在本实施例中,可基于多种可选的深度学习算法模型,进行模型训练,得到用于识别实体关系的识别模型。例如,在模型训练完成之后,可利用测试集进行测试,在模型输出的结果符合指标要求后,可确定训练达标,进而得到训练达标的识别模型。而如果训练得到的识别模型的测试输出结果不符合指标要求,则继续进行模型训练,直至模型训练达标。
[0056]
例如,通过集合b(token 的集合)对集合k(句子的集合)进行筛选,集合k中包含集合b中token的句子留下,其余的舍去。这样由集合k得到了新的句子集合h。将集合h中的句子用于后续的识别模型使用。通过关系相关关键词的过滤方法去除一些冗余、无关的文本数据,增加有效文本数据的比例,有效提升模型的准确率,而且模型训练也会更加迅速。
[0057]
在训练模型的过程中,本实施例在识别模型的输入部分增加了实体信息描述。通过卷积神经网络(cnn)进行实体信息特征提取,和文本信息特征一起作为模型的输入,为实体增加描述信息,提高模型的准确率。相应可选的,步骤208具体可包括:首先获取第二语句集合中各样本语句内实体对应的实体描述信息;再对实体描述信息进行语料清洗;将语料清洗后的实体描述信息进行分词处理;对处理得到的分词进行词嵌入表示,输入到卷积神经网络,再进行最大池化层处理,得到实体描述信息对应的实体信息特征;然后根据第二语句集合中各样本语句对应的实体信息特征、各语句数据、以及第二语句集合对应的关系标签,创建训练集;最后基于训练集利用深度学习算法训练得到预设识别模型。
[0058]
例如,实体信息描述流程图如图5所示。从维基百科等网页提取实体描述信息语料,同样先对实体描述语料进行清洗,然后用分词工具进行分词,将分词处理后的token进行词嵌入(word embedding)表示,然后输入到卷积神经网络(cnn),再进行最大池化层处理。本实施例在识别模型的输入部分除了基本的word embedding(语句中单词的词嵌入表示)和position embedding(语句中各个单词分别与头实体相对位置表示、及各个单词分别与尾实体的相对位置表示),还从维基百科等网页提取实体描述信息,和word embedding、position embedding一起作为模型的输入,为实体增加描述信息,提高模型的准确率。
[0059]
在本实施例中,为了提高识别模型的识别准确性,可选的,本实施例可基于训练集,利用堆叠(stacking)方法分别训练得到pcnn+ mil(piecewise-convolutional neural networks+ multiple instance learning)远程监督模型、pcnn+ att(piecewise-convolutional neural networks+ attention)远程监督模型、bilstm+att+mil(bi-directional long short-term memory + attention + multiple instance learning)远程监督模型;将训练得到的pcnn+ mil远程监督模型、pcnn+ att远程监督模型、bilstm+att+mil远程监督模型进行模型融合,得到预设识别模型。
[0060]
对三个远程监督模型pcnn+mil、pcnn+att、bilstm+att+mil进行模型融合,得到识别模型,有效结合了各个模型的优点,以提高最终输出结果的准确率、召回率。
[0061]
可选的,pcnn+ mil远程监督模型、pcnn+ att远程监督模型的输入层、bilstm+att+mil远程监督模型的输入层是word embedding、position embedding和实体信息描述的拼接,word embedding为语句中单词的词嵌入表示, position embedding是语句中各个单词分别与头实体相对位置表示、及各个单词分别与尾实体的相对位置表示,实体信息描述是实体描述信息对应的实体信息特征;pcnn+ mil远程监督模型、pcnn+ att远程监督模型的卷积层包括预定个数不同大小的卷积核,卷积核的大小是根据word embedding、position embedding和实体信息描述的拼接后的总长度确定的; pcnn+ mil远程监督模型、pcnn+ att远程监督模型的分段池化层采用最大池化; pcnn+ mil远程监督模型、pcnn+ att远程监督模型的分类层使用softmax进行分类。
[0062]
下面具体说明各个远程监督模型:1、关于pcnn+mil远程监督模型:例如,pcnn+mil远程监督模型中pcnn部分的流程图如图6所示。基于关系相关关键词的过滤得到的句子已经进行了实体对的映射、添加关系标签。然后通过分词工具对句子进行分词处理。并且具有相同实体对的句子作为一个bag(含有相同实体对的语句划分为一个bag)输入给远程监督模型pcnn+mil。pcnn+mil远程监督模型的pcnn的输入层包括word embedding、position embedding和实体信息描述。输入层是word embedding、position embedding和实体信息描述的拼接。word embedding是单词的词嵌入表示,可以通过word2vec或者bert获得。position embedding是句子中各个单词分别与头实体相对位置表示、各个单词分别与尾实体的相对位置表示。
[0063]
pcnn+mil远程监督模型的pcnn的卷积层可包括3个不同大小的卷积核,分别是2*dim、3*dim、4*dim,其中dim的大小是word embedding、position embedding和实体信息描述的拼接后的总长度。通过卷积操作提取句子中相邻token间的相关性。分段池化层采用最大池化(max pooling)。将卷积层的输出按照两个实体为界分为三部分,为三个部分分别进行max pooling,并将三个结果进行拼接。分类层使用softmax进行分类。将不同卷积的分段
池化层进行拼接,作为softmax的输入,进行分类操作。
[0064]
相应的,利用训练集训练pcnn+ mil远程监督模型,具体可包括:以bag形式进行模型输入,其中,含有相同实体对的语句划分为一个bag,bag中的每个句子经过pcnn的分类层后得到第一概率分布,第一概率分布包含语句的关系标签、以及该语句为此关系标签的概率值;基于第一概率分布,从bag中取一个概率值最大的语句和该语句预测得到的关系标签,作为该bag的预测结果。
[0065]
例如,对于pcnn+mil远程监督模型的mil部分,以bag(含有相同实体对的句子为一个bag)形式进行输入的,一个bag中的每个句子经过pcnn中的分类层后会得到一个概率分布,也就得到了句子的关系标签、为此关系标签的概率值。远程监督模型为了消除错误标签的影响,从bag中取一个概率值最大的句子和该句子的预测得到的关系标签,作为这个bag的预测结果,并计算交叉熵损失函数。最后再进行反向传播。mil可以有效消除错误标签的影响。
[0066]
2、关于pcnn+ att远程监督模型:例如,pcnn+att远程监督模型中的流程图如图7所示。pcnn是图7的上部分图,att见图7的下部分图。基于关系相关关键词的过滤得到的句子已经进行了实体对的映射、添加关系标签。然后通过分词工具对句子进行分词处理。并且具有相同实体对的句子作为一个bag输入给远程监督模型pcnn+att。pcnn+ att远程监督模型的pcnn的输入层包括word embedding、position embedding和实体信息描述。输入层是word embedding、position embedding和实体信息描述的拼接。word embedding是单词的词嵌入表示,可以通过word2vec或者bert获得。position embedding是句子中各个单词分别与头实体相对位置表示、各个单词分别与尾实体的相对位置表示。
[0067]
卷积层可采用3个不同大小的卷积核,分别是2*dim、3*dim、4*dim,其中dim的大小是word embedding、position embedding和实体信息描述的拼接后的总长度。通过卷积操作提取句子中相邻token间的相关性。分段池化层采用最大池化(max pooling)。将卷积层的输出按照两个实体为界分为三部分,为三个部分分别进行max pooling,并将三个结果进行拼接。pcnn+ att远程监督模型的非线性层使用tanh函数进行非线性处理。
[0068]
相应的,上述利用训练集训练pcnn+ att远程监督模型,具体可包括:以bag形式进行模型输入,其中,一个bag中的每个句子经过pcnn的非线性层后会得到一个特征向量;再根据特征向量和关系标签之间的匹配度,计算注意力得分;然后依据计算到的注意力得分,使用pcnn的分类层得到实体对关于所有关系的第二概率分布;最后基于第二概率分布,从bag中取一个概率值最大的语句和该语句预测得到的关系标签,作为该bag的预测结果。
[0069]
例如,以bag形式进行输入的,一个bag中的每个句子经过pcnn中的非线性层后会得到一个特征向量。如图7所示,在经过注意力机制层时,假设包含某实体对的句子有n条,那么经过pcnn中的非线性层后,得到n个特征向量:x1, x2, ..., xn。然后进行注意力层(att),处理的步骤如下:公式(1)计算句子的特征向量x
j
和关系标签r之间的匹配度e
j
,公式(2)计算注意力得分a
j
。公式中r是关系标签的向量表示。
[0070]
然后再基于注意力机制计算此实体对的特征向量b,如公式(3)所示。
[0071]
最后经过softmax层得到此实体对关于所有关系的概率分布,概率值最大的关系为预测的关系标签。远程监督模型pcnn+att是从bag中取一个概率值最大的句子和该句子的预测得到的关系标签,作为这个bag的预测结果,并计算交叉熵损失函数。最后再进行反向传播。以bag为单位输入可以有效消除错误标签的影响。
[0072]
3、关于bilstm+att+mil远程监督模型:例如,bilstm+att+mil远程监督模型中的bilstm+att流程图如图8所示。基于关系相关关键词的过滤得到的句子已经进行了实体对的映射、添加关系标签。然后通过分词工具对句子进行分词处理。并且具有相同实体对的句子作为一个bag输入给远程监督模型bilstm+att+mil。bilstm+att+mil远程监督模型的输入层包括word embedding、position embedding和实体信息描述。输入层是word embedding、position embedding和实体信息描述的拼接。word embedding是单词的词嵌入表示,可以通过word2vec或者bert获得。position embedding是句子中各个单词分别与头实体相对位置表示、各个单词分别与尾实体的相对位置表示。
[0073]
bilstm+att+mil远程监督模型的bilstm层为双向循环神经网络层。lstm单元内部结构如图8所示。相比于rnn,lstm能够在一定程度上处理长期依赖问题,主要原因是lstm增加的三个门:遗忘门、输入门、输出门。在lstm模型中通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。从而可以很好的抽取包含数字串的较长文本的抽象特征。lstm能够在一定程度上处理长期依赖问题,但是只考虑上文的信息,为了将将下文的信息添加进来,这里我们采用双向lstm,即bilstm。然后将前向lstm和后向lstm的输出进行拼接。
[0074]
bilstm+att+mil远程监督模型的注意力机制层即attention层。假设bilstm层的输出的向量集合为h:{h1,h2,

,h
t
},也即attention层的输入。
[0075]
上式中w
t
是一个训练学习得到的参数向量的转置。
[0076]
最终得到句子的表示向量h
senc

[0077]
attention机制模拟的是人在看事物时的状态,即虽然人眼所见范围很广,但是在
该场景内每一处空间位置上的注意力分布是不一样的。因此在序列学习任务上具有巨大的提升作用。
[0078]
bilstm+att+mil远程监督模型的线性层,即全连接层。线性层时通过一个线性变换和relu激活函数。这里线性层的作用是进行维度的变换,变换成与分类数目相同的维度。而对于分类层,这里关系抽取是一个多分类问题,所以使用softmax激活函数。
[0079]
相应的,上述利用训练集训练bilstm+att+mil远程监督模型,具体可包括:以bag形式进行模型输入,依次经过bilstm+att+mil远程监督模型的bilstm层、注意力机制层、线性层、分类层得到第三概率分布,该第三概率分布包含语句的关系标签、以及该语句为此关系标签的概率值;基于第三概率分布,从bag中取一个概率值最大的语句和该语句预测得到的关系标签,作为该bag的预测结果。
[0080]
例如,模型以bag形式进行输入,一个bag中的每个句子经过分类层后会得到一个概率分布,也就得到了句子的关系标签、为此关系标签的概率值。远程监督模型为了消除错误标签的影响,从bag中取一个概率值最大的句子和该句子的预测得到的关系标签,作为这个bag的预测结果,并计算交叉熵损失函数。最后再进行反向传播。mil可以有效消除错误标签的影响。
[0081]
基于训练集,利用stacking算法,即多次折交叉验证,分别训练得到pcnn+ mil远程监督模型、pcnn+ att远程监督模型、bilstm+att+mil远程监督模型,然后获取pcnn+ mil远程监督模型、pcnn+ att远程监督模型、bilstm+att+mil远程监督模型输出的结果平均值,作为预设识别模型的识别结果。
[0082]
例如,如图9所示,这里可使用3折交叉验证,每个远程监督模型都要做满3次训练和预测,对于每一次:从三分之二的数据训练得到一个模型,然后预测训练集剩下的那三分之一,同时也要预测测试集。每次有三分之一的训练数据被预测,3次后正好每个训练样本都被预测过了。每次都要预测测试集,因此最后测试集被预测3次,最终结果取3次的概率值平均。通过模型融合,不仅可以防止过拟合,而且有效结合了pcnn+mil、pcnn+att、bilstm+att+mil三个远程监督模型的优点,达到进一步提高结果准确率的效果。
[0083]
考虑到远程监督算法的强假设条件会引入大量的噪音,因此本实施例可首先对样本文本中含有实体对的语句标注关系标签,得到目标关系标签对应的第一语句集合;再根据第一语句集合中各语句含有的实体对,获取头实体和尾实体前后出现频率符合预设靠前条件的分词;然后依据第一语句集合中包含符合预设靠前条件的分词的第二语句集合,训练深度学习的识别模型;最后使用训练达标的识别模型识别实体关系。与现有技术相比,本实施例可通过关系相关关键词的过滤方式去除一些冗余、无关的文本数据,进而尽量去除噪音文本数据,增加有效文本数据的比例,能够有效提升识别模型的准确率,并且模型的训练也会更加迅速。从而可提高实体关系识别的准确率和效率。
[0084]
步骤209、将待识别文本中缺少主语的语句进行主语补齐处理,获取经过主语补齐处理后的待识别文本中含有实体对的语句,并获取实体对中实体对应的实体信息特征,将实体信息特征、实体对、以及含有实体对的语句输入到深度学习的预设识别模型中。
[0085]
可选的,为了提高实体关系的识别准确性,在待识别文本中缺少主语的语句进行主语补齐处理之前,本实施例方法还可包括:对待识别文本进行语料清洗;相应的,将待识别文本中缺少主语的语句进行主语补齐处理,具体可包括:将语料清洗后的待识别文本中
缺少主语的语句进行主语补齐处理。例如,可通过正则表达式等方法对待识别文本的语料进行清洗。将语料中的无效乱码、符号等进行去除,将中文标点符号中混入的英文标点符号、全半角情况进行纠正,检查标点符号的重复使用情况,最后对语料进行句子去重。通过这种语料清洗操作可实现待识别文本的初步清洗,去除文本中的无用信息,格式统一,得到规范性的文本数据,便于输入识别模型格式规范的数据,提高实体关系识别的准确性。
[0086]
与步骤202中的处理过程类似,如果待识别文本中存在主语缺失的语句,则可进行主语自动补齐,相应可选的,将待识别文本中缺少主语的语句进行主语补齐处理,具体可包括:在对待识别文本中各语句分别进行分词处理、词性标注、命名实体识别后,对各语句进行逐句判断;若当前语句内跳过先导词后的首个分词是ner实体,则判断ner实体在文本中的预设距离阈值范围内是否存在代词,如果预设距离阈值范围内存在代词,则根据ner实体,将代词位置进行主语添加替换;若当前语句内跳过先导词后的首个分词不是ner实体,则判断首个分词是否为代词,如果首个分词为代词,则将首个分词位置进行主语添加替换;如果首个分词不是代词,则判断需要添加的主语是否出现在当前语句中,如果需要添加的主语没有在当前语句中出现,则为当前语句添加主语。具体主语补齐的处理过程可参照步骤202中的对应描述,在此不再赘述。通过这种处理,可提高后续实体关系识别的准确性。
[0087]
可选的,获取实体对中实体对应的实体信息特征,具体包括:从待识别文本的语料以外,获取实体对中实体对应的实体描述信息语料;对实体描述信息语料进行语料清洗;将语料清洗后的实体描述信息语料进行分词处理;对处理得到的分词进行词嵌入表示,输入到卷积神经网络,再进行最大池化层处理,得到实体对中实体对应的实体信息特征。具体的处理过程可参考图5实例的描述,在此不再赘述。通过这种从待识别文本的语料以外,获取实体对中实体对应的实体描述信息语料,作为模型输入数据之一,为实体增加描述信息,参考更多有助于识别实体含义的相关描述内容,可提高识别模型对实体关系识别的准确性。
[0088]
步骤210、根据预设识别模型输出的分类结果,确定待识别文本中的实体关系。
[0089]
例如,将待识别的文本提取特征输入到识别模型中,根据输出结果,如公司c与公司d为子母公司关系的概率是0.98,进而生成{公司c,子母公司关系,公司d }的三元组。从而准确识别抽取得到文本中的实体关系。
[0090]
为了完整说明本实施例方法整体的具体实现过程,给出方案的整体流程,示例性的,如图10所示,该流程包括:输入语料后先对语料进行清洗,清洗方法主要采用正则表达式。然后对每个段落中的各个句子进行主语自动补齐,再进行分句。接着基于关系相关关键词的过滤,通过关系相关关键词的过滤方法去除一些冗余、无关的文本数据。之后使用ltp工具包对句子进行依存句法分析,得到初始三元组,作为小型知识图谱供远程监督模型使用。然后从维基百科等网页提取实体描述信息,并通过cnn进行实体信息特征提取。然后将提取到的实体信息特征,和word embedding、position embedding一起作为模型输入,分别输入到pcnn+mil、pcnn+att、bilstm +att+mil这三个远程监督模型中。最后基于stacking方法将训练和测试的数据共划分为3等分,分别对三个远程监督模型进行训练、测试,进行模型融合。
[0091]
本实施例中的方案提供了一种主语自动补齐的方法,避免了很多含有有用信息的文本数据无法进行学习的情况,以提高整体的准确率、召回率。还提供了一种基于关系相关关键词的过滤方法。通过关系相关关键词的过滤方法去除一些冗余、无关的文本数据,增加
有效文本数据的比例,有效提升模型的准确率,而且模型训练也会更加迅速。还在远程监督模型的输入部分增加了实体信息描述,和word embedding、position embedding一起作为模型的输入,为实体增加描述信息,提高模型的准确率。并且进行模型融合,不仅可以防止过拟合,而且有效结合了pcnn+mil、pcnn+att、bilstm+att+mil三个远程监督模型的优点,达到进一步提高结果准确率的效果。
[0092]
进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种实体关系的识别装置,如图11所示,该装置包括:处理模块31、获取模块32、计算模块33、确定模块34。
[0093]
处理模块31,用于将待识别文本中缺少主语的语句进行主语补齐处理;获取模块32,用于获取经过主语补齐处理后的所述待识别文本中含有实体对的语句;所述获取模块31,还用于获取所述实体对中实体对应的实体信息特征;计算模块33,用于将所述实体信息特征、实体对、以及所述含有实体对的语句输入到深度学习的预设识别模型中;确定模块34,用于根据所述预设识别模型输出的分类结果,确定所述待识别文本中的实体关系。
[0094]
在具体的应用场景中,处理模块31,具体用于在对所述待识别文本中各语句分别进行分词处理、词性标注、命名实体识别后,对各语句进行逐句判断;若当前语句内跳过先导词后的首个分词是ner实体,则判断所述ner实体在文本中的预设距离阈值范围内是否存在代词,如果所述预设距离阈值范围内存在代词,则根据所述ner实体,将代词位置进行主语添加替换;若当前语句内跳过先导词后的首个分词不是ner实体,则判断首个分词是否为代词,如果首个分词为代词,则将首个分词位置进行主语添加替换;如果首个分词不是代词,则判断需要添加的主语是否出现在当前语句中,如果需要添加的主语没有在当前语句中出现,则为当前语句添加主语。
[0095]
在具体的应用场景中,获取模块32,具体用于从所述待识别文本的语料以外,获取所述实体对中实体对应的实体描述信息语料;对所述实体描述信息语料进行语料清洗;将语料清洗后的实体描述信息语料进行分词处理;对处理得到的分词进行词嵌入表示,输入到卷积神经网络,再进行最大池化层处理,得到所述实体对中实体对应的实体信息特征。
[0096]
在具体的应用场景中,本装置还包括:标注模块和训练模块;获取模块32,还用于获取样本文本中含有实体对的样本语句;标注模块,用于对所述含有实体对的样本语句标注关系标签,得到目标关系标签对应的第一语句集合;获取模块32,还用于根据所述第一语句集合中各样本语句含有的实体对,获取头实体和尾实体前后预定范围内出现频率符合预设条件的分词;训练模块,用于依据所述第一语句集合中包含所述符合预设条件的分词的第二语句集合,利用深度学习算法训练得到所述预设识别模型。
[0097]
在具体的应用场景中,获取模块32,具体还用于将所述第一语句集合的各样本语句中,头实体前后预设个数的分词和尾实体前后预设个数的分词进行词频统计;按照词频统计结果进行排序,获取排名靠前的预置个数的分词;对所述排名靠前的预置个数的分词进行异常过滤,并将未被异常过滤掉的分词作为所述符合预设条件的分词。
[0098]
在具体的应用场景中,处理模块31,还用于对输入的样本文本进行语料清洗;将语
料清洗后的样本文本中缺少主语的语句进行主语补齐处理;将经过主语补齐处理后的样本文本进行分句处理;基于依存句法,分析分句处理得到的各样本语句的初始三元组;获取模块32,具体还用于利用所述初始三元组,对分句处理得到的单句进行映射,以便筛选出含有实体对的样本语句。
[0099]
在具体的应用场景中,处理模块31,具体用于对目标语句进行分词处理;将分词处理得到的分词作词性标注;对分词和与分词对应的词性标注的结果进行命名实体识别,得到目标语句的实体标注;基于所述实体标注进行依存句法分析,得到目标语句的初始三元组。
[0100]
在具体的应用场景中,训练模块,具体用于获取第二语句集合中各样本语句内实体对应的实体描述信息;对所述实体描述信息进行语料清洗;将语料清洗后的实体描述信息进行分词处理;对处理得到的分词进行词嵌入表示,输入到卷积神经网络,再进行最大池化层处理,得到实体描述信息对应的实体信息特征;根据第二语句集合中各样本语句对应的所述实体信息特征、各语句数据、以及第二语句集合对应的关系标签,创建训练集;基于所述训练集利用深度学习算法训练得到所述预设识别模型。
[0101]
在具体的应用场景中,训练模块,具体还用于基于所述训练集,利用stacking算法分别训练得到pcnn+ mil远程监督模型、pcnn+ att远程监督模型、bilstm+att+mil远程监督模型;将训练得到的pcnn+ mil远程监督模型、pcnn+ att远程监督模型、bilstm+att+mil远程监督模型进行模型融合,得到所述预设识别模型。
[0102]
在具体的应用场景中,处理模块31,还用于对所述待识别文本进行语料清洗;相应的,处理模块31,具体还用于将语料清洗后的所述待识别文本中缺少主语的语句进行主语补齐处理。
[0103]
需要说明的是,本实施例提供的一种实体关系的识别装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
[0104]
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1和图2所示的实体关系的识别方法。
[0105]
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
[0106]
基于上述如图1和图2所示的方法,以及图11所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种电子设备,具体可以为个人计算机、笔记本电脑、智能手机、服务器或其他网络设备等,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的实体关系的识别方法。
[0107]
可选的,上述实体设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。
[0108]
本领域技术人员可以理解,本实施例提供的上述实体设备结构并不构成对该实体
设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0109]
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
[0110]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本实施例的方案,与现有技术相比,可通过关系相关关键词的过滤方式去除一些冗余、无关的文本数据,进而尽量去除噪音文本数据,增加有效文本数据的比例,能够有效提升识别模型的准确率,并且模型的训练也会更加迅速。从而可提高实体关系识别的准确率和效率。
[0111]
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0112]
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1