APP下载

非结构化数字资源元数据的抽取方式研究

2022-10-15张学青

江苏科技信息 2022年27期
关键词:结构化数据库规则

张学青

(中国国家图书馆,北京 100081)

0 引言

元数据仓储连通了多个数据库形成的信息孤岛,极大地提升了数字资源的利用效率,元数据经过专业的分类和组织,不仅能满足用户的检索需求,还能为用户提供深层次的数据挖掘和知识发现服务[1]。在元数据仓储的实际工作中,会遇到许多不同来源的数字资源。数据库等结构化资源比较容易获取元数据,而一些因各种原因缺少元数据的非结构化数字资源,获取就比较困难。这是很多图书馆非结构化数字资源利用率不高的一个重要原因,缺乏元数据的揭示,很难达到其他结构化资源的利用程度。研究非结构化数字资源的元数据抽取可以为非结构化数字的深度开发利用奠定基础,最终打破结构化数字资源与一般资源之间的界限,充分发挥大量的非结构化数字资源的价值。

1 文献综述

徐荣华[2]提出利用基于OAI-PMH 协议的收割中外文数据库元数据工具,收割支持OAI-PMH的开放资源的元数据,对于不支持OAI-PMH 的数据库利用基于网页分析的元数据抓取工具,抓取其中的元数据。梁蕙玮等[3]提出了搜集(Gathering)、采集(Harvesting)、联盟(Faderation)3个不同层次的策略来处理不同的数字资源,其中搜集是指对网络资源采取的策略,即通过基本的网络协议运用搜索引擎搜集完全开放的信息,在本地建索引库或全文数据库,实现信息资源整合的方法。张宏伟等[4]介绍了本地自建数据库、分布式自建数据库、外购数据库等几种不同资源的元数据采集方法以及采集过程要遵循的标准和注意事项。陈淑平[5]采用基于文档特征与规则模式匹配的方法实现了高校图书馆学位论文数据库的元数据抽取,取得了良好的效果。黎伟健等[6]从大数据的视角研究了非结构化数据的文本挖掘方法,总结出了一套海量文本分析流程,为海量文本的情感分析等研究提供了参考。周法国等[7]基于内在认知机理的知识发现理论,探讨了非结构化信息抽取中的关键技术,如:机器学习技术、篇章分析与理解技术等,对非结构化信息实体识别、关系识别都有涉及。

元数据仓储建设最关键、最基础的步骤是元数据采集,可以看到,以往对元数据采集研究的重点集中在传统馆藏数字化的资源和有良好结构的自建资源及外购资源上,对占比日益增多的非结构化数字资源研究还远远不够。而对非结构化数字信息的研究,主要是从自然语言处理、大数据等方向展开,缺少基于馆藏利用角度的研究。本文将从馆藏数字资源建设的角度,分析非结构化数字资源的特点,比较主流的元数据抽取技术,分析其优缺点,阐述其各自适应的场景,提出非结构数字资源元数据抽取的常用技术、总体思路与工作流程。

2 结构化数据与非结构化数据

各种数字资源按照组织形式可以分为结构化数据、非结构化数据两类,其中非结构化数据又可分为半结构化数据和完全无结构化数据[8]。

结构化的数据包含了定义明确的部分,并按照一定的结构组织。例如数据库中的记录就是结构化数据;常见的书目表,表的每行记录包含若干列,即字段,每个字段都有其明确的含义,如作者、书名出版社等。

这种记录表可以方便地导出相关的字段,经过清洗后加入元数据仓储。比如,查找书名包含“元数据”的图书信息:Selcet 著者, 题名 from 书目信息表 where 题名 like %元数据%。

因为数据库中的记录都是结构化的内容,组织良好,以上的SQL语句或类似的检索方法可以高效地找到和“元数据”相关的书目信息。

与结构化数据不同,非结构化数据无法用固定的格式组织和定义,也无法用SQL等类似的检索方法查找。如以txt格式保存的图书、论文,个人或组织提交的简历、申请,网络采集工具抓取到的网页、网络文章等都是非结构化数据。

还有一些数字信息,它们不像数据库记录那样有严格的结构,也不像堆在一起的文字一样毫无头绪,有自己固定的格式,每部分都有相对固定的语义。如常见的简历申请表等表格文件,其中单元格都有固定的意义;或者某些采集软件的日志,虽然采用了纯文字记录的方式,每一行都代表了某方面的信息,比如第一行都是采集任务名称、第二行都是任务状态,把这些抽取出来就获得了该次采集的描述信息,即元数据。实际工作中的非结构化数据大部分既包含半结构化部分,也包含无结构化部分。

