一种垂直领域知识图谱构建方法及系统

文档序号:26050699发布日期:2021-07-27 15:25阅读:124来源:国知局
本发明涉及计算机技术
技术领域
:,尤其涉及一种垂直领域知识图谱构建方法及系统。
背景技术
::随着人工智能的发展,智能的信息服务持续升级,在各种智能信息服务领域均能看到知识图谱的应用,如智能问答、个性化推送和信息检索等。知识图谱帮助计算机学习人的语言交流方式,使计算机像人类一样“思考”,使得各种信息服务反馈给用户更加智能的答案。可以说知识图谱是传统行业和人工智能进行融合的方向,也是人工智能从研究走向落地应用的过程中必不可少的环节。垂直领域知识图谱是针对某个行业,根据该领域的数据来构建的知识图谱,相比于通用知识图谱,更强调知识的深度。虽然在通用领域,学术界和工业界都已经有大规模的标注数据可供知识图谱构建模型进行训练,并且实体和关系抽取技术已经取得了长足进步。但在垂直领域的场景下,存在着标注语料数据量不足,人工标注耗费人工成本和精力等难题,并且随着业务的变更,实体和关系的类型会不断地更新,已有的标注数据无法应用在新的实体和关系类型上,这些难题使得在垂直领域构建知识图谱变得非常困难。因此,为了解决垂直领域知识图谱构建困难和低效的问题,现在亟需一种垂直领域知识图谱构建方法及系统来解决上述问题。技术实现要素:针对现有技术存在的问题,本发明提供一种垂直领域知识图谱构建方法及系统。本发明提供一种垂直领域知识图谱构建方法,包括:将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;若所述产品文档存在非结构化数据,则通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;根据所述三元组,构建所述产品文档的知识图谱。根据本发明提供的一种垂直领域知识图谱构建方法,所述训练好的知识抽取模型通过以下步骤训练得到:获取样本产品文档,所述样本产品文档包括半结构化样本数据和非结构化样本数据;对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对序列标注后的半结构化样本数据进行增强处理,构建得到第一训练数据集;对所述非结构化样本数据进行纯文本标注,并基于文本增强技术和实例交叉增强技术,对纯文本标注后的非结构化样本数据进行增强处理,获取第二训练数据集;将所述第一训练数据集输入到神经网络中进行训练,得到表格标注模型;将所述第二训练数据集输入到改进的语言模型中进行训练,得到文本知识抽取模型,所述改进的语言模型是基于概率图模型和bert模型构建得到的;根据所述表格标注模型和所述文本知识抽取模型,获取训练好的知识抽取模型。根据本发明提供的一种垂直领域知识图谱构建方法,所述将所述第一训练数据集输入到神经网络中进行训练,得到表格标注模型,包括:根据所述第一训练数据集中半结构化样本数据的表头信息,生成多个子模式层;基于所述多个子模式层,通过所述第一训练数据集,对所述神经网络进行训练,得到所述表格标注模型。根据本发明提供的一种垂直领域知识图谱构建方法,所述若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,包括:通过所述表格标注模型,对半结构化数据中的表格主题和表头序列进行标注处理,得到标注的表格数据;根据所述标注的表格数据,生成对应的子模式层;对所述标注的表格数据进行节点和边的匹配,生成表格列属性;根据所述表格列属性和所述子模式层,获取三元组。根据本发明提供的一种垂直领域知识图谱构建方法,在所述对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对序列标注后的半结构化样本数据进行增强处理,构建得到第一训练数据集之前,所述方法还包括:根据半结构化样本数据中多个单元格,合并得到表格;基于预设规则脚本,对所述多个单元格合并的表格进行规范化处理,获取目标表格,并对所述目标表格中单元格<ul>标签和<li>标签进行标注,获取标签标注后的半结构化数据,以通过所述标签标注后的半结构化数据构建训练集。根据本发明提供的一种垂直领域知识图谱构建方法,在所述根据所述三元组,构建所述产品文档的知识图谱之前,所述方法还包括:对所述三元组进行容错处理和对齐处理,以根据处理后的三元组生成知识图谱。本发明还提供一种垂直领域知识图谱构建系统,包括:产品文档输入模块,用于将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;表格标注处理模块,用于通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;文本知识抽取处理模块,用于通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;知识图谱构建模块,用于根据所述三元组,构建所述产品文档的知识图谱。根据本发明提供的一种垂直领域知识图谱构建系统,所述系统还包括:样本产品文档获取模块,用于获取样本产品文档,所述样本产品文档包括半结构化样本数据和非结构化样本数据;第一训练数据集构建模块,用于对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对所述半结构化样本数据进行增强处理,构建得到第一训练数据集;第二训练数据集构建模块,用于对所述非结构化样本数据进行纯文本标注,并基于文本增强技术和实例交叉增强技术,对所述非结构化样本数据进行增强处理,构建得到第二训练数据集;表格标注模型训练模块,将所述第一训练数据集输入到神经网络中进行训练,得到所述表格标注模型;文本知识抽取模型训练模块,将所述第二训练数据集输入到改进的语言模型中进行训练,得到所述文本知识抽取模型,所述改进的语言模型是基于概率图模型和bert模型构建得到的。本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述垂直领域知识图谱构建方法的步骤。本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述垂直领域知识图谱构建方法的步骤。本发明提供的垂直领域知识图谱构建方法及系统,针对产品文档中不同的数据类型,采用不同的知识抽取方法和模型,通过表格标注模型对半结构化数据进行表格标注处理,通过文本知识抽取模型对非结构化数据进行知识抽取处理,获取产品文档的三元组,以根据获取的三元组构建产品文档的知识图谱,实现垂直领域知识图谱快速精准的构建,提高了垂直领域知识图谱构建方法的专业性、准确性和高效性。附图说明为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的垂直领域知识图谱构建方法的流程示意图;图2为本发明提供的结合bert-pgm模型的知识抽取处理流程示意图;图3为本发明提供的表格标注模型的结构示意图;图4为本发明提供的从表格中抽取三元组的工作流程示意图;图5为本发明提供的自底向上和自顶向下相结合的垂直领域知识图谱构建方法的总体流程示意图;图6为本发明提供的垂直领域知识图谱构建方法的整体流程示意图;图7为本发明提供的知识抽取模型进行知识抽取的流程示意图;图8为本发明提供的垂直领域知识图谱构建系统的结构示意图;图9为本发明提供的垂直领域知识图谱构建系统在实际应用的结构示意图;图10为本发明提供的在线知识图谱构建系统的结构框架示意图;图11为本发明提供的在线知识图谱构建系统后台部分工作流程示意图;图12为本发明提供的一种电子设备的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明提供的垂直领域知识图谱构建方法的流程示意图,如图1所示,本发明提供了一种垂直领域知识图谱构建方法,包括:步骤101,将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型。在本发明中,步骤101中,产品文档包括半结构化数据和非结构化数据,将包含有半结构化数据和非结构化数据的产品文档输入至训练好的知识抽取模型中,半结构化数据和非结构化数据同步进行知识抽取,获取产品文档的三元组。可选地,半结构化数据是结构化数据的一种形式,它并不符合以关系型数据库或数据表的形式关联起来的数据模型结构,但包含相关标记,该标记用来分隔语义元素以及对记录和字段进行分层,包括但不限于表格、邮件、html和资源库。可选地,非结构化数据是数据结构不规则或不完整,没有预定义的数据,包括但不限于文本、图片、办公文档、图像、音频和视频信息。步骤1021,若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的样本半结构化数据,对神经网络进行训练得到的;步骤1022,若所述产品文档存在非结构化数据,则通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的样本非结构化数据,对改进的语言模型进行训练得到的。在本发明中,步骤1021中,产品文档数据中的大量有效信息是以表格的形式存在的,表格是一种半结构化数据。通过序列标注后的半结构化样本数据,对神经网络进行训练,得到表格标注模型。可选地,神经网络可以是双向长短时记忆网络(bi-directionallongshort-termmemory,简称bi-lstm)。进一步地,通过表格标注模型对产品文档中的半结构化数据进行表格标注处理,得到表格的标注结果,根据表格的标注结果来进行表格内数据抽取,获取产品文档的三元组。在本发明中,步骤1022中,选取非结构化样本数据中的文本为知识抽取对象,通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练,得到文本知识抽取模型。纯文本标注只保存文本,不保存格式设置,纯文本标注为一种〈subject,predicate,object〉主谓宾结构的标注格式。进一步地,通过文本知识抽取模型对产品文档中的非结构化数据进行知识抽取处理,得到产品文档的三元组。可选地,改进的语言模型可以是基于bert和概率图模型的联合实体关系抽取模型(jointentityrelationextractionmodelbasedonbertandprobabilitygraphmodel,简称bert-pgm)。需要说明的是,实际应用时,产品文档中的半结构化数据和非结构化数据是通过知识抽取模型同步进行知识抽取,得到产品文档的三元组,从而高效且准确地完成领域知识的抽取。步骤103,根据所述三元组,构建所述产品文档的知识图谱。在本发明中,通过知识抽取模型对产品文档中的半结构化数据和非结构化数据进行知识抽取,获取产品文档的三元组,以根据三元组构建产品文档的知识图谱。本发明提供的垂直领域知识图谱构建方法,针对产品文档中不同的数据类型,采用不同的知识抽取方法和模型,通过表格标注模型对半结构化数据进行表格标注处理,通过文本知识抽取模型对非结构化数据进行知识抽取处理,获取产品文档的三元组,以根据获取的三元组构建产品文档的知识图谱,实现垂直领域知识图谱快速精准的构建,提高了垂直领域知识图谱构建方法的专业性、准确性和高效性。在上述实施例的基础上,所述训练好的知识抽取模型通过以下步骤训练得到:获取样本产品文档,所述样本产品文档包括半结构化样本数据和非结构化样本数据;对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对序列标注后的半结构化样本数据进行增强处理,构建得到第一训练数据集;对所述非结构化样本数据进行纯文本标注,并基于文本增强技术和实例交叉增强技术,对纯文本标注后的非结构化样本数据进行增强处理,获取第二训练数据集;将所述第一训练数据集输入到神经网络中进行训练,得到表格标注模型;将所述第二训练数据集输入到改进的语言模型中进行训练,得到文本知识抽取模型,所述改进的语言模型是基于概率图模型和bert模型构建得到的;根据所述表格标注模型和所述文本知识抽取模型,获取训练好的知识抽取模型。在本发明中,对半结构化样本数据进行序列标注,可选地,序列标注为bio标注,以字为单位对表格数据序列进行标注。将每个元素标注为“b-x”、“i-x”或者“o”。其中,“b-x”表示此元素所在的片段属于x类型并且此元素在此片段的开头,“i-x”表示此元素所在的片段属于x类型并且此元素在此片段的中间位置,“o”表示不属于任何类型。通过文本增强技术和实例交叉增强技术,对序列标注后的半结构化样本数据,得到第一训练数据集,即为半结构化训练数据集。同时,对非结构化样本数据进行纯文本标注,可选地,纯文本标注为一种〈subject,predicate,object〉主谓宾结构的标注格式,用于描述实体之间的关系。通过文本增强技术和实例交叉增强技术,通过对纯文本标注后的非结构化样本数据进行增强处理,得到第二训练数据集,即为非结构化训练数据集。需要说明的是,为了解决深度学习模型训练需要大量标注数据造成的低效和人力成本大的问题,可以对产品文档中的数据标注少类样本(数量少或者类型单一的样本),通过文本增强技术,增加少类样本的数量,来解决小样本困境。在实际应用场景中,为了提高本发明中的知识抽取模型对于产品文档的抽取效果,需要对训练数据中的实例数据进行增强。由于产品文档中经常存在同一语义的不同描述,同时引进了同义词库。基于以上的数据特征,结合基于词典的文本增强方法和实例交叉增强方法,本发明提出基于词典和实例交叉的增强数据生成算法。该算法使用中文近义词工具包synonyms进行近义词替换,使用本地构建的实体型号词典,进行文本中的主体实体的交叉替换,完成增强数据的自动生成。可选地,文本增强方法包括但不限于回译、eda(同义词替换、随机插入、随机交换和随机删除)、eda改进(非核心词替换和基于上下文信息的文本增强)。本发明提出了基于词典的文本增强方法和实例交叉增强方法,减少了在垂直场景下训练知识抽取模型所需的人工标注数据量,解决了知识抽取模型训练需要大量训练数据造成的低效和人工成本问题,大大提高了构建垂直领域知识图谱的效率。进一步地,将半结构化训练数据集输入到bi-lstm神经网络模型中,通过训练得到表格标注模型。将非结构化训练数据集输入到改进的语言模型中,通过训练得到文本知识抽取模型。其中,改进的语言模型为一种基于bert和概率图模型的联合实体关系抽取模型,即bert-pgm模型。bert(bidirectionalencoderrepresentationfromtransformers),作为这几年自然语言处理领域几乎所有重大进展的集大成者,打破了多项自然语言处理任务的世界纪录。它采用多层transformer,无视距离地直接使用注意力机制对不同位置的两个单词进行上下文建模,明显地改善了自然语言处理中非常困难的长距离文本关系建模问题。自然语言处理任务一般分成两部分,第一部分将输入文本转换成更容易被计算机处理的向量结构,第二部分就是对目标向量进行具体的自然语言处理任务。目前对于预训练语言模型的研究,做的其实主要是把第二部分的具体某个自然语言处理任务所做的工作慢慢迁移到第一部分的词向量表示学习任务中,在本发明中使用bert作为编码器,进行下游具体任务的微调,可以提高文本知识抽取模型的准确性。实体关系抽取有两种主要思路,一种是pipeline思路,即管道抽取思路,这类方法首先对目标文本做实体抽取,将抽取出来的实体和目标文本作为关系分类模型的输入,对实体对进行关系抽取,两个模型独立优化。另一种是jointmodel思路,也就是联合实体关系抽取,将实体识别和关系分类共同优化。而本发明的bert-pgm模型使用的就是一种联合抽取思路,并基于概率图思想,设计了一种类似seq2seq的抽取框架。根据概率图思想,在seq2seq中,解码器实际上相当于建模:p(y1,y2,...,yn)=p(y1)p(y2|y1)...p(yn|y1,y2,...,yn-1);其中,y1,y2,...,yn表示n个事件,p(y1,y2,...,yn)表示这n个事件同时发生的概率,p(y1)表示事件y1发生的概率,p(y2|y1)表示在事件y1已发生条件下预测y2发生的概率,p(yn|y1,y2,...,yn-1)表示在条件y1,y2,...,yn-1下yn发生的概率。在预测阶段,先通过y1预测变量y2,然后再通过y1和y2来进行y3的预测。以此类推,进行剩余元素的预测。根据这个思路,该模型假设下式成立:p(s,p,o)=p(s)p(o|s)p(p|s,o);其中,s表示subject,p表示predicate,o表示object,p(o|s)表示在给定subject的条件下预测object的概率,p(p|s,o)表示predicate在条件subject和object下的条件概率。在这个假设下,可以先预测s,然后传入s来预测对应的o,再传入s、o来预测对应的p。在实际过程中,可以把o和p的预测合为一步,由此得到本模型的抽取框架:先预测s,再传入s来进行s所对应的o和p的预测。理论上这个框架也只能抽取单一三元组,为了处理一个输入文本中存在多个s、o或p的情况,该模型使用sigmoid函数进行激活。经过这个设计,该模型可以实现高效解码,并且能处理一个样本中存在多个三元组的抽取情况。图2为本发明提供的结合bert-pgm模型的知识抽取处理流程示意图,如图2所示,本发明提供了一种结合bert-pgm模型的知识抽取处理流程示意图,首先,引入bert作为编码器,原始序列经过bert编码器后得到编码向量序列(记为h)。接着,h传入两个二分类器(dense层),预测s的首尾位置。然后,从h中抽出s的首和尾相对应的编码向量,和编码向量序列h拼接。最后,将输出结果传入两个多分类的分类器(dense层),这里多分类器的作用是对于每一种p,预测对应的o的首、尾位置。在上述实施例的基础上,所述将所述第一训练数据集输入到神经网络中进行训练,得到表格标注模型,包括:根据所述第一训练数据集中半结构化样本数据的表头信息,生成多个子模式层;基于所述多个子模式层,通过所述第一训练数据集,对所述神经网络进行训练,得到所述表格标注模型。在本发明中,通过对垂直领域产品文档的数据进行分析和整理,从而为该垂直领域的知识图谱构建对应的归纳数据模式,以根据归纳数据模式建立知识图谱的模式层。在本发明中,针对半结构化数据抽取,本发明提出了基于序列标注和子模式生成的表格知识抽取算法bi-lstm-crf-ssg(bi-lstm-crfandsub-schemageneration)。该算法将表格标注模型应用于产品文档的表格抽取中,根据序列标注结果,基于预设定义规则自动构建子模式层,从而进行表格数据的知识抽取。该算法是根据表头数据的序列标注任务和使用标注结果生成表格的子模式层,进行表内数据的知识抽取。在产品文档数据中,大量有效信息是以表格的形式存在的。表格是一种半结构化数据,表格的每一列存储着相同类型的数据。在训练表格标注模型时,根据第一训练数据集中半结构化样本数据的表头信息,获取多个表格的子模式层(sub-schema)。基于整体模式层预设定义规则,生成每个表格对应的模式层,因而将该模式层定义为子模式层。在训练表格标注模型时,基于子模式层对第一训练数据集中半结构化样本数据进行标注训练,得到训练好的表格标注模型。在获取子模式层这个步骤,前期采用人工标注的方式,在进行了部分标注之后,标注数据存在很大的相似性,且由于表格标注的任务和自然语言处理领域的序列标注任务十分契合,本发明提出将bi-lstm-crf模型应用于表格子模式层的标注任务,这样可以大大减少构建过程中的人工干预,完成表格数据知识抽取的自动化。图3为本发明提供的表格标注模型的结构示意图,如图3所示,本发明将bi-lstm-crf模型应用于表格子模式层的标注任务,该模型的架构为双向循环神经网络,每一个cell的激活函数都被置换为一个lstmcell。在图3中,x1、x2、x3...x9表示输入的字向量,p1、p2、p3...p9表示概率,h1、h2、h3...h9表示权重,b-ind-pow、i-ind-pow、o、b-ind-func和i-ind-func表示bio标注结果标签。前向长短时记忆网络(forwardlstm)和反向长短时记忆网络(backwardlstm)共用输入层(inputlayer)和输出层(outputlayer),可以同时考虑上下文。crf层以bi-lstm层的输出作为输入,可以通过学习数据集中不同标签间的转移概率,从而修正bi-lstm层的输出。在上述实施例的基础上,所述若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,包括:通过所述表格标注模型,对半结构化数据中的表格主题和表头序列进行标注处理,得到标注的表格数据;根据所述标注的表格数据,生成对应的子模式层;对所述标注的表格数据进行节点和边的匹配,生成表格列属性;根据所述表格列属性和所述子模式层,获取三元组。在本发明中,对表格主题和表头序列进行标注处理,得到表格序列标注的结果,基于模式层预设定义规则,生成表格对应的子模式层,然后将表格数据匹配到对应的节点和边上,生成表格列属性(col属性),用于后面的抽取。根据col属性,遍历sub-schema,生成三元组,并导入到本体文件。图4为本发明提供的从表格中抽取三元组的工作流程示意图,如图4所示,针对表格主题为“ar109_指示灯描述”的表格,对该表格的表格主题“ar109_指示灯描述”和表头序列“ar109,数字,指示灯,颜色,含义”进行标注处理,并通过文本增强技术和实例交叉增强技术,得到“机箱,o,指示灯,data,data_value”的序列标注结果;根据序列标注结果,并基于模式层预设定义规则,生成表格对应的子模式层。在本发明中,“机箱”、“指示灯”、“含义”表示节点,“拥有指示灯”、“颜色”表示边。在知识图谱的模式层中,节点表述本体概念,边表示本体概念间的关系。然后将表格数据依次填充匹配子模式层对应的节点和边上,生成col属性,最后根据col属性,采用遍历法,沿着搜索路线,依次对子模式层中每个节点均做一次访问,得到“ar109:拥有指示灯:pwr”、“ar109:拥有指示灯:sys”(两者类似于“实体:关系:实体”)的三元组,以及“pwr:绿色;‘常亮:表明…’”、“sys:红绿双色:‘绿色慢闪:表明…’”(两者类似于“实体:属性:属性值”)的三元组。在上述实施例的基础上,在所述对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对序列标注后的半结构化样本数据进行增强处理,构建得到第一训练数据集之前,所述方法还包括:根据半结构化样本数据中多个单元格,合并得到表格;基于预设规则脚本,对所述多个单元格合并的表格进行规范化处理,获取目标表格,并对所述目标表格中单元格<ul>和<li>标签进行标注,获取标签标注后的半结构化数据,以通过所述标签标注后的半结构化数据构建训练集。在本发明中,对html格式的产品文档进行表格预处理,先将表格从文档中抽取处理,可以使用beautifulsoup,将<table>节点从dom树中抽取出来。原文档结构中,存在一些关于表格的额外信息,所以在表格抽取脚本中,同时需要将这些信息也抽取出来,并将这些信息保存在表名中。进一步地,对表格进行规范化处理。由于抽取出来的表格中存在一些不是严格的m×n的表格,且表格中存在多个单元格合并的情况,需要对表格进行规范化处理,获取目标表格,目标表格为严格的m×n的表格。可选地,基于预设规则自动化脚本,对所述多个单元格合并的表格进行规范化处理,获取严格的m×n的表格。预设规则可以是,将由多个单元格合并成的大格拆分开,每个子单元格的内容与原先的大格一样。进一步地,考虑到每个单元格中的内容是不可拆分的,可以假设一个单元格的内容具有原子性,若单元格存在于知识图谱中,则作为一个元素存在。但是半结构化数据里的表格中,有的单元格中会有列表存在的情况,在html文件中会出现<ul>标签和<li>标签。这就违反了原子性的基本假设,因而需要在表格的预设规则自动化脚本中,对<ul>标签和<li>标签进行处理,将列表中多个元素用特殊标志标注出来,以便后面进行三元组提取时能提取出该单元格列表中的每个原子元素。在本发明中,对于表格抽取任务,采用的是基于序列标注模型和子模式层生成的方法来进行抽取的,简而言之,本发明将表格知识抽取任务转化成了表格主题和列名组成的序列的序列标注任务。所以,半结构化知识抽取的数据集就是表格主体+表头序列的标注数据集。可选地,由于本发明的产品文档原始数据中,会存在不同类型表格的表头数据完全一样的情况,这些表格的标注序列完全一样,会导致表格标注模型无法识别。可以在标注序列中加入第一行表内数据,用于识别这些表头信息完全一样的表格。由于表内第一行数据过长会影响模型效果,所以本发明使用中文自然语言处理包hanlp的文本自动摘要来提取表内第一行数据的摘要信息,这样神经网络能更好地学习到编码序列的特征。进一步地,对产品文档中的数据进行文本预处理,文本预处理只需要从html文档中将<p>和<span>等文本标签的纯文本提取出来。考虑纯文本数据中有效信息密集的位置,为了保证抽取准确率,在抽取过程中根据知识图谱模式层的设计,进行dom节点树的筛选过滤。在上述实施例的基础上,在所述根据所述三元组,构建所述产品文档的知识图谱之前,所述方法还包括:对所述三元组进行容错处理和对齐处理,以根据处理后的三元组生成知识图谱。在本发明中,对通过知识抽取模型生成的三元组进行容错和对齐处理,过滤掉不符合整体模式层的三元组,获得高质量的三元组。知识图谱由模型层和数据层构成,构造知识图谱的方法通常有两种,一种是从设计模式层开始,然后填充数据层,这称为自顶向下方法。另一种是首先从数据中抽取实体和关系,然后通过实体和关系的聚类等手段,获得知识的层次结构,形成模式层,这称为自底而上(bottom-up)的方法。本发明的方案将这两种方法结合起来,首先对领域产品数据进行分析,总结其中概念的层次结构,并设计和完善知识图谱的模式层。接着,在知识图谱模式层的约束下进行知识抽取,自顶向下地补充完善数据层,这样可以保证知识抽取的准确率和减少冗余信息。图5为本发明提供的自底向上和自顶向下相结合的垂直领域知识图谱构建方法的总体流程示意图,如图5所示,该方法主要由五个步骤组成:数据分析,建立模式层,训练抽取模型,知识抽取和构建知识图谱。具体步骤如下:s1、数据分析:通过分析和整理领域产品文档数据,归纳数据模式,来建立知识图谱的模式层;s2、建立模式层:通过上一步骤的分析,建立知识图谱的模式层;s3、训练抽取模型:根据知识图谱的模式层,标注少量的数据,然后通过文本增强技术,获取大量的训练数据。这是为了减少人工标注的成本,使得整个系统更加自动和高效。最后使用训练数据进行抽取模型的训练;s4、知识抽取:通过知识抽取模型,抽取出三元组;s5、构建知识图谱:将抽取的三元组导入到知识图谱中。图6为本发明提供的垂直领域知识图谱构建方法的整体流程示意图图,如图6所示,该方法流程主要由模式层设计和知识抽取两个部分组成。模式层需要对产品文档进行分析并设计,需要在知识抽取之前完成。产品文档中数据划分为标注数据和未标注数据,其中,标注数据通过增强处理,获取更多的标注训练数据集,将标注训练数据集输入到知识抽取模型中进行训练;未标注数据输入到训练好的知识抽取模型中,得到预测数据,以根据预测数据生成三元组,填充到数据层,图7为本发明提供的知识抽取模型进行知识抽取的流程示意图,如图7所示,在本发明中,对产品文档中的半结构化数据和非结构化数据分开抽取,分别为这两种数据设计了不同的抽取模型。针对半结构化数据的表格标注模型进行知识抽取的流程如图7的(a)所示,通过增强过的表格标注数据,训练序列标注模型。然后使用序列标注模型,对所有的未标注表格进行序列标注。然后根据标注结果,生成该表格对应的预测子模式层。最后结合未标注数据和预测子模式层,抽取出三元组,填充到数据层。针对非结构化数据的知识抽取模型进行知识抽取的流程如图7的(b)所示,通过增强过的文本数据,训练端到端的实体关系抽取模型。然后使用该模型,对所有的未标注数据进行预测,然后进行数据处理,将预测出来的三元组填充进知识库的数据层。图8为本发明提供的垂直领域知识图谱构建系统的结构示意图,如图8所示,本发明提供了一种垂直领域知识图谱构建系统,包括产品文档输入模块801、表格标注处理模块802、文本知识抽取处理模块803和知识图谱构建模块804,其中,产品文档输入模块801用于将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;表格标注处理模块802用于通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;文本知识抽取处理模块803用于通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;知识图谱构建模块804用于根据所述三元组,构建所述产品文档的知识图谱。可选地,产品文档输入模块801可以设置在web前端模块,用于上传产品文档,将产品文档输入到训练好的知识抽取模型中,可以设定抽取参数,发起同步的抽取请求,并初始化socket连接,异步接收后台抽取过程中反馈的抽取状态,并进行抽取状态的显示。可选地,表格标注处理模块802是通过表格标注模型对半结构化数据中表格数据进行表头标注,表格标注模型的标注结果服务于表格三元组生成模块,通过表格标注模型和表格三元组生成模块结合完成半结构化数据的知识抽取。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括表格三元组生成模块,用于结合表格标注模型的运行结构,完成半结构化数据的知识抽取。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括数据预处理模块,数据预处理模块包括表格处理服务和文本处理服务,用于进行半结构化和非结构化数据的预处理,按照后续要求的模型输入格式,进行数据输出。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括容错处理模块,容错处理模块用于对表格三元组生成模块和文本知识抽取模型所生成的三元组进行容错和对齐处理,过滤掉不符合整体模式层的三元组,获得高质量的知识三元组。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括知识存储模块,知识存储模块用于进行三元组的存储,生成和存储知识图谱。可选地,表格标注处理模块、表格三元组生成模块、文本知识抽取处理模块、数据预处理模块、容错处理模块、知识存储模块均可以设置在后台模块,后台模块用于处理用户通过前端模块发送的抽取请求,完成后台抽取流程,在抽取流程中即时给前端反馈抽取状态。可选地,web前端模块和后台处理模块,构建出本发明提供的垂直领域知识图谱构建系统的在线部分,该在线部分用于提供给用户线上自动构建系统,可以完成从产品文档输入,到产出知识图谱的整个流程。本发明提供的垂直领域知识图谱构建系统,针对产品文档中不同的数据类型,采用不同的知识抽取方法和模型,通过表格标注模型对半结构化数据进行表格标注处理,通过文本知识抽取模型对非结构化数据进行知识抽取处理,获取产品文档的三元组,以根据获取的三元组构建产品文档的知识图谱,实现垂直领域知识图谱快速精准的构建,提高了垂直领域知识图谱构建方法的专业性、准确性和高效性。在上述实施例的基础上,所述系统还包括:样本产品文档获取模块,用于获取样本产品文档,所述样本产品文档包括半结构化样本数据和非结构化样本数据;第一训练数据集构建模块,用于对所述半结构化样本数据进行序列标注,并基于文本增强技术和实例交叉增强技术,对所述半结构化样本数据进行增强处理,构建得到第一训练数据集;第二训练数据集构建模块,用于对所述非结构化样本数据进行纯文本标注,并基于文本增强技术和实例交叉增强技术,对所述非结构化样本数据进行增强处理,构建得到第二训练数据集;表格标注模型训练模块,将所述第一训练数据集输入到神经网络中进行训练,得到所述表格标注模型;文本知识抽取模型训练模块,将所述第二训练数据集输入到改进的语言模型中进行训练,得到所述文本知识抽取模型,所述改进的语言模型是基于概率图模型和bert模型构建得到的。在本发明中,第一训练数据集构建模块和第二训练数据集构建模块相当于训练数据生成模块,用于进行数据增强,生成知识抽取模型所需的增强训练数据集和评估数据集。进一步地,表格标注模型训练模块和文本知识抽取模型训练模块相当于知识抽取模型训练模块,用于训练知识抽取模型,使用上一模块获取的增强训练数据集,进行知识抽取模型的训练。从原始数据文档中进行知识抽取,从半结构化和非结构化数据中抽取出三元组。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括数据预处理模块,数据预处理模块包括表格处理服务和文本处理服务,用于进行半结构化和非结构化数据的预处理,按照后续要求的模型输入格式,进行数据输出。可选地,本发明提供的垂直领域知识图谱构建系统还可以包括模式层设计模块,模式层设计模块用于进行文档数据分析,自底向上地进行知识图谱模式层的设计,产出垂直领域知识图谱的模式层。可选地,样本产品文档获取模块、模式层设计模块、数据预处理模块、第一训练数据集构建模块、第二训练数据集构建模块、表格标注模型训练模块和文本知识抽取模型训练模块,构建出本发明提供的垂直领域知识图谱构建系统的离线部分,该离线部分用于构建知识图谱的模式层,通过构建训练数据并训练得到知识抽取模型。图9为本发明提供的垂直领域知识图谱构建系统在实际应用的结构示意图,如图9所示,本发明提供的垂直领域知识图谱构建系统可以用于垂直领域知识图谱的自动构建,该系统分为两个主要部分:离线部分和在线部分。离线部分上半部分的工作为自底向上地设计模式层,产物为知识图谱的模式层;下半部分的工作为构建训练数据并训练抽取模型,产物为两个知识抽取模型(表格标注模型和文本知识抽取模型)。在线部分是提供给用户的线上自动构建系统,可以完成从产品文档输入,到产出知识图谱的整个流程。需要说明的是,本发明中的在线部分和离线部分共享数据预处理模块。图10为本发明提供的在线知识图谱构建系统的结构框架示意图,如图10所示,本发明所述基于深度学习的垂直领域知识图谱构建系统的在线部分,是提供给抽取人员的,可以自动从产品文档中抽取三元组,存入到知识图谱中的自动构建系统。此系统采用vue+springboot框架来搭建,用kafka实现消息队列,在预测服务器上部署预测模型并使用flask搭建http服务。在线知识图谱构建系统进行抽取时,各个模块的工作协作的具体流程为:在前端模块中,用户通过前端交互页面上传产品文档,进行抽取参数设定后,发起同步的抽取请求,并初始化socket连接,用于异步接收后台抽取过程中反馈的抽取状态,在前端进行抽取状态的显示。当前端收到所有流程已完成成功输出owl文件的状态反馈时,发起结果请求,完成抽取结果的下载。在后台模块中,后台控制器收到请求后将请求放入消息队列,并响应前端页面。此时仅响应当前收到请求的状态,并不返回抽取结果。数据预处理模块从消息队列中获得一条抽取请求,进行数据预处理,构建并发起预测请求。预测服务器采用热启动,在启动时进行模型加载,开启预测服务,当接收到预测请求能快速进行预测并返回结果。由于一个抽取请求的文档中包含多个需要预测的表格序列和文本序列,所以预测服务可采取批量预测的方案,即预测请求中封装了批量预处理后构建的序列文件,预测服务器对其进行批量预测后返回预测结果。收到预测服务响应的模型预测结果后,顺序进入三元组生成模块和容错处理模块,并将最终输出的有效三元组导入jenatdb中生成知识图谱owl文件。在后台抽取过程中,完成某个阶段处理时或者某阶段出错误时,向前端发送异步socket消息反馈当前状态。图11为本发明提供的在线知识图谱构建系统后台部分工作流程示意图,如图11所示,产品文档的数据分为半结构化数据抽取和非结构化数据,表格标注模型和文本知识抽取模型均设置在预测服务器中。针对半结构化数据进行表格预处理,将表格预处理后的数据输入到表格标注模型中标注序列,然后再通过表格三元组生成模块以及容错模块,得到高质量的三元组;针对非结构化数据进行文本预处理,将文本预处理后的数据通过文本知识抽取模型,获取初始三元组,然后再将初始三元组输入至容错处理模块进行容错和对齐处理,过滤掉不符合整体模式层的三元组,获取高质量的三元组。将获取的所有数据类型的三元组导入本体文件中,从而构建得到知识图谱。本发明提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。图12为本发明提供的一种电子设备的结构示意图,如图12所示,该电子设备可以包括:处理器(processor)1201、通信接口(communicationsinterface)1202、存储器(memory)1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信。处理器1201可以调用存储器1203中的逻辑指令,以执行垂直领域知识图谱构建方法,该方法包括:将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;若所述产品文档存在非结构化数据,则通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;根据所述三元组,构建所述产品文档的知识图谱。此外,上述的存储器1203中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的垂直领域知识图谱构建方法,该方法包括:将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;若所述产品文档存在非结构化数据,则通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;根据所述三元组,构建所述产品文档的知识图谱。又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的垂直领域知识图谱构建方法,该方法包括:将产品文档输入到训练好的知识抽取模型中,所述训练好的知识抽取模型包括表格标注模型和文本知识抽取模型;若所述产品文档存在半结构化数据,则通过所述表格标注模型对所述产品文档中的半结构化数据进行表格标注处理,得到所述产品文档的三元组,所述表格标注模型是通过序列标注后的半结构化样本数据,对神经网络进行训练得到的;若所述产品文档存在非结构化数据,则通过所述文本知识抽取模型对所述产品文档中的非结构化数据进行知识抽取处理,得到所述产品文档的三元组,所述文本知识抽取模型是通过纯文本标注后的非结构化样本数据,对改进的语言模型进行训练得到的;根据所述三元组,构建所述产品文档的知识图谱。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1