APP下载

基于MS Word字处理软件的内容结构化标引和拆分技术研究

2015-09-18陆新民中国科技出版传媒股份有限公司北京100717

现代计算机 2015年11期
关键词:标引结构化文档

时 华,陆新民(中国科技出版传媒股份有限公司,北京100717)

基于MS Word字处理软件的内容结构化标引和拆分技术研究

时华,陆新民
(中国科技出版传媒股份有限公司,北京100717)

介绍ConSIS系统中提出的针对.docx格式文稿的内容进行结构化标引与拆分中涉及到的3种技术:对内容结构进行自动标引的方法,将公式对象转换为标准MathML代码的方法,进行语义标引的方法,并且通过ConSIS系统的实现验证这些技术的有效性。

字处理软件;内容结构化;结构化标引;公式转换;MathML;语义标引

0 引言

随着新媒体技术的不断涌现和用户的消费特征、阅读行为习惯等方面的不断变化,使得可选择的出版内容的呈现方式、传播方式或服务的形态和商业模式成几何倍数增长。如何适应这种发展和变革,对出版内容进行有意义的碎片化处理和重组一直是数字出版领域的重要研究方向。

内容的碎片化是将非结构化或半结构化内容进行结构化处理,并从内容复用角度进行拆分的过程。如何从技术层面实现这一过程,国外著名的数字出版内容和技术服务商,如爱思唯尔、斯普林格,早在20世纪90年代初开始就做了大量的技术研究,开发了各种基于XML的内容结构化标引与拆分工具。国内的一些具有前瞻性的企业,如万方数据、同方知网、高等教育出版社、方正电子等也都在这方面做了有力的尝试。

目前大多数的内容结构化标引与拆分工具都建立在XML编辑器的基础之上,在结构化方面需要较多的人工干预,一般依附于内容编撰平台,以在线方式开展工作,这就使得内容碎片化存在一定的问题。

一是由于内容在创作时没有按照规范要求进行编排,导致出版单位需要在作品的加工环节投入大量的人力进行诸如电子目录制作、公式表格的重新绘制等工作。

二是由专门的加工编辑人员对内容进行细粒度加工,例如CNKI的知网节、万方的五要素等,在碎片化方面达到了一定效果,但是离开了作者和专家的参与,这种形式的碎片化和标引标注的质量都会受到质疑。因为作者对于作品的本意是最清楚的,而编辑的重点在于作品的规范和质量控制,同行评议的专家对于内容的学术水平是最清楚的,重复性的加工利用工业化的加工的成本是最低的。所以,对于作品的碎片化和标引标注工作应该从作品的创作阶段就开始进行,只有四种角色都参与进来才能保证内容碎片化和标引标注的质量,才使得加工成果有复用的价值。

三是现有的内容结构化标引与拆分工具没有在软件的可用性和易用性角度进行设计,往往忽略使用者的客观限制和使用习惯:作者、编辑、专家使用最多的软件是字处理软件,对于其中的界面最为习惯,而对于基于XML编辑器的在线标引工具所提供的交互界面相对陌生,要想灵活掌握需要花费一定的时间成本;在线标引工具要求使用者必须在联通因特网的网络环境下工作,在使用场所上受到很大的限制;在线标引工具的界面功能相对薄弱,使用者在标引的同时往往会伴随着内容的修改和调整,单一的标引功能使得用户要想对内容和版式做调整的话,需要用户不断在几个工作平台上进行切换,效率低下,很容易出错。

因此,研究能够智能生成文档内容结构,适合于多种角色习惯的基于常用字处理软件的内容结构标引标注技术,无论在理论上还是在应用中都具有重要意义。

结合科技部科技支撑计划项目专项“科技文献采编、生产环节动态出版关键技术研发与应用示范”课题的研究工作,本文介绍了由中国科技出版传媒股份有限公司研制的课题原型系统ConSIS(内容结构化标引与拆分系统的简称)中提出的针对采编环节中的.docx格式文稿进行的文档结构智能生成、自动化标引的机制,相关的关键实现技术和总体设计方法。

1 研究内容

结构化标引涉及到对文档结构、文档内容对象的标引,以及语义标引,具体研究内容包括以下。

1.1对文档内容结构的识别与自动彪引技术的研究

从内容复用的角度来看,一本图书可被拆分成目录、前言、序言、篇章节、段落、注释、公式、插图、表、后记/跋、参考文献、附录/索引等内容单元。这些内容单元与Word对象模型中的对象并不是一一对应的。

1.2对公司、图、表等特殊文档内容对象的识别与自动转换技术研究

由于作者在作品创作时使用的公式、图、表编辑工具各种各样,造成在文档中会有各种OLE对象。当脱离终端环境后,在新的环境中如果没有安装相应的编辑处理程序,那么将无法编辑这些文档内容对象。