非结构化数据(包括半结构化)的元数据无法直接从信息本身获得,需要在分析数据本身的特点之后,结合运用其他知识来进行。非结构化数据一般都是批量出现的,没有元数据这些信息将无法利用,或者利用效率非常低下。如果可以获取这些非结构化信息的元数据,将大大扩充元数据的应用范围,极大地提高利用效率与质量,为信息获取的智能化、智慧化奠定基础。

3 非结构化信息元数据抽取主要方法

由于非结构化信息具有数量大、无规律等特点,包含的元数据无法直接获得,人工提取的方式效率低下,这类信息的元数据抽取涉及许多其他技术。

广义上从各类数字资源中提取元数据属于信息抽取的范畴。信息抽取是从文本数据中抽取特定信息的一种自然语言处理技术。信息抽取可能会用到自动分词、命名实体识别、句法分析、文章分析、知识理解等自然语言处理技术。元数据抽取过程比一般的信息抽取关注的事实更为有限,很多类型的元数据不涉及对文本的理解,比如抽取一篇文章的题目更多的是根据格式信息,或者只涉及较浅层的理解,比如判断一篇文章的主题领域。

从信息抽取的角度,元数据抽取的方法可以分为基于统计与基于规则两大类。这两类方法在实现的难度、适应的范围上各有优缺点。其中基于规则的方法又称知识工程方法(Knowledge Engineering Appor-ach),基于统计的方法也称自动训练方法(Automa-tically Trainable System)。从自然语言处理的历史来看,这两种方法经历了不同的命运,基于规则的方法模仿了人对语言文字的认识过程,初期展现出了较好的效果;但随着网络技术的发展语料不断增多,获取更为容易,机器的计算能力大幅度提升,以及后来人工智能技术的发展,基于统计的方法展现出了强大的生命力,但很多情况下需要两种方法的结合[9]。

3.1 基于统计方法的元数据抽取与基于规则的元数据抽取

这两种方法主要的不同在于抽取依据。基于统计的方法要求语料库、计算机程序处理这些大规模真实文本后获得相关的元数据知识。语料的多样性、机器对大规模语料的分析能力会影响以后的抽取质量。在运算能力不足、语料库建设不便、机器学习等领域处于较低水平时,统计的方法表现平平。随着海量语料获得难度下降以及人工智能机器学习等高新技术的发展,基于统计的方法抽取质量会较以前有较大的提升。

基于规则的抽取方法不必事先建立语料库,但需要人工提供抽取依据,即将元数据抽取所需的知识形式化。在当前形势下,这种方法很多时候只能作为统计方法的一种辅助,但在一些特定情况下,基于规则的抽取方法有一定的用武之地。比如,一些大量却结构相对单一的数字资源,人工能比较容易地从中总结出相关元数据抽取需要的知识,基于规则的方法就能体现出它的优势,尤其是在半结构化数据元数据抽取中,基于规则的方法就有它的实用之处。

具体到非结构化数字资源元数据抽取,这两种方法各有其适应的场合。基于规则的方法适用的非结构化数据要有以下特点:(1)抽取规则比较明确或建立了比较完善的抽取规则;(2)数据领域比较固定或事先有词典表等领域知识;(3)机器学习成本较高难以实现;(4)只允许很低的错误率。

基于统计的方法适用的非结构化数据要有以下特点:(1)无明显的抽取标记;(2)数据领域不固定或缺少相关领域知识;(3)数据量大但比较适合机器学习从中总结规则;(4)能容许一定范围的错误率。

实际应用中,很多种情况需要两种方法的结合,甚至同一组元数据中采用不同的方法。半结构化的元数据或非结构化数据中半结构化部分的元数据非常适合采用基于规则的方法。常见可利用的规则包括:(1)元数据在文章中的位置、字体、表格等格式信息;(2)html、xml标签等标记信息;(3)特殊关键词提示信息等。

半结构化数据的抽取知识相对明确,不涉及或很少涉及对具体文本的理解,如果能把这些知识较好地形式化成抽取规则就能保证较低的错误率。

完全非结构化信息的元数据抽取主要采用基于统计的方法,有时需要基于规则的方法辅助甚至采取一定的人工调整以提升抽取正确率。由于非结构化信息的元数据要涉及不同程度的文本理解,抽取的过程要借助自然语言理解甚至人工智能相关的技术:(1)机器学习,从大量的训练文本中学习抽取规则;(2)文本分类,确定一篇文本的主题领域等相关知识;(3)自动文摘,生成一篇文本的内容概括;(4)知识挖掘,尝试挖掘一篇或多篇文本隐含的知识。

这些技术的主要基础是基于统计的自然语言处理方法,牵涉语义的理解,在相当长一段时间内机器没有很高的精确度。但随着人工智能和大数据相关技术的发展,这些自然语言处理技术的表现相比过去也有了质的提升。人工智能系统在确定句子语法结构上的能力已经接近人类能力的94%,从文档中找到既定问题答案的能力已经越来越接近人类[10],使得以前无法依靠语义判断进行的计算逐渐成为可能。

