HTML页面中的文献记录分析算法
曾庆涛1,2, 解凯1, 李业丽1, 王欣刚3, 叶宇姗1, 马少平2     
1. 北京印刷学院 信息工程学院, 北京 102600;
2. 清华大学 计算机科学与技术博士后流动站, 北京 100084;
3. 国家新闻出版广电总局 广播电视卫星直播管理中心, 北京 100045
摘要

为了使出版机构能够及时从大量网页中发现所需文献,需要设计能够从超文本标记语言页面中自动提取文献信息的算法.为此,设计了基于条件随机场的文献记录分析算法:首先,设计了文档对象树的分割算法,通过分割标记将页面数据分成独立的部分,这些数据块由标签和文本序列构成;随后,将该序列作为条件随机场模型的特征向量,建立文献信息标记模型;最后,设计启发式算法,从标记模型中提取文献信息数据,并通过实验验证了其有效性.

关键词: 数字出版     条件随机场     文献记录分析    
中图分类号:TP393 文献标志码:A 文章编号:1007-5321(2017) 增-0085-04 DOI:10.13190/j.jbupt.2017.s.019
Analysis Algorithm of Reference Record in HTML Page
ZENG Qing-tao1,2, XIE Kai1, LI Ye-li1, WANG Xin-gang3, YE Yu-shan1, MA Shao-ping2     
1. School of Information Engineering, Beijing Institute of Graphic Communication, Beijing 102600, China;
2. Postdoctoral Research Station in Computer Science and Technology, Tsinghua University, Beijing 100084, China;
3. Broadcast and Television Direct Broadcasting Satellite Management Center, The State Administration of Press, Publication, Radio, Film and Television, Beijing 100045, China
Abstract

With rapid development of Internet, web pages have become the main sources of information. In order to make publishing agencies timely find necessary references from large number of pages, it is necessary to design a reference information extraction algorithm to get useful references information from hyper text markup language pages. A reference analysis algorithm based on conditional random fields was proposed. Firstly, a document object tree segmentation algorithm was designed. Through classifier the web page data were divided into separate parts, and these data blocks were composed of tags and text sequences. Subsequently, these sequences were taken as characteristic vectors of conditional random field model to establish reference information labeling model. Finally, a heuristic algorithm was presented to extract reference information data from the labeling model, and validity of this algorithm was verified by experiments.

Key words: digital publishing     conditional random field     reference analysis    

随着互联网的快速发展,出版机构越来越依赖从网络中搜集作者和出版内容信息的能力.而文献

每年都会数以万计地增长,面对如此多的文献数据,如何从出版物网页中快速、准确地提取文献信息成为研究热点[1-2].与此同时,伴随互联网+的快速普及和迅速发展,各类学术作者的相关信息可以在网络中取得.如何从大量设计样式灵活多样的作者个人信息页面中提取文献信息成为一个难点[3-8].

针对上述问题,设计了基于条件随机场的文献记录分析算法(CRFRA,conditional random fields based reference analysis-algorithm).首先,建立分割标记集合,在此基础上设计了文档对象模型(DOM,document object model)树分割算法,并对输入的DOM树进行分割;随后,基于条件随机场建立已分割数据块的文献信息标记模型;最后,设计了文献信息提取的启发式算法,利用该算法提取文献相关信息,并将其存储在数据库中.最后,通过实验对CRFRA算法和条件随机场(CRF,conditional random fields)算法进行了对比,验证了CRFRA算法的有效性.

1 问题模型 1.1 问题描述

文献信息是描述文献作者、题目等重要信息的半结构化字符串,经常与大量其他信息一同出现在出版页面之中,这就增大了提取文献信息的难度.此外,文献元数据转换为半结构化字符串的样式灵活多样,即字符串在超文本标记语言(HTML, hyper text markup language)中的描述方法是灵活多样的.网页中文献信息的样式依赖于网页设计者的个人喜好,在同一页面上的2条字符串可能有不同风格的HTML结构,增大了分析和提取文献信息的难度.

1.2 问题处理流程

针对文献信息提取遇到的问题,设计了基于条件随机场的文献记录分析算法,主要包括:DOM树分割算法,文献信息标记建模和文献信息提取算法.首先,利用分割标记对输入的DOM树进行分割;随后,基于条件随机场建立已分割数据块的文献信息标记模型;最后,利用文献信息提取算法,提取相关信息,并将其存储在数据库中.具体处理流程如图 1所示.

