毕业设计(论文)FTP搜索引擎设计.doc
《毕业设计(论文)FTP搜索引擎设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)FTP搜索引擎设计.doc(38页珍藏版)》请在三一办公上搜索。
1、摘要随着信息的快速速增长,让搜索引擎成了人们查找信息的首要工具。如今在中文搜索引擎领域,国内搜索引擎已经同国外搜索引擎效果上相差不大了。能形成现在这样的局面,是有一个重要的原因:英文和中文两种语言自身的书写方式不相同,其中在计算机涉及的技术就是中文分词技术。本设计的主要目的是利用爬虫获取的网页,将网页的内容按照一定的分词技术,拆分成一项项的词条,并存储到本地,供后期检索使用。系统中的分词算法采用基于分词词典的机械分词方法,这种方法是按照正向最大匹配的方法将要分析的中文句子与字典中的词条进行匹配,从而把中文句子拆分成一个个词。通过使用该分词软件可以自动的把中文句子比较准确的拆分成词,并且拆分速度
2、快。结合正向最大匹配法和逆向最大匹配法也能把句子比较正确的分成需要的一个个词条。关键词:中文分词;词典;AbstractWith the rapid growth of information, search engines become the preferred tool for finding information. Chinese search engine in the field, domestic and foreign search engine has been the effect on the search engine to be close. Is able to
3、develop this kind of situation, there is one important reason for this is that both Chinese and English language to write their own different ways, including the computer technology is the Chinese word segmentation technology.This design is the realization of a Chinese-term components. Through the C
4、hinese word segmentation, and analysis of the Chinese sentence, will be split into its term. And its application in search engines so that the realization of the Chinese search engine search. System of the algorithm using the word dictionary based on the mechanical-term approach, which is in accorda
5、nce with the largest positive match will be the strategy of the Chinese phrases and terms in the dictionary to match, then split into the Chinese word sentence.Through the use of the term of the sub-components of the Chinese sentences can be automatically split into precise words, split fast. With t
6、he forward maximum matchmethodand the reverse maximum matching methodcan also put the sentences into one and one right entry.Keywords:Chinese word segmentation;dictionary目录前言11FTP搜索引擎爬虫模块介绍21.1设计思路21.2设计步骤21.2.1扫描站点21.2.2获取数据21.2.3数据分类21.2.4生成源文件31.2.5生成站点列表31.2.6建立索引文件32FTP搜索引擎概要设计42.1工作原理42.2工作流程图
7、53FTP搜索引爬虫模块擎详细设计63.1设计目的63.2功能模块设计63.2.1网段扫描63.2.2获取数据83.2.3关于编码问题的解决163.2.4服务器兼容173.2.5生成数据文件213.2.6生成站点列表244FTP搜索引擎索引模块详细设计254.1.1格式化数据254.1.2汇总属性文件274.1.3双字母建立索引284.1.4索引数据库304.1.5字符编码315开发环境和结论325.1硬件环境325.2软件环境325.3运行环境325.4运行结果335.5存在的问题和不足33总结34致谢35参考文献36前言本设计主要是研究中文分词技术的实现。通过使用中文分词技术实现一个中文分
8、词软件,把中文的词条切分成有意义的一个一个词,最后可以把切取的词条保存下来,供以后使用。分词技术发展至今,也已经有十几年的历史。目前在中文分词领域,已经有很多成熟的分词技术。中文是由连续文字组成,缺乏有效的间隔,虽然有句、段分隔,但在进行机器语言学习、文本语义理解分析过程中都需以词组为最小单位的。因此实现中文分词相对英语来讲,更加的复杂、困难。这其中对于计算机涉及的技术就是中文分词技术。国内和国外的科研院校,例如北京大学、清华大学、中科院、北京语言学院、等都一直关注并研究中文分词技术。研究中文分词技术的主要目的是服务于搜索引擎。通过使用词典将要分析的中文语句与词典中的词条进行匹配来提高分词速度
9、。通过使用正向最大匹配法提高分词的准确度。将该分词器应用到搜索引擎中不但可以实现对中文的搜索,提高搜索信息的功能,还可以对中文进行分词,提高搜索精度。也可惜应用到其它领域,使得计算机能快速准确的处理中文信息。1 中文分词概述随着搜索引擎的发展,分词技术也是运用而生。在早期搜索引擎一直只是用于对英文的检索,而如今搜索引擎已经运用在各个领域,当然其中也有实现对中文的搜索,而要对中文搜索就必须要使用中文分词技术。1.1 中文分词简介在英文的行文当中,单词与单词之间是以空格符作为自然分界符的,但是中文只是字、句和段能够通过明显的分界符来简单分开,词却没有一个表面上的分界符,虽然英文也同样存在短语的划分
10、问题,但是在词这一层上,中文比之英文要复杂的多、困难的多。这就要求在对中文字段进行分析之前,先要将句子切割成一个个的词的序列,这就是中文分词。1.2 中文分词算法的分类现有的分词算法大致可以分成三类:基于字符串匹配的分词法、基于理解的分词法和基于词频统计的分词法。1.2.1基于字符串匹配的分词方法这种分词方法又叫机械分词法,它是按照一定的方法把需要分析的句段与一个大的机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功,分出那个词。按照扫描方向来区分,又可以分为正向匹配法和逆向匹配法;按照不同长度优先匹配的情况,可以分为最大匹配法和最小匹配法;按照与词性标注过程是否相结合,又可以分为单
11、纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:(1)正向最大匹配法;(2)逆向最大匹配法;(3)最少切分法。1.2.2基于理解的分词方法这种分词方法是通过让计算机模拟人对句子意思的理解,来完成识别词的效果。它的基本思想就是在分词的同时进行句法和语义分析,利用句法和语义的信息来排除歧义现象。它通常分为三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统能获取有关的词、句子等的句法以及语义信息用以对分词歧义实现判断,也就是它模拟了人对一个句子的理解过程。这种分词方法需要充足的语言知识和信息。但是由于汉语语言知识的笼统性和复杂性,不好对各类语言信息变
12、成机器可直接读取的形式,所以暂时基于理解的分词系统还处在试验阶段。等待更好的完善。1.2.3基于统计的分词方法单从形式上看,词是稳定的字的结合,所以在上下文中,相邻的字一起出现的次数越多,就会越有可能是一个词。因此字和字相邻共现的频率或概率能够较好的反映成词的准确度。因此我们可以对字段中相邻共现的各个字的结合的频率进行统计,计算它们的出现次数。定义两个字的相互出现次数,计算两个汉字相邻共同出现的概率。相互出现概率表现了汉字之间结合关系的紧密程度。如果紧密程度高于某一个概率时,就可以认为这两个字可能构成了一个词了。这个方法只是需要对字段中的字组频度进行统计,不用切分词典,所以又称作无词典分词法或
13、统计取词方法。但是这类方法也是有一定的局限性的,会经常抽出一些共现频度高、但并不能构成词的常用字组,例如“之一”、“这一”、“我的”、“有的”、“许多的”等等。1.3 中文分词技术的应用要对中文信息进行处理,就必须有中文分词技术。在所有中文信息处理系统中,都需要用到中文分词技术。在中文搜索引擎、信息检索、同音字识别、中分校对、中外文对译等,也有着广泛的应用。1.3.1中文分词技术在中文信息检索的应用在信息检索系统中,人们是用自然语言输入查询信息的。系统查找用户需要的内容时,把查询内容分为索引项,然后再进行信息检索。分词技术在信息检索系统的运用在系统的索引项实现了按词索引,在系统和用户的接口上,
14、完成了自然语言的查询。1.3.2中文分词技术在翻译中的应用这里所说的中外文翻译是指机器对中外文进行翻译,而不是人工进行翻译。把中文翻译成外文,最基础的条件就是分词要正确,才可以明白中文句段,然后才能做出正确的翻译。不然,翻译将没办法进行。2 FTP搜索引擎概要设计2.1 工作原理用户对在完成对FTP搜索引擎的爬虫模块配置文件的配置,便可执行爬虫程序。FTP搜索引擎的工作模式大概如下:1) 爬虫程序会自动生成用户指定IP网段中包含的所有IP地址,对它们逐一进行扫描,已确认哪些站点提供了匿名的FTP服务。2) 当程序成功登录某个FTP站点之后,程序会自动获取其各级目录下的文件和目录列表,并且会获取
15、各个文件的大小、最后修改时间,最后程序会根据对照表对获取的各个文件进行分类。3) 在所有操作完成之后,会生成该站点的目录和源文件。在扫描完用户配置的站点之后,扫描成功的站点会写入一个站点列表的文件,以便以后使用。在索引模块中,会根据爬虫模块获取的数据,进行处理,建立索引数据库。图 21 搜索引擎系统工作图2.2 工作流程图图 22 FTP搜索引擎工作流程图3 FTP搜索引爬虫模块擎详细设计3.1 设计目的如今很多企业和个人都建立了自己的FTP站点,在各个FTP站点中包含有大量的资源,如何才能快速的在浩如烟海的资源中找到自己需要的资源,已经成为一个需要我们不得不解决的难题。要解决这一问题,需要我
16、们建立一个有效的FTP搜索引擎,而实现搜索引擎的第一个问题就是如何获取各个站点提供的资源信息。本次设计的题目为FTP搜索引擎爬虫模块,其用途就是搜集各个FTP站点的数据信息,并且组织成一个特定的数据格式,索引模块得去这组数据之后,利用再次处理这些数据,建立索引数据库。3.2 功能模块设计3.2.1 网段扫描3.2.1.1 设计思路经过查阅资料,由于Ftp 搜索引擎与WWW 搜索引擎最大的区别就在于Ftp 站点内没有与WWW 页面相对应的超链接,因而Ftp 搜索引擎的站点获得策略就不能模仿搜索引擎业非常时兴的超链分析技术。在本次Ftp 搜索引擎爬虫模块的设计里,我采用了IP 扫描技术和手工添加技
17、术的中和。一方面,程序一开始会读取系统的配置文件,获知本次扫描的网段范围,在对配置文件进行数据效验通过之后,程序会调用相应模块生成该网段中所有的等待访问的IP地址。另一方面,程序本身维护有一个IP站点列表,该列表中会保存用户手工配置的以及上一次扫描成功的IP站点性息,该IP列表中包含有提供FTP服务站点的IP地址和端口号。3.2.1.2 实现方法根据网段生成IP地址的方法多种多样,在本次设计时,我考虑过以下两种方法。1) IP地址分为四段(如:192.168.0.1)每一段可能出现的值为0255,用程序控制IP地址段的进位(256进1)。用循环的方式,每次为最低位执行加1操作,并验证其是否需要
18、执行进位操作,即可实现对于网段中IP地址的生成操作这种方法虽然能够较好的实现网段中IP地址的生成操作,但是由于要人工编写代码实现数据的进位操作,实现较为繁琐,而且由于种种原因的综合影响,不能够完全保证代码的稳定性。2) IP地址分为四段(如:192.168.0.1),每一段的长度为256,由于系统本身并不支持256进位的方式,虽然编程可以对其进行认为的进位控制,但是仍然带来一些不必要的麻烦。由十进制和二进制之间的转换得到启发。在实现是我IP地址转换为十进制进行操作。转换方式为(以192.168.0.1为例)192*2563+168*2562+0*256+1=3232235521。同样使用循环的
19、方式,每次对转换为十进制的IP地址进行加一操作,这样就避免了人工编写代码控制进位的麻烦,程序的稳定性和代码编写的效率都大大提高。在上面的循环操作执行完成之后,我们可以得到一个IP地址表,注意,此时IP地址表中的IP地址均以十进制的数字方式保存。在使用时,我们需要将这些数字再次转化为IP地址。利用.net Framework中提供的IPAddress类中的Parse方法,可方便的将我们获取的十进制数据再次转换为类型为IPAddress类型的IP地址数据,最后我们使用ToString()方法将其转化为字符串,方便以后的使用有上面的描述可以看出,在目前的状况下方法2)优于方法1),因此本次设计我选用
20、了方法2)进行实现。3.2.1.3 核心代码publicList newGetIPList() List listIP = newList();long startIP, endIP; startIP = frs_num0 * 256 * 256 * 256 + frs_num1 * 256 * 256 + frs_num2 * 256 + frs_num3; endIP = tos_num0 * 256 * 256 * 256 + tos_num1 * 256 * 256 + tos_num2 * 256 + tos_num3; System.Net.IPAddress resultIP;f
21、or (long i = startIP; i = endIP; i+) resultIP = System.Net.IPAddress.Parse(i.ToString(); listIP.Add(resultIP.ToString(); eturn listIP; 图 31 IP网段生成3.2.2 获取数据3.2.2.1 设计思路这一部分的实现虽然比较复杂,但是设计思路却较为简单,首先需要向目标站点发送数据请求。FTP站点会根据请求回传的数据,若请求有误,则会回传错误信息。3.2.2.2 实现方法在前期准备工作结束之后,由于使用的开发语言为C#,因此考虑使用.net Framework中提
22、供的FtpWebRequest类库实现该功能。但是后来发现FtpWebRequest类库中提供的功能并不能很好的满足本次设计的需要,并且对目标FTP站点的配置有一定的要求。因此后来放弃了这种方法,改用套接字的方式实现,向指定站点发送FTP命令,然后获取其回传的数据,由于这种方法可以自由的使用所有FTP命令,所以相对原有的方法更为灵活。下面是两种方法的设计思路。1) 使用FtpWebRequest类:用此方法,首先需要取得FtpWebRequest的实例。注意,这里必须拥有服务器的有效用户名和密码,或者服务器必须允许匿名登录。当需要指定用户名和密码是,可通过设置Credentials属性来制定用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 FTP 搜索引擎 设计
链接地址:https://www.31ppt.com/p-3976587.html