3.2 半结构化数据抽取实例

与完全非结构化数据相比,半结构化数据对计算机处理都比较友好。比如某阅读软件能从包含回目信息的txt文本文件中抽取目录,回目的标记在txt文本中比较明显(比如“第*章或第*回”的格式),是比较单纯的半结构化数据,这种抽取准确率较高。网络政府信息按照预先制定的规则抽取的元数据既有结构化内容也有非结构化内容,抽取时需要判断很多信息,容易出错,经常要人工调整才能得到较好的效果,如图1所示。

图1 网络政府信息元数据(部分)

下面以一个实例说明半结构化数据的元数据抽取的各个环节。

以上文提到的申请表为例,假设现在有大批Word文档格式的申请表,需要从中抽取出申请人的姓名、电话、部门、申请时间等元数据信息。申请表是Word文档的形式,但它用表格保存了相关的信息,每部分保存的信息也都相对明确,是典型的半结构化数据。

本文用Office自带的VBA处理相关数据,VBA即Visual Basic for Applications,它把所有Office里的元素(如文档、单元格等)都看作是一个对象并且通过操纵对象的方法来控制,目的是使已经存在的应用程序自动化。

申请表的每个单元格都表示特定的信息,第一行单元格填写申请者的姓名等个人信息,后面的其他单元格填写申请的具体内容等,是抽取的主要依据,主体代码与结果示例,如图2所示。

图2 主体代码与抽取结果

Excel读取Word文档中的数据,并把读取结果直接写入Excel表格中,有一定的实用性,直观地展现了从杂乱无章的“半结构”化数据中抽取出统一有序的元数据的过程。为了方便叙述,本例采用了比较简单的形式,在真实工作中根据非结构化数据的特点、元数据抽取要求等可能要调整更合适的抽取工具与方法,但总的流程与思路是类似的。

3.3 非结构化信息元数据抽取方法与思路

非结构化信息的元数据抽取要在此基础上进行。大多数情况下,非结构化数据不是完全非结构的,比如图1所示的网络政府信息的部分元数据,其中题名、关键词、转载来源等一般会在网页中有所提示,比如题名可能会有相应html标记或特殊的格式,关键词很多会在网页源文件中用html标记直接列出,对于此类元数据应该按照半结构化信息来处理,即制定规则形成抽取知识,主要利用基于规则的方法抽取,可以利用机器学习的方法使机器去“理解”这些人为规定的规则会更有效率。而体裁分类和主题分类等抽取则完全是非结构化的,需要基于对网络资源内容一定的“理解”来实现,涉及一些复杂的算法。

非结构化数字资源元数据抽取首先要将原始数据作一定的预处理,这一步不是本文重点,不作展开。将预处理后的资源按照元数据的内容作第一次分类,分成非结构化数据A和半结构化数据B,然后再对非结构化数据A作第二次分类,仍旧按照元数据内容分成非结构化部分A1和半结构化部分A2。最后对这些分好类的资源进行分批处理,利用事先制定好的抽取规则,采取基于规则的方法抽取A2和B部分的元数据,采取主要基于统计的方法抽取A1部分的元数据。抽取过程针对不同类型的元数据采取了完全不同的方法,半结构化的元数据抽取由于规则相对明确,可以保证较高的准确率,抽取前的调整和抽取后的修正可以把重点放在非结构化部分上,如图3所示。

图3 元数据抽取流程

4 结语

本文从元数据仓储建设的实际问题出发,分析了非结构化数据的特点及元数据抽取的难点,介绍了不同抽取方法各自适应的场景及其优缺点,在文章的最后以一个半结构化信息元数据抽取的实际例子说明了元数据抽取的一般思路,为非结构化数字资源的元数据抽取提供了一些参考。本文提到的非结构化数据主要是指文本,图片、视频、音频等非结构化数据的元数据处理则需要更多的抽取知识。

随着大数据时代的到来,图书馆收集保存的非结构化数字资源会越来越多,对非结构化数字资源合理利用的需求也会逐渐增大,方便快捷地获取这些资源的元数据将打通非结构化数字资源与其他结构化馆藏之间的障碍,促使大量的非结构化数字资源从“持有的数据”向“有效的馆藏”转变,希望这些研究分析能为未来高质量的非结构化数字资源的元数据抽取作少许铺垫。

猜你喜欢

结构化数据库规则
顾丽英:小学数学结构化教学的实践探索
借助问题情境,让结构化教学真实发生
撑竿跳规则的制定
深度学习的单元结构化教学实践与思考
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
奥斯卡的规则变了!
让规则不规则
数据库
采用C—NCAP 2006年版管理规则
数据库