(计算机应用技术专业论文)中文网页获取及自动分类技术研究.pdf_第1页
(计算机应用技术专业论文)中文网页获取及自动分类技术研究.pdf_第2页
(计算机应用技术专业论文)中文网页获取及自动分类技术研究.pdf_第3页
(计算机应用技术专业论文)中文网页获取及自动分类技术研究.pdf_第4页
(计算机应用技术专业论文)中文网页获取及自动分类技术研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着互联网技术的不断发展,i m e r n e t 上的信息日益丰富,已经成为人们 日常工作和生活中获取信息的重要来源。但是,由于i n t e r n e t 所固有的开放性 和异构性,用户很难从纷繁复杂的海量信息中准确定位到自己所需要的信息。 因此,如何合理和有效地组织和管理网上信息,已经日益成为信息处理领域一 个十分重要的研究课题。传统的处理方式是依靠人工的方法对网页进行分类, 即专业人员在浏览网页后,根据其内容将它划分到一个或多个类别中。然而, 网页信息在不断地快速增长,仍然依靠人工的方式对大量的网页进行分类,将 是不合适,也是难以实现的。为了使用户更容易更准确地定位所需要的信息, 众多的学者开始研究网页自动分类技术。 本文对中文网页获取和网页分类技术进行了研究,具体内容如下: 1 、给出了一种网页获取方法。此方法在j a v a 应用程序中集成g 0 0 西e w e b a p i 实现网页的搜索和获取,同时构造正则表达式来实现在已获取的网页中匹配出 更多的u r l 。 2 、详细论述了对中文网页进行自动分类的主要技术问题。论述了网页预处 理过程,包括网页的清洗和中文自动分词技术。分析比较了各种分词技术,并 介绍了中文分词系统i c t c l a s 。 3 、分析和比较了三种中文文本表示模型和多种特征选取算法,采用了向量 空间模型和特征词表示方法,并针对不同词性的词在文本中的作用以及降低特 征向量维数的需要,提出了基于词性的特征提取算法,此方法在进行特征值权 重之前就剔除认为是噪音的信息,从而在很大程度上提高了特征词权重的效率。 4 、分析比较了多种文本分类算法,详细介绍了k n n 分类算法,并针对k n n 算法效率较低的缺陷,提出了相应的改进方法,通过对文本的特征向量进行重 构改进k n n 算法实现了分类器。 5 、对本论文所构建的分类器进行了评估。实验结果数据表明,改进的k n n 算法在基本不损失准确率的基础上召回率和分类效率都有明显提高。 关键词:网页获取,中文分词,特征提取,文本分类算法 a b s t r a c t i n t e r n e t , w h i c hc o n t a i n i n gm o r ea n dm o r ei n f o r m a t i o nw i t hi t sr a p i d d e v e l o p m e n t ,i sb e c o m i n ga l li m p o r t a n tk n o w l e d g e - a c q u i s i t i o ns o u r c ei no u rw o r k a n dl i f e h o w e v e r , b e c a u s eo fi t so p e n i n ga n dh e t e r o g e n e i t y , i ti sv e r yd i f f i c u l tf o r u s e r st oo b t a i n i n gt h ei n f o r m a t i o nt h e i rn e e d e d s o , h o wt oh a n d l ea n do r g a n i z et h e v a s tn u m b e ro fo n l i n ei n f o r m a t i o nh a sb e c o m ea n i m p o r t a n t r e s e a r c hf i e l d t r a d i t i o n a l l y , t h ew e b c l a s s i f i c a t i o ni sm a n u a l l y a f t e rr e a db yt h ep r o f e s s o r , t h ew e b c l a s s i f yi no n eo rm o r ec a t e g o r y n e v e r t h e l e s s ,a st h ef a s tg r o w t ho ft h ew e b , c l a s s i f y i n gw e bu p o nt h ea r t i f i c i a lm e t h o dw i l lb ei n a p p r o p r i a t ea n dd i f f i c u l t i no r d e r t oh e l pt h eu s e rl o c a t et h ei n f o r m a t i o ne a s i e r , m o r es c h o l a r sb e g a nt os t u d yt h ew e b c l a s s i f i c a t i o nt e c h n o l o g y t h ec h i n e s ew e ba c q u i s i t i o na n dc l a s s i f i c a t i o nt e c h n o l o g ya r er e s e a r c h e di nt h i s d i s s e r t a t i o n t h ec o n t e n ti sa sf o l l o w s : 1 、t h i sd i s s e r t a t i o np r e s e n t st h ew e ba c q u i s i t i o nt e c h n o l o g yw h i c hi n t e g r a t i n g g o o g l ew e ba p i i n t oj a v aa p p l i c a t i o nt os e a r c ha n da c q u i s i t i o nw e ba n di n t r o d u c i n g r e g u l a re x p r e s s i o nt of i n do u tt h eo t h e ru r l i nt h ew e b 2 、t h i sd i s s e r t a t i o nd e s c r i b e st h em a i np r o c e d u r e so fw e bc l a s s i f i c a t i o ni nd e t a i l t h ew e b p r e t r e a t r n e n tp r o c e s s ,i n c l u d i n gw e bc l e a na n dc h i n e s ew o r d sp a r t i c i p l e ,i s d i s c u s s e d ,t h e ne a c hk i n do fp a r t i c i p l et e c h n o l o g i e sa r ea n a l y z e sa n di c t c l a si s i n t r o d u c e dl a t e r 3 、t h r e ek i n do fc h i n e s et e x te x p r e s s i o nm o d e la r ec o m p a r e di nt h i sd i s s e r t a t i o n i ti st h ev e c t o rs p a c em o d e lt ob eu s e di n t h i sd i s s e r t a t i o n t h e n ,t h i sd i s s e r t a t i o n c o m p a r e sa l ls o r t so ff e a t u r es e l e c ta r i t h m e t i c b e c a u s et h ef u n c t i o no ft h ed i f f e r e n t l e x i c a lc a t e g o r yw o r di nt h et e x ti sn o ts a m e ,t h ef e a t u r es e l e c tb a s e do np a r to f s p e e c hi sp r o p o s e dt or e d u c et h ed i m e n s i o no ft h ec h a r a c t e r i s t i cv e c t o lt h i sm e t h o d i m p r o v e st h ee f f i c i e n c yo ft h ef e a t u r es e l e c t i o nb ye l i m i n a t i n gt h en o i s ei n f o r m a t i o n b e f o r ec o m p u t i n gt h ew e i g h to ff e a t u r ew o r d s 4 、t h e nt h i sd i s s e r t a t i o nc o m p a r e ss o m ek i n d so ft e x tc l a s s i f i c a t i o na l g o r i t h m , i n t r o d u c e st h ek n ni nd e t a i la n dp r o p o s e st h ec o r r e s p o n d i n gi m p r o v e m e n tm e t h o d w h i c h r e b u i l d i n gt h ef e a t u r ev e c t o ro ft h et e x tt oi m p r o v et h ee f f i c i e n c y 5 、t h ec h i n e s ew e bc l a s s i f i e rp r o p o s e di n t h i sd i s s e r t a t i o ni se v a l u a t e d i ti s i n d i c a t e db yt h ee x p e r i m e n tt h a tt h i sm e t h o dp r o p o s e di nt h i sd i s s e r t a t i o ni m p r o v et h e r e c a l lr a t ea n de f f i c i e n c yo fc l a s s i f i c a t i o nw i t h o u td a m a g i n gt h ep r e c i s eo ft h e c l a s s i f i c a t i o n k e yw o r d s :w e ba c q u i s i t i o n , c h i n e s ew o r d sp a r t i c i p l e ,f e a t u r es e l e c t i o n , t e x t c l a s s i f i c a t i o na l g o r i t h m i l l 此页若属实请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:晷盎硅日期超l 垒:竺 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅: 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:是血导师签名:韭日期回生生 注:请将此声明装订在学位论文的目录前。 武汉理工大学硕士学位论文 1 1 课题背景 第1 章引言 由于以i n t e r n e t 为主体的信息高速公路的不断普及和发展,信息技术已经渗 透到我们社会生活的各个角落,以前所未有的速度改变着人们的生活方式和工 作方式。然而,因特网每时每刻都在发生变化,网上的信息是极其无序的,信 息量越大,越难被利用。而且,没有人对因特网上的信息的有效性和有序性负 责。于是,一个极富挑战性的课题:如何帮助人们有效的组织和管理网上的信 息,尽量剔除不相关的信息,同时保证人们在信息选择方面的个人隐私权利, 成为学术界和企业界所关注的焦点。 i n t e r n e t 上网页的数量正在爆炸性地增长。单就搜索引擎g o o g l e 而言,截至 到2 0 0 5 年2 月1 6 日,g o o g l e 已留存、搜集整理了80 5 8 0 4 46 5 1 个网页【1 1 。如 果加上大量g o o g l e 无法搜索到的页面,因特网网页的总数就更多。如此众多的 信息,紧紧依靠大脑来收集和整理所需要的信息显然是不够的。所以,自动收 集和整理所需要的各类信息,成为信息产业面临的新的挑战和新的发展契机。 根据不同的应用背景和不同的使用目的,信息处理技术已经演化为信息检索、 信息过滤、信息分类等方向。 面对网上的海量信息,传统的做法是对网上信息进行人工分类,并加以组 织和整理,为人们提供一种相对有效的信息获取手段。但是,这种人工分类的 做法存在着许多弊端:一是耗费大量的人力,物力和财力。二是存在分类结果 一致性不高的问题。即使分类人的语言素质较高,对于不同的人分类,其分类 结果仍然不尽相同。甚至同一个人,在不同时间做分类也可能会有不同的结果。 因此,人们对网页自动分类技术的需要越来越迫切。网页自动分类是处理海量 网页的有效手段,它能提供网页集的良好组织结构,简化网页的存取和操作, 提高网页处理效率,网页自动分类及其相关技术的研究也正日益成为研究热点。 网页自动分类技术是当今信息检索和情报检索的一个重要研究课题,在数 字存储技术日益普及的今天,应用的范围十分广泛,例如:数字图书馆、电子 邮件分类、新闻分类、文本检索等等。本论文把信息检索技术融合到了网页分 类中,使网页分类更具有智能性。在论文中,提出了一套完整的网页获取和自 武汉理工大学硕士学位论文 动分类方案,并全部予以实现。 1 2 国内外研究现状 网页自动分类是在文本分类算法的基础上结合h t m l 语言结构特点发展起 来的,由于网上大多网页所包含的信息都是文本信息,因此本论文主要讨论网 页中的文本信息的自动分类技术。这种技术的基础就是文本自动分类。文本自 动分类最初是应信息检索( i n f o r m a t i o nr e t r i e v a l ,i r ) 系统的要求出现的。信息 检索系统必须操纵大量的数据,其文本信息库可能是相当庞大的,同时,用来 表示文本内容的词汇数量又是成千上万的。在这种情况下,如能提供具有良好 的组织与结构的文本集,就能大大简化文本的存取和操作。文本自动分类系统 的目的就是对文本集进行有序的组织,把相似的、相关的文本组织在一起。它 作为知识的组织工具,为信息检索提供了更高效的搜索策略和更准确的查询结 果。其中高效性在于用户可以首先确定查询的可能类别以减少需进一步匹配的 文本数量,有效性在于相似的文本很可能与相同的查询相关。这样,检索的查 全率和准确率都得到了提高。 国外文本自动分类研究始于1 9 5 0 年末,h e l u h n 在这一领域进行了开创性 的研究【z j 。其后,m a r o n 和h b o r k o 等许多学者在这一领域进行了卓有成效的研 究。当前,国外主流的分类方法有r o c c h i o 法【3 】及其变异方法、k 近邻法( k n n ) 【4 】、决策树嘲、相似性度量【6 】、神经网络法m 、支持向量机( s v m ) 等方法【8 】8 。 这些方法在英文一级欧洲语种文本分类上有广泛的研究,而且很多研究表明 k n n 和s v m 是英文文本分类的最好方法【9 1 。 由于网页和普通文本之间存在着差别,所以很多学者开始研究通过网页自 身的特点来提高分类的准确率。f u m l 【r a 皿【1 0 】用指向该网页所有链接周围的文本 以及标题信息来表示网页,并用r i p p e r 算法对文本进行分类,其准确率比单纯 使用局部文本提高了2 0 :o h l l l 】等人也结合网页局部文本和链接网页的文本表 示网页,但没有引入所有链接网页的文本,实验结果比使用所有链接网页提高 了7 。y 亦g 【4 】等人通过在h o o v e r s 和w e b k b 数据集上的研究给出了比较客观 的解释:网页是否集中地存在某种规律以及能否利用这些规律,对网页分类算 法的性能影响较大。 国内自动分类研究起步较晚,始于2 0 世纪8 0 年代初期。关于中文文本分 2 武汉理工大学硕士学位论文 类的研究相对较少,国内外的研究基本上是在英文文本分类的基础上,结合中 文文本和汉语语言的特性采取相应的策略,然后应用于中文之上,继而形成中 文文本自动分类研究体系。1 9 8 1 年,候汉清对计算机在文献分类工作中的应用 作了探讨。早期的系统主要特点是结合主题词表进行分析分类,人工干预的成 分很大,如香港中文大学的w ml a i n 等人将k n n 方法和线性分类器结合,取得 了较好效果,在召回率接近9 0 时准确率超过8 0 1 1 2 i 。 c i c ew o n g 等人研究 了用混合关键词进行文本分类的方法,召回率准确率为7 2 6 2 l l ”。复旦大 学和富士通研究开发中心的黄首著、吴立德、石崎洋之等研究了独立语种的文 本分类,并以词汇和类别的互信息量为评分函数,分别用单分类器和多分类器 对中文和日文文本进行了实验,最好的结果召回率为8 8 8 7 【1 4 j 。上海交通大学 的刁倩、王永成等人结合词权重和分类算法进行分类,在用v s m 方法的封闭式 测试实验中分类正确率达到9 7 t ”】。此后,基于统计学的思想,以及分词、语 料库等技术被不断应用到分类中。 1 3 本文拟解决的关键性问题 本文针对目前中文网页资源丰富,知识发现困难的问题,采用数据挖掘技术, 以实现中文网页的自动获取和自动分类。主要解决了以下几个问题: 1 中文网页的批量获取; 2 中文网页的清洗; 3 中文文本的分词处理; 4 中文文本特征词提取; 5 中文文本的向量表示; 6 分类类别的确定和训练库的建立; 7 文本类别的自动识别。 1 4 本文所做的工作 本文对中文网页的自动获取和自动分类技术进行了探讨,着重研究了基于 中文的网页自动分类,并实现了一个中文网页自动获取和自动分类处理模型。 具体包括: 1 基于g o o g l cw e b a p i 的网页批量获取。构造正则表达式循环匹配出网页中所 3 武汉理工大学硕士学位论文 有的u r l 并获取对应的网页。 2 对于获取的网页进行预处理,采用i c t c l a s 中文分词系统对文本进行分词。 并对网页进行清洗,剔除网页中的一些垃圾信息,将网页转换为文本格式。 3 采用t f i d f 向量表示法,统计特征词的词频和其文本频数,计算其权重。将 文本映射为特征空间中的一个特征向量。 4 建立训练文本库,最终采用改进的k n n 算法实现文本的自动类别识别。 4 武汉理工大学硕士学位论文 第2 章网页自动获取 当人们提及网页的获取,首先想到的是利用各个搜索引擎提供的搜索服务 来获取所需的网页。一般情况下,在浏览器中打开g o o g l e 或其他搜索引擎搜索 有用的网页。然而,如果需要收集大量同一主题的网页,并建立一个网页存储 库,为下一步的处理( 如趋势分析、网页内容挖掘等) 做准备时,各搜索引擎 所提供的服务就不能满足需求了。 开发一个网络机器人收集需要的网页,固然是个很好的主意。但是,开发 一个具有独立版权并性能良好的网络机器人所要花费的巨大精力和巨额资金是 大多数人不能承受的。本文介绍了一种简单但实用的方法,通过在j a v a 应用程 序中集成g o o g l e w e b a p i ,实现搜索u r l 和保存网页到本地磁盘。经过测试, 在这种投入极少的情况下,系统消耗很低,而且性能依然非常好。 2 1 网页自动获取流程 中文网页获取总体设计思想如下图所示; 5 武汉理工大学硕士学位论文 图2 - 1 网页获取总体设计流程图 具体过程如下: s t e p1 :利用g o o g l ew 曲a p i 获取一千个主题网页。之所以获取1 0 0 0 个网页是 因为g o o g l e w e b a p i 本身的限制,其使用方法将在下一节中作更详细 的介绍。 s t e p2 :解析网页。构造正则表达式匹配出网页中所有的u r l 和相关的锚文本。 正则表达式的用法将在后面作更进一步的讨论。 s t e p3 :根据锚文本的内容去掉和主题无关的u r l 。这一步主要是为了进一步分 析得到的链接不至于偏离主题。 s t e p4 :由于得到的u r l 对应的网页类型不一样,有的网页包含大量文字内容, 我们称之为文本型网页;而有些网页则包含大量的链接,我们称之为 索引型网页或者主页型网页。给定一个阈值,如果某个网页中的u r l 数量大于这个阈值,就认为这个网页是索引型网页,否则认为是文本 型网页。对于对应网页为索引型网页的u r l ,保存其至u r l 库1 ,并 6 武汉理工大学硕士学位论文 获取其对应网页保存至w e b 库1 。然后重复s t e p 2 。对于对应网页为文 本型网页的u r l ,保存至u r l 库2 ,并获取对应网页保存至w e b 库2 。 经过以上过程,我们就可以重复使用g o o g l ew e ba p i 获取到需要数量的网 页。对于其中的两个重要的步骤,使用g o o g l ew e ba p i 获取网页和利用正则表 达式匹配出网页中的u r l 。将在下面作更具体的介绍。 2 2 关于g o o g iew e ba p l g o o g l e 于2 0 0 2 年4 月1 1 日发布了其w e b a p i 的b e t a 测试版本。通过g o o g l e w e ba p i ,软件开发人员可以在自己的应用程序中检索到g o o g l e 索引的数以百 亿计的网页。g o o g l e 遵循的是s o a p 协议和w s d l 规则,所以使用g o o g l e w e b a p i 开发应用程序的程序员可以选择在自己习惯的平台上开发自己的程序,如 j a v a 、p e r l 或者v i s u a ls t u d i o n e t 。 2 2 。1 g o o g l ea p is 的主要方法和约束条件 g o o g l ea p i s 【6 1 可用于j a v a 应用程序的主要类如下: 6 0 0 9 1 e s e a r c h g o o g l e s e a r c h f a u l t g o o g l e s e a r c h r e s u l t g o o l g e s e a r c h r e s u l t e l e m e n t g o o g l e s e a r c h d i r e c t o r y c a t e g o r y 表2 - 1 至表2 - 5 简单介绍了这些类的主要方法,更详细的介绍见参考文献【1 6 l 。 表2 - 1g o o g l e s e a r c h 类的主要方法 d o s e a r c h 0调用g o o g l es e a r c h d o s p e l l i n g s u g g e s请求g o o g l e 返回查询 t i o n 0 词或短语的拼写建议 s e t k e y o设置用户申请的由 g o o g l e 授权的注册序 列号 s e t q u e r y s t r i n 9 0 设置所要查询的单词 或短语 7 武汉理工大学硕士学位论文 表2 - 2g o o g l e s e a r c h f a u l t 类的主要方法 g e t c a u s e 0返回引起搜索失败 的潜在异常,如果 没有获得到引起失 败的异常则返回 空。 表2 - 3g o 0 9 1 e s e a r c h r e s u l t 类的主要方法 g e t r e s u l t e l e m e n t 0以一个数组的形式 返回搜索结果的各 个元素 g e t s e a r c h o u e r y 0返回产生搜索结果 的查询字符串,即查 询词或短语 g e t s e a r c h t m a e 0以秒为单位返回查 询所用的时间 t o s t r i n 9 0以一种精细的格式 良好的方式返回 g o o g l e 搜索的结果 表2 - 4g o o g l e s e a r c h d i r e c t o r y c a t e g o r y 类的主要方法 表2 - 5g 0 0 1 9 e s e a r c h r e s u l t e l e m e n t 类的主要方法 g e t t i t l e 0以h t m l 格式返回 搜索结果的题目 g e t u r l o返回搜索结果的绝 对u r l 地址 g e t c a c h e s i z e 0以k b 形式返回缓 存的大小 2 2 2g o o g i ea p i s 的约束条件 g o o g l e 提供的w e b 服务处于b e t a 测试阶段,还没有经过完全的测试和调 试。其使用有一定的约束: 8 武汉理工大学硕士学位论文 1 ) 要访问g o o g l e 的w e b 服务,必须创建一个g o o g l e 账户并获取一个授权 码,免费的授权码的使用是有限制的,缺省情况下,每天可以使用授权码进行 1 0 0 0 次查询。 2 ) 每次搜索最多只能返回1 0 个搜索结果。而且,通过这项服务,只能找 到前1 0 0 0 个结果。 2 2 3 用g o o g l ew e ba p i 构建j a v a 应用程序 用户每次使用g o o g l ew e ba p i 查询时,会提交一个查询词和一些参数,接 收从g o o g l e 返回的一系列搜索结果”。这些搜索结果来源于g o o g l e 索引的数 以百亿计的网页。模型结构见图2 - 2 。 天天 图2 - 2 获取g o o g l e 索引网页的结构图 1 创建一个搜索 g o o g l e s e a r c h 类封装了g o o g l ew e ba p i 的主要接口。它通过s o a p 提供了 搜索和存储网页的功能。g o o g l e s e a r c h 类的d o s e a r c h 0 方法用于通过g o o g l e 执 行搜索。s e t k e y 0 方法则用于设置用户获得的授权码。对于所有的搜索,这个属 性的设置是强制性的。搜索的关键词即查询词是由s e t o u e r y s t r i n 9 0 设置的。查 武汉理工大学硕士学位论文 询词可以是一个词,一个短语,或是一个简短的句子。构建一个搜索的主要步 骤见图2 3 。 从图中可以看到,先创建一个g o o g l e s e a r c h 类的实例,然后调用该类的 d o s e a r c h0 方法。该方法执行搜索并返回一个g o o g l e s e a r c h r e s u l t 类的实例。 g 0 0 百e s c a r c h r e s u l t 封装了通过调用g o o g l ew e b a p i 搜索所返回的所有结果。得 到搜索结果后,可调用g o o g l e s e a r c h r e s u l t 类的t o s t r i n g ( ) 方法,把返回的结果 转换成字符串格式并打印出来。而g o o e s e a r c h f a u l t 类定义一个异常,用来捕 获调用g o o g l ew e ba p i 过程中可能发生的任何错误。g o o g l e s e a r c h f a u l t 类的 g e t c a u s e 0 方法则返回引起异常的细节信息。 新建一个g 们脚e s 憎c i i 类的实例 t 设置用户授权码和查询词 调用g g l c s e a k h 并返回一个 g 蕾c & 锄c h r e 砌t 的实例 把结果转换为字符串格式输出 发生异常则捕获 图2 - 3 构建一个搜索的主要步骤 2 拼写建议 g o o g l ew e b a _ p i 中g o o g l e s e a r c h 类的d o s p e l l s u g g e s t i o n 0 方法用于检查查询 词或词组。如果用户输入的查询词或短语无拼写错误,或者如果引擎根本不认 识某个单词,那么它将返回n u l l ,否则返回所建议的词或词组。拼写建议的流程 见图2 - 4 。 1 0 武汉理工大学硕士学位论文 设蟹查询词或词组 i 调用d o s p d i s u g g e s t i o n 0 方法 图2 4 拼写建议主要步骤 3 获取u r l 并保存 g o o g l e s e a r c h r c s u l t 类的实例是把搜索到的十条结果当作一个整体返回。而 其g e t r e s u l t e l e m e n t s ( ) 方法则把搜索结果以一个g o o g l e s e a r c h r e s u l t e l e m e n t 类型 的数组的形式返回。这十个搜索结果由1 至1 0 分别索引。把 g o o g l e s e a r c h r e s u l t e l e m e n t 看作是由g o o g l e s e a r c h r e s u l t 返回的搜索结果中的单 个元素的一个容器。其g e t u r l ( ) 方法则可以获取到单个搜索结果中的网页的 u r l 。为了搜集更多的u r l ,可以把搜索的u r l 保存到本地磁盘的一个文本文 件中。 当调用了g o o g l e 的搜索并得到结果以后,使用j a v a 中的文件输入输出类 f i l e o u t p u t s t r e a m 来读写这些结果。方法是创建个f i l e o u t p u t s t r e a m 类的实例, 然后从1 到1 0 逐个访问搜索结果的单个元素,从而得到其中的u r l 。调用 f i l e o u t p u t s t r e a m 类的w r i t e ( ) 方法就可以把这些u r l 写入文件。实现的时候需 要注意的是,j a v a 中数组的下标从0 开始,而搜索结果的索引从1 开始,所以 在访问搜索结果时,数组下标要减1 才能得到正确的结果。 通过调用g o o g l ew e ba p i 搜索的时候,每次只能返回1 0 个搜索结果。这 1 0 个结果,默认的情况下就是索引从1 到1 0 的排在结果最前的1 0 项结果。在 g o o g l ew e ba p i 中的g o o g l e s e a r c h 类封装了s e t s t a r t i n d e x 0 方法,该方法可以让 用户设置所返回的搜索结果的开始索引号。虽然每次搜索结果只能返回1 0 个结 1 1 武汉理工大学硕士学位论文 果,但通过这个方法的设置,可以进行多次的搜索,从而检索到更多的结果。 比如,第一次通过该方法把开始索引号设置为1 ,第二次搜索的时候把索引号设 置为1 1 ,依次类推,就可以得到更多的搜索结果了。还可以在自己的代码中更 改一次返回结果的个数。缺省情况下,一次返回的结果包括1 0 个搜索结果项。 通过g o o g l e s e a r c h 类的s e t m 瓤r e s u l t s 0 方法来改变执行一次搜索结果的个数,但 取值不大于1 0 。获取u r l 并将其保存到文件中的主要流程见图2 5 刨建一个g 出s e 础类的实倒l 创建一个f n e o 1 l p u 略n 缃共的实倒i i 执行搜寨后返回一个 g g l e s 曲删t 类的实例 i h 依次访问搜索结委数组中叼各个元i i 调用酬m 1 0 方法获取搜索结果中i 的u r l , 把u r l 写进文本文件 l ,垣面磊二二 是 捕获此过程中的异常 图2 - 5 获取u r l 并将其保存到文件 4 筛选搜索结果 通过设置各种筛选条件对g o o g l e 的搜索结果进行筛选。设置筛选条件的各 武汉理工大学硕士学位论文 个方法如下: 1 ) s e t l a n g u a g e r e s t r i e t s 0 对搜索结果的语言进行筛选,如:只要中文,或只 要英文的结果。也可以设置多种语言,不同语言之间用“i ”分开。如只需要中 文简体和中文繁体的搜索结果。可以把此处的值设置为: l a n g _ z h - c n l l a n g z h - t w 。 2 ) s e t r e s t r i c t ( ) 对搜索结果的国家地区进行设置。可以设置一个或多个国家。 例如,只想查找来自英国的数据,那么可以设置此处的置为“c o u n t r y u k ”。 3 ) s e t s a f e s e a r c h ( ) 设置是否过滤成人信息。当设置为真时,包含色情或直接 的性描写内容的网页会从搜索结果集中剔除。 4 ) s e t f i l t e r ( ) 设置是否筛选掉相近结果。设置为真时,如果搜索结果非常接 近,则会剔除掉其中一个结果。这个属性也可以限制搜索结果来自同一个服务 器的情况。如果一个网站上有1 0 个网页都和查询词匹配,则只会返回这个站点 的前两个结果。 5 ) s e t s t a r t r e s u l t ( ) 设置返回结果的开始索引号。例如,如果搜索结果有1 5 0 个,那么可以选择从第3 0 个开始返回。 6 ) s e t m a x r e s u l t s0 设置返回结果的个数。 缺省情况下是1 0 个结果,可以更改为1 0 个以下的结果。 更详细的筛选条件可以在g o o g l e 网站上找到。筛选条件必须在调用搜索之 前设置好,各个筛选条件之间并不冲突,因此可以设置多个条件。设置筛选条 件的主要流程见图2 - 6 。 武汉理工大学硕士学位论文 设置查询词或词组 上 设置语言筛选条件 上 设置国家地区筛选条件 i i f 设置过滤相近结果 f + 设置返回结果的开始索引号 上 设置返回结果的最大个数 图2 - 6 设置筛选条件 5 获取网页 用户可以通过集成o o o g l ew e t , a p i 在自己的j a v a 程序中来获取g o o g l e 索 引的海量网页,其主要流程如图2 - 7 所示。 1 4 武汉理工大学硕士学位论文 是 捕获此过程中的异常 图2 - i 获取网页 从图中可以看出,首先,仍然是创建一个g o o g l e s e a r c h 类的实例。但这次 调用的是d o g e t c a c h e d p a g e ( ) 方法。此外,还定义了一个方法u r l t o n a m e ( ) ,用于 给每个网页文件命一个合适的文件名。u r l 可以指向各种类型的文本,最普遍 的是h t m l 类型,当然也可能是w o r d 文件,p d f 文件,p p t 文件等。 2 3 构造正则表达式 1 9 5 6 年,数学家s t e p h e nk l e e n e 在对自然语言的递增研究成果的基础上提 出正则表达式i 堋。具有完整语法的正则表达式使用在字符的格式匹配方面,后 武汉理工大学硕士学位论文 来被应用到熔融信息技术领域。自从那以后,正则表达式经过几个时期的发展, 现在的标准已经被i s o ( 国际标准组织) 批准和被o p e ng r o u p 组织认定。 正则表达式并非一门专用语言,但它可用于在一个文件或字符里查找和替 代文本的一种标准。它具有两种标准:基本的正则表达式( b r e ) ,扩展的正则表 达式( e r e ) 。e r e 包括b r e 功能和另外其它的概念。 许多程序中都使用了正则表达式,包括x s h ,e g r e p ,s e a ,v i 以及在u n i x 平台下的程序。它们可以被很多语言采纳,如h t m l 和x m l ,这些采纳通常 只是整个标准的一个子集。 随着正则表达式移植到交叉平台的程序语言的发展,其功能也日益完整, 使用也逐渐广泛。网络上的搜索引擎使用它,e - m a i l 程序也使用它,即使不是一 个u n i x 程序员,也可以使用规则语言来简化程序而缩短开发时间。 2 3 1 使用正则表达式 在典型的搜索和替换操作中,必须提供要查找的确切文字。这种技术对于 静态文本中的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性,因此 在搜索动态文本时就有困难了,甚至是不可能的。 使用正则表达式,就可以: 1 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看该 字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据 有效性验证。 2 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可 以全部将其删除,或者替换为别的文字。 3 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字 段中查找特定文字。 例如,如果需要搜索整个w e b 站点来删除某些过时的材料并替换某些 h t m l 格式化标记,则可以使用正则表达式对每个文件进行测试,看在该文件 中是否存在所要查找的材料或h t m l 格式化标记。用这个方法,就可以将受影 响的文件范围缩小到包含要删除或更改的材料的那些文件。然后可以使用正则 表达式来删除过时的材料,最后,可以再次使用正则表达式来查找并替换那些 需要替换的标记。 1 6 武汉理工大学硕士学位论文 2 3 2 正则表达式语法 一个正则表达式就是由普通字符( 例如字符a 到z ) 以及特殊字符( 称为元 字符) 组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字 符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 下表是元字符及其在正则表达式上下文中的行为的一个列表: 表2 - 6 正则表达式部分语法列表 元字符功能行为说明 匹配输入字符串的开始位置 $匹配输入字符串的结束位置 匹配前面的子表达式零次或多z o * 能匹配z 以及z o o 次, 等价于 0 , 匹配前面的子表达式一次或多z o + 能匹配z o 以及z o o ,但不能匹配 次,+ 等价于 i , z ? 匹配前面的予表达式零次或一d o ( e s ) ? 可以匹配d o 或d o e s 中的 次,? 等价于 0 ,l d o n 匹配确定的n 次o 2 不能匹配”b o b 。中的o ,但能匹配 f o o d 中的两个o ( 1 1 ,至少匹配n 次o 2 , 不能匹配。b o b 中的o ,但能匹配 。f o o o o o d 中的所有o n ,r a 最少匹配n 次且最多匹配m 次o i ,3 将匹配f o o o o o o d 中的前三个。 限制符非贪婪模式匹配 非贪婪模式尽可能少的匹配所搜索的字符 后跟? 串,而默认的贪婪模式则尽可能多的匹配所 搜索的字符串 匹配除n 之外的任何单个字 ,n 匹配包括n 在内的任何字符 符 x i y匹配x 或yz i f o o d 能匹配z 或”f o o d ( z f f ) o o d 匹配z o o d 或f o o d x y z 匹配所包含的任意一个字符 a b c 可以匹配p l a i n 中的a x y z 匹配未包含的任意字符 a - z 匹配指定范围内的任意字符 a z 匹配a 到z 范围内的任意小写 1 7 武汉理工大学硕士学位论文 字母字符 a _ z 匹配任何不在指定范围内的任意 字符 b 匹配一个单词边界e r b 可以匹配n e v e r 。中的e r ,但不能 匹配。v e r b 中的e r b 匹配非单词边界 c x匹配由x 指明的控制字符x 的值必须为a - z 或a - z 之一 d 匹配一个数字字符等价于 o _ 9 d匹配一个非数字字符 等价于 0 - 9 f 匹配一个换页符等价于x o c 和c l n 匹配一个换行符 等价于x o a 和c j r 匹配一个回车符 等价于x o d 和c m s 匹配任何空白字符,包括空格、等价于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论