一种基于文字流的文章元数据信息自动抽取方法及***
技术领域
本发明属于信息识别与提取的技术领域,具体涉及一种基于文字流的文章元数据信息自动抽取方法及***。
背景技术
报刊的文章加工成数据库形式时,需要一些基本的元数据信息,以便进行检索和进行信息复用。
报刊排版完成后最终的定稿版面文件中,文章的元数据(作者、来源、体裁等信息)已经丢失,或只是以文字的形式存在,不能识别是哪种类型的元数据。当对版面文件进行标引和再加工时,需要重新获取这些信息。
这些元数据信息,往往在文章正文中存在,放置在整篇文章的特定位置,或通过特殊标记标出。目前,不同报社或是不同版面的文章,排版格式多样化。文章的作者、标题等元数据信息在文章本身中的位置及前后标志,与排版员的操作习惯及版面样式有很大的关联性。但是,对于同一报社的同一排版员所排的文章来说,这些信息是有一定的规律的。
现有技术中,标引员在标引文章时,需要对文章的内容进行阅读分析,根据内容及语义等信息,从中提取自己所需的标引项元数据,一般是重新录入这些元数据信息,或从版面文件中手工复制粘贴已经存在的文字信息。由于理解及体力等原因的限制,势必会出现正确性及速度上的降低,因此处理效率低,且容易出错。在对大量历史报刊数据进行加工时,需要的加工成本会更加高。
发明内容
针对现有技术中所存在的缺陷,本发明的目的在于提供一种高效的、低成本的基于文字流的文章元数据信息自动抽取方法及***。
为了实现上述发明目的,本发明采用的技术方案是:一种基于文字流的文章元数据信息自动抽取方法,包括以下步骤:
(1)编写配置文件及脚本文件,将不同刊物的配置文件及脚本文件放入该刊物的配置目录下;
(2)加载配置文件,***读取每个刊物的配置文件,根据配置文件中记录的信息,获得脚本文件的路径及相关脚本函数信息;
(3)加载脚本内容到引擎:***将脚本文件中的脚本函数内容读取到脚本引擎中并加以解析;
(4)通过界面进行提取操作:通过界面操作,将待抽取的文章内容以文字流的形式传给脚本文件中的正则表达式模板,进行信息提取;
(5)正则表达式匹配:***调用相关脚本函数,接收传入的文字流,根据事先设置的抽取级别或阈值,调用不同的正则表达式模板对文字流进行筛选与匹配,获取结果以文字流形式进行保存;
(6)返回匹配结果并给与提示:脚本文件将匹配的结果元数据以文字流形式返回***,***通过在界面上设置特殊标志,给与用户提示,方便用户进行人工验证。
进一步,所述的配置文件是Xml格式的,所述的脚本文件是JavaScript脚本文件。
进一步,步骤(1)中,每个刊物拥有一个Xml配置文件,该文件中的配置列表的每个配置项包含所用JS脚本文件的路径,JS脚本函数的名称,在***中的操作描述信息。
对于不同的刊物配置不同的Js脚本文件,对于公用的功能,提取为通用的JS脚本文件。
根据元数据信息的特征规律,编写匹配严格程度不同的正则表达式:
1)对于特征标记明显,位置固定的元数据信息,编写匹配严格程度高的正则表达式;
2)对于特征信息一般,但是出现频率较高的元数据信息,编写匹配严格程度中等的正则表达式;
3)对于特征信息不明显或是杂乱的元数据信息,编写匹配严格程度低的正则表达式。
进一步,步骤(1)中,根据匹配严格程度的不同,将正则表达式进行分组,匹配时会自动根据输入的阈值按相应的匹配严格程度进行筛选。
步骤(1)中,对于格式特征相对固定的元数据,编写算法相对固定的模板,如果想扩大元数据提取的范围,则对模板进行简单的关键词扩充。
步骤(1)中,根据刊物排版的规律自行地对匹配模板添加相应的关键字,或是设置相应的提取等级。
进一步,步骤(4)中,***根据刊物配置初始化提取界面菜单,用户通过界面进行单独提取或是批量提取。
步骤(4)中,***根据刊物的配置信息设置不同的提取级别界面。
进一步,步骤(5)中,利用VC通过脚本接口调用JavaScript正则表达式模板对文字流进行筛选和匹配,返回匹配结果并给与用户提示,提取后的结果在界面上会以特殊颜色进行标记,以方便用户进行人工验证。
一种基于文字流的文章元数据信息自动抽取***,包括以下装置:
(1)配置文件及脚本文件编写装置:用于编写配置文件及脚本文件并将不同刊物的配置文件及脚本文件放入该刊物的配置目录下;
(2)配置文件加载装置:用于加载配置文件,***读取每个刊物的配置文件,根据配置文件中记录的信息,获得脚本文件的路径及相关脚本函数信息;
(3)加载脚本内容到引擎的装置:用于将脚本文件中的脚本函数内容读取到脚本引擎中并加以解析;
(4)提取装置:用于通过界面操作,将待抽取的文章内容以文字流的形式传给脚本文件中的正则表达式模板,进行信息提取;
(5)正则表达式匹配装置:用于调用相关脚本函数,接收传入的文字流,根据事先设置的抽取级别或阈值,调用不同的正则表达式模板对文字流进行筛选与匹配,获取结果以文字流形式进行保存;
(6)匹配结果返回装置:用于将脚本文件匹配的结果元数据以文字流形式返回***,***通过在界面上设置特殊标志,给与用户提示,方便用户进行人工验证。
本发明的效果在于,采用本发明所述的方法及***,具有以下一些优势:
1.脚本对正则表达式支持良好,且便于修改,可以被灵活调用和修改。
2.根据信息规律进行提取,减少人工操作量,加快标引速度。
3.可以设置提取等级,匹配模板根据阈值进行信息筛选过滤。
4.不同刊物可以根据其自身的排版规律进行单独的提取设置。匹配模板修改简单,只需根据报社自身的规律加入相应的关键词即可。
5.多种刊物可以共享通用的提取设置,最大程度上实现算法的公用。
6.可以全文匹配或是文章首尾匹配。
本发明之所以具有上述显著效果,原因在于:本发明根据所提取文章中某些信息出现的特征规律,编写一定的匹配模板,利用程序的方式对文章的文字流进行元数据信息的筛选与过滤,可以得到与人工方式操作基本一致的结果。而且匹配模板还可以自定义关键字,这样提取出的结果也会避免因标引人员理解不同而造成的结果上的差异。本发明也正是利用正则表达式技术,针对刊物的排版规律进行元数据信息的匹配和自动提取,只需简单的人工验证准确性,加快了信息提取速度。
附图说明
图1是本发明所述方法的流程图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明作进一步的描述。
一种基于文字流的文章元数据信息自动抽取***,包括以下装置:
(1)配置文件及脚本文件编写装置:用于编写配置文件及脚本文件并将不同刊物的配置文件及脚本文件放入该刊物的配置目录下;
(2)配置文件加载装置:用于加载配置文件,***读取每个刊物的配置文件,根据配置文件中记录的信息,获得脚本文件的路径及相关脚本函数信息;
(3)加载脚本内容到引擎的装置:用于将脚本文件中的脚本函数内容读取到脚本引擎中并加以解析;
(4)提取装置:用于通过界面操作,将待抽取的文章内容以文字流的形式传给脚本文件中的正则表达式模板,进行信息提取;
(5)正则表达式匹配装置:用于调用相关脚本函数,接收传入的文字流,根据事先设置的抽取级别或阈值,调用不同的正则表达式模板对文字流进行筛选与匹配,获取结果以文字流形式进行保存;
(6)匹配结果返回装置:用于将脚本文件匹配的结果元数据以文字流形式返回***,***通过在界面上设置特殊标志,给与用户提示,方便用户进行人工验证。
如图1所示,一种基于文字流的文章元数据信息自动抽取方法,包括以下步骤:
1.编写Xml配置文件及Js(JavaScript)脚本文件,将不同刊物的Xml配置文件及Js脚本文件放入该刊物的配置目录下,S11。
配置文件可以由多种编程语言来编写,本实施列中,采用Xml语言编写配置文件,每个刊物拥有一个Xml配置文件,该文件中的配置列表的每个配置项包含所用JS脚本文件的路径,JS脚本函数的名称,在***中的操作描述等信息。对于不同层次的信息(刊物信息,刊期信息,版面信息,稿件信息),可以分别配置相应的配置项。
对于不同的刊物,我们配置不同的Js脚本文件,对于公用的一些功能,可以提取为通用的JS脚本文件。
本实施例中,根据文章元数据在文字流中的特征信息,采用JavaScript语言编写JS脚本文件中的JS脚本函数(也可以采用其他的语言来编写),脚本函数中包含不同格式的正则表达式模板,每个正则表达式模板由一系列相关正则表达式组合而成,JavaScript语言编写简单,对正则表达式支持良好,可以方便的与VC进行调用。
具体来说,本实施例根据元数据信息的特征规律,编写了以下匹配严格程度不同的正则表达式:
1)对于特征标记明显,位置固定的元数据信息,可以编写较为严格的匹配,比如以“记者,通讯员,摄影”等词语为起始或结束标志的,后续或前缀的词语有很大可能性是元数据“记者”。
2)对于特征信息一般,但是出现频率较高的元数据信息,可以适当的降低匹配严格程度。比如以简称“/文,/摄”等词语为结束标志的,后续词语一般为所需元数据,虽然特征不如第一类明显,但是报社排版时出现的频率比较高,可以适当降低匹配的严格程度。
3)对于特征信息不太明显或是比较杂乱的元数据信息,可以根据具体情况设置较低的匹配的严格程度。比如以特殊字符“●,■”为标志,特征不足以判断后续词语是否为所需元数据,但是有一定的可能性,这类信息可以根据报社排版的具体情况适当安排严格程度。
另外,本实施例中,根据匹配严格程度的不同,将正则表达式进行分组,匹配时会自动根据输入的阈值按相应的匹配严格程度进行筛选。严格程度高,则提取结果准确,但是会导致部分信息完全被过滤,从而提取结果为空。如果降低严格程度,则因过滤而损失的信息会减少,但是结果正确性也会相应的降低。
对于格式特征相对固定的元数据,可以编写算法相对固定的模板,只需对模板进行简单的关键词扩充,即可扩大元数据提取的范围。
2.加载Xml配置文件,***读取每个刊物的Xml配置文件,根据Xml配置文件中记录的信息,获得Js脚本文件的路径及相关Js脚本函数信息,S12。
3.加载脚本内容到引擎:***将Js脚本文件中的脚本函数内容读取到脚本引擎中并加以解析,S13。
4.通过界面进行提取操作:***根据刊物的配置信息设置不同的提取级别界面,通过界面操作,将待抽取的文章内容以文字流的形式传给脚本文件中的正则表达式模板,进行信息提取,S14。
***根据刊物配置初始化提取界面菜单,用户可以通过界面进行单独提取或是批量提取。
使用时可以根据刊物排版的规律自行的对匹配模板添加相应的关键字,或是设置相应的提取等级,即可实现元数据的自动抽取。
5.正则表达式匹配:***调用相关脚本函数,接收传入的文字流,根据事先设置的抽取级别或阈值,调用不同的正则表达式模板对文字流进行筛选与匹配,获取结果以文字流形式进行保存,S15。
本实施例中,利用VC通过脚本接口调用JavaScript正则表达式模板对文字流进行筛选和匹配,返回匹配结果并给与用户提示。
6.返回匹配结果并给与提示:脚本文件将匹配的结果元数据以文字流形式返回***,***通过在界面上设置特殊标志,给与用户提示,方便用户进行人工验证,S16。
由于算法存在一定的误判性,对于抽取的结果,我们通过特殊标记展现给用户,用户可以方便的进行人工校验。
本发明所述的方法及***并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。