CN109522452B - 一种海量半结构化数据的处理方法 - Google Patents
一种海量半结构化数据的处理方法 Download PDFInfo
- Publication number
- CN109522452B CN109522452B CN201811346745.8A CN201811346745A CN109522452B CN 109522452 B CN109522452 B CN 109522452B CN 201811346745 A CN201811346745 A CN 201811346745A CN 109522452 B CN109522452 B CN 109522452B
- Authority
- CN
- China
- Prior art keywords
- header
- data
- attribute
- row
- data item
- 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
Classifications
-
- 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/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种海量半结构化数据的处理方法,所述方法包括表头识别和表头分类;所述表头识别发现表头信息以及定位单元格的属性,在excel表格中定位到表头所在行,如果该excel表格没有表头则以列索引值作为该sheet表的表头信息;在表头识别过程中,通过属性校验和数据类型校验来定位该单元格的属性;所述表头分类通过表头属性对字段角色进行分类,用以将已经定位到的表头单元格属性结合相关数据项进行打标分类。本发明所公开的方法,对于无表头或是有合并单元格的表头情况依然能够解决,对于重复属性能根据表头放进模型进行有效区分。
Description
技术领域
本发明公开了一种海量半结构化数据的处理方法,涉及数据处理方法技术领域。
背景技术
随着信息化战略整体成效的不断呈现,各行各业的信息化能应用产生了大量的数据。在海量数据中,有规则的“关系型”数据往往是比较好处理的,“非关系型”数据却常常被人忽视。对于excel表格这类“非关系型”数据而言,我们不难发现这类文件所承载的信息量还是很大的,并且具有更强的真实性和鲜活性。市面上绝大多数的对于excel表格的处理,多半是通过手动录入后人工识别的方法来寻找表头,而真正的痛点也就在于找到一个sheet的表头所在行。在众多的excel表中隐藏着很多的有用信息,但每个excel表单格式规范均不统一,即便是同一个excel表中也会有多个sheet样式不同的情况出现。试想通过人工筛选的方法从中这些表格中提取出有用字段信息必然费时费力。
发明内容
本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种海量半结构化数据的处理方法,将各类杂乱无章的excel表格数据整理成规则的json格式文件,便于后续的入库或相关操作。本发明所公开的方法能够做到精准识别出每个sheet样式的表头所在行,然后通过对该行每个单元格所在列的数据项去校验该表头单元格的属性。通过机器学习相关模型能对识别出的属性进行分类。可作为EXCEL表格的处理方法。
本发明为解决上述技术问题采用以下技术方案:
一种海量半结构化数据的处理方法,所述方法包括表头识别和表头分类,其中,
所述表头识别发现表头信息以及定位单元格的属性,在excel表格中定位到表头所在行,如果该excel表格没有表头则以列索引值作为该sheet表的表头信息;
在表头识别过程中,通过属性校验和数据类型校验来定位该单元格的属性;
所述表头分类通过表头属性对字段角色进行分类,用以将已经定位到的表头单元格属性结合相关数据项进行打标分类。
作为本发明的进一步优选方案,表头识别过程中,所述属性校验的方法为:根据校验算法对数据进行校验,以判别该单元格所包含数据是否为可用数据,并进一步判断数据的数据类型;所述数据类型校验中,表格的数据类型包括空、文本、数值、日期、逻辑和出错六种。
作为本发明的进一步优选方案,表头识别过程中,将Excel表格中每行数据分为数据项和非数据项,其中,所述数据项是该行数据指包含任意一种属性,或者,该行数据中单元格数据类型为日期数字或者布尔;所述非数据项是指该行数据为表头所在行,并且为字符型的单元格的个数应该等于整张sheet表中的有效列数或者占比整张sheet表的有效列数的比率大于设定的阈值。
作为本发明的进一步优选方案,表头识别过程中:
401、当确定表格中的某行数据为数据项时,判断该行的上一行为表头;
402、如果表格中的某行数据所对应属性类型超过有效列的一半,并且至少包含一种校验属性或者布尔型和日期数字型数据的数量大于设定的阈值,则判断该行是假定数据项;
403、经过402的判断后,如果该假定数据项的上一行有效列大于90%,则判断该行为数据项,否则为备份表头;
404、找到表头所在行之后,对表头所在行中单元格的所在列,随机抽取该列的数据项进行属性校验,从而确定该列属性;
405、多个属于同一种属性的列,通过SVM模型,根据设定的标签属性对重复属性进行划分,通过固化类别来进行分类处理。
所述步骤405中,对于未确定字段,在数据输出结构中设置其他有效属性类别进行存放。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、对于无表头或是有合并单元格的表头情况依然能够解决。
2、对于多个属于同一种属性的列能根据表头放进模型进行有效区分。
附图说明
图1是本发明的流程示意图。
图2是本发明中,提取的结构化数据示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明所公开的方法主要包括表头识别与表头分类两大类,所述表头识别用以发现表头信息以及定位单元格的属性,所述表头分类是通过表头属性对字段角色进行分类。表头识别模块负责提供精准的表头定位,而表头分类模块则负责将已经定位到的表头单元格属性结合相关数据项进行打标分类。
表头识别主要是能够从各种样式的excel表格中精准定位到表头所在行,如果该表没有表头则以列索引值作为该sheet页的表头信息。
在各类excel表格文件中,每个单元格都可以通过属性校验和数据类型校验来定位该单元格的基本特性。属性校验是指:根据相关校验算法对需要的数据进行校验,以判别该单元格所包含数据是否为可用数据,如果可用应该是哪一类数据;数据类型校验是指:在excel表中,除单元格所包含数据具有一定属性外,表格本身也具有一定的数据类型,如空、文本、数值、日期、逻辑和出错共六种类型。每种数据类型均由数据录入时自定义而来。
对于一个普通sheet表而言,可将每行数据大体分为数据项和非数据项两种类型。其中,数据项是指包含任意一种属性,或者单元格数据类型为日期、布尔等。非数据项主要是指表头所在行,因为在有表头信息的前提下该行处在首个数据项上方,理论上该行中的每个单元格数据类型多半为文本型,并且为字符型的单元格的个数应该等于整张sheet表的有效列数或者占比整张sheet表的有效列数的比率大于某个阈值。
本发明的具体流程如图1所示:
如果能确定该行是数据项,那么该行上面的即为表头,表头所在行的单元格属性一般为字符型,并且列数接近表格有效列。
如果该行所对应属性类型超过有效列的一半,并且至少包含一种校验属性或者布尔型和日期数字型包含较多,则认为该行是假定数据项。如果该假定数据项的上一行有效列大于90%,则该行为数据项,否则为备份表头。对于有效列大于50%的行可将其加入到备份表头当中。
找到表头所在行之后,对表头所在行中单元格的所在列,随机抽取该列的数据项,最多50个进行属性校验,从而确定该列属性。
对于重复属性的有值列,通过SVM模型,根据事先已打好的标签属性对重复属性进行划分,目前是通过固化类别来进行分类处理。对于未确定字段则放在其他有效属性里头。提取的结构化数据如图2所示,其中类别和属性均为自己定义选取。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (3)
1.一种海量半结构化数据的处理方法,其特征在于:所述方法包括表头识别和表头分类,其中,
所述表头识别发现表头信息以及定位单元格的属性,在excel表格中定位到表头所在行,如果该excel表格没有表头则以列索引值作为该excel表格当前页sheet表的表头信息;
在表头识别过程中,通过属性校验和数据类型校验来定位该单元格的属性;将Excel表格中每行数据分为数据项和非数据项,其中,
所述数据项是指该行数据包含任意一种属性,或者,该行数据中单元格数据类型为日期数字或者布尔;
所述非数据项是指该行数据为表头所在行,并且为字符型的单元格的个数应该等于整张sheet表中的有效列数或者占比整张sheet表的有效列数的比率大于设定的阈值;
表头识别过程中:
401、当确定表格中的某行数据为首个数据项时,判断该行的上一行为表头;
402、如果表格中的某行数据所对应属性类型超过有效列的一半,并且至少包含一种校验属性或者布尔型和日期数字型数据的数量大于设定的阈值,则判断该行是假定数据项;
403、经过402的判断后,如果该假定数据项的上一行有效列大于90%,则判断该行为数据项,否则为备份表头;
404、找到表头所在行之后,对表头所在行中单元格的所在列,随机抽取该列的数据项进行属性校验,从而确定该列属性;
405、多个属于同一种属性的列,通过SVM模型,根据设定的标签属性对重复属性进行划分,通过固化类别来进行分类处理;
所述表头分类通过表头属性对字段角色进行分类,用以将已经定位到的表头单元格属性结合相关数据项进行打标分类。
2.如权利要求1所述的一种海量半结构化数据的处理方法,其特征在于:表头识别过程中,
所述属性校验的方法为:根据校验算法对数据进行校验,以判别该单元格所包含数据是否为可用数据,并进一步判断数据的数据类型;
所述数据类型校验中,表格的数据类型包括null、string、number、date、boolean和error六种。
3.如权利要求1所述的一种海量半结构化数据的处理方法,其特征在于:所述步骤405中,对于未确定字段,在数据输出结构中设置其他有效属性类别进行存放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811346745.8A CN109522452B (zh) | 2018-11-13 | 2018-11-13 | 一种海量半结构化数据的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811346745.8A CN109522452B (zh) | 2018-11-13 | 2018-11-13 | 一种海量半结构化数据的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522452A CN109522452A (zh) | 2019-03-26 |
CN109522452B true CN109522452B (zh) | 2023-09-05 |
Family
ID=65776406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811346745.8A Active CN109522452B (zh) | 2018-11-13 | 2018-11-13 | 一种海量半结构化数据的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522452B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309131A (zh) * | 2019-04-12 | 2019-10-08 | 北京星网锐捷网络技术有限公司 | 海量结构化数据的质量评估方法及装置 |
CN110362620B (zh) * | 2019-07-11 | 2021-04-06 | 南京烽火星空通信发展有限公司 | 一种基于机器学习的表格数据结构化方法 |
CN111046632B (zh) * | 2019-11-29 | 2023-11-10 | 智器云南京信息科技有限公司 | 一种数据提取转换方法、系统、存储介质及电子设备 |
CN111241795B (zh) * | 2020-01-06 | 2023-05-23 | 湖南特能博世科技有限公司 | 业务表单提取方法和装置 |
CN112270165A (zh) * | 2020-10-19 | 2021-01-26 | 中译语通科技股份有限公司 | 一种表格的处理方法、装置、介质和电子设备 |
CN113010503B (zh) * | 2021-03-01 | 2024-07-19 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
CN113255566B (zh) * | 2021-06-11 | 2022-12-06 | 支付宝(杭州)信息技术有限公司 | 表格图像识别方法及装置 |
CN114357954A (zh) * | 2021-12-29 | 2022-04-15 | 北京字跳网络技术有限公司 | 一种表格数据验证方法、装置、设备及介质 |
CN114510912B (zh) * | 2022-04-20 | 2022-07-08 | 佳瑛科技有限公司 | 基于分布式系统对电子表格进行分类的方法和系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488073A (zh) * | 2014-09-26 | 2016-04-13 | 北京神州泰岳软件股份有限公司 | 一种生成报表表头的方法和装置 |
CN107274291A (zh) * | 2017-06-21 | 2017-10-20 | 深圳泛态信息技术有限公司 | 跨平台的估值表解析方法、存储介质及应用服务器 |
CN108763185A (zh) * | 2018-05-31 | 2018-11-06 | 苏州市计量测试院 | Excel文件的校验方法及系统 |
-
2018
- 2018-11-13 CN CN201811346745.8A patent/CN109522452B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488073A (zh) * | 2014-09-26 | 2016-04-13 | 北京神州泰岳软件股份有限公司 | 一种生成报表表头的方法和装置 |
CN107274291A (zh) * | 2017-06-21 | 2017-10-20 | 深圳泛态信息技术有限公司 | 跨平台的估值表解析方法、存储介质及应用服务器 |
CN108763185A (zh) * | 2018-05-31 | 2018-11-06 | 苏州市计量测试院 | Excel文件的校验方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109522452A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522452B (zh) | 一种海量半结构化数据的处理方法 | |
CN104731941B (zh) | 一种基于xbrl技术从非结构化财务报告抓取数据的方法 | |
CN104517112B (zh) | 一种表格识别方法与系统 | |
CN108664538B (zh) | 一种输变电设备疑似家族性缺陷的自动辨识方法及系统 | |
CN109510737A (zh) | 协议接口测试方法、装置、计算机设备和存储介质 | |
CN104112026B (zh) | 一种短信文本分类方法及系统 | |
CN106709032A (zh) | 抽取电子表格文档中结构化信息的方法及装置 | |
CN106446072B (zh) | 网页内容的处理方法和装置 | |
US10628403B2 (en) | Annotation system for extracting attributes from electronic data structures | |
CN109241527B (zh) | 一种中文商品虚假评论数据集自动生成方法 | |
CN106815208A (zh) | 法律裁判文书的解析方法及装置 | |
CN103605651A (zh) | 一种基于olap多维分析的数据处理展现方法 | |
CN103164701B (zh) | 手写体数字识别方法及装置 | |
CN106777259A (zh) | 自适应抽取HTML Table标签中结构化信息的方法及装置 | |
CN102929930A (zh) | 小样本自动化Web文本数据抽取模板生成与抽取方法 | |
CN112463971A (zh) | 一种基于层级组合模型的电商商品分类方法及系统 | |
CN105279089B (zh) | 一种获取页面元素的方法及装置 | |
CN101147160A (zh) | 自适应分类器以及建立其分类参数的方法 | |
CN103761221A (zh) | 用于识别敏感文本信息的系统和方法 | |
CN109857912A (zh) | 一种字形识别方法、电子设备及存储介质 | |
CN107895117A (zh) | 恶意代码标注方法和装置 | |
Baralis et al. | I‐prune: Item selection for associative classification | |
CN105488599A (zh) | 预测文章热度的方法和装置 | |
CN104133836B (zh) | 一种实现变更数据检测的方法及装置 | |
CN109543038A (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 |