目前大部分标引工具无法解决此类问题,它们普遍采取的是保存图片的方式。而这种方式使得重用性大大降低,如:公式转换成一定精度图片后,就不能满足再编辑、同时满足印刷(精度太小)、不同终端展示(精度太高)的需求。

MathType是现在最流行的公式录入器,它可以和Word很好地结合,非常快捷方便地在Word中输入公式。

在Word文档中,用MathType编辑的公式都是Inlinshape对象。为了规范化存储,一般可以考虑转化为图片,不想损失原格式,就必须用OLE对象转化为二进制流。

1.3对手动标引技术研究

对文档内容的语义标引,必须使用工具进行手动标引。标引内容的存放位置是一个问题,目前大多数工具的做法是将其单独存放到数据库或文档之外的XML文件中,也有部分程序采用的是在文档正文中使用可隐藏的标引符号的方式将标引标注的内容插入到被标引的正文中的方式。存储到数据库或XML文件中的方式,一般是文稿被提交到数字内容管理系统后,由编辑人员通过在线标引工具实现的。这种方式要让作者采用是非常困难的;插入到正文的方式破坏了原文的内容体系结构,增加了自动标引的复杂度,不利于针对正文内容的全文索引库的建立。

2 ConSIS 系统中的标引功能设计

ConSIS系统是中国科技出版传媒股份有限公司所承担的科技部科技支撑计划项目专项“科技文献采编、生产环节动态出版关键技术研发与应用示范”课题的原型系统之一。本文给出了ConSIS系统在.docx格式文稿结构化标引、拆分方面所设计实现的新机制。它在一定程度上解决了目前大多数标引工具的问题。

对文档结构的识别,系统的做法是基于Word对象模型(Word Object Model)逐一分析Word对象中元素的样式,通过预先定义的具有语义特征的样式分析出整个文档的结构及其中各类特征元素。

如果文档的结构性能比较好,创建出合格的目录就会变得非常快速简便。Word一般是利用标题或者大纲级别来创建目录的,这对那些用Word写书、写论文的朋友很有帮助。因此,在创建目录之前,应确保希望出现在目录中的标题应用了内置的标题样式(如,标题1到标题9),也可以应用包含大纲级别的样式或者自定义的样式。

文档拆分的过程是由程序来完成的。程序会逐一分析Word对象中元素的样式,通过预先定义的具有语义特征的样式分析出整个文档的结构及其中各类特征元素,最后抽取出对应的内容形成相对独立的内容单元。

2.2将Word 中德公式转换为标准Matgnl 代码方法

这里所指的Word文稿中的公式包括由Word自带的公式编辑器生成的公式和MathType程序生成的公式。

通过对Word文档进行研究发现,从Word界面插入的公式是基于OMath XML(Office Open XML的一部分,在Office 2007中被作为一种新的文档格式介绍)的。

因此,在程序中可以这样从打开的Word文档中得到公式的OMath XML:

String str=ActiveDocument.OMaths(1).Range.WordOpenXML;

它将被嵌入用来定义一个Word文档的OPC平面文件OOXML中。但是很容易从中提取出它。

当然,OMath XML和MathML是不同的,但这并不会影响到将OMML公式转化为MathML公式。

可以调用MathType Convert Equations命令将OMML公式直接转换成MathML。

对于由MathType生成的公式,在Word中是以OLE对象的方式存储的。通过设置MathType工具的“剪切和复制首选项”,就可以轻松的复制获得一个公式的MathML代码,如图1所示:

图1 

那么,如何让已经插入到Word文稿中的公式由程序自动完成MathML代码转换呢?

一种解决思路是:

首先利用VBA编程实现将Word中的MathType公式对象向MathML代码转换。

如:

转化成XML片段为:

feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLw-BLn

hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr

4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq= Jc9

vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr= xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcba WaaOaaaeaaca

WGIbWaaWbaaSqabeaacaaIYaaaaOGaeyOeI0IaaGinaiaadggacaWGJbaaleqaaOWaaSaaaeaacqGHsislcaWGIbGaeyySae7aa

Oaaaeaaca

WGIbWaaWbaaSqabeaacaaIYaaaaOGaeyOeI0IaaGinaiaadggacaWG

JbaaleqaaaGcbaGaaGOmaiaadggaaaaaaa@465A@

〈/annotation>

〈/semantics>

〈/math>

然后使用字符串匹配的方式提取出公式的源代码。

使用Apache的POI开源项目提供的HWPF接口可以把Word中的presentation源码提取。

更简单的解决方法是使用MathType SDK:

MathType已经提供了很多免费的软件开发套件(MathType Software Development Kit,简称MathType SDK),在MathType SDK中有专用来做此事的hooks。

2.3实现手动标引的方法

系统为用户提供了一种对文档中的图表、表格、公式、知识点等内容进行语法标引的方法。

(1)根据模板文件(Xsd格式)中的规则,生成标引标注命令,为文档编辑者提供标引标注界面。

