DatistEQ之Word内容抽取

作者: 了无_数据科学 | 来源:发表于2020-07-19 10:00 被阅读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)。 

二、流程评估

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

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

数据抽取结果评估:

数据抽取结果评估

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

异常数据分析

结论

  • 通过“5+1法”解析Word文本文件,条理清楚,方法可行,易于操作;前4步不断缩小目标范围,第5步精准解析;
  • 文本解析工作主要借助于特征字符的定位与抽取;

相关文章

  • DatistEQ之Word内容抽取

    百度百科:调查表就是运用科学的方法系统地搜集、记录、整理和分析有关市场的信息资料,从而了解市场发展变化的现状和趋势...

  • DatistEQ之抽取文本内容

    V 2022 Q2版 数据处理过程中,时常会遇到从字符串中提取特定内容的场景,如从FTP的连接串中,抽取用户名。 ...

  • DatistEQ之智能解析的三种取值方式

    在文章《DatistEQ之批量抽取仪器状态数据》[https://www.jianshu.com/p/028248...

  • DatistEQ之拆分仪器状态数据

    在前文《DatistEQ之批量抽取仪器状态数据[https://www.jianshu.com/p/028248e...

  • DatistEQ云之文件服务异常

    最近一段时,一直在进行DatistEQ云平台的研发,在测试通过DatistEQ提供Word文件时,发现文件下载后,...

  • DatistEQ之批量抽取仪器状态数据

    生产过程中,加班整理Excel报表是一种常见工作状态。从大量的报表中的抽取数据,是“表哥表姐”的基本技能。Dati...

  • DatistEQ之内容替换

    内容替换是数据专家中最常用的功能之一,它把原有的内容替换成新的内容,常见文本的标准化,数值的规范化等应用场景中。整...

  • Solr-富文本索引

    Solr支持从富文本文件中,如pdf,word中抽取内容建立索引。 首先,需要配置支持这一功能的requestHa...

  • DatistEQ之重构

    近期全身心地投入到底层的代码重构之中,与十年来的自己对话,翻阅十年来的所有代码,从每一行至每个类,从接口到代码功能...

  • 新闻内容抽取总结

    一、目前现状 目前对新闻内容的抽取主要有两个方向, 1.基于网页规则的抽取,使用xpath进行抽取,准确性更高,但...

网友评论

    本文标题:DatistEQ之Word内容抽取

    本文链接:https://www.haomeiwen.com/subject/aprlkktx.html