CN112579707B - 一种日志数据的知识图谱构建方法 - Google Patents
一种日志数据的知识图谱构建方法 Download PDFInfo
- Publication number
- CN112579707B CN112579707B CN202011444358.5A CN202011444358A CN112579707B CN 112579707 B CN112579707 B CN 112579707B CN 202011444358 A CN202011444358 A CN 202011444358A CN 112579707 B CN112579707 B CN 112579707B
- Authority
- CN
- China
- Prior art keywords
- log
- data
- template
- entity
- relationship
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010276 construction Methods 0.000 title abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000000605 extraction Methods 0.000 claims abstract description 43
- 230000000007 visual effect Effects 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 27
- 238000012800 visualization Methods 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 10
- 238000013138 pruning Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 21
- 230000006870 function Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 17
- 230000006399 behavior Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000004382 visual function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种日志数据的知识图谱构建方法,包括:S1、获取指定时间窗口内的日志数据;S2、对所述日志数据进行预处理,并转换为结构化的日志数据;以及依据模板树建立策略建立模板树;S3、基于建立的模板树,获取日志模板;S4、基于结构化的日志数据和日志模板,进行实体抽取和关系抽取,获得用于输出的多个三元组数据,所述三元组数据为<实体-关系-实体>形式的数据;S5、对多个三元组数据按照时间序列进行融合,获得日志数据的知识图谱。本发明的方法能够将非结构化文本数据转化为结构化数据,构建运维日志知识图谱,围绕着知识图谱中的实体信息,从不同纬度为业务的实体信息提供不同功能的可视化服务。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种日志数据的知识图谱构建方法。
背景技术
随着互联网的普及,数据量的飞速增长使得信息越来越多,人们对信息查询的质量和精准度要求越来越高。日志系统对运维工作而言是一个非常重要的组成部分,它记录系统与操作者产生的所有行为,并且同时按照开发人员的某一种规范对其操作进行记录。
然而,现有技术中对于异常的运维数据,智能通过人工去查看,并不能自动查看,同时无法查看其关联的可能发生异常的运维数据,为此,如何建立一种知识图谱去实现表示运维数据的实体及运维数据的关系成为当前需要解决的技术问题。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种日志数据的知识图谱构建方法,能够更好地通过挖掘有用信息从而形成知识图谱,并进一步可实现结果可视化。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
根据本发明的一个方面,提供了一种日志数据的知识图谱构建方法,包括:
S1、获取指定时间窗口内的日志数据;
S2、对所述日志数据进行预处理,并依据模板树建立策略建立模板树;
S3、基于建立的模板树,获取日志模板;
S4、基于获取的日志数据和日志模板,进行实体抽取和关系抽取,获得用于输出的多个三元组数据,所述三元组数据为<实体-关系-实体>形式的数据;
S5、对多个三元组数据按照时间序列进行融合,获得日志数据的知识图谱。
可选地,所述S5包括:
将三元组数据存放在图数据库中,将与三元组数据对应的时间序列的信息存储在时序数据库中,用以在可视化显示时按照时间序列调用三元组数据,以获得日志数据的知识图谱;
所述图数据库为Neo4j型标准化数据库,所述时序数据库为OpenTSDB型标准化数据库;
或者,
将三元组数据中不同的实体类型及属性使用Cypher语句导入图数据库,使用OpenTSDB服务将实体关系及属性存储在时序数据库中;
所述图数据库为Neo4j型标准化数据库,所述时序数据库为OpenTSDB型标准化数据库。
可选地,所述方法还包括:
S6、接收平台输入的请求信息,依据请求信息中的可视化服务信息,向用户展示与可视化服务信息对应的实体关系;
或者,使用D3.js中的力导向图完成实体关系的可视化,或者,使用D3.js中的EventDrops进行实体时序的可视化。
可选地,所述S2包括:
S2-1、对每一条日志数据,将日志数据中正文内容对应的非结构化的数据转化为结构化的正文数据;
S2-2、针对所有结构化的正文数据,采用分隔符进行分词处理;
S2-3、针对分词处理的所有正文数据,采用模板树建立策略,建立模板树;
其中,模板树建立策略包括:针对第一条正文数据,查看分词后每一词汇的顺序,按照模板树的根部到枝叶的顺序,进行划分父节点和子节点,针对第n条正文数据,查看分词后每一词汇与模板树中相应位置的词汇是否相同,若不同,则成为上一相同词汇的子节点。
可选地,所述S3包括:
S3-1、针对所述模板树,判断每一个父节点和子节点的数据格式,采用指定数据格式所属的标识符替换节点的数据,并获取新的模板树;
S3-2、针对新的模板树,采用剪枝策略对子节点进行剪枝处理,获取精简模板树;
S3-3、将精简模板树中每一根节点到叶子节点作为一个日志模板,并遍历所述精简模板树,获取所有的日志模板,且每一日志模板具有唯一的标识。
可选地,所述S4包括:
S4-1、基于获取的日志数据和日志模板,使用机器学习方法在存储日志数据的数据库中提取领域词,并基于提取的领域词构建本体模型;
S4-2、基于S1中获取的日志数据,使用TF-IDF算法抽取实体概念;
基于日志模板、修正的本体模型和抽取的实体概念,确定本体模型中所有实体概念间的关系,并获得<实体-关系-实体>的三元组数据。
可选地,所述S4-1具体包括:
基于获取的日志数据,将日志数据进行清洗,获得日志数据词干信息,进而使用TF-IDF算法在存储日志数据的数据库中提取领域词/概念词,并对提取的领域词/概念词进行筛选优化,针对优化之后的领域词/概念词及预先确定的各领域词/概念词之间的关系,构建本体模型;
基于获取的日志模板,依据领域内专业知识经验完善日志模板中的领域词/概念词及其关系,获得修正的本体模型。
可选地,所述S4-2中的使用TF-IDF算法抽取实体概念,包括:
在日志数据包括非结构化的日志内容和半结构化的内容时,针对半结构化部分,将半结构化部分所属列的列名作为筛选的实体概念;
针对非结构化部分,使用TF-IDF算法获取概念关键词,具体地,统计去停用词后的词频信息TF,并求出权重修正的系数IDF,将两个结果相乘获得每个词汇的TF-IDF值,设定筛选阈值作为选取概念关键词的限制,根据所得TF-IDF值的降序排列词表,若低于筛选阈值则将剩余词汇从词表中删除,此时词表中的单词与半结构化部分获得的概念相结合,共同作为选择的实体概念。
可选地,所述S4-2中实体概念间的关系为:
针对单一类型实体概念集E1={a1,a2,...,an},E2={b1,b2,...,bm},ai和bj分别表示实体概念集E1和E2中的任意元素,S(t1)表示由模板t1产生的句子集合,那么ai,bj∈S(t1);
日志数据l1的模板T(l1)=t1,则R(l1)=R(t1)=R(ai,bj),其中R表示某条消息中或某个概念实体对之间的关系;
或者,
所述S4-2中的确定本体模型中所有实体概念间的关系,包括:
采用DBSCAN算法对日志模板聚类,将日志模板中的变量标识全部替换为统一的标识符;
在日志模板集为D,任意选择D中的一个模板p,使用TF-IDF矩阵对日志模板p进行向量化表示,以获取聚类簇半径Eps和聚类簇内最少数量MinPts的聚类结果;
基于聚类结果将日志模板进一步压缩整合,压缩整合后的日志模板集合作为关系的表示,拼接集合内的公共子串作为关系名称,建立模板序号和关系名的映射<logkey,relation>,获得所有实体概念间的关系;
其中,同一种模板产生的日志都是对于同一类关系的表述,不同模板表示着不同的关系类型。
可选地,所述S4-2中的确定本体模型中所有实体概念间的关系,包括:
S4-2-1:从待抽取关系的日志模板中,获得抽取的实体对e1,e2;
S4-2-2:使用TF-IDF算法计算出特征词的权重w,记为v={(word1,w1)(word2,w2)……},获得的实体对将日志数据中的非结构化部分切分为三部分:e1之前的文本特征向量,e1与e2之间的文本特征向量,e2之后的文本特征向量,记为Vi=(v1,v2,v3);
S4-2-3:使用余弦相似度计算两组向量之间的相似度,作为密度聚集类的输入,计算公式为:
其中,n指的是日志的word数,k是从1到n依次;
Vj指的是不同于Vi的另一条日志特征向量;
Wik指的是第i条日志中第k个单词的权重;
Vin指的是Vi切分后的每个特征向量(v1,v2,v3);
公式(1)为计算两个向量之间的距离,公式(2)对3组余弦相似度的距离求和,计算两个向量之间的相似度;
S4-2-4:将相似度作为聚类的输入,对所有预处理后的日志进行密度聚类,每个聚类簇中按特征词的TF-IDF值降序排列,选择关系词。
可选地,所述方法还包括:
在日志数据更新时,针对更新部分的日志数据,重复上述S2和S3,更新模板树,并针对更新的模板树,重复S4至S6的过程。
(三)有益效果
本发明的有益效果是:本发明的方法将非结构化的日志数据转换为结构化的日志数据,并给予模板树的方式建立模板树,进而获取日志模板,由此,基于日志模板和结构化的日志数据,获取实体抽取和关系抽取,以获得日志数据的知识图谱,进而较好的处理日志数据,并基于构建的知识图谱可以自动化识别异常并提供不同应用场景的可视化服务效果,实现各个维度的可视化功能。
本发明主要应用了知识抽取方面的相关技术获得实体抽取和关系抽取,知识抽取是指可以通过自动化的抽取的授权,从半结构化或者非结构化的数据中,抽取所需要的数据对象,这些数据对象主要包括实体、关系以及属性。
附图说明
图1A为本发明一实施例提供的一种日志数据的知识图谱构建方法的流程示意图;
图1B为本发明一实施例提供的日志数据的知识图谱构建方法的框架示意图;
图2A为本发明一实施例提供的SIF类型的日志样例的示意图;
图2B为本发明一实施例提供的FT-TREE构建过程的示意图;
图3A为本发明一实施例提供的日志结构样例的示意图;
图3B为本发明一实施例提供的日志模板聚类流程的示意图;
图4为本发明一实施例提供的运维知识图谱实体关系可视化的示意图;
图5为本发明一实施例提供的时序数据库OpenTSDB的存储样例的示意图;
图6为本发明一实施例提供的运维知识图谱构建流程的示意图;
图7为本发明一实施例提供的数据流转的模块化的示意图;
图8为调参过程中使用的sorted k-dist算法的过程示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
当前,知识图谱是作为知识库为用户提供知识服务的图数据信息,可以清晰地表现学科知识之间的关联性,具有很高的应用价值。将知识图谱应用于运维日志领域,根据具体业务完成本体数据模型的建立,在抽取有效的知识信息后构建对应的知识图谱,从而达到精确快速定位异常实体,高效响应完成系统排错,保护系统维稳运行的目的。
关于构建大规模知识图谱需要多种技术手段支持,其中的关键技术主要包括四个方面,分别是知识抽取、知识表示、知识融合以及知识推理。
当前知识图谱构建面临着一些挑战,主要表现在:1)知识的自动获取,2)多源知识的自动融合,3)面向知识的表示学习,4)知识推理与应用。为此,如何基于日志数据的知识图谱构建,与实际应用场景结合,围绕知识图谱中的实体信息,实现可视化成为当前需要解决的技术问题。
实施例一
如图1A所示,图1A示出了本发明一实施例提供的一种日志数据的知识图谱构建方法的流程示意图,本实施例的方法的执行主体可为任一电子设备或计算机,本实施例的方法可包括:
S1、获取指定时间窗口内的日志数据;
S2、对所述日志数据进行预处理,并依据模板树建立策略建立模板树。
举例来说,该步骤可包括下述子步骤:
S2-1、对每一条日志数据,可将日志数据中正文内容对应的非结构化的数据转化为结构化的正文数据;
S2-2、针对所有结构化的正文数据,采用分隔符进行分词处理;
S2-3、针对分词处理的正文数据,采用模板树建立策略,建立模板树;
其中,模板树建立策略包括:针对第一条正文数据,查看分词后每一词汇的顺序,按照模板树的根部到枝叶的顺序,进行划分父节点和子节点,针对第n条正文数据,查看分词后每一词汇与模板树中相应位置的词汇是否相同,若不同,则成为上一相同词汇的子节点,由此,获得最终的模板树。
S3、基于建立的模板树,获取日志模板。
举例来说,该步骤可包括下述的子步骤:
S3-1、针对所述模板树,判断每一个父节点和子节点的数据格式,采用指定数据格式所属的标识符替换节点的数据,并获取新的模板树;
S3-2、针对新的模板树,采用剪枝策略对子节点进行剪枝处理,获取精简模板树;
S3-3、将精简模板树中每一根节点到叶子节点作为一个日志模板,并遍历所述精简模板树,获取所有的日志模板,且每一日志模板具有唯一的标识。
S4、基于获取的日志数据和日志模板,进行实体抽取和关系抽取,获得用于输出的多个三元组数据,所述三元组数据为<实体-关系-实体>形式的数据;
S5、对多个三元组数据按照时间序列进行融合,获得日志数据的知识图谱。
例如,在图1B中,可将多个三元组数据按照时间序列进行融合并存储在图数据库中,获取所述知识图谱;
所述图数据库为Neo4型标准化数据库和OpenTSDB型标准化数据库组成的图数据库。
在具体实现过程中,上述图1A所示的方法还可包括下述的图中未示出的步骤S6:
S6、接收平台输入的请求信息,依据请求信息中的可视化服务信息,向用户展示与可视化服务信息对应的实体关系。
如图1B所示,在图1B中可视化服务的几种功能,例如异常定位可视化、异常检测可视化、图谱可视化或者用户行为挖掘可视化处理等,本实施例不对其限定,根据实际需求选择即可。
本实施例的方法将非结构化的日志数据转换为结构化的日志数据,并给予模板树的方式建立模板树,进而获取日志模板,由此,基于日志模板和结构化的日志数据,获取实体抽取和关系抽取,以获得日志数据的知识图谱,进而较好的处理日志数据,并基于构建的知识图谱可以自动化识别异常并提供不同应用场景的可视化服务效果,实现各个维度的可视化功能。
实施例二
结合图1A至图6所示的内容对上述知识图谱的构建过程进行详细说明。在本实施例中执行主体可为任一电子设备,该电子设备可通过数据接口获取业务内部的数据平台获取指定时间窗口内的日志数据,对该日志数据中正文内容进行清洗、去掉停用词,获取结构化的正文数据/正文日志数据,并建立用于提取日志模板的模板树,进而获得日志模板,基于日志模板进行实体和关系信息的抽取,获得用于进行混合存储的三元组数据与时间序列数据,得到最后的知识图谱。即利用图数据库、分步式数据库实现三元组数据与时间序列数据的混合存储模式,其中间结果保存在关系型数据库中。
特别说明的是,获取的日志数据包括正文部分和信息部分,其由多列数据组成,日志数据中的message信息无法进行结构化处理。在对日志数据进行结构化处理的过程中,其针对能够进行结构化的日志正文部分进行处理,进而获取结构化的正文数据。
具体地,本发明实施例的日志数据的知识图谱构建方法包括下述步骤:
101、获取一定规模的日志数据。
本实施例中的日志数据可以是存储的,或者借助于数据接口从业务平台导入的。
102、对所有的日志数据中能够进行结构化处理的数据进行预处理(如清洗、分词处理),并转换为结构化的正文数据。
本实施例中,采用分隔符对每一条的正文数据进行分词处理。分隔符为“\t”。
在其他实施例中,可以先将非结构化的正文数据转换为结构化的数据之后,再进行清洗、分词的预处理。也可以先预处理,再转为结构化处理。
103、对结构化的正文数据中词汇为节点,采用模板树建立策略,建立模板树。
具体地,以词汇为节点,逐条数据按词汇顺序加入树结构中,相同词汇按现有树结构从根部向下遍历,若与某个节点词汇不同,则成为该节点父节点的子节点。
104、针对上述模板树,判断每一个父节点和子节点的数据格式,采用指定数据格式所属的标识符替换节点所属的数据,并获取新的模板树。
也就是说,遍历整个模板树,使用正则关系匹配判断模板树中节点的数据格式(数据格式可包括数字串、字符串、IP地址等),并采用数据格式对应的标识符(<num>,<word>,<ip>)替换节点所属的数据。
105、针对新的模板树,采用剪枝策略对子节点进行剪枝处理,获取精简模板树。
举例来说,若某节点的子节点超过阈值k(k为大于1的自然数,例如,k为10或15等),且在该节点的子节点中,某一类数据格式相同的节点进行合并,即实现剪枝。
106、将精简模板树中每一根节点到叶子节点作为一个日志模板,并遍历所述精简模板树,获取所有的日志模板,且每一日志模板具有唯一的标识。
从模板树根节点到每个叶子节点为一个日志模版,并在叶子节点标记该模板的标识(logkey)。
在其他实施例中,在日志数据增加时,增量学习日志模板,将新日志从模板树的根节点开始向下匹配。
若没有匹配到日志模板,则从匹配到最下层的节点开始,将该日志的剩余词汇加入模板树的节点中,并判断加入后,加入节点的子节点是否超过阈值k,且子节点中某一类数据格式相同的节点进行合并。
为了更好的理解上述获取日志模板的过程,下面结合具体的例子和图2A和图2B对日志数据到日志模板的过程进行说明。
令M={M1,M2,...Mn}表示日志数据/日志信息的集合,如图2A所示,W={w1,w2,...,wn}表示经过日志数据清洗后的日志中词汇/词语集合,W中的任意词语组合C出现的频率就是含有词语组合C出现的Mi的数量,如果词语组合C高频出现,那么C就是一个日志模板。
表1为日志数据样例的表格
图2B为TF-Tree算法抽取日志模板的过程。结合图2A和图2B所示,在图2A和图2B中所有日志的业务类型均为SIF。首先遍历M统计所有词语出现的频率,将日志类型“SIF”作为模板树T的根节点,将词频按降序排列产生词频表L={(“change”:8),(“state”:8),(“to”:8),(“Interface”:4),(“Vlan-interface”:4),(“down”:4),(“up”:4),(“ae3”:2),(“ae1”:2),(“vlan22”:2),(“vlan20”:2)},之后加入日志M1,模板树T中产生的第一棵子树{“changed”,“state”,“to”,“Interface”,“down”,“ae3”}。
然后再次扫描M,按Mi中每个词语在词频表L的频率排降序,读取当前日志的词表(p|P),p表示当前将要加入模板树T的词语,P表示剩余待加入模板树T的词语,则p从词表的第一个单词开始加入模板树T。
若扫描过程中,p为模板树T中已存在的词语,将P作为该词语的新子树加入T,若此时加入日志M2,M2排序后的词表为{“changed”,“state”,“to”,“Vlan-interface”,“down”,“vlan22”},与M1共用{“changed”,“state”,“to”}部分,那么将M2的{“Vlan-interface”,“down”,“vlan22”}部分作为子树加入“to”节点。
最后,重复上述过程,直到所有M扫描结束。
在上述处理中,产生的模板树T可能错误地将未正确替换的变量作为模板词加入,因此需要进行剪枝,以确保日志模板数量更合理,即提高模板树的解析结果的准确率,扫描模板树T,如果某个节点的子节点数量超过设定的阈值,那么删除所有该节点的孩子节点,该节点成为叶子节点。最终获得精简版的模板树T存入数据库中。
在具体处理中,产生新日志时,可按照上述过程生成模板树,进而实现日志模板的增量更新。
需要说明的是,精简模板树的过程中需要它满足以下节点度约束。本实施例中,节点的度是指节点的子节点数量,实现对每个节点的度进行约束。
直观地来说,每种消息类型(即日志模板的类型)应该只有少量的子类型,并且对于每种子类型,应该有许多与之匹配的不同消息。因此,如果节点的子节点过多(例如超过阈值k),则将其所有子节点(或子树)从树中删除,该节点本身将成为叶节点。在修剪的FT树中,每个从根到叶path是消息模板(即类型+子类型)。
107、基于结构化的日志数据和日志模板,进行实体抽取和关系抽取,获得用于输出的多个三元组数据,所述三元组数据为<实体-关系-实体>形式的数据。
为了更好的说明该步骤107,以下结合附图3A进行说明。
第一,先进行本体构建步骤,即先进行资源选择,再进行概念学习,接着进行关系学习。
具体如下:
①基于日志模板抽取结果,使用机器学习方法在模板库(即所有日志构成的数据库)中提取描述领域概念的词汇(即预先构建的日志领域确定为实体概念的词汇,如Player、User等),分析获得的所有日志模板的领域概念的词汇即领域词/概念词,是否存在概念之间的层次关系,再加入除了日志内容以外的每列数据(即加入已获得的结构化的领域词),去除重复概念词汇,筛选后作为概念信息补充,利用获取到的概念词汇以构建本体模型。
本体模型就是按照现实生活中的概念、概念间的关系、概念所具有的特征(即属性)以及概念的实例抽象出现实的模型。
举例来说,日志数据的语言通常为英语,为此,本实施例中分词可以通过空格分隔符完成。例如,将日志数据的词汇全部小写化后,利用停用词表去除日志内容中的停用词和标点符号,将日志数据转化为以单词为单位的列表,得到了包含概念和实例在内的日志数据词干信息。
本实施例中获取的日志数据含有可进行结构化处理的非结构化部分和信息部分,非结构化部分则需要使用模板树等方法进行解析后才能获得实体和关系信息。当然,如何日志数据中还包括结构化部分,则可以直接进行获取实体和关系信息。下面的解析过程主要是针对结构化数据来做的。
②基于上一步骤抽取出的日志模板,基于领域经验自动添加遗漏的概念和关系,并删除无用或错误的实体概念,以自顶向下的构建思路为主,自底向上为辅,根据数据情况修正构建的本体模型。
特别说明的是,修正的是之前的本体模型,自顶向下是基于数据驱动,自底向上是先定义模型。
③如图3A所示的日志结构样例,即日志具体结构的示例日志展示;分别从非结构化部分的日志内容(即Message列)与半结构化类似表格部分的列名中抽取概念。即处理的是日志内容,并抽取实体概念。
半结构化部分譬如USER_ID、Source等列的数据,将每列的列名作为筛选的知识概念;半结构化的部分属于日志数据的信息部分。
非结构化部分使用TF-IDF算法获取日志数据中隐含的概念关键词,统计去停用词后的词频信息TF(Term Frequency,词频信息),并求出权重修正的系数IDF(InverseDocument Frequency,逆向文件频率),将两个结果相乘获得每个词汇的TF-IDF值,设定阈值k作为选取关键词的限制,根据所得TF-IDF值的降序排列词表,若低于阈值k则将剩余词汇从词表中删除,此时词表中的单词与半结构化部分获得的概念相结合,共同作为概念单词的备选。
④关系学习部分,由于数据是特殊的模板化信息,受到远程监督假设的启发,对于运维日志本体模型中概念间的关系做了如下定义:
有单一类型概念实体集E1={a1,a2,...,an},E2={b1,b2,...,bm},ai和bj分别表示概念实体集E1和E2中的任意元素,S(t1)表示由模板t1产生的句子集合,那么ai,bj∈S(t1),日志l1的模板T(l1)=t1,则R(l1)=R(t1)=R(ai,bj),其中R表示某条消息中或某个概念实体对之间的关系。
日志模板聚类的流程如图3B所示,采用DBSCAN算法对日志模板聚类,将模板中的变量标识”<num>”,”<word>”等全部替换为”**”,日志模板集为D,任意选择D中的一个模板p,使用TF-IDF矩阵作为文本特征对日志模板p进行向量化表示。调参过程参考图8所示的sorted k-dist图的方式,最终在临界点(即拐点)处获得聚类簇半径Eps和聚类簇内最少数量MinPts(即借助于DBSCAN算法的聚类,进行参数调整)。基于聚类结果将日志模板进一步压缩整合,以聚类后的日志模板集合作为关系的表示,拼接集合内的公共子串作为关系名称,建立模板序号和关系名的映射<logkey,relation>,至此完成本体模型的关系学习。
概括来说,假设出现相同概念实体对的句子都是对于一类关系的描述,那么对于日志信息(即原始获取的非结构化的日志数据)而言,每个日志模板中包含的概念实体对类型是唯一的,同一种模板产生的日志都是对于同一类关系的表述,不同模板表示着不同的关系类型。
在本实施例中,基于日志模板的实体抽取方法步骤包括:
第一步:基于日志模板的实体抽取;
具体地:基于日志模板的实体抽取,输入获取的指定时间窗口内的日志原文数据,判断每一条日志属于哪个日志模板,日志模板中有哪些实体,位于什么位置,日志原文的实体和边界根据日志模板中的实体位置确定,除了日志原文数据,其它列的信息中也包含实体,结合本体模型选择提取信息的列;实现根据本体模型的实体抽取。
下述的日志信息、日志原文数据均指的是日志中的非结构化部分数据。
具体地说,经数据脱敏处理后的日志如图3A所示,由于日志数据是模板化的,且属于半结构化的信息,PLAYER_ID和USER_ID这类信息需要基于构建的本体模型,选择对应的列直接获取,每一列信息通过使用分隔符切分后选取不同偏移量获得,其中日志内容一列属于基于日志模板产生的信息,需要使用日志模板库进行匹配完成实体识别任务,除去消息信息一列中的实体,其它实体则通过该列所处于日志中的位置决定,具体位置借助日志的本体模型,根据列名进行调整。采用正则匹配的方法,将日志与日志模板匹配,确定所属模板,再通过构建出的本体模型获取实体信息。
上述的脱敏处理可理解为对数据进行一系列加密后,得到无法获取原始敏感内容的加密数据。
以下是模板匹配的过程,步骤C1-1,步骤C1-2是对输入数据的说明和预处理,步骤C1-3至步骤C1-5是对输入从现有的模板树进行逐步的模板匹配和对应实体集的生成,步骤C1-6,步骤C1-7是如果当前日志匹配成功后的输出。
步骤C1-1:获得需要进行实体抽取的日志消息(即日志的非结构化数据),作为实体抽取算法的输入。
步骤C1-2:根据当前日志的分隔符(通常为“\t”),获得Message一列的信息
步骤C1-3:从Message的第一个词汇开始与日志模板库中模板的首个词汇匹配;
步骤C1-4:如果当前词为标识符(如“<num>”,“<ip>”等),以当前词的上一个词为key,当前词为<value>,组成<k,v>格式存入实体集,则从日志消息和日志模板的下个词开始匹配;否则执行步骤C1-5;
步骤C1-5:如果当前词不匹配,则更换为下一个日志模板,返回步骤C1-3;否则执行步骤C1-6;
步骤C1-6:如果已到达句尾,则输出该模板的logkey;否则返回步骤C1-4
步骤C1-7:将当前日志消息与实体集体拼接并保存。
以图日志结构样例的第二条数据为例,读入第一条日志后,对日志原文进行切分,通常是由制表符分割日志的每一列信息,分割后获得列表L={l1,l2,...,ln},其中li对应这条日志的第i列信息,基于构建好的本体模型,获取PLAYER_ID和USER_ID则直接对应l4,l5的信息,由本体模型可知分别表示行为的主语和宾语,若l4=0则表示该条日志的行为主体是特殊的用户系统。随后获取日志条目中Message一列的实体信息,从日志模板库T={t1,t2,...,tn}中依次选取模板,若t1=”Response on opt[<num>]”,则使用正则表达式”Response on opt[^\d+$]”进行匹配,匹配成功则记录该条日志的全部实体信息,与日志原文拼接后一同存入数据库,作为关系抽取模块的输入数据。
步骤C2:基于日志模板的关系抽取;
步骤包括:基于日志模板的关系抽取,输入日志原文,匹配日志模板库中的所有模型,根据匹配到的模板序号所在的聚类簇,确定日志中实体的关系类型;
具体地说,对现有实体的操作记录(即产生的日志模板)进行统计分析,按时间先后顺序记录每个实体的行为,对实体的行为以模板序号进行标识。统计结果中,大量日志模板的数量成正比,即随着t1的出现,t2,t3也会依次出现,则t1,t2,t3被认为是对一类事件的描述,如t1=“Start a new query”,t2=“Query user<num>request”,t3=“Query user
<num>response”,可以确定{t1,t2,t3}表示了一个查询行为的全部过程,在图中使用统一灰度的颜色表示完整的一组行为。一组行为序列作为本实验关系抽取任务中关系类型的定义,这也是在本体构建过程对关系聚类后的结果。现有日志模板中,成比例出现的行为记录体现出内容的高度相似,如表示查询用户操作的请求和响应的模板,希望寻求方法将这类模板合并,排除冗余信息,减少关系类别数量,更直观地表示实体间的关系。
步骤C2-1:从待抽取关系的日志中,获得抽取的实体对e1,e2
步骤C2-2:使用TF-IDF作为特征词的权重w,记为v={(word1,w1)(word2,w2)……},以获得的实体对将日志(日志中的非结构化部分)切分为三部分:e1之前的文本特征向量,e1与e2之间的文本特征向量,e2之后的文本特征向量,记为Vi=(v1,v2,v3)
步骤C2-3:使用余弦相似度计算两组向量之间的相似度,作为密度聚集类的输入,计算公式为:
其中,n指的是日志的word数,k是从1到n依次;
Vj指的是不同于Vi的另一条日志特征向量
Wik指的是第i条日志中第k个单词的权重。
Vin指的是Vi切分后的每个特征向量(v1,v2,v3)。
公式1计算两个向量之间的距离,公式2对3组余弦相似度的距离求和,计算两个向量之间的相似度。
步骤C2-4:将相似度作为聚类的输入,对所有预处理后的日志进行密度聚类,每个聚类簇中按特征词的TF-IDF值降序排列,选择可得到关系的关系词。
经变量替换后的日志模板的内容如下:
(1)“Player*kills monster*”,
(2)“User*logged in Server*”,
(3)“Player*kills player*”,
(4)“User*logged in Channel*”,
对以上日志进行关系抽取,获得了文中实体对的特征后进行密度聚类,日志(1)与(3)被划分为一个聚类簇,日志(2)与(4)被划分为一个聚类簇,获得kill和log作为这两个聚类结果的关系名,与原文的实体对结合为<实体-关系-实体>对三组形式并保存。
108、将多个三元组数据按照时间序列进行融合并存储在图数据库中,获取所述知识图谱;
所述图数据库为Neo4型标准化数据库和OpenTSDB型标准化数据库组成的图数据库。
举例来说,知识图谱存储步骤包括:利用图数据库、分布式数据库实现三元组数据与时间序列数据的混合存储模式,中间结果保存在关系型数据库中。
具体地说,由于是基于日志模板进行的信息抽取,而在图3A所示的数据集下的模板解析准确率为100%,所以信息抽取模块的准确率为100%。随后先将不同的实体类型及其属性使用Cypher语句导入图数据库,最后再将关系信息存入图数据库,将信息抽取的实体关系属性等结果存入图数据库Neo4j后,可以看到实体关系情况所产生的可视化。
考虑到日志信息中,每条日志行为的时间间隔是以秒为单位进行记录的,因此将时序数据(即包含时间戳信息的数据)存储在HBase中,并使用OpenTSDB服务完成时序存储,其结构的特殊设计,可以压缩Row的数量,将存储空间大大减少。目前使用OpenTSDB的HTTPAPI写入数据。
本实施例中首先对日志数据的非结构化信息进行解析抽取,根据抽取的日志模板建立本体模型,基于日志模板进行实体和关系信息的抽取,以本体模型为指导,补充日志模板未抽取出的实体关系信息,利用图数据库、分布式数据库实现三元组数据与时间序列数据的混合存储模式,中间结果保存在关系型数据库中。
实施例三
图6是本发明实施例提供的运维日志数据知识图谱构建流程图,如图6所示,包括数据预处理分析模块(即预分析)、本体构建模块(即模式层模块)、实体抽取模块以及关系抽取模块(即知识抽取模块)。本发明实施例可分为两大部分,第一部分为日志数据的知识图谱的构建,第二部分为知识图谱的可视化应用,以下对这两部分进行说明。
1)日志数据的知识图谱构建
数据预处理分析模块:根据位置得到日志内容一列的信息,经分词、数据清洗后抽取其中的所有日志模板,通过模板初步分析领域中的概念与关系;
本体构建模块:基于模板抽取结果,使用机器学习方法在模板库中提取描述领域概念的词汇,分析获得的所有日志模板,是否存在概念之间的层次关系,再加入除了日志内容以外的每列数据,去除重复概念词汇,筛选后作为概念的信息补充,利用获取到的概念词汇构建本体模型;
实体抽取模块:日志实体抽取的本质是模板匹配问题,给定一条日志原文,判断这条日志属于哪个日志模板,模版中有哪些实体,位于什么位置,日志原文的实体和边界根据模板中的实体位置确定,除了日志原文,其它列的信息中也蕴含了实体,结合本体模型选择提取信息的列;
关系抽取模块:日志的关系抽取也是通过模板匹配的方式实现的。关系抽取在自然语料下通常定义为分类问题,给定实体对以及它们之间的特征,分类模型给出这组实体对的关系结果。对于日志数据的关系抽取,在本体构建过程中,概念间的关系由日志模板聚类后的结果定义,为每个日志模板都划分了关系类型。当一条新的日志原文输入后,皮配日志模板库中的所有模板,根据匹配到的模板序号所在的哪个聚类簇中确定这条日志中实体的关系类型。
为更好的理解本发明的方法,结合图7进行说明,FT-Tree:数据接口平台获得的日志存储在日志数据库中,日志数据经过变量替换等预处理操作后,将当前全量的日志信息作为FT-Tree的输入,输出为解析后的日志模板,以及通过当前数据得到的日志模板树,保存在日志模板库中,模板树用于增量模板更新。
Entity_Extract:逐条读取日志数据与数据库中的日志模板进行匹配,成功匹配的日志根据模板中实体的定义取得实体对数据,经构建好的本体模型指导,获取模板未覆盖到的和结构化部分的实体信息,将日志时间戳、日志原文与实体信息组合后,保存在实体库中。
DBSCANCluster:输入为获取解析后全部的日志模板,使用TF-IDF特征实现文本向量化,投喂给模型进行训练,输出结果为日志模板序号组成的聚类簇,此时的聚类簇则是日志中的关系信息,按聚类簇序号标注模板所属聚类簇的序号,建立日志模板与关系类型的映射,将该映射关系保存在关系模板库中。
Triplet_Construct:实体库获得的数据与关系模板库进行匹配,成功匹配后,首先根据日志模板获得该条日志中的关系类型,将实体关系信息结合,保存在图数据库中,其次把实体库中的信息传递给时序知识抽取模块(即TimeSeries_Extract)
TimeSeries_Extract:抽取实体库的时间戳、日志原文、实体信息,以秒为单位存储metric为实体将当前日志存储在OpenTSDB。
2)知识图谱的可视化应用
针对存储的知识图谱,可实现可视化应用,举例说明如下:
根据图数据库中保存的信息,使用D3.js中的力导向图完成实体关系的可视化;
根据分布式数据库的行为序列信息,使用D3.js中的EventDrops进行实体时序的可视化。
具体地说,其他模块传递实体信息后,进行知识抽取,将抽取出的实体转化为对应的Cypher查询语句,分别从图数据库和分布式数据库进行查询。根据图数据库中保存的结构化信息,参考图数据库中的可视化结果,使用D3.js中的力导向图完成实体关系的可视化,可视化结果如图4。
当点击查询的实体时,界面由实体关系可视化切换为时序行为可视化结果,通过时间轴的形式完整显示实体的全部行为记录。本发明采用EventDrops进行实体时序行为的可视化,用户可以通过鼠标滚轮调整时间单位的粒度,也可以通过拖拽的方式进行时间范围的选取,指向时间轴的点时,将展示出该实体在当前时间的具体行为,可视化结果如图5。
即,借助建立好的运维知识图谱,为业务的实体信息提供可视化服务。
从另一方面来理解,本发明实施例在完成了运维知识图谱构建的基础上,可视化服务平台以web前端和python后台的结构设计,后台的功能包括接收其它运维任务模块的信息,解析信息中的实体,查询数据库中的实体关系信息和实体时序信息以及将结果可视化,根据需求分析按功能划分为以下四个模块:
消息传递模块:该模块以运维平台的其它功能模块作为生产者,可视化服务平台为消费者,使用消息队列作为中间件实现消息传递的容器,其它运维模块中产生的实体信息,按顺序加入消息队列暂时存储,可视化服务平台从队列中取出消息,执行下一步的处理与查询操作;
日志解析模块:使用基于日志模板匹配和本体模型指导的方法,识别产生异常的实体信息,如用户ID、会话ID、设备ID等信息;
信息查询模块:对识别出的实体,分别转化为不同数据库的查询语句,从两个数据库中获取对应的结果,向前端反馈查询到的内容,由运维人员在web界面选择可视化服务的类别;
可视化模块:根据不同的服务请求,在实体关系图和实体时序图之间切换,完成对不同应用场景的可视化服务,展现不同的可视化效果。对于实体关系图,使用力导向图体现,实体时序图采用开源的可视化工具,按照数据库中的时间顺序,在可交互时间轴上展示。
基于上述架构,完成了基于知识图谱的可视化应用,运用了运维知识图谱系统或其他系统间的消息传递,解决了峰值带来的高负荷和异常消息处理问题,同时也对运维工作存在的复杂数据结合知识图谱与交互的可视化方式进行展现,解决了数据结果不直观的问题,提高了运维人员获取信息的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。
显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。
Claims (10)
1.一种日志数据的知识图谱构建方法,其特征在于,包括:
S1、获取指定时间窗口内的日志数据;
S2、对所述日志数据进行预处理,并依据模板树建立策略建立模板树;
S3、基于建立的模板树,获取日志模板;
S4、基于获取的日志数据和日志模板,进行实体抽取和关系抽取,获得用于输出的多个三元组数据,所述三元组数据为<实体-关系-实体>形式的数据;
具体地,S4-2-1:从待抽取关系的日志模板中,获得抽取的实体对e1,e2;
S4-2-2:使用TF-IDF算法计算出特征词的权重w,记为v={(word1,w1)(word2,w2)……},获得的实体对将日志数据中的非结构化部分切分为三部分:e1之前的文本特征向量,e1与e2之间的文本特征向量,e2之后的文本特征向量,记为Vi=(v1,v2,v3);
S4-2-3:使用余弦相似度计算两组向量之间的相似度,作为密度聚集类的输入,计算公式为:
其中,n指的是日志的word数,k是从1到n依次;
Vj指的是不同于Vi的另一条日志特征向量;
Wik指的是第i条日志中第k个单词的权重;
Vin指的是Vi切分后的每个特征向量(v1,v2,v3);
公式(1)为计算两个向量之间的距离,公式(2)对3组余弦相似度的距离求和,计算两个向量之间的相似度;
S4-2-4:将相似度作为聚类的输入,对所有预处理后的日志进行密度聚类,每个聚类簇中按特征词的TF-IDF值降序排列,选择关系词;
S5、对多个三元组数据按照时间序列进行融合,获得日志数据的知识图谱。
2.根据权利要求1所述的方法,其特征在于,所述S5包括:
将三元组数据存放在图数据库中,将与三元组数据对应的时间序列的信息存储在时序数据库中,用以在可视化显示时按照时间序列调用三元组数据,以获得日志数据的知识图谱;
所述图数据库为Neo4j型标准化数据库,所述时序数据库为OpenTSDB型标准化数据库;
或者,
将三元组数据中不同的实体类型及属性使用Cypher语句导入图数据库,使用OpenTSDB服务将实体关系及属性存储在时序数据库中;
所述图数据库为Neo4j型标准化数据库,所述时序数据库为OpenTSDB型标准化数据库。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
S6、接收平台输入的请求信息,依据请求信息中的可视化服务信息,向用户展示与可视化服务信息对应的实体关系;
或者,使用D3.js中的力导向图完成实体关系的可视化,或者,使用D3.js中的EventDrops进行实体时序的可视化。
4.根据权利要求1所述的方法,其特征在于,所述S2包括:
S2-1、对每一条日志数据,将日志数据中正文内容对应的非结构化的数据转化为结构化的正文数据;
S2-2、针对所有结构化的正文数据,采用分隔符进行分词处理;
S2-3、针对分词处理的所有正文数据,采用模板树建立策略,建立模板树;
其中,模板树建立策略包括:针对第一条正文数据,查看分词后每一词汇的顺序,按照模板树的根部到枝叶的顺序,进行划分父节点和子节点,针对第n条正文数据,查看分词后每一词汇与模板树中相应位置的词汇是否相同,若不同,则成为上一相同词汇的子节点。
5.根据权利要求4所述的方法,其特征在于,所述S3包括:
S3-1、针对所述模板树,判断每一个父节点和子节点的数据格式,采用指定数据格式所属的标识符替换节点的数据,并获取新的模板树;
S3-2、针对新的模板树,采用剪枝策略对子节点进行剪枝处理,获取精简模板树;
S3-3、将精简模板树中每一根节点到叶子节点作为一个日志模板,并遍历所述精简模板树,获取所有的日志模板,且每一日志模板具有唯一的标识。
6.根据权利要求5所述的方法,其特征在于,所述S4包括:
S4-1、基于获取的日志数据和日志模板,使用机器学习方法在存储日志数据的数据库中提取领域词,并基于提取的领域词构建本体模型;
S4-2、基于S1中获取的日志数据,使用TF-IDF算法抽取实体概念;
基于日志模板、修正的本体模型和抽取的实体概念,确定本体模型中所有实体概念间的关系,并获得<实体-关系-实体>的三元组数据。
7.根据权利要求6所述的方法,其特征在于,所述S4-1具体包括:
基于获取的日志数据,将日志数据进行清洗,获得日志数据词干信息,进而使用TF-IDF算法在存储日志数据的数据库中提取领域词/概念词,并对提取的领域词/概念词进行筛选优化,针对优化之后的领域词/概念词及预先确定的各领域词/概念词之间的关系,构建本体模型;
基于获取的日志模板,依据领域内专业知识经验完善日志模板中的领域词/概念词及其关系,获得修正的本体模型。
8.根据权利要求6所述的方法,其特征在于,所述S4-2中的使用TF-IDF算法抽取实体概念,包括:
在日志数据包括非结构化的日志内容和半结构化的内容时,针对半结构化部分,将半结构化部分所属列的列名作为筛选的实体概念;
针对非结构化部分,使用TF-IDF算法获取概念关键词,具体地,统计去停用词后的词频信息TF,并求出权重修正的系数IDF,将两个结果相乘获得每个词汇的TF-IDF值,设定筛选阈值作为选取概念关键词的限制,根据所得TF-IDF值的降序排列词表,若低于筛选阈值则将剩余词汇从词表中删除,此时词表中的单词与半结构化部分获得的概念相结合,共同作为选择的实体概念。
9.根据权利要求8所述的方法,其特征在于,所述S4-2中实体概念间的关系为:
日志数据l1的模板T(l1)=t1,则R(l1)=R(t1)=R(ai,bj),其中R表示某条消息中或某个概念实体对之间的关系;
或者,
所述S4-2中的确定本体模型中所有实体概念间的关系,包括:
采用DBSCAN算法对日志模板聚类,将日志模板中的变量标识全部替换为统一的标识符;
在日志模板集为D,任意选择D中的一个模板p,使用TF-IDF矩阵对日志模板p进行向量化表示,以获取聚类簇半径Eps和聚类簇内最少数量MinPts的聚类结果;
基于聚类结果将日志模板进一步压缩整合,压缩整合后的日志模板集合作为关系的表示,拼接集合内的公共子串作为关系名称,建立模板序号和关系名的映射<logkey,relation>,获得所有实体概念间的关系;
其中,同一种模板产生的日志都是对于同一类关系的表述,不同模板表示着不同的关系类型。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在日志数据更新时,针对更新部分的日志数据,重复上述S2和S3,更新模板树,并针对更新的模板树,重复S4至S6的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444358.5A CN112579707B (zh) | 2020-12-08 | 2020-12-08 | 一种日志数据的知识图谱构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011444358.5A CN112579707B (zh) | 2020-12-08 | 2020-12-08 | 一种日志数据的知识图谱构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579707A CN112579707A (zh) | 2021-03-30 |
CN112579707B true CN112579707B (zh) | 2023-04-18 |
Family
ID=75130877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011444358.5A Active CN112579707B (zh) | 2020-12-08 | 2020-12-08 | 一种日志数据的知识图谱构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579707B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190844B (zh) * | 2021-05-20 | 2024-05-28 | 深信服科技股份有限公司 | 一种检测方法、相关方法及相关装置 |
CN113032238B (zh) * | 2021-05-25 | 2021-08-17 | 南昌惠联网络技术有限公司 | 基于应用知识图谱的实时根因分析方法 |
CN113220943B (zh) * | 2021-06-04 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 一种半结构化流量数据中的目标信息定位方法及系统 |
CN113626400A (zh) * | 2021-07-11 | 2021-11-09 | 南京理工大学 | 基于日志树和解析树的日志事件提取方法及系统 |
CN113590421B (zh) * | 2021-07-27 | 2024-04-26 | 招商银行股份有限公司 | 日志模板提取方法、程序产品及存储介质 |
CN113326172B (zh) * | 2021-08-04 | 2021-11-02 | 云智慧(北京)科技有限公司 | 一种运维知识的处理方法、装置及设备 |
CN114036311A (zh) * | 2021-11-08 | 2022-02-11 | 北京邮电大学 | 基于知识图谱的时序可视化开发方法及系统 |
CN114189367A (zh) * | 2021-11-30 | 2022-03-15 | 南京理工大学 | 一种基于知识图谱的安全日志分析系统 |
CN114186079A (zh) * | 2021-12-09 | 2022-03-15 | 建信金融科技有限责任公司 | 基于知识图谱的日志字段名称生成方法、系统及电子设备 |
CN114564636B (zh) * | 2021-12-29 | 2024-06-25 | 东方财富信息股份有限公司 | 一种金融信息搜索中台的召回排序算法和层叠式技术架构 |
CN114897290B (zh) * | 2022-03-22 | 2024-09-06 | 招商局国际科技有限公司 | 业务流程的演化识别方法、装置、终端设备以及存储介质 |
CN114780083B (zh) | 2022-06-17 | 2022-10-18 | 之江实验室 | 一种知识图谱系统的可视化构建方法及装置 |
CN115357555B (zh) * | 2022-10-24 | 2023-01-13 | 北京珞安科技有限责任公司 | 一种基于日志的审计方法及系统 |
CN115544975B (zh) * | 2022-12-05 | 2023-03-10 | 济南丽阳神州智能科技有限公司 | 一种日志格式转换方法及设备 |
CN116737520B (zh) * | 2023-06-12 | 2024-05-03 | 北京优特捷信息技术有限公司 | 一种日志数据的数据编织方法、装置、设备及存储介质 |
CN117150049B (zh) * | 2023-09-15 | 2024-03-22 | 上海峻思寰宇数据科技有限公司 | 一种个案图谱架构系统 |
CN117540799B (zh) * | 2023-10-20 | 2024-04-09 | 上海歆广数据科技有限公司 | 一种个案图谱创建生成方法及系统 |
CN118093325B (zh) * | 2024-04-28 | 2024-06-21 | 中国民航大学 | 一种日志模板获取方法、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287466A (zh) * | 2019-06-24 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种实体模板生成方法和装置 |
CN110674313A (zh) * | 2019-09-20 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种基于用户日志动态更新知识图谱的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504910B2 (en) * | 2011-01-07 | 2013-08-06 | Facebook, Inc. | Mapping a third-party web page to an object in a social networking system |
-
2020
- 2020-12-08 CN CN202011444358.5A patent/CN112579707B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287466A (zh) * | 2019-06-24 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种实体模板生成方法和装置 |
CN110674313A (zh) * | 2019-09-20 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种基于用户日志动态更新知识图谱的方法 |
Non-Patent Citations (2)
Title |
---|
"Personalized Map Service User Interest Acquisition Based on Browse Behavior";Zenghong Wu等;《2012 International Conference on Control Engineering and Communication Technology》;20130117;第1-4页 * |
"基于知识图谱驱动的网络安全等级保护日志审计分析模型研究";陶源等;《信息网络安全》;20200131;第46-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112579707A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579707B (zh) | 一种日志数据的知识图谱构建方法 | |
CN109635171B (zh) | 一种新闻节目智能标签的融合推理系统和方法 | |
CN110968699B (zh) | 一种基于事理推荐的逻辑图谱构建及预警方法和装置 | |
CN113515634B (zh) | 基于分层异质图神经网络的社交媒体谣言检测方法及系统 | |
CN113254507B (zh) | 一种数据资产目录智能构建盘点方法 | |
CN113094512B (zh) | 一种工业生产制造中故障分析系统及方法 | |
CN115495755B (zh) | 一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法 | |
CN110888943A (zh) | 基于微模板的法院裁判文书辅助生成的方法和系统 | |
CN114706966A (zh) | 基于人工智能的语音交互方法、装置、设备及存储介质 | |
CN110147552A (zh) | 基于自然语言处理的教育资源质量评价挖掘方法及系统 | |
CN109977370B (zh) | 一种基于文档结构树的问答对自动构建方法 | |
CN118296164A (zh) | 基于知识图谱的农产信息自动采集与更新方法及系统 | |
CN117520522B (zh) | 一种基于rpa和ai结合的智能对话方法、装置及电子设备 | |
CN111460114A (zh) | 检索方法、装置、设备及计算机可读存储介质 | |
JP5485236B2 (ja) | Faq作成支援システム及びプログラム | |
CN112860913A (zh) | 一种知识图谱的本体创建方法 | |
CN117216221A (zh) | 一种基于知识图谱的智能问答系统及构建方法 | |
CN106407271B (zh) | 一种智能客服系统及其智能客服知识库的更新方法 | |
CN114186974A (zh) | 一种多模型融合的开发任务关联方法、装置、设备及介质 | |
CN115827885A (zh) | 一种运维知识图谱的构建方法、装置及电子设备 | |
CN114417010A (zh) | 面向实时工作流的知识图谱构建方法、装置和存储介质 | |
CN115269862A (zh) | 一种基于知识图谱的电力问答与可视化系统 | |
CN114417008A (zh) | 一种面向建设工程领域的知识图谱构建方法及系统 | |
CN116737964B (zh) | 一种人工智能大脑系统 | |
CN118170933B (zh) | 一种面向科学领域多模态语料数据的构建方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |