- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于IFilter的非文本文件中抽取文本的关键技术
摘要:文本抽取是信息检索的一个重要问题。设计并实现了一个利用IFilter接口的过滤器组件,抽取非文本文件的文本信息的程序。对这一设计过程论述了其主要的关键技术。
关键词:文本抽取;非文本文件;IFilter接口;过滤器组件
中图分类号:TN393.09文献标识码:A文章编号:1009-3044(2011)27-6682-02
Key Technologies of Extracting Text of non-Text Files Based on IFilter
XU Hui
(School of Information Statistics, Guangxi University of Finance Economics, Nanning 530003, China)
Abstract: Extracting text is an important issue in information retrieval. This paper designs and implements a program that extracts text message of non-text file by using filter components implementing IFilter interface. It discusses major key technologies of the design process.
Key words: text extraction; non-text files; IFilter interface; filter components
目前,互联网存在着海量信息,这些信息除了采用HTML、TXT等文本类型格式以外,还有采用DOC、PPT、PDF等二进制格式进行存储和传播,为文档分类、文档聚类、Web信息搜索、信息抽取等应用领域提供丰富的数据源。但是,二进制格式的文档与文本格式的文档不同,不能直接抽取其中的信息。如何将DOC、PPT、PDF等二进制文档中隐含的文本信息抽取出来,成为信息抽取、Web搜索等领域面临的新问题。
本文利用Windows的IFilter接口技术和过滤器组件,设计并实现了一个通用的从二进制文档抽取文本信息的程序。本文论述这一程序实现的主要关键技术。
1 相关接口简介
1.1 IFilter接口
IFilter[1]接口是由微软公司索引服务的重要组成部分,其主要作用是抽取非文本文件(如Office文档、PDF文档等)的文本,也可用于抽取如HTML和XML等文本文件中的文本内容,使索引服务建立文件的索引,并通过索引搜索文本。IFilter接口一般应用于搜索引擎。实现IFilter接口的组件称为IFilter组件(亦称过滤器组件)。IFilter组件是进程内的COM服务器,用于提取文件中的文本和属性值。
Windows安装了索引服务或Office软件后,会自动安装其标准的IFilter组件:mimefilt.dll(MIME过滤器)、nlhtml.dll(HTML文件过滤器)、offfilt.dll(Office文档过滤器)、query.dll(默认的文本文件过滤器和二进制文件过滤器)。安装Adobe Reader软件时,也自动安装PDF文档的IFilter组件:AcroRdIF.dll。可以使用IFilter Explorer[2]实用工具软件来查看Windows系统已安装的IFilter组件。表1描述了IFilter接口方法[1]。所有实现IFilter接口的组件都提供了这些方法的实现。
1.2 IPersistFile接口
使用IFilter组件操作文档时,必须实现IPersistFile接口。通过调用IPersistFile接口的方法来加载或保存文档文件。IPersistFile接口定义了5个方法,本文只使用其Load方法,打开文档文件,并初始化文件内容的对象[3]。
1.3 IClassFactory接口
IClassFactory接口的作用是创建COM组件。COM组件实际上就是一个类,在系统注册表中所有已经注册的COM组件都有唯一的类标识符。要使用这些COM组件,必须实现IClassFactory接口。在获取指向COM组件的类工厂的指针后,调用IClassFactory接口的CreateInstance方法创建COM组件对象。表2描述了IClassFactory接口方法。
2 用IFilter组件抽取文本的关键技术
利用IFilter组件抽取文档的文本时,首先在系统注册表找到处理该
文档评论(0)