一种从非结构化数据提取结构化数据的方法与流程

本发明涉及大数据领域的数据解析技术,更具体地说,本发明涉及一种从非结构化数据提取结构化数据的方法。

背景技术:

运维数据不仅数量惊人,种类繁多,而且产出位置也各不相同,处理起来十分复杂,而我们往往需要在几秒钟内得到答案。我们需要有一种方法或方式能从海量数据中快递定位,找到问题,找到根因。同时,这些数量庞大的数据还包含了许多对企事业单位、各组织机构或个人都十分有价值的信息。我们需要有一种方法或方式把这些数据变成有意义、有价值的信息,从而产生影响。

能够在生产环境中保存、存储、加载、编辑、输入、输出和部署一个数据结构的解析系统称为解析器。开发一种从非结构化数据提取结构化数据的方法的人称为开发人员。开发人员检查样本数据、理解样本数据的类型和字段,再开发解析器(parser),然后将解析器部署在实际生产环境中,数据会在实际生产环境中被数据分析体系解析和使用。具体地,开发人员的工作就是首先将样本数据中的数据记录归类,然后针对每一类的数据记录,从中提取字段,并给字段命名,将这些字段具体化为数值、字符串、ip地址等。为了成功创造出可以扫描样本数据,给样本数据归类,从样本数据中提取、输出字段的一种从非结构化数据提取结构化数据的方法,开发人员必须执行上述两步操作。传统的一种从非结构化数据提取结构化数据的方法采用三种方法来开发和部署解析器。1.使用高级编程语言开发解析器。2.传统方式需要编程人员编码正则表达式(regex)。3.传统开发方式是在如json或者xml的更加简单的脚本中开发解析器定义。在开发出这些解析器后,传统系统采用将解析器复制到文件的方式将其部署到生产系统中。

传统解析方法的主要缺点有:

1.开发人员需要熟练掌握模式匹配语言或者高水平编程语言;当要解析的数据量大,种类繁多时,使用这些语言很难维护,调试起来也很困难;2.开发人员需要检查样本数据,理解样本数据的记录类型和有意义的字段,根据个人对模式匹配语言或者高水平编程语言的掌握情况,开发出解析模式;3.开发人员不得不手动编写解析器。没有方便的图形化开发环境。没有可增编的交互性工具,开发人员需要在开发前将所有的设计熟练于心或者以文档形式呈现;4.开发人员在开发过程中没有快速方法检测解析器的正确性,而只能实际部署于生产中后才能发现解析器中的错误;5.因为缺少冲突处理工具,传统的解析系统中,手写的传统解析器是没有再次使用能力的;6.如果部署解析器时要做一些改变,就需要重新启动整个数据处理系统。

技术实现要素:

针对上述技术中存在的不足之处,本发明提供一种从非结构化数据提取结构化数据的方法,解析操作基于图形化界面,操作灵活,无需面对编程文件,利于开发、更新与维护。

为了实现根据本发明的这些目的和其它优点,本发明通过以下技术方案实现:

本发明提供一种从非结构化数据提取结构化数据的方法,其包括以下步骤:

建立模式库,其包括基于正则表达式编写获得的若干个模式;

基于图像化操作,建立一个空的解析器;

获取待解析数据中的一部分作为样本数据,了解解析需求;

根据所述解析需求,调用至少一个所述模式,依次编辑分类规则和解析规则以对样本数据分类和解析,所述分类规则和所述解析规则存储至所述解析器;

显示所述解析规则解析的样本数据的字段值名;

在gui上将解析器部署至实际使用环境,解析结果输出到数据分析的下一步骤。

建立所述解析器,包括以下步骤:

建立主解析树;

在所述主解析树树根上以树节点方式并列添加至少一个解析节点并自动生成一个与所述解析节点并列的其他节点;

在所述解析节点上启动对数据分类的分类单元以及对分类后数据解析的解析单元;在所述其他节点启动所述解析单元;

在每个所述分类单元中,基于至少一种正向规则和/或反向规则,调用至少一个所述模式编辑形成所述分类规则,符合任一解析节点上分类单元分类规则的数据分配至该节点;若不符合,分配至所述其他节点;

在所述解析单元中,调用至少一个所述模式编辑形成所述解析规则以对分类后的数据进行解析。

优选的是,建立所述解析器,还包括步骤:

以树节点方式,添加与所述主解析树并列的至少一个子解析树;

在每个所述子解析树上以与所述主解析树相同方式添加所述解析节点、所述分类单元、所述解析单元以及自动生成一个其他节点;

依次启动所述分类单元、所述解析单元,以对数据进行分类和解析。

优选的是,添加所述解析节点,还包括以下步骤:

在所述解析节点上,以树节点方式并列添加至少一个解析子节点,在所述解析子节点启动所述分类单元以分类;

所述解析节点的解析单元移至对应添加的每个所述解析子节点以解析;

其中,添加所述解析子节点时,自动生成一个与所述解析子节点并列的其他节点;

所述解析子节点的解析单元移至相对应的最后一级所述子节点以解析。

优选的是,建立所述解析器,还包括以下步骤:

在所述主解析树、所述子解析树、所述解析节点、所述其他节点、所述解析子节点及其所述子节点上:

编辑名称;

编辑并显示当前解析的数据类型;

编辑用于添加供识别的标签;以及,

对解析器进行修改、编辑以及删除的操作。

在所述主解析树、所述子解析树、所述解析节点以及所述解析子节点上:

将一个解析树上的一个节点上复制粘贴到另外一棵解析树上以新建一个节点,或者在同一棵解析树内复制一个节点后粘贴该节点以新建一个节点;

以树节点方式添加节点。

优选的是,编辑所述分类规则或所述解析规则,包括以下步骤:

启动规则编辑栏;

若编辑分类规则,则选择至少一种正向规则和/或反向规则后,调用至少一个所述模式编辑形成分类规则,并将分类规则应用到对应的数据,对数据进行分类;

若编辑解析规则,选择至少一个所述模式拖拽至规则编辑栏进行编辑,形成所述解析规则,解析规则应用到对应的数据中,对数据进行解析。

优选的是,显示所述解析规则解析的样本数据的字段值名,还包括步骤:

下载、存储、部署、复用所述解析器,在gui上将解析器发送至实际使用环境部署,解析结果输出到数据分析的下一步骤。

本发明至少包括以下有益效果:

本发明提供的从非结构化数据提取结构化数据的方法,基于树节点方式以及图形化操作界面,上传待解析的样本数据后,调用解析器数据库中的至少一个模式进行编辑形成解析规则保存到解析器,形成解析器,以抽取样本数据中与解析规则对应的字段并显示;整个解析过程,基于图形化界面,操作灵活,无需面对编程文件,利于开发、更新与维护。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

图1为本发明所述的从非结构化数据提取结构化数据的方法的流程示意图;

图2为本发明所述的建立包括主解析树的解析器的流程示意图;

图3为本发明所述的建立包括子解析树的解析器的流程示意图;

图4为本发明所述的添加解析子节点的流程示意图;

图5为本发明所述的编辑解析规则的流程示意图;

图6为本发明所述的分类规则和解析规则编辑的示意图

图7为本发明所述的解析树的节点示意图;

图中:

10-主解析树;

11-解析节点;

12-其他节点;

111-解析子节点。

20-子解析树;

30-解析器规则编辑gui;

31-规则编辑栏;

32-复合模式单元;

33-一般模式单元;

34-字段值命名显示单元。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。

应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。

如图1所示,本发明所述的从非结构化数据提取结构化数据的方法,其包括以下步骤:

s10,建立模式库,其包括基于正则表达式编写获得的若干个模式;

s20,基于图像化操作,建立一个空的解析器;

s30,获取待解析数据中的一部分作为样本数据,了解解析需求;

s40,根据解析需求,调用至少一个模式,依次编辑分类规则和解析规则以对样本数据分类和解析,分类规则和解析规则存储至解析器;

s50,显示解析规则解析的样本数据的字段值名;

s60,在gui上将形成的解析器发送到实际环境中部署,解析结果输入到数据分析的下一步骤。