图 1 问题处理流程
2 文献记录分析算法 2.1 分割算法

主要将<tile>,<DIV>, <P>, <LI>, <TR>, <meta name>, 作为分割标记,对DOM树T进行分割.分割算法思路为:首先,遍历DOM树T中没访问过的节点ti,如果ti含有分割标记,并且其子树中不含分割标记,那么将ti存入数据块分割集B,标记ti为已访问;随后,处理ti的子树中含有分割标记的情况,并标记ti为已访问,继续访问T中未被访问过的节点;最后,已遍历T的全部节点后,得到T的数据块分割集B.

具体算法步骤如下:

步骤1 输入DOM树T和分割标记集合M

步骤2 遍历T的未访问节点tiT,转步骤3;

步骤3 如果tiM,且其子树ti'M,则转步骤4;否则,标记ti为已访问,转步骤2;

步骤4 将ti加入数据块分割集B,标记ti为已访问,转步骤5;

步骤5 如果已经遍历T,转步骤6;否则,转步骤2;

步骤6 分割算法结束,BT的数据块集合.

2.2 基于条件随机场的文献信息标记模型

x={x1, x2, …, xn}为文本的观察序列,y={y1, y2, …, yn}是与文本观察序列关联的标记序列.观察序列和标记序列的条件(随机场CRF,conditional random fields)模型:

$p\left( \mathit{\boldsymbol{y}}|\mathit{\boldsymbol{x}},\lambda \right)=\frac{1}{z\left( \mathit{\boldsymbol{x}} \right)}\exp \left( \sum\limits_{i=1}^{n}{{}}\sum\limits_{j}{{}}{{\lambda }_{j}}{{f}_{j}}\left( {{y}_{i-1}},{{y}_{i}},\mathit{\boldsymbol{x}},i \right) \right)$ (1)
$z\left( \mathit{\boldsymbol{x}} \right)=\sum\limits_{j}{{}}\exp \left( \sum\limits_{i=1}^{n}{{}}\sum\limits_{j}{{}}{{\lambda }_{j}}{{f}_{j}}\left( {{y}_{i-1}},{{y}_{i}},\mathit{\boldsymbol{x}},i \right) \right)$ (2)

其中:fj(yi-1, yi, x, i)是特征函数,是状态特征函数和转移特征函数的统一形式表示,特征函数是二值函数,其值域为fj∈{0, 1};λ=(λ1, λ2, …, λn)是特征函数对应的特征权重;z(x)是归一化因子.

