论文部分内容阅读
摘 要:本文提出一种利用网页文本结构聚类从而抽取参考文献元数据的方法,并利用期刊论文的自有格式和同一网站结构相似的特征提取期刊论文的其余元数据。该方法首先将网页期刊论文进行文本块的划分,再利用正则表达式和文本结构的特性实现元数据的自动抽取。实验数据证明了该方法的有效性。
关键词:元数据;命名实体;信息抽取;正则表达式
中图分类号:TP311.52
目前,利用引文分析法进行科学评价研究已经相当成熟,而且涌现出大批成果,但是一般研究机构难以开展引文数据加工工作,因而也就无法利用第一手数据进行相关研究工作。究其原因:一是引文数据量太大,人力、物力有限;二是引文标注格式不统一,对加工人员的素质要求较高。如何克服大型数据库厂商的垄断,建立适合自己研究目的的引文数据库资源,成为业界关注的热点。
笔者在构建《医药卫生科学引文索引系统》过程中找到一种可行方法:因为各主流数据库厂商提供的期刊论文元数据网页都具有一定的排版规律,并且同一网站上的网页也呈现相似的结构。利用中国知网、万方数據、重庆维普等主流数据库厂商免费提供的题录数据,通过计算机程序自动抽取所需数据,主要包括来源文献数据、作者数据、引文索引数据三个方面,从而能够大大降低数据加工的时间成本。需要说明的是:主流数据库厂商的期刊论文元数据大部分为结构化网页,相关数据并不难识别,但是由于各数据项可能存在文本格式不同(例如,引文数据标注格式不统一、作者单位标注不统一)、原始数据录入错误(例如,数据库中的生僻字用图片代替、原始数据的年卷期页码错误)等各种问题,从而影响自动抽取的正确率,提高数据加工的时间成本。计算机程序只能抽取比较规范和相对规范的数据,对于极不规范的数据则无法处理,仍须由人工校对处理。
期刊论文元数据自动抽取方法主要有:(1)基于文本结构特征[1,2]形成抽取规则,进而抽取需要的元数据。文献[3]基于规则对元数据自动抽取,建立了规则的语法、语义和规则库;(2)基于OWL本体描述语言对期刊论文进行模式匹配[4,5]从而实现元数据自动抽取;(3)基于条件随机场模型[6],利用启发式搜索算法对论文头部的元数据信息进行提取。
利用主流数据库厂商免费提供的期刊论文元数据,固然可以大大减少构建引文索引系统的时间成本,但是因为各主流数据库厂商提供的期刊论文元数据网页都具有一定的排版规律,并且同一网站上的网页也呈现相似的结构,这个方法能够抽取网页中大部分的元数据,但没有对参考文献做进一步的元数据识别。上述方法在特定领域都表现不错,因此,笔者在利用文本结构特征识别主要元数据的前提下,进一步对作者单位及参考文献等元数据进行完整的识别和提取。利用单条作者单位、参考文献中的文本结构进行文本聚类,划分出各命名实体,达到一定条件下最优的抽取效率和最少的后期手工修正成本。
1 系统设计
本文的样本数据来源于万方医学期刊,网页格式为html和htm。由于期刊论文的格式具有普遍性(诸如论文题目下会紧跟作者名;参考文献在论文靠后的位置)。并且同一网站的网页格式是较为统一的,笔者通过html的树结构可以发现其网页期刊论文的布
在Title_Name集合中,论文的题名和作者名是整篇文档的重点信息,排版中一定会通过某种方式凸显,笔者在万方数据库中发现其一般是通过居中和加粗来体现。所以利用预处理阶段产生的居中粗体结点判断论文的题名。而元数据作者名的出现必然会在题名之后,并且也有居中结点作为识别依据。
对于Body集合,元数据在这个文本块出现的量很大,并且由于原始数据早期排版和录入的问题,各元素出现的次数、顺序具有不稳定性。对此,只能通过文本判断关键词(摘要、关键词、基金项目、文章编号、分类号、文献标识码、作者机构、等等)进行识别,然后在其之后的文字或相邻的结点抽取元数据。
Reference集合通过判断关键词:参考文献,Reference,Bibliography。在这些关键词的下面即可以获得引文数据,并且以每条引文的起始序号确定开始引文和结尾引文。
Date集合通过判别关键词:收稿日期、出版日期获得相应的元数据。
另外,利用各文本块的格式和顺序可以限定元数据的位置,避免误判的情况。
至此,大量的元数据已进行了抽取,但由于作者单位、参考文献都由多个元数据组成(其中包含人名、机构、期刊名等命名实体),很难直接识别。因此,笔者在下文针对作者单位和参考文献进行命名实体的识别,从而获得完整的期刊论文元数据。
2.3 元数据识别模块。针对作者单位和参考文献中的元数据在文本块定位模块中不能简单识别的问题,笔者设计了相应的元数据识别模块。由于来源数据存在排版、录入的问题,所以识别模块严格设定了判别条件,并捕获各种异常格式,以保证元数据采集的正确性和完整性。
2.3.1 作者单位。在作者单位信息中提取的元数据为:人名、机构、地区、邮编。样本网页中作者单位信息的格式为:人名(机构,地区,邮编)。通过观察可以发现这些元数据非常容易通过括号和空格符判断。实际情况中机构、地区、邮编这3个元数据出现的顺序和个数有时并不确定。对此,笔者利用它们的文本结构进行识别。处理顺序:1.邮编2.机构3.地区。特征:邮编为6位数字,机构结尾字是单位的单位字符(院、学、专、校、局、司、所、中心、室),地区结尾字可能是地区的单位字符(省、市、区、县、盟、旗、州)。
具体算法:第一步:通过分割符(空格符、逗号)分割为字符串数组。第二步,提取邮编且将其替换为空白符。第三步,提取机构且将其替换为空白符,如果有多个机构将其合并。最后在数组中余下的字符串是空白符和地区。
在第三步中笔者发现有一部分样本抽取不到地区,另外一个情况是抽取到多个地区。
抽取不到地区的解决方法:从机构中利用正则提取。抽取到多个地区的解决方法:通过地区单位(省、市、自治区、地区、县、盟、旗、自治州)和空格符分割成地区数组依次遍历中华人民共和国统计局提供的行政区代码表进行代码配对,即可以获得单位较高的地区(如:省、自治区)或单位较低的地区(如:市、县),然后根据需要留下其中的地区名。 2.3.2 参考文献。根据GB 7714《文后参考文献著录规则》及样本中的数据格式,参考文献可以通过句号划分成3个文本块,分别是:1.作者/机构名2.引用文献的题目3.详细来源。而实际处理中,笔者发现有以下情况不能简单通过句号进行划分文本块。1.排版格式问题。作者名之间的间隔符为句号。2.英文作者名中带有句号(如:Lee S.K)3.来源数据问题。引文内容不完整,年份录入错误和其他无法预料的情况。所以在元数据识别操作前先进行文本块的识别,以避免后期识别上的误判、漏判的情况。
由于利用语义进行文本块识别的代价过高,笔者仍利用引文的天然分隔符——句号,通过解决姓名中存在句号的情况来实现文本块的识别。
解决思路:以句号划分引文,利用各个文本块的特点进行文本聚类。在成功识别出3个文本块后进行详细的元数据识别。
定义:以句号划分单条引文,生成单条一维有序数据集数组D={x1,x2,…,xn},其元素依次为数据集的数据点。数据集的首元素x1和尾元素xn是初始种子,通过划分聚类将数据集聚集成2个部分。
单条引文是3个元素的有序文本块集合Reference={Author/Organization,Title,Source},文本块顺序Order(x)为元素在此条引文中出现的位置。Order(Author/Organization) 2.3.2.1 Author/Organization文本块的识别。第一步:以句号划分单条引文,生成有序数据集D1。符合Title和Source文本块特征的数据点向x1,n聚类。遍历数据集x1,2~x1,n-1,出现以下情况则当前的x~x1,n-1都与x1,n合并:(1)数据点中的英文单词数大于等于3且没逗号和句号(这种情况只可能是姓名);(2)数据点中有中文且字符长度大于等于6且没逗号和句号;(3)数据点中有~[] / :?《》等符号(这些只出现在题目、刊物类型、出版社、网址中);(4)数据点首字符不是大写英文或中文;第二步:将符合Author/Organization文本块特征的数据点向x1,1聚类。遍历块x1,n-1~x1,2,出现以下情况则与前一个x合并。(1)如果是单英文大写字符,之前加上句号和前数据点合并(例:Kim S和C合并生成Kim S.C);(2)如果含有逗号且逗号前后是大写英文字符,之前加上句號和前数据点合并(例:Prestigiacomo C和J,Kim S.C合并生成Prestigiacomo C.J,Kim S.C);第三步:消除字符为空的x,形成新的数据集D2。D2遍历x2,2~x2,n-1,如果是中文字符串且长度2~3,加上逗号和前块合并。如果是英文且符合英文名字格式的,加上逗号和前块合并。完成后消除字符为空的x,形成新的数据集D3。如果数据集D3只有2个数据点,那么成功的完成了聚类,即x3,1={Author/Organization},x3,2={Title,Source}。
2.3.2.2 Title和Source文本块的识别:第一步:通过正则判断x3,2中的元数据年,获得元数据年之前的Title、Source中的Journal/Press文本和元数据年开始的年、卷、期、页码、网址文本;第二步:以句号划分Title、Source中的Journal/Press文本,生成有序数据集D4。x4,1为title,x4,n为journal/Press,遍历x4,n-1~x4,2出现以下情况向x4,n合并。(1)数据点为中文,含“版”或“本”且字数小于5(例:第二版、石刻本);(2)单词只有2个且含ed(例:2ed、2nd edition);第三步:消除字符为空的x,形成新的数据集D5。如果数据集D5只有2个数据点,那么成功的完成了聚类,即x5,1={Title},x5,2={Journal/Press};第四步:利用正则提取元数据年开始的年、卷、期、页码、网址文本中的各种元数据。
2.4 异常数据记录模块。为了达到自动抽取的处理效率、正确率最大化和后期手工修正的成本最小化,笔者在之前的元数据识别模块中设计了严格的抽取规则。因此自动抽取系统需要一个异常数据记录模块记录所有捕获的异常,以便后期手工修正数据,以达到采集的100%正确率、完整性。异常数据记录模块会将网页的来源、异常文本等信息以统一的格式输出的各种文本文档中,以便手工修正模块的读入操作。
2.5 手工修正模块。在对网页进行自动抽取操作后,调用手工修正模块读入异常数据记录模块产生的格式文本文档,经过人工识别后将元数据添加、修改到数据库中。
2.6 数据补充模块。根据数据库的设计要求,元数据自动抽取系统设立了数据补充模块,主要功能为:组织机构码配对(获取组织机构码)、地区码配对(获取地区码)、ISSN编号配对(获取ISSN号)、刊物名配对(获取刊物的类型)、作者简介配对(作者简介与对应的作者相联系)、等等。
4 结束语
本文基于文本结构特征对网页期刊论文进行了大部分的元数据自动抽取实现,提出并实现了以文本结构聚类从而识别参考文献元数据的方法。实验结果达到比较理想的元数据识别成功率,大量减少了后期手工修正的操作,为后期的引文索引系统构建提供了基础条件。
当然,该系统仍有许多不足及需要改进与优化的地方:(1)可以增加特殊格式处理模块,囊括各类特殊格式,批处理各类特殊格式的参考文献;(2)可以扩充数据补充模块,增加作者名、单位名、出版社的数据库,扩展刊物名数据库。利用匹配的方法克服参考文献中无法通过文本结构识别元数据的问题。
参考文献:
[1]李朝光,张铭,邓志鸿.论文元数据信息的自动抽取[J].计算机工程与应用,2002(21).
[2]李胜利,李昌清,袁平鹏.基于Web的电子期刊元数据信息抽取方法[J].华中科技大学学报(自然科学版),2007(12).
[3]狄涤,周竞扬,潘金贵.基于规则的HTML文档元数据提取[J].计算机工程,2004(09).
[4]郭志鑫,金海,陈汉华.SemreX中基于语义的文档参考文献元数据信息提取[J].计算机研究与发展,2006(08).
[5]郭志鑫.基于本体的文档引文元数据信息抽取[J].微计算机信息,2006(18).
[6]张付志,侯娜,刘慧.一种基于启发式搜索的论文元数据提取算法[J].计算机应用与软件,2009(09).
[7]黄玲,陈龙.基于网页分块的正文信息提取方法[J].计算机应用,2008(S2).
作者简介:钱爱兵(1978-),男,副教授,情报学博士,研究方向:医药卫生科学评价。
作者单位:南京中医药大学 经贸管理学院信息管理系,南京 210023
基金项目:本文系江苏省社会科学基金项目“网络舆情监控预警模式研究”(项目编号:10TQC008);江苏省高校哲学社会科学研究基金项目“基于本体的高校突发事件网络舆情监控预警模式研究”(项目编号:2010SJB870003);江苏省教育科学“十二五”规划2011年度课题“中国高等医药院校学术影响力研究”(项目编号:C-c/2011/01/81);南京中医药大学医史文献学科建设基金项目“基于海量科技文献信息的中医学知识组织研究”(项目编号:WX2013-12);江苏省教育厅“青蓝工程”资助(项目编号:苏教师(2014)23号)资助的研究成果之一。
关键词:元数据;命名实体;信息抽取;正则表达式
中图分类号:TP311.52
目前,利用引文分析法进行科学评价研究已经相当成熟,而且涌现出大批成果,但是一般研究机构难以开展引文数据加工工作,因而也就无法利用第一手数据进行相关研究工作。究其原因:一是引文数据量太大,人力、物力有限;二是引文标注格式不统一,对加工人员的素质要求较高。如何克服大型数据库厂商的垄断,建立适合自己研究目的的引文数据库资源,成为业界关注的热点。
笔者在构建《医药卫生科学引文索引系统》过程中找到一种可行方法:因为各主流数据库厂商提供的期刊论文元数据网页都具有一定的排版规律,并且同一网站上的网页也呈现相似的结构。利用中国知网、万方数據、重庆维普等主流数据库厂商免费提供的题录数据,通过计算机程序自动抽取所需数据,主要包括来源文献数据、作者数据、引文索引数据三个方面,从而能够大大降低数据加工的时间成本。需要说明的是:主流数据库厂商的期刊论文元数据大部分为结构化网页,相关数据并不难识别,但是由于各数据项可能存在文本格式不同(例如,引文数据标注格式不统一、作者单位标注不统一)、原始数据录入错误(例如,数据库中的生僻字用图片代替、原始数据的年卷期页码错误)等各种问题,从而影响自动抽取的正确率,提高数据加工的时间成本。计算机程序只能抽取比较规范和相对规范的数据,对于极不规范的数据则无法处理,仍须由人工校对处理。
期刊论文元数据自动抽取方法主要有:(1)基于文本结构特征[1,2]形成抽取规则,进而抽取需要的元数据。文献[3]基于规则对元数据自动抽取,建立了规则的语法、语义和规则库;(2)基于OWL本体描述语言对期刊论文进行模式匹配[4,5]从而实现元数据自动抽取;(3)基于条件随机场模型[6],利用启发式搜索算法对论文头部的元数据信息进行提取。
利用主流数据库厂商免费提供的期刊论文元数据,固然可以大大减少构建引文索引系统的时间成本,但是因为各主流数据库厂商提供的期刊论文元数据网页都具有一定的排版规律,并且同一网站上的网页也呈现相似的结构,这个方法能够抽取网页中大部分的元数据,但没有对参考文献做进一步的元数据识别。上述方法在特定领域都表现不错,因此,笔者在利用文本结构特征识别主要元数据的前提下,进一步对作者单位及参考文献等元数据进行完整的识别和提取。利用单条作者单位、参考文献中的文本结构进行文本聚类,划分出各命名实体,达到一定条件下最优的抽取效率和最少的后期手工修正成本。
1 系统设计
本文的样本数据来源于万方医学期刊,网页格式为html和htm。由于期刊论文的格式具有普遍性(诸如论文题目下会紧跟作者名;参考文献在论文靠后的位置)。并且同一网站的网页格式是较为统一的,笔者通过html的树结构可以发现其网页期刊论文的布
在Title_Name集合中,论文的题名和作者名是整篇文档的重点信息,排版中一定会通过某种方式凸显,笔者在万方数据库中发现其一般是通过居中和加粗来体现。所以利用预处理阶段产生的居中粗体结点判断论文的题名。而元数据作者名的出现必然会在题名之后,并且也有居中结点作为识别依据。
对于Body集合,元数据在这个文本块出现的量很大,并且由于原始数据早期排版和录入的问题,各元素出现的次数、顺序具有不稳定性。对此,只能通过文本判断关键词(摘要、关键词、基金项目、文章编号、分类号、文献标识码、作者机构、等等)进行识别,然后在其之后的文字或相邻的结点抽取元数据。
Reference集合通过判断关键词:参考文献,Reference,Bibliography。在这些关键词的下面即可以获得引文数据,并且以每条引文的起始序号确定开始引文和结尾引文。
Date集合通过判别关键词:收稿日期、出版日期获得相应的元数据。
另外,利用各文本块的格式和顺序可以限定元数据的位置,避免误判的情况。
至此,大量的元数据已进行了抽取,但由于作者单位、参考文献都由多个元数据组成(其中包含人名、机构、期刊名等命名实体),很难直接识别。因此,笔者在下文针对作者单位和参考文献进行命名实体的识别,从而获得完整的期刊论文元数据。
2.3 元数据识别模块。针对作者单位和参考文献中的元数据在文本块定位模块中不能简单识别的问题,笔者设计了相应的元数据识别模块。由于来源数据存在排版、录入的问题,所以识别模块严格设定了判别条件,并捕获各种异常格式,以保证元数据采集的正确性和完整性。
2.3.1 作者单位。在作者单位信息中提取的元数据为:人名、机构、地区、邮编。样本网页中作者单位信息的格式为:人名(机构,地区,邮编)。通过观察可以发现这些元数据非常容易通过括号和空格符判断。实际情况中机构、地区、邮编这3个元数据出现的顺序和个数有时并不确定。对此,笔者利用它们的文本结构进行识别。处理顺序:1.邮编2.机构3.地区。特征:邮编为6位数字,机构结尾字是单位的单位字符(院、学、专、校、局、司、所、中心、室),地区结尾字可能是地区的单位字符(省、市、区、县、盟、旗、州)。
具体算法:第一步:通过分割符(空格符、逗号)分割为字符串数组。第二步,提取邮编且将其替换为空白符。第三步,提取机构且将其替换为空白符,如果有多个机构将其合并。最后在数组中余下的字符串是空白符和地区。
在第三步中笔者发现有一部分样本抽取不到地区,另外一个情况是抽取到多个地区。
抽取不到地区的解决方法:从机构中利用正则提取。抽取到多个地区的解决方法:通过地区单位(省、市、自治区、地区、县、盟、旗、自治州)和空格符分割成地区数组依次遍历中华人民共和国统计局提供的行政区代码表进行代码配对,即可以获得单位较高的地区(如:省、自治区)或单位较低的地区(如:市、县),然后根据需要留下其中的地区名。 2.3.2 参考文献。根据GB 7714《文后参考文献著录规则》及样本中的数据格式,参考文献可以通过句号划分成3个文本块,分别是:1.作者/机构名2.引用文献的题目3.详细来源。而实际处理中,笔者发现有以下情况不能简单通过句号进行划分文本块。1.排版格式问题。作者名之间的间隔符为句号。2.英文作者名中带有句号(如:Lee S.K)3.来源数据问题。引文内容不完整,年份录入错误和其他无法预料的情况。所以在元数据识别操作前先进行文本块的识别,以避免后期识别上的误判、漏判的情况。
由于利用语义进行文本块识别的代价过高,笔者仍利用引文的天然分隔符——句号,通过解决姓名中存在句号的情况来实现文本块的识别。
解决思路:以句号划分引文,利用各个文本块的特点进行文本聚类。在成功识别出3个文本块后进行详细的元数据识别。
定义:以句号划分单条引文,生成单条一维有序数据集数组D={x1,x2,…,xn},其元素依次为数据集的数据点。数据集的首元素x1和尾元素xn是初始种子,通过划分聚类将数据集聚集成2个部分。
单条引文是3个元素的有序文本块集合Reference={Author/Organization,Title,Source},文本块顺序Order(x)为元素在此条引文中出现的位置。Order(Author/Organization)
2.3.2.2 Title和Source文本块的识别:第一步:通过正则判断x3,2中的元数据年,获得元数据年之前的Title、Source中的Journal/Press文本和元数据年开始的年、卷、期、页码、网址文本;第二步:以句号划分Title、Source中的Journal/Press文本,生成有序数据集D4。x4,1为title,x4,n为journal/Press,遍历x4,n-1~x4,2出现以下情况向x4,n合并。(1)数据点为中文,含“版”或“本”且字数小于5(例:第二版、石刻本);(2)单词只有2个且含ed(例:2ed、2nd edition);第三步:消除字符为空的x,形成新的数据集D5。如果数据集D5只有2个数据点,那么成功的完成了聚类,即x5,1={Title},x5,2={Journal/Press};第四步:利用正则提取元数据年开始的年、卷、期、页码、网址文本中的各种元数据。
2.4 异常数据记录模块。为了达到自动抽取的处理效率、正确率最大化和后期手工修正的成本最小化,笔者在之前的元数据识别模块中设计了严格的抽取规则。因此自动抽取系统需要一个异常数据记录模块记录所有捕获的异常,以便后期手工修正数据,以达到采集的100%正确率、完整性。异常数据记录模块会将网页的来源、异常文本等信息以统一的格式输出的各种文本文档中,以便手工修正模块的读入操作。
2.5 手工修正模块。在对网页进行自动抽取操作后,调用手工修正模块读入异常数据记录模块产生的格式文本文档,经过人工识别后将元数据添加、修改到数据库中。
2.6 数据补充模块。根据数据库的设计要求,元数据自动抽取系统设立了数据补充模块,主要功能为:组织机构码配对(获取组织机构码)、地区码配对(获取地区码)、ISSN编号配对(获取ISSN号)、刊物名配对(获取刊物的类型)、作者简介配对(作者简介与对应的作者相联系)、等等。
4 结束语
本文基于文本结构特征对网页期刊论文进行了大部分的元数据自动抽取实现,提出并实现了以文本结构聚类从而识别参考文献元数据的方法。实验结果达到比较理想的元数据识别成功率,大量减少了后期手工修正的操作,为后期的引文索引系统构建提供了基础条件。
当然,该系统仍有许多不足及需要改进与优化的地方:(1)可以增加特殊格式处理模块,囊括各类特殊格式,批处理各类特殊格式的参考文献;(2)可以扩充数据补充模块,增加作者名、单位名、出版社的数据库,扩展刊物名数据库。利用匹配的方法克服参考文献中无法通过文本结构识别元数据的问题。
参考文献:
[1]李朝光,张铭,邓志鸿.论文元数据信息的自动抽取[J].计算机工程与应用,2002(21).
[2]李胜利,李昌清,袁平鹏.基于Web的电子期刊元数据信息抽取方法[J].华中科技大学学报(自然科学版),2007(12).
[3]狄涤,周竞扬,潘金贵.基于规则的HTML文档元数据提取[J].计算机工程,2004(09).
[4]郭志鑫,金海,陈汉华.SemreX中基于语义的文档参考文献元数据信息提取[J].计算机研究与发展,2006(08).
[5]郭志鑫.基于本体的文档引文元数据信息抽取[J].微计算机信息,2006(18).
[6]张付志,侯娜,刘慧.一种基于启发式搜索的论文元数据提取算法[J].计算机应用与软件,2009(09).
[7]黄玲,陈龙.基于网页分块的正文信息提取方法[J].计算机应用,2008(S2).
作者简介:钱爱兵(1978-),男,副教授,情报学博士,研究方向:医药卫生科学评价。
作者单位:南京中医药大学 经贸管理学院信息管理系,南京 210023
基金项目:本文系江苏省社会科学基金项目“网络舆情监控预警模式研究”(项目编号:10TQC008);江苏省高校哲学社会科学研究基金项目“基于本体的高校突发事件网络舆情监控预警模式研究”(项目编号:2010SJB870003);江苏省教育科学“十二五”规划2011年度课题“中国高等医药院校学术影响力研究”(项目编号:C-c/2011/01/81);南京中医药大学医史文献学科建设基金项目“基于海量科技文献信息的中医学知识组织研究”(项目编号:WX2013-12);江苏省教育厅“青蓝工程”资助(项目编号:苏教师(2014)23号)资助的研究成果之一。