在Word初始化时,解析指定目录下的Xsd文件,取得所有根节点元素,使用Word自定义工具栏功能在工具栏上生成节点的操作按钮。

当单击相应的按钮时,程序继续解析该节点的类型定义,读取该类型定义将下的一级节点,写入新建的窗体中。如果该节点为基本类型,则根据基本类型的对应显示控件类型在窗体上绘制出该控件;如果该节点为基本类型之外的类型,如,复杂类型,则在窗体上绘制出该类型所对应的一个按钮。

点击按钮时,程序循环执行上述操作。

(2)保存文档编辑者标引标注的内容到自定义的XML文件中,该XML存于文档的.docx文档容器中。

作为存储方式,XML具有良好的规范性和可扩展性,可以满足版式信息的需求。但是XML除了要满足XML的语法规则外,还必须遵循某些额外定义的语意才行,这些语意就是告诉程序需要标引哪些元素,每个元素的接收内容、类型,是否必须,以及元素之间的关系等。

标引功能需要利用XML处理器,根据XML规范中所定义的完构性和有效性来查核标引标注文件的内容,一旦发现不合规定的文件便会拒绝处理并告知标引者,这对于保证标引内容的正确性、规范性是非常必要的。

在.docx文档容器内部,生成自定义XML,用于存储用户通过标引标注窗口输入的标引标注数据。

自定义XML数据也是单独的存储在.docx文档容器当中的。

每个项都存储为包中的一个单独的部件,这个数据放在一个叫做customXML的目录中,它位于包的根目录下。模块通过将一个新的部件添加到文档的customXMLParts集合,将一个XML文件附加到一个文档当中,然后默认地XML数据被存储在一个叫做/customXml/item1.xml的文件当中。

通过使用XMLMapping和XPath表达式,将XML部件的特定元素映射到一个内容控制。当需要修改自定义XML时,只需要查找保存自定义XML的部件,然后只修改这些文件的内容。

存储后的结构如图2所示:

图2 

(3)提供右键查看标引标注内容的功能,并允许修改。

取得当前坐标值,遍历自定义XML文件,获得所有包含该坐标值的标引标注项,生成Ribbon界面,显示标引标注项目与数据。

3 结语

基于字处理软件的标引标注工具解决了在线标引工具使用环境受限及多数标引工具与用户的使用习惯不一致的问题,实现了在字处理软件上完成内容结构化创作和编辑工作的目的。

工具对文稿的结构化构建,减少了编辑的工作量,提高了质量和效率。但,受到文稿自身结构规范化程度影响,目前的技术人工参与的痕迹还很多,还无法完全实现智能的结构化和标注。

随着国产字处理软件(如金山WPS软件等)品质和创新能力的不断提升,市场份额逐渐扩大。今后要针对国产字处理软件开发出相应的系统,不断完善与改进ConSIS系统。

[1]孙艳玲,刘化冰,王海虹,等.深度加工标引的中国药物专利数据库[J].中国医药导刊,2008,10(1):22~26

[2]吴倩,李宁,方春燕.“标文通”与OOXML文字处理文档格式的比较与转换[J].计算机应用研究,2009,26(2):591~594

[3]Ausbrooks R,Buswell S,Carlisle D,et al.Mathematical Markup Language(MathML)Version 2.0.W3C Recommendation[J].World Wide Web Consortium,2003,2003

[4]刘东阁.基于MathML的公式检索系统的设计与实现[D].东北大学,2009

[5]傅立云,刘新.基于XML技术的多媒体资料标引系统[J].图书馆,2010(2):111-113,2010(2):111~113

[6]McGrath K,Stubbs P,李永伦.VSTO开发者指南[M].机械工业出版社,2009

Research on the Content Structuring Indexing and Split Techniques Based on Word Processor in MS Word

SHI Hua ,LU Xin-min
(China Science Publishing&Media Ltd.,Beijing 100717)

Proposes three technologies that involved in content structural indexing and splitting of.docx document in CoSIS system:indexing content structure automatically;transforming formula object to standard MathML code;semantic indexing over.docx document.The experimental results conducts on CoSIS reveal that these technologies work well in practice.

Word Processor;Content Structuring;Structured Indexing;Conversion Formula;MathML;Semantic Indexing

国家科技支撑项目(No.2012BAH90F00)

1007-1423(2015)11-0038-05

10.3969/j.issn.1007-1423.2015.11.007

时华(1981-),男,河北高碑人,本科,高工,研究方向为项目管理、数字出版

陆新民(1971-),男,河北人,硕士研究生,副编审,研究方向为出版、计算机应用技术

2015-03-03

2015-03-25

猜你喜欢

标引结构化文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
档案主题标引与分类标引的比较分析
大数据时代数字资源的主题标引研究
基于RI码计算的Word复制文档鉴别
关于关键词标引的要求