上述实施方式中,模式是用正则表达式编写的,用来代表不同日志文本的共同分割方案。每行日志的分割方案结构相似,因而开发人员能给同样的分割一个名字,称之为某某模式。本发明定义该同样的分割为模式。至少包括一般模式(normalpattern)和复合模式(containerpattern)两大类。

上述实施方式中,如图2和图7所示,步骤s20中,建立解析器,包括以下步骤:

s21,建立主解析树;

s22,在主解析树树根上以树节点方式并列添加至少一个解析节点并自动生成一个与解析节点并列的其他节点;

s23,在解析节点上启动对数据分类的分类单元以及对分类后数据解析的解析单元;在其他节点启动解析单元;

s24,在每个分类单元中,基于至少一种正向规则(positiverule)和/或反向规则(negativerule),调用至少一个模式编辑形成分类规则,符合任一解析节点上分类单元分类规则的数据分配至该节点;若不符合,分配至其他节点;

s25,在解析单元中,调用至少一个模式编辑形成解析规则以对分类后的数据进行解析,当用户不知道该选择什么模式来拖拽放入解析规则中时,可以选中样本日志中的一部分,系统会自动推荐一个或多个匹配该选中日志部分的模式供用户选择。

对步骤s22-步骤s25补充说明的是,主解析树树根上以树节点方式并列添加至少一个解析节点后,每个解析节点之间的分类规则不同,从而实现对样本数据的不同分类;每个解析节点的解析规则可以相同也可以不同。但是,对于同一个解析节点来说,先对分类单元编辑分类规则以对样本数据进行初步分类后,再对该解析节点的解析单元编辑解析规则以对分类后的样本数据进行进一步地解析。

作为上述实施方式的优选,如图3和图7所示,建立解析器还包括步骤:

s26,以树节点方式,添加与主解析树并列的至少一个子解析树;

s27,在每个子解析树上以与主解析树相同方式添加解析节点、分类单元、解析单元以及自动生成一个其他节点;

s28,依次启动分类单元、解析单元,以对数据进行分类和解析。

该实施方式中,子解析树的建立,主要是为了避免主解析树解析的复杂性。至于子解析树和主解析树的分类与解析的区别,本发明示例为:样本数据中存在至少一系列具有相同特征的关联的数据记录,在发送到主解析树进行分类与解析后,用户根据解析后的数据是否分类,建立至少一个子解析树,然后将需要进一步解析的数据发送到子解析树进行进一步分类和解析,不通过后续的主解析树进行解析,这样可以减轻主解析树的解析负担,也有利于专门、单独对这一系列特征进行精确解析,供后续分析,不影响解析结果的完整显示。

作为上述实施方式的优选,如图4和图7示,步骤s22中添加解析节点,还包括以下步骤:

s221,在解析树根节点上,以树节点方式并列添加至少一个解析节点,在解析节点启动分类单元以分类;添加解析节点时,自动生成一个与解析节点并列的其他节点;

s222,解析根节点的解析单元移至对应添加的每个解析节点以解析。

该实施方式中,同一个解析树(主解析树或子解析树)下的不同的解析树节点,可以对样本数据进行基于不同分类规则的初步分类后再继续各自解析;那么,在同一个解析节点后以树节点方式并列添加至少一个解析子节点,是对该解析节点分类下的样本数据进行进一步的分类细化和对应的解析。

另外,设置解析子节点后,解析节点仅存在分类单元进行初步分类,解析节点的解析单元移至对应添加的每个解析子节点上,则解析节点无解析单元用于解析,而是至少一个解析子节点对初步分类后的样本数据进行一步细化分类后,解析子节点上移动获得的解析单元进行后续的解析,以此类推,若需要继续添加子节点,解析节点上的解析单元依次由解析节点、解析子节点移至最后一级的若干个子节点上。

作为上述实施方式的优选,建立解析器,还包括以下步骤:

在主解析树、子解析树、解析节点、其他节点、解析子节点及其子节点上:

