毕业设计(论文)-中文分词在搜索引擎的应用与实现.doc_第1页
毕业设计(论文)-中文分词在搜索引擎的应用与实现.doc_第2页
毕业设计(论文)-中文分词在搜索引擎的应用与实现.doc_第3页
毕业设计(论文)-中文分词在搜索引擎的应用与实现.doc_第4页
毕业设计(论文)-中文分词在搜索引擎的应用与实现.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

( 本科毕业设计说明书本科毕业设计说明书 题题 目目: 中文分词在搜索引擎的应用中文分词在搜索引擎的应用与实现与实现 学学生生姓姓名名 : 学学 院院 : 信息工程学院信息工程学院 系系 别别: 计算机系计算机系 专专 业业: 计算机科学与技术计算机科学与技术 班班 级级: 计算机计算机 0404 - - 2 2 指指导导教教师师 : 学校代码:学校代码: 1012810128 学学 号:号:040201041040201041 内蒙古工业大学本科毕业设计说明书 摘 要 信息的飞速增长,使搜索引擎成为人们查找信息的首选工具。目前在中文搜索 引擎领域,国内的搜索引擎已经和国外的搜索引擎效果上相差不远。之所以能形成 这样的局面,有一个重要的原因就在于中文和英文两种语言自身的书写方式不同, 这其中对于计算机涉及的技术就是中文分词技术。 本设计主要是实现一个中文分词器。通过中文分词,实现对中文句子的分析, 将其拆分成词语。再将其应用在搜索引擎中,使该搜索引擎实现对中文的搜索。系 统中的分词算法采用基于分词词典的机械分词方法,这种方法是按照正向最大匹配 的策略将要分析的中文句子与字典中的词条进行匹配,进而把中文句子拆分成词。 通过使用该分词器可以自动把中文句子准确的拆分成词,拆分速度快。运用在 搜索引擎的分析器中可以对中文信息进行分析,实现了对中文句子的搜索,提高了 搜索引擎对中文搜索的功能和效率。并且本系统具有良好的可扩展性和可移植性, 可以移植到大部分使用Lucene分析器的搜索引擎中。 关键词:中文分词;词典;搜索引擎; 全套设计加扣全套设计加扣 3012250582 内蒙古工业大学本科毕业设计说明书 Abstract 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 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 Chinese 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 accordance 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. Use the search engine analyzer can analyze information to the Chinese, and the Chinese phrase search, improved search engines to the Chinese search function and efficiency. And this system has good scalability and portability, can be transferred to the use of most of the Lucene search engine analyzer. Keywords:Chinese word segmentation;Lexcion;Search engine 内蒙古工业大学本科毕业设计说明书 目 录 引 言.1 第一章 中文分词概述.2 1.1 中文分词简介.2 1.2 中文分词算法的分类.2 1.2.1 基于字符串匹配的分词方法.2 1.2.2 基于解的分词方法.2 1.2.3 基于统计的分词方法.3 1.3 中文分词技术的应用.3 1.3.1 中文分词技术在中文搜索引擎的应用.3 1.3.2 中文分词技术在中文信息检索的应用.3 1.3.3 中文分词技术在中外文对译中的应用.4 第二章 开发技术简介.5 2.1 Lucene 简介 .5 2.2 JSP 简介.6 2.3 Oracle 简介.7 第三章 系统分析与设计.8 3.1 系统需求分析.8 3.2 系统设计目标.8 3.3 开发设计思想.8 3.4 系统开发环境.9 第四章 系统实现.10 4.1 分词实现原理.10 4.2 中文分词的实现.10 内蒙古工业大学本科毕业设计说明书 第五章 系统测试.12 5.1 系统测试的目的和原则.12 5.2 系统测试的方法.12 5.3 系统测试的实现.12 第六章 系统部署应用.14 6.1 系统功能介绍.14 6.2 数据库设计.14 6.3 部署应用结果.14 结 论.18 参考文献.19 谢 辞.20 内蒙古工业大学本科毕业设计说明书 1 引 言 本课题主要研究中文分词技术在搜索引擎中的应用与实现。通过使用中文分词 技术实现一个中文分词器,把中文的汉字序列切分成有意义的词,再将其应用到搜 索引擎中,以实现搜索引擎对中文搜索的支持,提高搜索速度和效率。 引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末 本世纪初。目前在中文搜索引擎领域,国内的搜索引擎已经和国外的搜索引擎效果 上相差不远。之所以能形成这样的局面,有一个重要的原因就在于中文和英文两种 语言自身的书写方式不同,由于中文是由连续文字组成,缺乏有效的间隔,虽有句、 段分隔,但在进行机器语言学习、文本语义理解分析过程中都需以词组为最小单位。 因此实现中文分词相对西方语言来讲,更加的复杂和困难。这其中对于计算机涉及 的技术就是中文分词技术。国内外的科研院校,如北大、清华、中科院、北京语言 学院、东北大学、IBM 研究院、微软中国研究院等都一直关注并研究中文分词技术。 研究这个中文分词组件的主要目的是服务于搜索引擎。通过使用词典将要分析 的中文语句与词典中的词条进行匹配来提高分词速度。通过使用正向最大匹配策略 提高分词的精确度。将该分词器应用到使用 Lucene 的搜索引擎中不但可以实现对中 文的搜索,提高搜索功能,还可以对中文分词,提高搜索精度。应用到其它方面可 以使得计算机快速准确处理中文信息。 内蒙古工业大学本科毕业设计说明书 2 第一章 中文分词概述 随着搜索引擎的发展,分词技术也运用而生。在早期搜索引擎一直是用于对英 文信息的搜索,现今搜索引擎已经运用在各种方面,也要实现对中文的搜索,而对 中文搜索就要使用中文分词技术。 1.1 中文分词简介 在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和 段可以通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文 也同样存在短语的划分问题,但是在词这一层上,中文比之英文要复杂的多、困难 的多。这就要求在对中文网页进行分析之前,先要将网页中的句子切割成一个个的 词的序列,这就是中文分词。 1.2 中文分词算法的分类 现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词 方法和基于统计的分词方法。 1.2.1 基于字符串匹配的分词方法 这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个 “充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功 (识别出一个词) 。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向 匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短) 匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相 结合的一体化方法。常用的几种机械分词方法如下: (1)正向最大匹配法(由左到右的方向) ; (2)逆向最大匹配法(由右到左的方向) ; (3)最少切分(使每一句中切出的词数最小) 。 1.2.2 基于解的分词方法 这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基 本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧 义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控 部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧 义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言 知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器 内蒙古工业大学本科毕业设计说明书 3 可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。 1.2.3 基于统计的分词方法 从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次 数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反 映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它 们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现 信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认 为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要 切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限 性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、 “之一”、 “有 的”、 “我的”、 “许多的”等,并且对常用词的识别精度差,时空开销大。 1.3 中文分词技术的应用 中文分词技术是中文信息处理的基础,在一切中文信息处理系统中,都要用 到中文分词技术。在中文搜索引擎、信息检索、同音字识别、中分校对、中外文对 译等,有着广泛的应用。 1.3.1 中文分词技术在中文搜索引擎的应用 在网络上,搜索引擎必不可少。对于搜索引擎来说,首先要找到搜索结果,然 后看搜索结果是否是用户所需要的。也就是说,搜索的结果一定要把那些与用户所 需要的结果最相关的排在最前面。如果在中文搜索引擎中没有中文分词,那么,很 多结果肯定与用户需要的信息不相关。在搜索引擎中应用中文分词技术,首先要求 分词技术的速度快,其次要求准确性。现有比较著名的搜索引擎的速度都很快,但 搜索结果很多与用户需要的信息不相关。故而改进现在的搜索引擎技术是非常有必 要的。 1.3.2 中文分词技术在中文信息检索的应用 在信息检索系统中,用户是用自然语言输入查询内容的。系统检索用户查询内 容时,将查询内容分解为索引项,进行信息检索。分词技术在信息检索系统的应用 在于系统的索引项实现了按词索引,在系统与用户接口上,实现了自然语言的查询。 建立一个应用分词技术的中文信息检索系统,要求建立一个对不同领域有不同专业 词典的通用词典,收录了各个方面的专业术语、专用词和常用词;它的分词算法要 求很高的准确率和快速性,能够进行歧义辨别和识别未登录词。 内蒙古工业大学本科毕业设计说明书 4 1.3.3 中文分词技术在中外文对译中的应用 这里所说的中外文对译是指机器翻译,而不是人工翻译。将中文翻译成外文, 首要的条件就是分词正确,才能理解中文句子,之后才可以做出正确的翻译。否则, 一切都是空谈。词性对中外文对译也非常重要。 内蒙古工业大学本科毕业设计说明书 5 第二章 开发技术简介 开发本系统所选择的编程语言是 Java,所使用到的技术是 Lucene、JSP,用到 的数据库是 Oracle。 2.1 Lucene简介 Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全 文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的 架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西 方语言) 。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在 目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。 Lucene作为一个全文检索引擎,其具有如下突出的优点: (1)索引文件格式独立于应用平台。Lucene定义了一套以 8 位字节为基础的索 引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。 (2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新 的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的 目的。 (3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便 扩充新功能。 (4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流 完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。 (5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可 获得强大的查询能力,Lucene 的查询实现中默认实现了布尔操作、模糊查询、分组 查询等等。 Lucene 系统的结构组织如图 2-1 所示。 内蒙古工业大学本科毕业设计说明书 6 图 21 Lucene 系统结构组织图 从图中可以清楚的看到,Lucene 的系统由基础结构封装、索引核心、对外接口 三大部分组成。其中直接操作索引文件的索引核心又是系统的重点。Lucene 的将所 有源码分为了 7 个模块(在 java 语言中以包即 package 来表示) ,各个模块所属的系 统部分也如上图所示。需要说明的是 org.apache.lucene.queryPaser 是做为 org.apache.lucene.search 的语法解析器存在,不被系统之外实际调用,因此这里没有 当作对外接口看待,而是将之独立出来。 2.2 JSP简介 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一 起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段和 JSP 标记(tag) ,从而形成 JSP 文件(*.jsp) 。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页 面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客 户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发 需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完全 的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 JSP 技术的强势 : (1)一次编写,到处运行。在这一点上 Java 比 PHP 更出色,除了系统之外, 代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意 环境中进行系统部署,在任意环境中扩展。相比 ASP/PHP 的局限性是现而易见的。 内蒙古工业大学本科毕业设计说明书 7 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/JSP,到 由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理, 一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经有了 许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的 运行于多种平台之下。 2.3 Oracle简介 Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲 它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务 器(Client/Server)体系结构的数据库之一。 Oracle 的特点有: (1)Oracle7.X 以来引入了共享 SQL 和多线索服务器体系结构。这减少了 Oracle 的资源占用,并增强了 ORACLE 的能力,使之在低档软硬件平台上用较少的 资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 (2)提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性 检查、安全性、一致性方面都有良好的表现。 (3)支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 (4)提供了与第三代高级语言的接口软件 PRO*系列,能在 C,C+等主语言中嵌 入 SQL 语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优 秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生 成基于客户端 PC 平台的应用程序,并具有良好的移植性。 (5)提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的 数据,并有对称复制的技术。 内蒙古工业大学本科毕业设计说明书 8 第三章 系统分析与设计 3.1 系统需求分析 在网络上,搜索引擎必不可少,如果在中文搜索引擎中没有中文分词,那么, 很多结果肯定与用户需要的信息不相关。在中文中文信息信息检索和中外文对译等 各种应用中也都需要中文分词。因此有必要设计一个中文分词器应用在需要对中文 进行分析的系统中。 3.2 系统设计目标 分词组件中分词的准确性、运行效率和适用性是本次设计的主要目标。 (1)准确性 准确性是分词系统性能的核心指针。一个分词系统把句子分解成一个个词语, 就应该是有意义的词,否则其分词系统就没有使用的意义。所以设计该系统是要把 中文句子准确的分解成一个个有意义的词。 (2)运行效率 分词是各种汉语处理应用系用中共同的、基础性的工作,这步工作消耗的时间 应尽量少,应只占上层处理所需时间的一小部分,并应使用户没有等待的感觉,由 于汉语自然语言处理的应用系统处理对象越来越多的是大规模语料,所以分词系统 的处理速度越快越好。本系统要设计成具有较高的运行效率。 (3)适用性 中文自动分词是手段而不是目的,任何分词系统产生的结果都是为某个具体的 应用服务的。好的分词系统具有良好的适用性,可以方便的集成在特定应用的系统 中。开发本系统要适用于大部分使用Lucene这项技术的搜索引擎。 3.3 开发设计思想 本系统主要是实现中文分词算法,通过该算法实现对中文语句进行词的拆分。 本系统在中文分词算法设计的过程中,主要采用了基于字符串匹配的最大正向分词 算法,从句首开始分析每个字,用这个字在系统中的词典里进行查找,如果找到就 继续分析下一个字,直到下一个字不能在词典中找到为止,这时就将已分析过的这 些字组成词。接着继续从当前分析完的下一个字再进行新的分析,直到这句话结束 为止。这样就把一句话分成一个个相应的词。 分词算法设计思想流程如图 3-1 所示。 内蒙古工业大学本科毕业设计说明书 9 开始 结束 正向 读取一个字 保存所有词 保存当前字 将这些字保存 成词 字典中是否存在 是否非空 是 是 否 否 图 3-1 分词算法设计思想流程 3.4 系统开发环境 (1)硬件环境 表 2-3 硬件环境表 内存256MB 硬盘15G CPUInter(R) Celeron (R) CPU 2.80GH (2)软件环境 表 2-4 软件环境表 操作系统Linux 开发工具MyEclipse3.2、JDK1.5、Oracle9i 内蒙古工业大学本科毕业设计说明书 10 第四章 系统实现 4.1 分词实现原理 对实现的中文分析器,需要 lucene-core-2.0.0.jar,lucene-analyzers- 2.0.0.jar 这两个包的支持。通过继承 lucene-core-2.0.0.jar 包的 org.apache.lucene.analysis.Analyzer 类,实现了一个新的分析器 ThesaurusAnalyzer 用来实现对中文的分析。该分析器可以导入到任何含有 lucene- core-2.0.0.jar 包的 org.apache.lucene.analysis.Analyzer 类的工程中实现对中 文分析。该分析器中通过 tokenStream 方法将数据从 reader 类型转换成一个 TokenStream 类型的对象 result,也就是 一个“词流” ,最后从 result 中循环取出 处理后的字符串。该分析器由一个分词器组成,被称为 ThesaurusTokenizer,它继 承了 Lucene 的 Tokenizer,负责对传入的 Reader 进行词条切分的工作。实现的原 理方法见图 4-1 所示。 图 4-1 分析器实现原理 4.2 中文分词的实现 该组件主要是加载词典,然后对中文句子进行分析,拆分成词语。 (1)中文分词的流程图 内蒙古工业大学本科毕业设计说明书 11 开始 结束 是否是中文? 终结符 加载字典 读取一个字符 其它分词算法 中文分词算法 否 是 否 是 图 4-1 中文分词流程图 (2)中文分词算法描述 词典,用来保存中文词语的文件,该词典中的词语来自的是网上一个叫 segement 的分词程序使用的词库中的词语。词库是一个文本文件,名称为 word.txt。文件中每一行一个词语,以开头表示跳过改行。最后保存为 UTF8 的 文本。 在进行中文分词时,首先加载字典信息。然后正向从语句中取出一个字符并保 存它。判断这个字符,如果数字就直接作为一个词保存并清除已保存的字符;如果 是符号就将已保存的字符保存成词并清除已保存的字符;如果是字母就保存该字符; 如果是汉字就在字典中查找,如果能查找到该字就保存该字符,否则将已保存的字 符保存成词并清除已保存的字符。重复以上读取字符并判断的步骤,直到读取到语 句的结尾。 内蒙古工业大学本科毕业设计说明书 12 第五章 系统测试 5.1 系统测试的目的和原则 在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存 周期的每个阶段都不可避免地会产生错误。力求在每个阶段结束之前通过严格的技 术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前, 尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它 是对软件规格说明、设计和编码的最后复审。 尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么 样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软 件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象 编程里更具有它的重要性。 5.2 系统测试的方法 测试的方法分为白盒法和黑盒法。 (1)黑盒测试 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试。 它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在 测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特 性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说 明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并 且保持外部信息(如数据库或文件)的完整性。 (2)白盒测试 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知 识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程, 可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内 部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不 顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 5.3 系统测试的实现 本系统采用黑盒测试法来测试。由于该分词系统只是一个组件,所以需要编写 一个测试类来完成测试。 首先建立一个文本文档,在文档中输入要分析的语句,本次测试输入的语句如 内蒙古工业大学本科毕业设计说明书 13 图 5-1 所示。 图 5-1 测试语句 然后执行编写的测试类,通过执行该测试类将分词的结果显示到控制台上。测 试类的执行结果见图 5-2 所示。 图 5-2 测试类执行结果 通过图中显示的结果可以看到一段中文句子被分成了一个个词。为了显示明显 的效果,对分完的每个词都加了方括号予以区别。 第六章 系统部署应用 内蒙古工业大学本科毕业设计说明书 14 将该中文分词器部署应用在搜索引擎中,实现一个中文分词搜索引擎的系统。 6.1 系统功能介绍 本系统实现的功能为,当用户在搜索框中输入想要查询的数码产品的名字后, 点击搜索按钮,系统将返与用户输入关键字相对应的数码产品信息列表,之后,用 户可以根据结果列表中的摘要信息,点击感兴趣的数码产品信息,进入详细信息页 面。如果,不存在与用户输入的品牌对应的数码产品,将提示用户,所要查找的内 容不存在。本系统实现了对网页信息的分析抓取,并且将网页信息进行解析,然后, 将解析后的信息存储到数据库中。最后为网页内容建索,是用户在检索时可以迅速 得到所要的结果。 6.2 数据库设计 数据库设计的任务是确定系统所需的数据库。数据库是表的集合,通常一个系 统只需一个数据库。本系统设计的表是存放用来被检索的海量信息,如表 6-1 所示。 表 6-1 数据字典表 字段名类型字段描述 Idint主键 Category Varchar2(128)分类:如“笔记本电脑”,“手机”等 NameVarchar2(128 ) 品牌名称,如“联想” TypeVarchar2(128 ) 型号,如“S62J-T08H5M12HV-DR” ContentVarchar2(200 0) 产品详细属性信息 Abstractcont ent Varchar2(512 ) 对应Product类中的摘要 UrlVarchar2(512 ) 对应Product类中的originalURL ImageurlVarchar2(128 ) 对应Product类中的imageURL UpdatedtimeVarchar2(64)最后更新时间 内蒙古工业大学本科毕业设计说明书 15 6.3 部署应用结果 把该分词组件部署到搜索引擎后,可以实现对中文信息的搜索。搜索引擎的界 面如图 6-1 所示。界面上部分是标题,中间是搜索框,下部分是其它网站的链接。 图 6-1 搜索引擎界面 在搜索框中输入搜索内容,点击搜索框右边的 serach 按钮搜索引擎就开始搜索 用户需要的信息。搜索过程如图 6-2 所示。 图 6-2 搜索过程的界面 如果搜索到相应的信息,就会将搜索到的结果信息显示出来。如图 6-3 所示。 内蒙古工业大学本科毕业设计说明书 16 图 6-3 搜索结果界面 点击一个产品信息,就会列出该产品的详细信息。如图 6-4 所示。 图 6-4 产品详细信息 如果搜索的内容不存在会显示没有找到的提示内容。如图 6-5 所示。 内蒙古工业大学本科毕业设计说明书 17 图 6-5 搜索无结果提示界面 由此可见,将该分词器应用到搜索引擎中可以实现对中文信息的搜索。说明该 分词器可以应用在搜索引擎中。 内蒙古工业大学本科毕业设计说明书 18 结 论 通过对中文分词算法的研究,实现了一个中文分词组件,测试通过后也成功部 署在了一个使用 Lucene 开发的搜索引擎上。 该分词器使用 Java 语言实现,具有中文自动分词的功能。部署在搜索引擎后, 实现了对中文的搜索功能,使搜索引擎功能更强,搜索效率也有所提高。本组件的 主要特色是通过字典对中文进行分词,在分词前需要先装载字典。现有的大多数使 用 Lucene 的搜索引擎对中文搜索的功能都不是很好,通过部署本组件能提高中文搜 索的效率。因此搜索的速率和准确率都比同类搜索引擎要高。 但是,该分词器也存在一些问题。它只能分析常用词汇,而不能分析人名和一 些专业词汇。为提高分析精确度,只能手动往字典里添加新词,这样就导致了词典 的灵活性差。在实现中文分词算法时,为了提高分析速度,将词典中的所有词汇都 装载进内存,当字典较大时会消耗大量的内存。 该分词器没有实现便于字典进行添加词汇的方法,需要使用者自己找到字典所 在的文件路径手工添加词汇。如果有更多的时间来全身投入该课题研究

温馨提示

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

评论

0/150

提交评论