PowerPoint课件文本信息提取研究*
2011-11-02赵呈领谈国栋
□ 江 婷 赵呈领 谈国栋
PowerPoint课件文本信息提取研究*
□ 江 婷 赵呈领 谈国栋
本文通过分析Microsoft Office PowerPoint课件结构,提出了一个专用于PowerPoint课件文本信息提取的对象模型,并在该模型的基础上,利用Visual Basic语言开发了一个PowerPoint课件文本信息提取系统。通过该系统实现了对PowerPoint课件文本信息的有效提取,对于建立基于内容的PowerPoint课件检索模型提供了基础。本文重点阐述了两个关键技术环节:PowerPoint课件文本信息对象模型的建立,PowerPoint课件文本信息提取算法的设计与实现。
PowerPoint课件;教学资源;特征分析;文本信息提取
一、问题的提出
Microsoft Office家族中PowerPoint幻灯片软件作为最为常见的课件资源组织形式在教学中发挥了巨大的作用。它可以把各种信息、文字、声音、动画、图表、影片等合理地组织起来,借用现代化的放映工具,方便地展示课程内容,传授知识。随着信息技术在教育领域应用的深入发展,数字化学习时代已悄然来到了我们身边,在数字化学习这种新型的教学方式中,丰富的学习资源是其保持生机的基础。Power-Point以其精美的配套模板,素材丰富的电子幻灯片,简单的操作一直以来在学习资源呈现中扮演着很重要的角色。
如何提取PowerPoint课件的内容特征、建立基于内容的PowerPoint课件检索模型,从而提高PowerPoint课件检索的效率和准确性,一直是多媒体研究领域非常关注的问题。PowerPoint课件所包含的媒体元素包括:文本、图像、声音、动画及视频等,本文重点阐述对于文本这一媒体元素的信息提取。
通过观察PowerPoint演示文稿的界面布局可知,在PowerPoint演示文稿的左侧有“幻灯片/大纲”任务窗格。使用“大纲”选项卡查看时,演示文稿的文本内容按照标题、正文的层次显示出来,即为该演示文稿的大纲,大纲部分体现了演示文稿的文本信息。对于演示文稿文本信息的提取,目前主要可利用PowerPoint自带的“文件”→“发送”→“Microsoft Office Word”功能。虽然该方法可以实现文本信息的提取,但是它存在两方面的问题:首先是使用这种方法的前提是必须打开PowerPoint演示文稿,因此不适合于大规模PowerPoint课件资源的获取与管理;其次提取的文本信息不全面,即只能提取“大纲”任务窗格中的内容,而对于幻灯片中无法显示在“大纲”任务窗格中的文本内容则无法提取。那么,如何解决上述问题呢?显然,这个问题的解决对于教学资源的准确获取和有效管理至关重要。本文拟从PowerPoint课件文本信息的对象模型建立、Power-Point课件文本信息提取的算法设计和PowerPoint课件文本信息提取的算法实现三个方面来阐述这个问题。
二、PowerPoint课件文本信息的对象模型
(一)对象模型建立的依据
为了能够有效的提取PowerPoint课件中的文本信息,即:所有幻灯片的标题和正文的文本,必须首先建立PowerPoint课件文本信息的对象模型,对象模型的建立是PowerPoint课件标准化处理的前提条件[1]。
由于PowerPoint课件内容和组织方法各有不同,所以要建立PowerPoint课件对象模型就应该从PowerPoint课件本身的逻辑结构入手。只有清晰地描述了PowerPoint课件结构才能获得有利于文本信息提取的PowerPoint课件对象模型。
(二)对象模型的建立
本文在参考Microsoft PowerPoint Visual Basic[2]的基础上,结合本课题研究的需要提出了一个专用于PowerPoint课件文本信息的对象模型,如图1所示:
从图1可看出,该对象模型中的相关对象是一个层层嵌套的关系,这种嵌套关系与PowerPoint课件的组成结构相呼应。该模型中相关对象的解释如下:
1.Presentation对象代表PowerPoint中当前打开的一个演示文稿。
2.Slides集合包含演示文稿中的所有Slide对象,即当前打开的演示文稿中所包含的所有幻灯片。Slides集合主要用来实现幻灯片的添加、删除或者访问特定幻灯片。
3.Slide代表一个幻灯片,即当前打开的演示文稿中所包含的所有幻灯片中的某一张。
4.Shapes对象为幻灯片中所有Shape对象
的集合。Shape对象代表绘图层中的一个对象,例如自选图形、任意多边形、OLE对象或图片。共有三个代表形状的对象:Shapes集合,代表文档中的所有形状;ShapeRange集合,代表文档中指定的部分形状;Shape对象,代表文档中的单个形状。
5.TextFrame对象代表Shape对象中的文本框。包含文本框中的文本,还包含控制文本框对齐方式和缩进方式的属性和方法。该对象也是Power-Point课件文本信息提取的最主要的对象。
6.TextRange对象包含附加到形状上的文本,以及用于操作文本的属性和方法。例如,使用该对象的Text属性可返回TextRange对象中的文本字符串。
上述对该模型中各对象的解释为后续Power-Point课件文本信息提取的算法设计与实现提供了思路。在该算法的设计中,重点关注标题与正文文本信息的提取,并且以反映课件逻辑结构的方式将其呈现出来。
三、PowerPoint课件文本信息提取的算法设计
通过建立对象模型,确定在算法设计的过程中要进行如下的判断:本演示文稿包含的幻灯片数量,该结果使用Slides对象的Count属性可以确定;当前幻灯片中是否包含文本框,该结果通过Shapes对象的Count属性可以得到;如果当前幻灯片中有文本框,那么该文本框中的文本可能是本张幻灯片的标题,也可能是本张幻灯片的正文内容,该判断通过形状的编号可确定,而标题和正文信息则可以借助TextRange对象的Text属性获取到。
解析的结果以XML文件形式存储。XML[3]是EXtensible Markup Language的缩写,是被设计用来描述数据的,它反映了数据之间的逻辑结构。XML提供了访问信息的标准方法,使得各种类型的应用程序和设备更容易使用、存储、传送和显示数据。在网络的发展过程中,XML已成为最普遍的数据操纵和数据传输的工具。采用XML这样一种通用的数据交换格式,为对课件内容进行进一步的分析处理,如转换为HTML网页格式或者存入数据库,提供了可能性,从而可以使PowerPoint课件适应数字化学习资源“智能化、标准化、开放式”的要求。同时,也为本课题后期的研究,即:建立基于内容的Power-Point课件检索模型打下了基础。
根据需要,作者在XML文件中自定义了4个标签:演示文稿标签、幻灯片标签、标题标签和正文标签,其结构如图2所示。其中,幻灯片标签的属性“序号”标识了该幻灯片在此演示文稿中的编号。其取值n为从1开始的整数。
依据上述设计思想,设计文本信息的提取算法,其算法流程如图3所示。对PowerPoint课件文本信息提取算法的解析如下:
1.首先使用CreateObject()方法创建Power-Point Application应用程序对象,用该对象打开一个已存在的演示文稿。
2.通过ActivePresentation.Slides()方法获取当前演示文稿的所有幻灯片。
图2 PowerPoint文件解析后的格式
3.对演示文稿中的每张幻灯片进行分析,判断该张幻灯片中是否包含文本框,如果是,接下来执行4;如果否,则该张幻灯片的标题和正文内容都为空。
4.通过ActivePresentation.Slides().Shapes. Count获取该张幻灯片中文本框的数量,判断文本框的数量是否大于或等于1,如果是,接下来执行5;如果否,则该张幻灯片的标题和正文内容都为空。
5.接着判断文本框的数量是否等于1,如果是,则该文本框中的信息即为标题内容;如果否,则第一个文本框中的文本即为标题内容,其余文本框中的文本为正文内容。
6.将读取指针指向下一张幻灯片。重新从步骤3开始执行。
7.将获取到的文本信息以XML的形式写入磁盘文件并输出到显示界面。
该算法遵循PowerPoint课件的结构特征,根据需要通过层层递进,从外向内的方式对PowerPoint演示文稿进行逐层分析,并且设置条件判断,即:使用幻灯片中形状的编号作为判断依据,每张幻灯片中的第一个形状为标题所在的位置,而其余的形状为正文所在的位置。这样,使得该算法具有一定的智能性,不是将所获取的文本杂乱无章的堆砌,而是按照标题和正文的格式将其分别提取。
四、PowerPoint课件文本信息提取系统的实现
(一)PowerPoint课件文本信息提取系统简介
按照上面所设计的算法,笔者使用Visual Basic语言[4]开发了一个PowerPoint课件文本信息提取系统,系统的工作界面如图4所示。该系统的主要功能是提取PowerPoint课件中的文本信息,然后将提取到的文本信息生成基于XML标准的描述文档,XML文档的节点组织模式反映了课件的逻辑结构。
(二)系统的核心技术实现
该系统的核心技术在于对PowerPoint课件标题和正文信息的智能化判断及提取,其主要实现过程如下:
1.课件标题信息的判断及提取
num=ActivePresentation.Slides.Count //获取演示文稿中幻灯片的总数
For j=1 To num
num1=ActivePresentation.Slides(j).Shapes. Count//获取当前幻灯片中文本框的数量
If num1<>0 And ActivePresentation.Slides (j).Shapes(1).HasTextFrameAndActivePresentation.Slides(j).Shapes(1).TextFrame.HasText Then
s=ActivePresentation.Slides(j).Shapes(1). TextFrame.TextRange.TrimText().Text
End If//将第一个文本框中的文本提取为标题信息
2.课件正文信息的判断及提取
If num1>1 Then
For i=2 To num1
If ActivePresentation.Slides(j).Shapes(i).Has-TextFrameAndActivePresentation.Slides(j). Shapes(i).TextFrame.HasText Then
s=s+ActivePresentation.Slides(j).Shapes(i).TextFrame.TextRange.TrimText().Text
End If
Next i
End If//将其余文本框中的文本提取为正文信息
(三)系统的运行效果测试
经过一致性测试,系统分析生成的描述文档基本符合要求。如图4所示,在路径文本框中输入所要分析的PowerPoint课件的地址,解析完成后,该系统将提取到的文本信息,生成反映课件逻辑结构的基于XML标准的描述文档,同时将文档输出到显示界面。
当然,PowerPoint课件文本信息提取系统也存在一定的局限性,它要求课件制作者遵循Power-Point课件的模板所提供的结构,在指定的文本框中填写相应的内容,否则在解析标题和正文时会出现混乱。尽管如此,随着相关系统的开发与完善,PowerPoint课件资源的标准化问题会逐步得到解决,而局限本系统的这个问题也将逐渐消失。随着该系统的进一步开发完善,它将会成为集图片、视频、动画、声音等多种媒体元素特征提取为一体的综合性系统,有理由相信该系统将会为PowerPoint课件的有效获取和管理带来质的飞跃。
五、结束语
基于内容的PowerPoint课件特征分析将会为教育资源的获取和管理开辟新的天地,使教育资源更好地服务于数字化学习。PowerPoint课件文本信息提取的实现,为分析课件的整个框架以及文本信息提供了方便,更为后期建立基于内容的PowerPoint课件检索模型打下了坚实的基础。随着研究的深入,PowerPoint课件的内容特征提取还将包括对演示文稿对象内部的图像、视频、音频、动画以及各媒体元素所使用的特效等信息进行提取,旨在通过对演示文稿对象中各种媒体元素特征进行分析,从而更好地服务于教育资源的获取和管理。
[1]毛刚,刘清堂,胥晓欢.PowerPoint课件的标准化处理研究[J].中国教育信息化(高教职教),2008,(21):79-81.
[2]Microsoft PowerPoint Visual Basic参考[EB/OL].http://download. csdn.net/source/253362.
[3]Young,M.J.XML学习指南[M].北京:机械工业出版社,2001.
[4]龚沛曾,杨志强,陆慰民.Visual Basic程序设计教程(第3版)[M].北京:高等教育出版社,2007.
责任编辑 柯南
G40-057
B
1009—458x(2011)02—0069—04
*本文系国家社会科学基金“十一五”规划2010年度教育学一般课题:“基于混合学习的免费师范生“4+2”教育技术能力培养创新研究”(课题编号:BCA100024)的部分研究成果。
2010-11-15
江婷;赵呈领。华中师范大学信息技术系(430079)。
谈国栋,华中师范大学外国语学院(430079)。