该实施方式中,编辑名称供识别与区分,进行命名的若干个解析器以列表形成呈现。供识别的标签的形式和内容,视个人需求而定,本发明不做具体限定。对解析器进行修改、编辑以及删除的操作,具体地,修改指的是修改对应的解析器名称、数据类型和标签;编辑指的是关联跳转至解析器gui30的一般模式单元、复合模式单元、规则编辑栏以及,通过拖拽选择添加至少一个模式至规则编辑栏中进行编辑,形成分类规则或解析规则,显示样本数据中与解析规则对应的字段值名;删除指的是删除子解析树、解析节点、解析子节点以及子节点等操作。

在主解析树、子解析树、解析节点以及解析子节点上:

该实施方式中,将一个解析树上的一个节点上复制粘贴到另外一棵解析树上以新建一个节点,或者在同一棵解析树内复制一个节点后粘贴该节点以新建一个节点,因此,可以改变节点之间的相对位置。

综合上述说明,还需要补充的是,至于解析树、解析节点以及解析子节点的数量,还有非以树节点方式逐级添加子节点的级数以及每级里子节点的数量,均是视样本数据的分类需求而定,本发明不做具体限定。

作为上述实施方式的优选,如图5所示,步骤s40中,编辑分类规则或解析规则,包括以下步骤:

s41,启动规则编辑栏;

s42,若编辑分类规则,则选择至少一种正向规则和/或反向规则后,调用至少一个模式编辑形成分类规则,应用到对应的数据,对数据进行分类;

s43,若编辑解析规则,选择至少一个模式拖拽至规则编辑栏进行编辑,形成解析规则,应用到对应的数据中,对数据进行解析。

该实施方式中,图6为分类规则和解析规则编辑的示意图。另外,步骤s40作为优选,定义复合模式用来编辑复杂的规则,以解析复杂的日志,并可以对复合模式本身和/或一般模式形成的规则进行编辑的规则元素。通过上述解析器对样本数据解析后,可获得与分类规则和解析规则对应的字段显示,具体为显示对应的至少一段数据记录的字段值命名。为了区别不同解析规则的解析结果,对不同解析规则解析出的字段值命名进行不同颜色的突出显示,以便立即看到样本数据解析内容的每一个改变,为开发人员提供交互式设计体验。

作为上述实施方式的优选,显示解析完成的样本数据的字段值名后,还包括步骤:

下载、存储、部署、复用解析器,在gui上将解析器发送到实际使用环境部署,解析结果输入至数据分析的下一步骤。

该实施方式中,显示与编辑栏放入的至少一个模式编辑对应的至少一条数据记录的字段值的命名后,在gui上点击将解析器发送到实际使用环境部署,解析结果输入至数据分析的下一步骤。或者点击存储为本地文件,若下次有类似解析需求,可再上传该解析器供使用。

需要补充说明的是,应用解析规则要求规则和样本数据中的每一行数据记录完全匹配,这意味着如果规则中有任何错误,匹配过程就会失败。这是基于规则表达式解析系统的主要缺点,一个很长的规则包含几十种模式(相当于一个正则表达式有几百个字符到几千字符),这样的正则表达式就很难有效开发或调试。而本发明提供的解析器,可以快速开发长规则。在需要制定一个长规则时,开发人员不需要一次性完成制定整个规则,相反,只需要在样本数据的开始位置放置相匹配的模式,样本数据的所有剩余部分会自动显示成灰色,表明需要进一步解析。如果该过程有错,错误附近的模式和文本都会自动显示成灰色。因此,本发明提供的数据解析器,可以适用于解析结构化数据、半结构化数据和非结构化数据,例如从计算机服务器、网络设备、软件应用、数据库系统等获取的日志数据。

本发明提供的从非结构化数据提取结构化数据的方法,基于树节点方式以及图形化用户界面,上传待解析的样本数据后,调用解析器数据库中的至少一个模式进行编辑形成解析规则保存到解析器,形成解析器,以选取样本数据中与解析规则对应的字段并显示;整个解析过程,基于图形化界面,操作灵活,无需面对编程文件,利于开发、更新与维护。因为创建解析树、各种类型的节点、给每个节点设置用于分类的标签、编辑分类规则、删除节点等操作,工作人员可以随着开发的增量进行数据分类的思考,并随时对开发过程中任何一个环节进行更改,而不使开发过程停滞,不需要提前准备好开发过程中的所有决定,有利于解析器的开发、维护,特别是后期的不断优化与更新。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