$f({{y}_{i-1}},{{y}_{i}},\mathit{\boldsymbol{x}},i)=\left\{ \begin{array}{*{35}{l}} g\left( \mathit{\boldsymbol{x}},i \right)\quad {{y}_{i-1}}\to \rm{next}={{y}_{i}} \\ 0,\quad 其他 \\ \end{array}\begin{matrix} {} \\ {} \\ \end{matrix} \right.$ (3)
$g\left( \mathit{\boldsymbol{x}},i \right)=\left\{ \begin{array}{*{35}{l}} 1, & {{x}_{i}}\in \rm{lexicon}\left[ {{y}_{i}} \right] \\ 0, & 其他 \\ \end{array} \right.$ (4)

这里通过实例说明上式的含义:当yi-1标记为“出版物类型”,yi标记为“保存地点”,并且xi是地名集合中的元数据时,特征函数f(yi-1, yi, x, i)=1;否则,f(yi-1, yi, x, i)=0.

2.3 文献信息提取算法

通过CRF模型标记包含文献信息的数据块Rj={r1, r2, …, rmj},随后从这些数据块中提取出文献信息.在这个过程中可以采用Viterbi算法,但是,当该算法的观察序列较长时计算量非常大,这种穷举遍历的搜索算法降低了搜索效率.为此,设计了启发式算法:首先,在数据块中搜索<tile>,<DIV>, <P>, <LI>, <TR>, <meta name>,以确定文献信息识别的起始位置;随后,利用式(5) 和式(6) 对数据块进行筛选;最后,将gF(rj, h)=1和gB(rk, h)=1对应的数据块中包含的文献信息提取出来, 存入数据库.

${{g}_{\text{F}}}\left( {{r}_{j}},h \right)=\left\{ \begin{array}{*{35}{l}} 1, & \left\{ {{r}_{j}},{{r}_{j+1}},{{r}_{j+2}} \right\}\in h,1\le j\le k-2 \\ 0, & 其他 \\ \end{array} \right.$ (5)
${{g}_{\text{B}}}\left( {{r}_{k}},h \right)=\left\{ \begin{array}{*{35}{l}} 1, & \left\{ {{r}_{k-2}},{{r}_{k-1}},{{r}_{k}} \right\}\in h,j\le k\le {{m}_{j}} \\ 0, & 其他 \\ \end{array} \right.$ (6)

其中:h={作者姓名列表,文献题目,出版物类型},rjrj+1rj+2rk-2rk-1rk为数据块中的标记序列.

3 实验分析

实验分别以3个中文数字图书馆中的200个论文出版页面和200位作者的个人信息页面为基础,分别对CRFRA算法和CRF算法进行对比分析,其对比结果如图 2所示.从图 2中不难看出,在分别采用CRFRA和CRF算法对3个中文数字图书馆的论文出版页面进行文献信息提取时,CRFRA算法的准确率能够保持在80%左右,而CRF算法准确率也保持在70%以上.但是,当采用这两种算法对作者个人主页中的文献信息进行提取的时候,CRFRA算法和CRF算法的准确率均有大幅下降.产生这种现象的主要原因是由于数字图书馆的论文出版页面设计较为规范,而个人主页的设计较为多样,且页面中含有大量其他信息,进一步增大了文献提取的难度.

图 2 文献信息提取准确率对比
4 结束语

针对由文献出版页面及作者信息页面设计样式多样造成的文献信息提取困难的问题,设计了基于CRF的文献记录分析算法.对文献信息提取问题的处理流程进行了细化,梳理其中的关键问题,并设计了相应的解决方法.实验结果表明CRFRA算法能够提升文献信息提取的准确率,该算法的有效性得到了验证.

参考文献
[1] 湛江. 文献检索统计中易被漏检和错误归类的高校学报[J]. 中国科技期刊研究, 2015, 26(9): 1005–1008.
Zhan Jiang. The journals of universities easily missed or wrongly classified in statistical analysis[J]. Chinese Journal of Scientific and Technical Periodicals, 2015, 26(9): 1005–1008.
[2] 孙颖, 崔洁爽, 陈扬. 关键词共现分析技术在图书馆文献检索中的应用——以心理学为我国"五位一体"战略布局服务为例[J]. 图书馆工作与研究, 2015(11): 45–49.
Sun Ying, Cui Jieshuang, Chen Yang. Keywords co-occurrence analysis technology in the library literature retrieval application—to psychology for China "one of five" strategic layout of the service as an example[J]. Library Work and Study, 2015(11): 45–49. doi: 10.3969/j.issn.1005-6610.2015.11.010
[3] 林岚. 认知弹性理论在文献检索教学中的应用[J]. 图书馆, 2010(2): 119–120.
Lin Lan. Application of cognitive flexibility theory on document retrieval teaching[J]. Library, 2010(2): 119–120.
[4] 张莉. 文献检索方式的发展与提高期刊影响力[J]. 编辑学报, 2005, 17(2): 124–125.
Zhang Li. Evolution of literature retrieval and improvement of the journal's influence[J]. Acta Editologica, 2005, 17(2): 124–125.
[5] 张佳, 窦丽华, 陈杰. 科技文献检索实践课程教学的创新[J]. 实验室研究与探索, 2012, 31(2): 115–118.
Zhang Jia, Dou Lihua, Chen Jie. Teaching innovation of science and technology literature retrieval[J]. Research and Exploration in Laboratory, 2012, 31(2): 115–118.
[6] 邹永利, 何侃, 徐健. 文体特征在网络学术文献检索中的意义与应用[J]. 情报理论与实践, 2008, 31(4): 594–597.
Zou Yongli, He Kan, Xu Jian. The significance and application of stylistic features in network academic literature retrieval[J]. Information Studies: Theory & Application, 2008, 31(4): 594–597.
[7] 张永宏, 胡立耘. 文献检索在编辑工作中的应用[J]. 编辑学报, 2001, 13(3): 158–160.
Zhang Yonghong, Hu Liyun. Application of knowledge of bibliography to editing[J]. Acta Editologica, 2001, 13(3): 158–160.
[8] 黄晓鹂, 李树民, 廉立军. 我国高等院校文献检索教学研究文献分析[J]. 现代情报, 2009, 29(3): 222–225.
Huang Xiaoli, Li Shumin, Lian Lijun. Literature analysis of literature retrieval teaching research in Chinese university[J]. Journal of Modern Information, 2009, 29(3): 222–225.