面向知识图谱表示学习的分布式框架构建方法
技术领域
本发明涉及计算机科学与应用技术领域,特别涉及一种面向知识图谱表示学习的分布式框架构建方法。
背景技术
知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。它能为学科研究提供切实的、有价值的参考。
表示学习又称学习表示,在深度学习领域内,表示是指通过模型的参数,采用何种形式、何种方式来表示模型的输入观测样本X。表示学习指学习对观测样本X有效的表示。表示学习有很多种形式,比如CNN参数的有监督训练是一种有监督的表示学习形式,对自动编码器和限制玻尔兹曼机参数的无监督预训练是一种无监督的表示学习形式,对DBN参数-先进行无监督预训练,再进行有监督fine-tuning-是一种半监督的共享表示学习形式。表示学习是学习一个特征的技术的集合:将原始数据转换成为能够被机器学习来有效开发的一种形式。它避免了手动提取特征的麻烦,允许计算机学习使用特征的同时,也学习如何提取特征:学习如何学习。机器学习任务,例如分类问题,通常都要求输入在数学上或者在计算上都非常便于处理,在这样的前提下,特征学习就应运而生了。现实世界中的数据例如图片、视频以及传感器的测量值都非常的复杂,冗余并且多变。那么,如何有效的提取出特征并且将其表达出来就显得非常重要。传统的手动提取特征需要大量的人力并且依赖于非常专业的知识。同时,还不便于推广。这就要求特征学习技术的整体设计非常有效,自动化,并且易于推广。表示学习中最关键的问题是:如何评价一个表示比另一个表示更好,表示的选择通常取决于随后的学习任务,即一个好的表示应该使随后的任务的学习变得更容易。以无监督和有监督结合的共享表示学习为例。在深度学习任务中,通常有大量的无标签的训练样本和少量的有标签的训练样本。只在有限的有标签的训练样本上学习,会导致模型存在严重过拟合问题。共享表示具体来说,可以从大量无标签的观测样本中通过无监督的方法,学习出很好的表示,然后基于这些表示,采用少量有标签的观测样本来得到好的模型参数,缓解监督学习中的过拟合问题。
共享表示学习涉及多个任务,多个任务之间共享一定相同的因素,比如相同的分布(distribution)、观测样本X来自相同的领域(domain)等。共享表示学习有多种表示形式。假设共享表示学习中采用训练样本A进行无监督学习,训练样本B进行有监督学习。样本A和样本B可能来自相同的领域,也可能来自不同的领域;可能任务服从相同的分布,也可能服从不同的分布。表示学习得到的低维向量表示是一种分布式表示(distributedrepresentation)。孤立地看向量中的每一维,都没有明确对应的含义;而综合各维形成一个向量,则能够表示对象的语义信息,这种表示方案是受到人脑的工作机制启发而来。现实世界中的实体是离散的,不同对象之间有明显的界限。人脑通过大量神经元上的激活和抑制存储这些对象,形成内隐世界。显而易见,每个单独神经元的激活或抑制并没有明确含义,但是多个神经元的状态则能表示世间万物。分布式表示的向量可以看作模拟人脑的多个神经元,每维对应一个神经元,而向量中的值对应神经元的激活或抑制状态。基于神经网络这种对离散世界的连续表示机制,人脑具备了高度的学习能力与智能水平。表示学习正是对人脑这一工作机制的模仿。一个对象往往由更小的对象组成,这种层次或嵌套的结构反映在人脑中,形成了神经网络的层次结构。有了动态网页之后,很多交互数据都从数据库查询而来,数据也是经常变化的,除了一些新闻资讯类的网站,使用html静态化来提高访问速度是不太现实的方案。因此不得不在代码与数据库之间寻求一种更合适的分布式系统解决方案。减少数据库访问次数,文件和数据库分离,大数据分布式存储,服务器的集群负荷均衡,页面缓存的使用,nosql内存数据库代替关系型数据库,这些方案措施提高了系统高并发性能。
知识图谱表示学习的数据处理量巨大,采用分布式处理是必然选择,但是,如何构建高效的分布式框架以供知识图谱表示学习的数据处理使用是当前必须面对的问题。
发明内容
为了解决上述技术问题,本发明提供了一种面向知识图谱表示学习的分布式框架构建方法,包括以下步骤:
S100以多个虚拟机为节点组建分布式框架的虚拟集群,并对虚拟集群进行初始化;
S200在虚拟集群上构建知识图谱的知识表示学习模型,并在各节点建立知识表示学习模型的映射关系;
S300节点通过网络搜索获取输入素材,将输入素材输入知识表示学习模型进行训练,训练后输出知识素材;
S400将训练后输出的知识素材进行组合与处理,得到知识图谱,并保存到数据库。
可选的,在S100步骤中,所述虚拟集群的初始化过程中,检测并收集承载各节点的物理服务器的状态信息,所述状态信息包括CPU、内存及其占用情况。
可选的,在S200步骤中,所述知识表示学习模型的映射关系通过虚拟镜像方式进行构建。
可选的,在S300步骤中,所述知识表示学习模型的训练过程如下:
首先,通过过滤算法用于从输入素材中筛选知识样本;
其次,对知识样本进行预处理,得到训练样本;
最后,对训练样本采用卷积神经网络进行深度学习和数据训练,训练后输出知识素材。
可选的,在S400步骤中,所述知识词语的组合与处理方式如下:
将知识素材按照行业分类,每项知识素材至少属于一个行业;
对每个行业分类的知识素材按照组合规则进行文本组合形成知识信息表示;
对知识信息表示进行语法分析,逐一查验知识信息表示组合的匹配性;
根据查验结果生成指令,将指令传输给被配置成处理该命令或请求的节点;按照指令把知识信息表示纳入相应行业的知识图谱。
可选的,在S400步骤中,所述数据库包括多个子库,每一个子库对应一个行业,子库用于保存对应行业的知识图谱。
可选的,在S100步骤中,所述虚拟集群的构建方式如下:
在网络上的多个物理服务器上运行虚拟机以提供多个虚拟机节点,选择其中一个虚拟机节点作为一个管理节点,剩余为计算节点;
所述管理节点用于创建管理库,所述管理库记录每个计算节点的主机名及动态IP 地址,根据主机名及动态IP 地址,对虚拟集群进行管理;所述管理节点包含扩展服务器,所述扩展服务器用于将新接入该虚拟集群的物理服务器配置成运行计算节点的虚拟机;所述计算节点使用同一个磁盘镜像。
可选的,所述虚拟集群设有负荷调节服务器,所述负荷调节服务器与各节点连接,所述负荷调节服务器安装java开发工具包,利用java编程调用切换器的libvirt-java开发接口,循环进行以下操作:
第一,获取每个虚拟机的运行状况和当前负荷,根据当前负荷由大到小对节点进行排序;
第二,采用预设算法计算虚拟集群当前的节点平均负荷指数,所述预设算法公式如下:
上式中,
表示虚拟集群当前的节点平均负荷指数,
表示节点数量;
表示节点
的
负荷;
表示节点
的虚拟机能力;
第三,若负荷最大的节点负荷与其虚拟机能力的比值超过平均负荷指数的倍数阈值,将负荷最大的节点中超过平均负荷指数的倍数阈值的部分任务请求分割出来,分配给负荷最小的虚拟机节点。
可选的,在S300步骤中,所述网络搜索的步骤如下:
在接受任务请求后,确定发起网络搜索的节点;
从任务请求提取搜索关键字,采用以下算法策略进行网络搜索,从搜索结果中获取输入素材:
上式中,
表示t时刻在状态R下从节点j出发时根据优化的选路策略u到达
目标节点的最短路径的期望时长;
表示节点j的能够使得
最小的下一节点;
表示在当前状态下通过节点j到达节点k的时长;
表示
时
刻从节点k出发在所有可能状态
下到达目标节点的最小期望时长;
表示从节点
j出发的所有1步邻居节点的集合;
表示的状态反映了t时刻网络中所有边的耗费分布信
息;
表示的状态反映了
时刻网络中所有边的耗费分布信息。
可选的,所述知识图谱设置公众评价模块,能够让访问者对知识图谱中的每项信息项进行评价,在信息项的评价达到设定数量时,根据公众评价对相应信息项进行评分,对于评分低于设定阈值的信息项优先进行修改,修改策略为从公众评价的内容中提取相关知识信息或者提示,重新执行步骤S300和S400,若公众评价中无法提取相关知识信息或者提示信息则进行标记,待达到设定条件再进行第二次评分与修改,若第二次仍然无法修改成功,则删除该信息项。
本发明的面向知识图谱表示学习的分布式框架构建方法,首先组建分布式框架的虚拟集群,联合多个虚拟机节点,经初始化后,在虚拟集群上构建知识图谱的知识表示学习模型,并与各节点建立映射关系,再由节点通过网络搜索获取输入素材,采用知识图谱的知识表示学习模型进行深度学习与训练,对训练输出的知识素材进行组合与处理,最终得到知识图谱,本发明采用的分布式框架虚拟集群可以提供巨大的数据处理能力,通过各节点的协作能够高效地实现知识图谱表示学习。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种面向知识图谱表示学习的分布式框架构建方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种面向知识图谱表示学习的分布式框架构建方法,包括以下步骤:
S100以多个虚拟机为节点组建分布式框架的虚拟集群,并对虚拟集群进行初始化;
S200在虚拟集群上构建知识图谱的知识表示学习模型,并在各节点建立知识表示学习模型的映射关系;
S300节点通过网络搜索获取输入素材,将输入素材输入知识表示学习模型进行训练,训练后输出知识素材;
S400将训练后输出的知识素材进行组合与处理,得到知识图谱,并保存到数据库。
上述技术方案的工作原理和有益效果为:首先通过组建分布式框架的虚拟集群,联合多个虚拟机节点,经初始化后,在虚拟集群上构建知识图谱的知识表示学习模型,并与各节点建立映射关系,再由节点通过网络搜索获取输入素材,采用知识图谱的知识表示学习模型进行深度学习与训练,对训练输出的知识素材进行组合与处理,最终得到知识图谱,本发明采用的分布式框架虚拟集群可以提供巨大的数据处理能力,通过各节点的协作能够高效地实现知识图谱表示学习。
在一个实施例中,在S100步骤中,所述虚拟集群的初始化过程中,检测并收集承载各节点的物理服务器的状态信息,所述状态信息包括CPU、内存及其占用情况;在S200步骤中,所述知识表示学习模型的映射关系通过虚拟镜像方式进行构建。
上述技术方案的工作原理和有益效果为:本方案通过虚拟集群的初始化,检测支持各节点物理服务器状态,以掌握节点的数据处理能力;对于构建的知识表示学习模型,通过虚拟镜像方式与各节点形成映射关系,既能够保证各节点对知识表示学习模型的使用,又可以节省虚拟集群各节点的网络计算资源,从而保障数据处理能力。
在一个实施例中, 在S300步骤中,所述知识表示学习模型的训练过程如下:
首先,通过过滤算法用于从输入素材中筛选知识样本;
其次,对知识样本进行预处理,得到训练样本;
最后,对训练样本采用卷积神经网络进行深度学习和数据训练,训练后输出知识素材。
上述技术方案的工作原理和有益效果为:将输入素材依次通过过滤算法筛选和预处理,去除不必要干扰,提高后续深度学习与训练的效率;采用卷积神经网络进行深度学习和数据训练,可以高效地进行样本处理,提升输出的知识素材的质量。
在一个实施例中,在S400步骤中,所述知识词语的组合与处理方式如下:
将知识素材按照行业分类,每项知识素材至少属于一个行业;
对每个行业分类的知识素材按照组合规则进行文本组合形成知识信息表示;
对知识信息表示进行语法分析,逐一查验知识信息表示组合的匹配性;
根据查验结果生成指令,将指令传输给被配置成处理该命令或请求的节点;按照指令把知识信息表示纳入相应行业的知识图谱。
上述技术方案的工作原理和有益效果为:本方案采用先以行业分类,再对分类内知识素材进行组合的方式,提高了组合的效率与准确性,避免出现跨行业的不合理组合;组合后再进行语法分析,检验组合的语法合规性,避免出现语法不通的知识信息情况,进一步提高了知识图谱的质量。
在一个实施例中,在S400步骤中,所述数据库包括多个子库,每一个子库对应一个行业,子库用于保存对应行业的知识图谱。
上述技术方案的工作原理和有益效果为:采用划分子库方式,对知识图谱分行业进行保存,便于数据库的管理和使用,在访问者操作时,可以访问对应的行业子库,加快访问速度,提高访问的准确度。
在一个实施例中,在S100步骤中,所述虚拟集群的构建方式如下:
在网络上的多个物理服务器上运行虚拟机以提供多个虚拟机节点,选择其中一个虚拟机节点作为一个管理节点,剩余为计算节点;
所述管理节点用于创建管理库,所述管理库记录每个计算节点的主机名及动态IP 地址,根据主机名及动态IP 地址,对虚拟集群进行管理;所述管理节点包含扩展服务器,所述扩展服务器用于将新接入该虚拟集群的物理服务器配置成运行计算节点的虚拟机;所述计算节点使用同一个磁盘镜像。
上述技术方案的工作原理和有益效果为:本方案通过设置管理库,采用了管理库对虚拟集群中的各个虚拟机节点进行管理,在管理库中记录节点的主机名及动态IP 地址,根据主机名及动态IP 地址,方便对各节点的运行进行监测;通过设置扩展服务器,在需要的情况下,可以给虚拟集群增加新的节点,以增强虚拟集群的数据处理能力。
在一个实施例中,所述虚拟集群设有负荷调节服务器,所述负荷调节服务器与各节点连接,所述负荷调节服务器安装java开发工具包,利用java编程调用切换器的libvirt-java开发接口,循环进行以下操作:
第一,获取每个虚拟机的运行状况和当前负荷,根据当前负荷由大到小对节点进行排序;
第二,采用预设算法计算虚拟集群当前的节点平均负荷指数,所述预设算法公式如下:
上式中,
表示虚拟集群当前的节点平均负荷指数,
表示节点数量;
表示节点
的
负荷;
表示节点
的虚拟机能力;
第三,若负荷最大的节点负荷与其虚拟机能力的比值超过平均负荷指数的倍数阈值,将负荷最大的节点中超过平均负荷指数的倍数阈值的部分任务请求分割出来,分配给负荷最小的虚拟机节点。
上述技术方案的工作原理和有益效果为:本方案通过设置负荷调节服务器,在监测节点负荷的基础上,根据负荷进行排序;通过上述公式计算节点平均负荷指数,以平均负荷指数的设定倍数例如1.2~1.6倍作为倍数阈值,使得负荷限值的确定更为合理,把超过倍数阈值的节点超荷部分分割出来,例如若某节点的负荷是节点平均负荷指数2倍,倍数阈值设定为1.5倍,则把超过1.5倍即超出的0.5倍的部分分割出来,传输给负荷最小的虚拟机节点执行,以平衡整个虚拟集群的各节点负荷,避免各节点负荷分布差距大,造成负荷大的节点处理速度受到影响,而负荷小的节点的计算能力未得到充分利用形成浪费。
在一个实施例中, 在S300步骤中,所述网络搜索的步骤如下:
在接受任务请求后,确定发起网络搜索的节点;
从任务请求提取搜索关键字,采用以下算法策略进行网络搜索,从搜索结果中获取输入素材:
上式中,
表示t时刻在状态R下从节点j出发时根据优化的选路策略u到达
目标节点的最短路径的期望时长;
表示节点j的能够使得
最小的下一节点;
表示在当前状态下通过节点j到达节点k的时长;
表示
时
刻从节点k出发在所有可能状态
下到达目标节点的最小期望时长;
表示从节点
j出发的所有1步邻居节点的集合;
表示的状态反映了t时刻网络中所有边的耗费分布信
息;
表示的状态反映了
时刻网络中所有边的耗费分布信息。
上述技术方案的工作原理和有益效果为:本方案通过算法策略进行网络搜索,该算法策略通过迭代计算,逐步找到最短线路通过的各节点,形成搜索的最短路径线路,以此策略搜索需要的时长和效率得到优化,能够快速高效地得到搜索结果。
在一个实施例中,所述知识图谱设置公众评价模块,能够让访问者对知识图谱中的每项信息项进行评价,在信息项的评价达到设定数量时,根据公众评价对相应信息项进行评分,对于评分低于设定阈值的信息项优先进行修改,修改策略为从公众评价的内容中提取相关知识信息或者提示,重新执行步骤S300和S400,若公众评价中无法提取相关知识信息或者提示信息则进行标记,待达到设定条件再进行第二次评分与修改,若第二次仍然无法修改成功,则删除该信息项。
上述技术方案的工作原理和有益效果为:通过在知识图谱上设备公众评价模块,接受访问者对知识图谱内容的评价,当某一信息项的评价达到一定数量后,根据评价对知识图谱的信息项进行评分,以评分判断信息项的优劣或者合理性,对于评分较低的信息项,采用从公众评价内容获取指引重新进行信息项的构建程序;对第一次无法获取指引的作出标记,给予缓冲期,在其公众评价达到新的界点时进行二次评分与修改动作,若仍不成功则去除该信息项,以保持知识图谱的高质量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。