THE END
1.数据架构设计与优化策略的深度探索天翼云开发者社区在当今信息化高速发展的时代,数据已成为企业最重要的资产之一。如何有效地管理和利用数据,成为企业提升竞争力、实现业务增长的关键。作为开发工程师,深入探索数据架构设计与优化策略,构建高效、稳定、可扩展的数据架构,对于企业的数据管理和应用至关重要。本文将围绕数https://www.ctyun.cn/developer/article/624399106633797
2.管家婆一码一肖100中奖,深度解答解释落实eh43.01.72结构化数据(Structured Data):指那些按照一定格式组织起来的数据,如数据库中的表格数据,这些数据易于存储和处理。 非结构化数据(Unstructured Data):包括文本、图像、视频等形式的数据,这类数据没有固定的结构,因此难以直接进行分析。 2. 数据分析的目的 https://jlyptech.cn/post/1857.html
3.结构化半结构化和非结构化数据腾讯云开发者社区结构化、半结构化和非结构化数据 一、结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例子: 代码语言:javascript 复制 id name age gender1Liu Yi20male2Chen Er35female3Zhang San28https://cloud.tencent.com/developer/article/1351609
4.结构化数据半结构化数据非结构化数据通过这样的数据格式,可以自由地表达很多有用的信息,包括自我描述信息(元数据)。所以,半结构化数据的扩展性是很好的。 非结构化数据 顾名思义,就是没有固定结构的数据。各种文档、图片、视频/音频等都属于非结构化数据。对于这类数据,我们一般直接整体进行存储,而且一般存储为二进制的数据格式。https://wenku.baidu.com/view/2b8c19a72bea81c758f5f61fb7360b4c2e3f2a2a.html
5.信息公开专栏一、?结构化数据与非结构化数据 结构化数据和非结构化数据作为大数据的两种类型,二者本身不存在真正的冲突,只是随着网络科技、信息通信等技术的不断发展,数据产生方式多,数据量大,形式不再单一,原有的计算机信息处理技术不能满足需求,于是人为地将数据分为结构化数据和非结构化数据,并针对非结构化数据处理提出了新https://www.changzhi.gov.cn/xxgkml/zfxxgkml/szfgzbm/czstjj/czsrmzf/tjxx_1188/sjfxhjd/202207/t20220704_2588893.shtml
6.结构化数据与非结构化数据结构化数据和非结构化数据结构化数据与非结构化数据 在数据科学和数据库管理中,我们经常会听到“结构化数据”和“非结构化数据”这两个术语。这篇博客将详细介绍这两者的定义、区别以及它们的应用场景,并通过具体的例子帮助大家更好地理解。 1. 结构化数据 定义:结构化数据是指按照预定义的数据模型进行组织的数据,通常存储在关系数据库中,https://blog.csdn.net/qq_44154915/article/details/140322918
7.结构化数据与非结构化数据的差异结构化数据与非结构化数据对比 结构化数据和非结构化数据都可以由人或机器生成,但它们之间有一些明显的区别。特别是,非结构化数据的不规则性和模糊行为使得使用传统程序难以理解。 随着现代技术的发展和发明,从非结构化数据中分析和获得新的见解变得越来越容易。将非结构化数据转换为结构化数据可以使其更容易、更有效https://www.modb.pro/db/407619
8.了解结构化数据与非结构化数据的差异数据用途广泛,有多种形式,并且可以通过多种方式进行组织。一种常见的分类是结构化或非结构化数据,具有不同的存储、处理和分析方法。了解这些差异有助于从任何数据集中提取有价值的见解。 结构化数据与非结构化数据:主要区别 结构化和非结构化数据在许多方面都有所不同。两者都使用不同的工具和方法来处理和分析信息https://www.360doc.cn/article/68899713_1124424478.html
9.结构化与非结构化的区别多源异构数据源半结构化数据①结构化数据:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。 ②非结构化数据:指数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。如word、pdf、ppt及各种格式的图片、视频等。 https://www.fanruan.com/bw/doc/154297
10.什么是结构化半结构化和非结构化数据?①结构化数据:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。 ②非结构化数据:指数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。如word、pdf、ppt及各种格式的图片、视频等。 https://it.ynnu.edu.cn/info/1054/2898.htm
11.非结构化数据管理平台研究与建设非结构化 海量存储 集中管理 版本控制 安全管控https://www.cnki.com.cn/Article/CJFDTotal-DXXH201202023.htm
12.非结构化数据分析技术非结构化数据主要包括非结构化数据是数据结构不规则或者说是不完整,没有预设的数据模型或者结构,不便使用数据库、模型及标准的数据接口表现的数据,包括所有格式的文本、图片、各类报表、图像、音频、视频数据等。 计算机信息化系统中的数据分为结构化数据和非结构化数据。非结构化数据的形式非常多样,标准也具有多样性(即标准不确定),同时在https://blog.51cto.com/u_16099165/6757640
13.IBMCloudObjectStorage在银行业非结构化数据存储嘲下的对象优化整体存储方案的成本结构,保护既有存储资产的前提下能够突破海量数据的存储的限制。 从存储本身考虑,在扩展性、性价比、可用可靠性上,由于对象存储技术的出现找到新的平衡点。 银行业传统的方式全部数据使用集中高端存储,没有实现优化的分层存储架构,带来的问题是非结构化数据影像整体存储性能,并且这些数据长期存放与https://redhat.talkwithtrend.com/Article/242823
14.什么是非结构化数据?我们所处理的数据分为三类,分别是规格化数据、半结构化数据以及非结构化数据,其中非结构化数据的定义为:呈现出不规则且无明显结构特征的数据。 -规格化数据:数据与字段相对应,数据以表格和数据集形式存在。 -半结构化数据:这种数据形态介于规格化数据和非结构化数据之间,方法是结合不明晰的规则来补足规格化数据的缺陷。https://www.filez.com/news/detail/faee08ab6bdc85c2d6216e4773bcc01f.html
15.非结构化数据(UnstructuredData)数据采集名词数据库和CMS 2023-10-26 11:15:48 浏览6865 次 摘要:非结构化数据是指那些没有明确定义格式或结构的数据,通常以自由文本、多媒体内容、社交媒体帖子、图像、音频和视频等形式存在。与结构化数据(如数据库表)不同,非结构化数据的组织和解释通常需要更多的上下文和语境。 https://www.houyicaiji.com/?type=post&pid=12136
16.什么是结构化数据和非结构化数据?零代码知识中心二、什么是非结构化数据? 顾名思义,其他所有不能按照行列格式整齐排列的数据都是结构化数据,如录音、视频片段、图像、社交媒体帖子、电子邮件内容、客户服务聊天记录、机器传感器数据等等。据 Gartner 估计,非结构化数据约占企业所有数据的 80%,来自其他机构的估计甚至更高。 https://www.jiandaoyun.com/fe/gdyqhj/
17.结构化数据和非结构化数据的区别阿里云为您提供结构化数据和非结构化数据的区别相关的70498条产品文档内容及常见问题解答内容,还有等云计算产品文档及常见问题解答。如果您想了解更多云计算产品,就来阿里云帮助文档查看吧,阿里云帮助文档地址https://help.aliyun.com/。https://help.aliyun.com/wordpower/447655-1.html
18.什么是非结构化数据(unstructureddata)?机器之心随着AI和5G时代的到来,我们对信息的渴望被极大的唤起,常规的结构化数据交互已经不能满足人们的需求,而伴随着数字化的快速发展,非结构化数据扮演起越来越重要的角色,图片、视频、语音蕴含的丰富信息将被广泛利用。然而真正能够使用并且管理非结构化数据是现在人工智能领域的一大问题。 https://www.jiqizhixin.com/articles/2020-05-20-10