地震会商技术系统地震数据专家[DataEQ]

DatistEQ之Word内容抽取

2020-07-19  本文已影响0人  了无_数据科学

百度百科:调查表就是运用科学的方法系统地搜集、记录、整理和分析有关市场的信息资料,从而了解市场发展变化的现状和趋势,为企业经营决策、广告策划、广告写作提供科学的依据而制定的表格化文件。在大数据的时代背景下,人们可以通过手机信令数据、网络爬虫技术进行数据挖掘,以代替传统的市场调查;当前在传统行业中,进行主动式精准化的企业发展现状研究,调查表仍发挥着不可或缺的作用。

调查表是一种典型的非结构化文档。通常以表式形式下发到岗位人员,然后汇集、整理、统计,编写调查报告。调查表的格式相对固定,部分内容由被调查者主观发挥,这使得数据格式与内容的自由度很大,给整理与统计带来巨大的工作量。

数据收集过程中,我们使用调查表,或是收集类似的表格数据,这些数据常以Word、PDF等形式出现,这些文档很难用关系型的二维逻辑表来表现。这类文档提取与应用过程烦琐、工作量大。在多年的实践中,我们总结出了非结构化文档解析“5+1”的方法(抽取数据五步+流程评估)。

一、五步数据抽取

  1. 载入数据:通过Word、PDF、TXT、数据引擎等数据源节点,将数据加载到数据专家中。
  2. 预处理:文本规范化处理,处理一些共性的问题,如删除不可见字符、规范化名称表述等,使不同来源的数据趋于一致。
  3. 分而治之:同一种文件格式,如Word文件;通常有多种不同类型文档,如钻井表格、试油表格等,它们的内容差异较大。因此,区分文档类型有助于减少分支流程的耦合度。
  4. 过滤噪声:我们想从文档抽取的信息是一定,剔除目标信息之外大量的噪声数据,从而减少对数据处理过程的干扰,如填写需知、标题等文本噪音。
  5. 信息抽取:使用文本处理节点及函数,根据报告的特征字符抽取数据。
数据抽取五式

下面就以数据产生情况调查表为例,来揭示Word文档解析奥秘,破译非结构化文档解析的密码。 数字化小组调查表及数据解析流程如下:

数字化小组调查表 数据解析流程

1) 载入数据

通过Word节点将所有调查表加载到数据专家中。

  • Word节点支持加载单个文件、某个目录下的所有文件的功能。
  • 调查表中的字体的颜色、加粗等样式,具体有实际意义,因此需要输出文本的段落样式。
加载Word文档

Word数据源节点,将所有文档全加载进来,输出项包括:文件名称、内容类型、内容编号及内容(Paragraph)。

Word文档预览

2) 预处理(文本规范化)

规范化预处理,主要目标是减少文本内容的自由度。

A. 标记调查表:通过上一步的载入数据后,形成了一个大数据表,因此需要对调查表进行编号,以区分不同的调查表。这里使用标题行对应的行号作为调查表的编号(报告ID)。
B. 规范化文本表达:通过删除空行、删除不可见字符、删除无效格式、替换不规范标记、替换特殊格式等方法,以减少文本内容的自由度。

文本规范化

经过文本规范化预处理生成Paragraph2列,使得多个调查报告的内容趋于一致,为后续的解析工作打下坚实基础。

文本规范化结果

3) 分而治之

一次调研工作可能涉及很多方面的内容,涉及的调查内容、数据格式不尽相同,如数据来源、数据用途等。

通过分类,区别不同类型的调查表,然后对每一种类型的调查表,分别进行数据提取工作。其中分类工作主要通过一系列的筛选节点实现。

4) 剔除无用文本

调查表为填写方便,设计了很多提示性信息,如填表需知等,这些信息仅为填表服务,而需要入库。通过一系列筛选节点,将这些无用的文本从流程中剔除。

5) 文本抽取

经过前面4步的准备,进入实质性数据提取阶段,抽取调查表的具体内容。抽取过程,主要是通过特征字符标记,来进行内容的定位与提取。

文本抽取

文本解析常用函数列表:

1、SubStrBetweenS(STRING,SubString1,SubString2)
抽取STRING中SubString1-SubString2之间的字符串。

2、RemoveBetweenS(STRING,SubString1,SubString2)
删除STRING中SubString1-SubString2之间的字符。

3、RemoveString(STRING,STRING1,STRING2,…)
从字符串STRING中,删除字符串STRING1,STRING2,…

4、RemoveBreakAndSpace(STRING)
删除字符串中的回车、中英文空格、制表符。

5、ReplaceBetweenS(STRING,SubString1,SubString2,ReplaceString)
用ReplaceString替换STRING中SubString1-SubString2之间的字符。

6、HasSubString(STRING,SUBSTRING)
如果STRING中包含SUBSTRING,返回真(1),否则返回假(0)。

7、IsNullOrWhiteSpace(Item)
非空值和非空格判断,如果表达式Item的值为空、空格,返回真(1),否则返回假(0)。 

二、流程评估

一个项目、一次研究总有些惊喜,总有一些奇葩事件来刷新我们的认知。流程按照特定的规则运行,抽取符合规则的文档,剔除规则之外的部分,那么规则是否与实际情况吻合呢?这就需要对流程进行评估。

这里通过扫描目录节点,加载所有原始调查表的目录信息,再与解析结果进行匹配,提取没有匹配的部分,再逐一进行文件判识、改进流程。

数据抽取结果评估:

数据抽取结果评估

异常数据分析,使用数据浏览器中的数据钻取功能,可以快速打开原始调查表文件。使用右键菜单的本地浏览功能,或是双击文档的路径。

异常数据分析

结论

上一篇 下一篇

猜你喜欢

热点阅读