一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于知识图谱的实体分类方法、系统、终端及存储介质与流程

2022-11-28 11:50:25 来源:中国专利 TAG:
1.本技术涉及计算机网络安全
技术领域
:,尤其涉及一种基于知识图谱的实体分类方法、系统、终端及存储介质。
背景技术
::2.随着网络技术与互联网的迅猛发展,不管是网络用户还是网络中的数据流量都是呈现指数增长的趋势,网络用户群体也更为广泛。各式各样的网络设施在可靠性、安全性等方面遇到了极大的挑战。就现阶段而言互联网的安全处于一个比较严峻的态势,这种状态也会长久地存在下去。3.域名系统(domainnamesystem,dns)作为互联网通信的基础设施,通过对于域名的解析从而获得所要访问的资源的ip地址,主要的应用场景为web页面的访问以及电子邮件的收发等。中国国家计算机网络应急技术处理协调中心发布的《2019年上半年我国互联网网络安全态势》中指出2019年上半年cncert自主检测发现约4.6万个针对我国境内网站的仿冒页面。大部分的恶意行为都与域名系统息息相关,对恶意域名检测的需求也日益增长。4.目前,对于区分域名是否是恶意域名,一般是通过对域名日志结构进行判断检测是否为恶意域名,但是传统技术中,通常是一对一的形式对域名进行检测是否为恶意域名,消耗时间长,而且对于相同属性的域名并没有进行处理,使得域名检测不准确。因此,对于如何区分恶意域名就迫在眉睫了。技术实现要素:5.本技术提供了一种基于知识图谱的实体分类方法、系统、终端及存储介质,以解决现有技术中域名分类检测不准确的问题。6.第一方面,本技术提供了一种基于知识图谱的实体分类方法,包括:基于dns的层级关系和查询解析关系建立dns知识图谱,其中,所述dns知识图谱包括至少一个域名对应的预设标签,所述预设标签包括恶意和非恶意;7.将所述dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将所述实体和所述关系进行融合,得到融合后的dns知识图谱;8.对所述融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,所述dns知识图谱向量包括各个域名对应的知识图谱向量;9.将所述域名对应的知识图谱向量作为输入量,将所述域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型;10.根据所述实体分类模型,对域名进行分类检测。11.在一种可能的实现方式中,所述基于dns的层级关系和查询解析关系建立dns知识图谱,包括:12.基于dns的层级关系,建立dns域名分层图,并对所述dns域名分层图添加所述预设标签;13.基于dns的查询解析关系,建立dns查询响应图和被动dns图;14.将所述dns查询响应图和所述被动dns图结合,建立dns流图,并对所述dns流图添加所述预设标签;15.将所述dns域名分层图和所述dns流图通过规则对齐方式结合,建立所述dns知识图谱。16.在一种可能的实现方式中,所述实体包括头实体和尾实体;17.所述将所述dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将所述实体和所述关系进行融合,得到融合后的dns知识图谱,包括:18.利用三元组方式,将所述dns知识图谱的客户端ip地址作为所述头实体,所述dns知识图谱的qname属性作为所述关系,所述dns知识图谱的域名作为所述尾实体;19.通过实体属性对齐的方式,将所述头实体、所述关系和所述尾实体进行融合,得到融合后的dns知识图谱。20.在一种可能的实现方式中,所述dns知识图谱包括至少一类域名对应的三元组,所述对所述融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量包括:21.针对每类域名,任意选取该类域名中的一个三元组的头实体作为起始节点,计算当前三元组的尾实体与第一三元组的头实体之间的实体距离;22.判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离;23.若当前三元组的尾实体与第一三元组的头实体之间的实体距离不大于所述预设实体距离,则将所述第一三元组的头实体与当前三元组的尾实体相链接,并将所述第一三元组作为当前三元组;24.重复当前步骤,直至当前三元组的头实体为所述起始节点,得到该域名的实体和关系;25.对各个域名对应的实体和关系进行向量化,得到各个域名对应的知识图谱向量;26.其中,所述第一三元组为该类域名对应的三元组中未被链接的三元组。27.在一种可能的实现方式中,在所述判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离之后,包括:28.步骤一:若当前三元组的尾实体与第一三元组的头实体之间的实体距离大于所述预设实体距离,则执行步骤二;29.步骤二:采用第二三元组的头实体替换掉所述第一三元组的头实体,采样第二三元组的尾实体替换所述第一三元组的尾实体,并将替换后的第一三元组作为负采样三元组;所述第二三元组为该类域名中已链接的任一三元组;30.步骤三:判断当前三元组的尾实体与所述负采样三元组的头实体之间的实体距离是否不大于预设实体距离;31.步骤四:若当前三元组的尾实体与所述负采样三元组的头实体之间的实体距离不大于所述预设实体距离,则将所述负采样三元组的头实体与当前三元组的尾实体相链接,并将所述负采样三元组作为当前三元组;32.步骤五:若当前三元组的尾实体与所述负采样三元组的头实体之间的实体距离大于预设实体距离,则返回步骤二,并重复执行步骤二至步骤五,直至当前三元组的尾实体与所述负采样三元组的头实体之间的实体距离满足所述预设实体距离。33.在一种可能的实现方式中,所述对所述融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,包括:34.采用transe算法,对所述融合后的dns知识图谱的实体和关系进行向量化,得到所述dns知识图谱向量。35.在一种可能的实现方式中,所述将所述域名对应的知识图谱向量作为输入量,将所述域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型,包括:36.将所述域名对应的知识图谱向量作为输入量,将所述域名对应的预设标签作为输出量,对bilstm神经网络进行训练,将训练后的bilstm神经网络模型作为所述实体分类模型。37.第二方面,本技术提供了一种基于知识图谱的实体分类系统,该系统包括:建立模块、融合模块、向量化模块、训练模块和检测模块;38.所述建立模块,用于基于dns的层级关系和查询解析关系建立dns知识图谱,其中,所述dns知识图谱包括至少一个域名对应的预设标签,所述预设标签包括恶意和非恶意;39.所述融合模块,用于将所述dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将所述实体和所述关系进行融合,得到融合后的dns知识图谱;40.所述向量化模块,用于对所述融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,所述dns知识图谱向量包括各个域名对应的知识图谱向量;41.所述训练模块,用于将所述域名对应的知识图谱向量作为输入量,将所述域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型;42.所述检测模块,用于根据所述实体分类模型,对域名进行分类检测。43.第三方面,本技术提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面任一种可能的实现方式所述方法的步骤。44.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面任一种可能的实现方式所述方法的步骤。45.本技术提供一种基于知识图谱的实体分类方法、系统、终端及存储介质,通过基于dns的层级关系和查询解析关系建立dns知识图谱,其中,dns知识图谱包括至少一个域名对应的预设标签,预设标签包括恶意和非恶意,就可以实现域名与预设标签相对应,然后将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱,接着对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,dns知识图谱向量包括各个域名对应的知识图谱向量,将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型,根据实体分类模型,对域名进行分类检测。这样就可以使得域名分类检测更加准确,并且提高了检测速度。附图说明46.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。47.图1是本技术实施例提供的基于知识图谱的实体分类方法的实现流程图;48.图2是本技术实施例提供的基于知识图谱的实体分类方法的嵌入结构图;49.图3是本技术实施例提供的基于知识图谱的实体分类方法的检测结构图;50.图4是本技术实施例提供的基于知识图谱的实体系统的结构示意图;51.图5是本技术实施例提供的终端的示意图。具体实施方式52.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。53.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。54.图1为本技术实施例提供的基于知识图谱的实体分类方法的实现流程图,详述如下:55.在s101中,基于dns的层级关系和查询解析关系建立dns知识图谱,其中,dns知识图谱包括至少一个域名对应的预设标签,预设标签包括恶意和非恶意。56.其中,dns(domainnamesystem,域名系统)是互联网的一项服务。它作为将域名和ip地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。dns使用udp端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。57.dns的层级关系,即为层次结构关系,可以将它可看作是一个树状结构,域名系统不区分树内节点和叶子节点,而统称为节点,不同节点可以使用相同的标记。所有节点的标记只能由3类字符组成:26个英文字母(a~z)、10个阿拉伯数字(0~9)和英文连词号(-),并且标记的长度不得超过22个字符。一个节点的域名是由从该节点到根的所有节点的标记连接组成的,中间以点分隔。最上层节点的域名称为顶级域名(tld,top-leveldomain),第二层节点的域名称为二级域名,依此类推。58.dns的查询解析关系的实现过程包括:59.首先,根据域名系统域名空间的层次结构将其按子树划分为不同的区域,每个区域可看作是负责层次结构中这一部分节点的可管理的权力实体。例如,整个域的顶层区域由icann负责管理,一些国家域名及其下属的那些节点又构成了各自的区域,像.cn域就由cnnic负责管理。而.cn域下又被划分为一些更小的区域,例如.fudan.edu.cn由复旦大学网络中心负责管理。60.其次,每个区域必须有对应的域名服务器,每个区域中包含的信息存储在域名服务器上。一个区域中可有两个或多个域名服务器,这样即使其中一个域名服务器出了故障,另一个域名服务器仍然可以正常提供信息。一个域名服务器也可以同时管辖多个区域。域名服务器在接到用户发出的请求后查询自身的资源记录集合,返回用户想要得到的最终答案,或者当自身的资源记录集合中查不到所需要的答案时,返回指向另外一个域名服务器的指针,用户将继续向那个域名服务器发出请求。所以说,域名服务器不需要记录所有下属域名和主机的信息,对于其中的子域(如果存在),只需要知道子域的域名服务器即可。61.资源记录是一个域名到值的绑定,它包括以下字段:域名、值、类型、分类和生命期。域名字段和值字段分别用来表示解析的内容和解析返回的结果。类型字段代表了值的种类:类型为a代表值字段是一个ip地址,即用户所要的最终答案;类型为ns代表值字段是另一个域名服务器的域名,该域名服务器能够知道如何解析域名字段所指定的域名;类型为cname代表值字段是由域名所指定的主机的一个别名;类型为mx代表值字段是一个邮件服务器的域名,该邮件服务器接收由域名字段所指定的域的邮件;类型ptr用于域名反解等。分类字段允许指定其他的记录类型。生命期字段用于指出该资源记录的有效期是多少。为减少域名解析时间,域名服务器会缓存一些曾经查询过的、来自其他域名服务器的资源记录。由于这些资源记录会因为更改而失效,因此域名服务器设置了生命期,到期的资源记录会被清除出缓存。62.根域名服务器知道所有顶级域名的域名服务器,对应于每个顶级域名,它都有两条资源记录:一条是ns资源记录,域名字段是该顶级域名,值字段是该顶级域名解析的域名服务器的域名;另一条是a资源记录,用来指明该域名服务器的域名对应的ip地址。综合使用这两条记录,就可以知道对该域下的某个域名解析,应该继续去哪个ip地址的域名服务器寻找。第二层的域名服务器类似地存放各个第三层域名服务器的指针。第三层的域名服务器会出现a、cname、mx等类型的资源记录。每个域名服务器都有根域名服务器的地址记录。63.最后,一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的ip地址。64.知识图谱,在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。65.知识图谱,是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。知识图谱,它能为学科研究提供切实的、有价值的参考。66.知识图谱的特点包括:用户搜索次数越多,范围越广,搜索引擎就能获取越多信息和内容;赋予字串新的意义,而不只是单纯的字串;融合了所有的学科,以便于用户搜索时的连贯性;为用户找出更加准确的信息,作出更全面的总结并提供更有深度相关的信息;把与关键词相关的知识体系系统化地展示给用户;从整个互联网汲取有用的信息让用户能够获得更多相关的公共资源。67.在本技术实施例中,根据dns的层级关系和查询解析关系,建立dns知识图谱,其中,该dns知识图谱包括至少一个域名,以及该域名对应的预设标签。68.本技术实施例中,预设标签包括恶意标签和非恶意标签,其中,非恶意标签即为良好标签,代表拥有该标签的域名为好的域名,即不会产生危害网络的域名;恶意标签,代表拥有该标签的域名为不好的域名,即会对网络产生不良影响的域名。69.在一种可能的实现方式中,基于dns的层级关系和查询解析关系建立dns知识图谱,可以包括:70.基于dns的层级关系,建立dns域名分层图,并对dns域名分层图添加预设标签;71.基于dns的查询解析关系,建立dns查询响应图和被动dns图;72.将dns查询响应图和被动dns图结合,建立dns流图,并对dns流图添加预设标签;73.将dns域名分层图和dns流图通过规则对齐方式结合,建立dns知识图谱。74.其中,dns域名分层图,基于dns的层级关系,通过域名本身的具有的结构与层次的特性建立的,即dns域名分层图为域名的层次化结构表示图,并对dns域名层图中的每一个域名进行添加预设标签。75.dns查询响应图和被动dns图,基于dns的查询解析关系,即依据dns请求的流程建立的。然后根据建立的dns查询响应图和被动dns图,将两者进行结合,得到dns流图,并对dns流图中每一个域名进行添加预设标签。76.其中,dns域名分层图以及dns流图当中,能够找寻到的主要共同点为域名信息。dns流图当中查询部分的qname属性和域名信息息息相关。77.通过规则对齐方式,将dns域名分层图和dns流图相结合,得到dns知识图谱。78.在s102中,将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱。79.在本技术实施例中,采取实体属性对齐方式对dns知识图谱进行融合,得到融合后的dns知识图谱。80.其中,实体属性对齐方式是通过实体与属性值相同的方式,将不同的子图连接起来的一种方法。81.在一种可能的实现方式中,实体可以包括头实体和尾实体;82.将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱,具体可以包括:83.利用三元组方式,将dns知识图谱的客户端ip地址作为头实体,dns知识图谱的qname属性作为关系,dns知识图谱的域名作为尾实体;84.通过实体属性对齐的方式,将头实体、关系和尾实体进行融合,得到融合后的dns知识图谱。85.其中,三元组是指形如((x,y),z)的集合,常简记为(x,y,z)。主要是用来存储稀疏矩阵的一种压缩方式,也叫三元组表。假设以顺序存储结构来表示三元组表(tripletable),则得到稀疏矩阵的一种压缩存储方式,即三元组顺序表,简称三元组表。由于其自身的稀疏特性,通过压缩可以大大节省稀疏矩阵的内存代价。具体操作是:将非零元素所在的行、列以及它的值构成一个三元组(i,j,v),然后再按某种规律存储这些三元组,这种方法可以节约存储空间。86.本技术实施例中,根据上述三元组的介绍,可以知道,x相当于头实体,y相当于关系,z相当于尾实体。87.利用三元组方式,将dns知识图谱中的dns流图中的客户端ip地址作为头实体,将dns知识图谱中的dns流图中的qname属性作为关系,将dns知识图谱中的dns域名分层图的对应域名作为尾实体,即根据三元组方式的头实体 关系=尾实体可得,dns流图中的客户端ip地址 qname属性=dns域名分层图的对应域名,这样保证了整个dns知识图谱的一致性。通过实体属性对齐的方式,将dns流图中的客户端ip地址、qname属性和dns域名分层图的对应域名进行融合,得到融合后的dns知识图谱。88.在一种可能的实现方式中,dns知识图谱包括至少一类域名对应的三元组,对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量包括:89.针对每类域名,任意选取该类域名中的一个三元组的头实体作为起始节点,计算当前三元组的尾实体与第一三元组的头实体之间的实体距离;90.判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离;91.若当前三元组的尾实体与第一三元组的头实体之间的实体距离不大于预设实体距离,则将第一三元组的头实体与当前三元组的尾实体相链接,并将第一三元组作为当前三元组;92.重复当前步骤,直至当前三元组的头实体为起始节点,得到该域名的实体和关系;93.对各个域名对应的实体和关系进行向量化,得到各个域名对应的知识图谱向量;94.其中,第一三元组为该类域名对应的三元组中未被链接的三元组。95.在本技术实施例中,dns知识图谱之间的实体采用了距离的概念,利用有向图的特性,得到域名的实体和关系的过程包括:针对每类域名,任意选取该类域名中的一个三元组的头实体作为起始节点,设定预设实体距离,计算当前三元组的尾实体与第一三元组的头实体之间的实体距离,通过判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离,若不大于,则将第一三元组的头实体与当前三元组的尾实体相链接,并将第一三元组作为当前三元组,重复上述操作,直至当前三元组的头实体为起始节点,得到该域名的实体和关系。96.然后再对各个域名对应的实体和关系进行向量化操作,得到各个域名对应的知识图谱向量。97.举例说明,针对某一类域名,该类域名中含有a、b、c和d个域名,这里设置预设实体距离为1,域名a的头实体为起始节点,则查找域名a下一个域名,当确定是域名b,则计算域名a的尾实体与域名b的头实体之间的实体距离,当该实体距离不大于1,则将域名b的头实体与域名a的尾实体相链接,并将域名b作为当前域名,在寻找下一个域名,直至当域名d为最后一个域名,且计算域名d的尾实体与域名a的头实体之间的实体距离,若该实体距离不大于1,则认为该类域名计算完毕,得到了该域名的实体和关系。98.在一种可能的实现方式中,在判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离之后,包括:99.步骤一:若当前三元组的尾实体与第一三元组的头实体之间的实体距离大于预设实体距离,则执行步骤二;100.步骤二:采用第二三元组的头实体替换掉第一三元组的头实体,采样第二三元组的尾实体替换第一三元组的尾实体,并将替换后的第一三元组作为负采样三元组;第二三元组为该类域名中已链接的任一三元组;101.步骤三:判断当前三元组的尾实体与负采样三元组的头实体之间的实体距离是否不大于预设实体距离;102.步骤四:若当前三元组的尾实体与负采样三元组的头实体之间的实体距离不大于预设实体距离,则将负采样三元组的头实体与当前三元组的尾实体相链接,并将负采样三元组作为当前三元组;103.步骤五:若当前三元组的尾实体与负采样三元组的头实体之间的实体距离大于预设实体距离,则返回步骤二,并重复执行步骤二至步骤五,直至当前三元组的尾实体与负采样三元组的头实体之间的实体距离满足预设实体距离。104.本技术实施例中,若在完成了实体距离计算之后,有部分实体之间无法进行链接,即当前三元组的尾实体与第一三元组的头实体之间的实体距离大于预设实体距离,则认为这两者之间的距离为无穷大。105.本技术实施例中,采用在三元组训练的过程中,随机选取第二三元组的头实体和尾实体分别替换掉第一三元组的头实体和尾实体,将替换后的第一三元组作为负采样三元组,其中,该第二三元组为该类域名中已链接的任一三元组,再次判断当前三元组的尾实体与该负采样三元组的头实体之间的预设距离是否不大于预设实体距离,若不大于,则将该负采样三元组的头实体与当前三元组的尾实体进行链接,并将该负采样三元组作为当前三元组;若大于,则重新进行选取已链接的三元组组对第一三元组进行替换,直至当前三元组的尾实体与替换后的负采样三元组的头实体之间的实体距离不大于预设距离。106.举例说明,针对某一类域名,该类域名中含有a、b、c和d个域名,这里设置预设实体距离为1,域名a的头实体为起始节点,则查找域名a下一个域名,当确定是域名b,则计算域名a的尾实体与域名b的头实体之间的实体距离为15,当该实体距离大于1,则认为域名a的尾实体与域名b的头实体之间的距离为无穷大,则任选一个域名c,该域名c是已经链接完成的域名,将域名c的头实体替换到域名b的头实体,将域名c的尾实体替换到域名b的尾实体,将替换后的域名b作为负采样三元组,计算域名a的尾实体与负采样三元组的头实体之间的实体距离为0.7,该实体距离小于1,则将替换后的负采样三元组的头实体与域名a的尾实体进行链接,并将负采样三元组作为当前三元组;若选取的域名c对域名b进行替换后得到的负采样三元组依然不能满足要求,则在重新选取,直至满足要求为止。107.在本技术实施例中,需要对融合后的dns知识图谱进行数据处理,主要是对于dns知识图谱中一些重复的、冗余的数据进行过滤,对于相同的实体进行合并,还可以为其添加一些频率、持续时间等特征,使得融合后的dns知识图谱中的数据更加清洁。例如主机在不同时段向www.google.com的域名发起请求,且请求参数相同,则认为这两次的请求相同,对于这样的请求进行合并操作。但是,该操作不会影响融合后的dns知识图谱的数据内容。108.在s103中,对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,dns知识图谱向量包括各个域名对应的知识图谱向量。109.在一种可能的实现方式中,对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,包括:110.采用transe算法,对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量。111.其中,transe算法是一种用于表示图结构中节点及关系的嵌入表示的算法,是基于实体和关系的分布式向量表示,算法受word2vec启发,利用了词向量的平移不变现象。112.本技术实施例中,采用transe算法,对融合后的dns知识图谱的实体和关系进行向量化操作,得到dns知识图谱向量,为后续训练神经网络模型作基础。113.具体的,参照图2,由于transe算法是用于嵌入表示的算法,则该过程包括两部分组成,一部分为三元组嵌入,另一部分为属性嵌入,属性嵌入是根据三元组方式实现的,对于三元组嵌入部分,采用transe算法进行训练,训练的目标是尽可能使得头实体 关系=尾实体。由于是随机替换头实体或者尾实体,然而在本技术实施例中的dns知识图谱当中,可能会造成随机替换的实体与正在训练的实体距离非常近的问题,在训练过程中我们发现,替换的实体可能和当前正在训练的实体之间只相隔一个实体,主要原因在于基于规则对齐方式进行图融合的结果会减少大量实体之间的距离,或者可能会使得原本并不相同的实体间连接起来。114.在s104中,将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型。115.在一种可能的实现方式中,将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型,包括:116.将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,对bilstm神经网络进行训练,将训练后的bilstm神经网络模型作为实体分类模型。117.在本技术实施例中,采用对bilstm神经网络训练,得到的训练模型作为实体分类模型。118.其中,bilstm(bi-directionallongshort-termmemory,双向长短期记忆网络),由前向lstm与后向lstm组合而成,被用于处理上下文信息。在lstm当中存在着编码无法从后向前地利用信息,这是由于lstm结构本身的串行结构,造成的结果是在进行一些细粒度的分类任务时候,对于交互的学习能力更弱。bilstm由一个前向的lstm利用过去的信息,一个后向的lstm利用未来的信息。bilstm中每个节点为lstm神经元,在训练过程中,将每个训练序列分为前向和后向两个独立的递归神经网络,并最终连接同个输出层,检测模块最终会采用bilstm进行特征的提取。在当前时刻下,可以同时利用双向的信息,所以会比单向lstm的预测更加准确。119.其中,bilstm神经网络的输入量为向量形式,则本技术实施例中,将域名对应的知识图谱向量作为bilstm神经网络的输入量。120.在本技术实施例中,将域名对应的知识图谱向量作为bilstm神经网络的输入量,将域名对应的预设标签作为bilstm神经网络的输出量,对bilstm神经网络进行训练,将训练后的bilstm神经网络模型作为实体分类模型。121.具体的,将域名对应的知识图谱向量作为bilstm神经网络的输入量,将域名对应的恶意或者非恶意标签作为bilstm神经网络的输出量,对bilstm神经网络进行训练,得到实体分类模型。122.具体的,参照图3,该实体分类模型依次经过bilstm层、attention层、dropout层、flatten层、dense层、softmax层,最终输出检测结果。对各层的解释如下:123.bilstm层的主要作用在于能够学习序列中向量的上下文关系,同时包括前向的向量和后向的向量,从而更好地提取特征进行分类。124.attention层最早用于图像处理,目标在于对于图像进行处理的时候,将计算机的关注点放在图像当中需要被注意的地方,也就是说这个图像内的每一个场景的注意力分布是不同的,可以认为某些像素点的权重会大于其他像素点的权值。然而在文本序列的训练当中,会存在一定的问题。首先当输入的序列长度极长的时候,模型难以进行更好地向量表示。其次在序列输入时,随着序列的推移,所有的上下文都会被压缩到某个固定长度,导致模型能力受到限制。attention的实现机制是在保留bilstm层的编码结果,之后对于这些输入进行选择性的学习并且将输出序列与其关联。125.dropout层相当于在整体的网络当中随机生成小模型,模拟集成学习。直接作用在于减少中间特征的数量,减少冗余度,从而达到增加每层的特征之间的正交性。在模型训练时则表现为让某些节点随机输出置零,同时也不会对权重进行更新,该层的参数主要为一个概率,表示以此概率对节点进行停止,添加dropout层的作用在于可以防止模型过拟合。126.flatten层的作用在于将多维向量转化为一个维度的向量,同时不影响batch的大小。127.dense层是最为常用的全连接层,全连接层的目的在于将上层的输出结果进行一个非线性的变换。128.softmax层最终将多个标量映射为一个概率分布,使得其输出返回在(0,1)之间。通过softmax函数的输出,也就完成了整个模块的检测。129.在s105中,根据实体分类模型,对域名进行分类检测。130.根据s104中训练得到的实体分类模型,将待检测的域名对应的知识图谱向量输入到实体分类模型中,进行域名分类检测,最后输出的是恶意或者非恶意,即该待检测的域名是恶意域名或者是非恶意域名。131.本技术提供一种基于知识图谱的实体分类方法,通过基于dns的层级关系和查询解析关系建立dns知识图谱,其中,dns知识图谱包括至少一个域名对应的预设标签,预设标签包括恶意和非恶意,就可以实现域名与预设标签相对应,然后将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱,接着对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,dns知识图谱向量包括各个域名对应的知识图谱向量,将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型,根据实体分类模型,对域名进行分类检测。这样就可以使得域名分类检测更加准确,并且提高了检测速度。132.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。133.以下为本技术的系统实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。134.图4示出了本技术实施例提供的基于知识图谱的实体分类系统的结构示意图,为了便于说明,仅示出了与本技术实施例相关的部分,详述如下:135.如图4所示,基于知识图谱的实体分类系统4包括:建立模块41、融合模块42、向量化模块43、训练模块44和检测模块45;136.建立模块41,用于基于dns的层级关系和查询解析关系建立dns知识图谱,其中,dns知识图谱包括至少一个域名对应的预设标签,预设标签包括恶意和非恶意;137.融合模块42,用于将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱;138.向量化模块43,用于对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,dns知识图谱向量包括各个域名对应的知识图谱向量;139.训练模块44,用于将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型;140.检测模块45,用于根据实体分类模型,对域名进行分类检测。141.本技术提供一种基于知识图谱的实体分类系统,通过基于dns的层级关系和查询解析关系建立dns知识图谱,其中,dns知识图谱包括至少一个域名对应的预设标签,预设标签包括恶意和非恶意,就可以实现域名与预设标签相对应,然后将dns知识图谱拆分为实体和关系,并根据实体属性对齐方式将实体和关系进行融合,得到融合后的dns知识图谱,接着对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量,其中,dns知识图谱向量包括各个域名对应的知识图谱向量,将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,训练神经网络模型,得到实体分类模型,根据实体分类模型,对域名进行分类检测。这样就可以使得域名分类检测更加准确,并且提高了检测速度。142.在一种可能的实现方式中,建立模块41,具体可以用于:143.基于dns的层级关系,建立dns域名分层图,并对dns域名分层图添加预设标签;144.基于dns的查询解析关系,建立dns查询响应图和被动dns图;145.将dns查询响应图和被动dns图结合,建立dns流图,并对dns流图添加预设标签;146.将dns域名分层图和dns流图通过规则对齐方式结合,建立dns知识图谱。147.在一种可能的实现方式中,实体可以包括头实体和尾实体。148.在一种可能的实现方式中,融合模块42,具体可以用于:149.利用三元组方式,将dns知识图谱的客户端ip地址作为头实体,dns知识图谱的qname属性作为关系,dns知识图谱的域名作为尾实体;150.通过实体属性对齐的方式,将头实体、关系和尾实体进行融合,得到融合后的dns知识图谱。151.在一种可能的实现方式中,dns知识图谱包括至少一类域名对应的三元组,向量化模块43,具体可以用于:152.针对每类域名,任意选取该类域名中的一个三元组的头实体作为起始节点,计算当前三元组的尾实体与第一三元组的头实体之间的实体距离;153.判断当前三元组的尾实体与第一三元组的头实体之间的实体距离是否不大于预设实体距离;154.若当前三元组的尾实体与第一三元组的头实体之间的实体距离不大于预设实体距离,则将第一三元组的头实体与当前三元组的尾实体相链接,并将第一三元组作为当前三元组;155.重复当前步骤,直至当前三元组的头实体为起始节点,得到该域名的实体和关系;156.对各个域名对应的实体和关系进行向量化,得到各个域名对应的知识图谱向量;157.其中,第一三元组为该类域名对应的三元组中未被链接的三元组。158.在一种可能的实现方式中,向量化模块43,还可以用于:159.步骤一:若当前三元组的尾实体与第一三元组的头实体之间的实体距离大于预设实体距离,则执行步骤二;160.步骤二:采用第二三元组的头实体替换掉第一三元组的头实体,采样第二三元组的尾实体替换第一三元组的尾实体,并将替换后的第一三元组作为负采样三元组;第二三元组为该类域名中已链接的任一三元组;161.步骤三:判断当前三元组的尾实体与负采样三元组的头实体之间的实体距离是否不大于预设实体距离;162.步骤四:若当前三元组的尾实体与负采样三元组的头实体之间的实体距离不大于预设实体距离,则将负采样三元组的头实体与当前三元组的尾实体相链接,并将负采样三元组作为当前三元组;163.步骤五:若当前三元组的尾实体与负采样三元组的头实体之间的实体距离大于预设实体距离,则返回步骤二,并重复执行步骤二至步骤五,直至当前三元组的尾实体与负采样三元组的头实体之间的实体距离满足预设实体距离。164.在一种可能的实现方式中,向量化模块43,还可以用于:165.采用transe算法,对融合后的dns知识图谱的实体和关系进行向量化,得到dns知识图谱向量。166.在一种可能的实现方式中,训练模块44,具体可以用于:167.将域名对应的知识图谱向量作为输入量,将域名对应的预设标签作为输出量,对bilstm神经网络进行训练,将训练后的bilstm神经网络模型作为实体分类模型。168.图5是本技术实施例提供的终端的示意图。如图5所示,该实施例的终端5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个基于知识图谱的实体分类方法实施例中的步骤,例如图1所示的s101至s105。或者,所述处理器50执行所述计算机程序52时实现上述各系统实施例中各模块/单元的功能,例如图4所示模块41至45的功能。169.示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端5中的执行过程。例如,所述计算机程序52可以被分割成图4所示的模块41至45。170.所述终端5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端5的示例,并不构成对终端5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。171.所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。172.所述存储器51可以是所述终端5的内部存储单元,例如终端5的硬盘或内存。所述存储器51也可以是所述终端5的外部存储设备,例如所述终端5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述终端5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。173.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。174.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。175.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。176.在本技术所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。177.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。178.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。179.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个基于知识图谱的实体分类方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。180.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献