免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 Lucene 的微博分类和检索系统设计实现何超*5101520253035(北京邮电大学信息与通信工程学院多媒体中心,北京 100876)摘要:随着信息技术的不断发展,文本信息正在以越来越快的速度产生和传播,那么对于文本的分类和检索就体现出越来越重要的作用。本文就是利用开源的全文检索引擎工具包Lucene 对文本建立索引进行检索,并通过基于特征选择的 VSM 文本分类法对文本进行有效的分类。使得文本的查询效率和文本的分类准确度达到一个比较好的效果。关键词:Lucnee;搜索引擎;文本分类;特征选择中图分类号:TP311Design of Lucene-based microblogging classification andretrieval systemHE Chao(Beijing University Of Post and Communciations, Beijing 100876)Abstract: As information technology continues to evolve,more and more text messages are fast toproduce and disseminate.Thus text classification and retrieval are playing an increasinglyimportant role.This article is the use of open source Lucene search engine tool kit to search fortext indexing.It use VSM-based text classification feature selection method for effectiveclassification for text.Keywords: Lucene; Search engine; Text Classfication; Feature selection;0 引言随着计算机的普及和网络技术的迅猛发展,各种各样中文文档的数量正在以飞快的速度增长,人们获取知识的途径也发生了深刻的变化。面对这种大量的文本信息,对于文本的快速查找则显得非常重要。如何能够尽快的获取想要得到的文本信息,对人们能够快速的了解获取知识起了重要的作用。要想人们能够尽快而准确的获取某一类的文本信息,文本分类就起了关键的作用,它可以很大的降低查询单饿时间,提高个性化搜索质量,方便用户对文本进行有效的快速获取。所谓文本分类,是指在给定的分类系统下,根据文本的内容或者属性,将文本准确的归类的一个或者多个类别中的过程。目前主要的文本分类方法包括:向量空间模型1(VectorSpace Model)、决策树2(Decision Tree),以及 KNN 分类法3,朴素贝叶斯分类法2等。1 系统概述1.1 系统结构本系统包括三个主要的模块。文本的存储和索引,通过 Lucene 来对所得到的各个微博进行索引;文本分类,负责对各个文本进行分类并将分类结果存入数据库中。搜索显示,负责用户对微博的搜索结果。作者简介:何超,(1987-),男,研究生,主要研究文本挖掘和文本分类算法. E-mail: -1-1.2 模块架构40455055总体的模块架构如下图所示:图 1 模块总体架构索引部分包括对训练文本集的索引和对待测文本的索引。对截取的微博索引用于用户的查询。对训练及的索引则用于通过倒排索引来方便的提取词语的频率,数量等信息,方便的提取特征词语。2 文本索引模块2.1 Lucene 简介Lucene4是 APache 软件基金会项目组的一个子项目,并不是一个完整 的全文索引系统而是一个用 Java 写的全文索引引擎工具包,它提供了多 个 API 函数和灵活的数据存储结构,可以方便嵌入到各种应用中实现针对 应用的全文索引和检索。Lucene 作为一个优秀的全文搜索引擎的架构,其系统结构运用了大量面向对象的编程思想,定义了一个与平台无关的索引文件格式,通过抽象将系统的核心组成部分设计为抽象类,并将与具体平台相关的部分也封装成类,经过层层面向对象编程的处理,最终达成一个低耦合、高效率、容易二次开发的搜索引擎系统。2.2 索引部分详解2.2.1微博索引对截获的微博文本进行索引,为了要方便用户的查询和方便搜索,需要在写入索引的时候添加更多的域,用于存储文本的本地存储地址,时间,如果有发信人信息等也可以建域存60储。具体的实现方式如下:-2-如果还有其他有用的信息也可以通过以上方式添加到域中进行索引。因为系统是持续运行的,接货的文本信息不断存储相应的文件夹,这就需要不断的进行索引并将该索引合并到总索引中,通过 Lucene 的函数 IndexWriter 类中的 addIndex 实现。对于发信人等信息可以通65过 TermQuery 查找,对于时间范围检索,则可使用 RangeQuery。2.2.2对训练集的索引对训练集进行索引目的是为了快速的得到训练集中词语的词频信息,使用 TF-IDF 方法对词语进行筛选,提取特征值,因而索引不需要添加各个域,只需要对文本内容索引即可。为了提取特征值,就需要得到文本中词语的频率,词语数量,出现某词语的文档数等信7075息。通过 Lucene 可以方便的得到这些数值。以下为 Lucene 中索引的结构:图 2 索引结构对于某一个 Term 而言,文档序号的数量即为出现该 Term 的文档数量,对于某个文档,序号后的 Position 数即为某个文档中该 Term 数。某些改进的文档分类算法,对于词语出现位置有不同的加权,如出现在标题中的词语对于文档分类的作用比文档中词语作用更大。这些值在 Lucene 索引中也可方便得到并使用2。3 微博分类模块3.1 常见文本分类算法简介803.1.1Nave Bayes 算法贝叶斯分类算法2是统计学分类算法,它是利用概率统计的知识进行分类的算法。它将文章看成独立的单词集合,通过训练集,由贝叶斯理论得到每个单词在不同类的概率大小,-3-构造出贝叶斯模型。公式如下所示:hMAP = arg max P(h | D) = arg maxhH hHP( D | h) P(h)P( D)(1)85其中 P( D) 表示要观察的训练样本数据 D 的先验概率,P( D | h) 表示假设 h 成立时观察到数据 D 的概率。要得到最大似然就必须得到最大的 P(h | D) 。它表示给定了一个样本数据 D,判断假设 h 成立的的概率,也就是后验概率。在实际的文本测试中,则通过 Lucene 的分词得到文本中各个向量,通过索引得到各个分词出现的频率,然后运用 Bayes 公式来进行分类。903.1.2KNN 分类法KNN 算法,是 K-临近算法。通过 K 个与分类目标相近的文本分类来确定分类目标所属的分类。也就是找到与目标文本相似度最高的 N 个文本,再从中找到这 N 个文本中最多归属的分类即为目标文本的分类。在试验中文本的相似程度可以通过 Lucene 中接口函数morelikethis 以及 Query 中的 morelikeQuery 得到相似度与目标文本相似度最近的 N 个文本。953.1.3VSM(向量空间)算法VSM 算法5是基于向量空间模型,该算法将每个单词作为一个特征项 tk ,将每篇文章看做是由单词组成的向量 dv = (wi1, wi 2 ,.win ) ,其中 wik 为 tk 的权重,表示单词 tk 在文档中的重要程度,同时算法将属于同一类的所有文档向量加起来,得到每个类 c j 的特征向量cv = (w j1, w j 2 ,., w jn ) 通过计算测试文档的向量 dv 和特征向量的相似度距离 sim(dv , cv ) ,100相似度距离最大的类向量所属类别就是测试文档的类别。sim(di , c j ) =dviCv j| dvi | | dv j |(2)在试验中,需要通过文本索引得到的各个文档分类中的词频,运用信息增益得到该文档分类中的特征词,并通过 TF-IDF 得到相应的权值。3.2 分类算法流程和测试结果105算法大体的流程图如下:图 3 算法流程图-4-文本分类的性能评价主要包括准确率(Precision)和查全率(Recall)7。其中:110准确率 = 分类正确文本数/分类的文本数查全率 = 分类正确文本数/应有的文本数经过三种常用算法的测试,测试的训练预料为搜狗实验室的文本分类语料。测试语料为系统截获的各种新浪微博。每类的训练预料为 1000,共 9000 个,测试语料为总共 900 个。分类结果如下表所示:115表 1 Nave Bayes 算法的分类结果表 2 Knn 算法的分类结果120125130135140表 3 VSM 算法的分类结果注:VSM 算法中特征词的数量为 500,词频筛选为 10从实验的最后结果看朴素贝叶斯分类法的准确度较高,因而系统最终选择的分类算法为NaiveBayes 算法。但是这个结果和所选择语料以及算法的具体实现有关。因而当前算法不一定是最佳,所以在正常使用中也可根据需要进行更新。4 总结本文对于微博的分类和检索系统进行了概述,对关键的模块作了较详细的说明。提出了系统的整体架构图,以及开源代码 Lucene 的具体运用。在索引分类方面,本系统对于信息的管理较好,基于 Swing 的用户界面也方便了用户对索引的详细查询。在文本分类算法方面,本文比较了三种常见的文本分类算法。通过准确率和查全率的比较,得出相应的实验结论。参考文献 (References)1 夏火松,刘建. 基于 VSM 的文本分类挖掘算法综述J. 情报探索,2010,155(9)2 任惠静. 基于 Lucene 的面向主题搜索引擎的索引技术的研究J. 电脑知识与技术,2009:875-8783 闫鹏,郑雪峰,等. 一种优化的 k-NN 文本分类算法J. 计算机科学,2009,36(10):19-214 芦苇,彭雅. 几种常用文本分类算法性能比较与分析J. 湖南大学学报. 2007,6,6:67-705 张晓卫. 一种基于 Lucene 的 Web 全文检索系统的设计与实现J. 计算机现代化,2006,(12):112-1146 刘赫,刘大有,裴志利,高滢. 一种基于特征重要度的文本分类特征加权方法J. 计算机研究与发展.2009,9,46(10):1693-17037 Mamitsuka H.Selecting features in microarray classification using ROC curvesJ.PatternRecognition,2006,39(12),2393-2404-5-分类财经IT健康体育旅游教育招聘文化军事准确率84.0089.0080.0094.0076.0073.0080.0091.0087.00查全率85.6589.0080.8294.0076.6773.0080.00
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州民航低空经济发展有限公司旗下企业招聘模拟笔试试题及答案解析
- 2025年合肥市第四十六中学招聘体育教师备考笔试题库及答案解析
- 广东江门台山市林业局招聘2人参考笔试题库附答案解析
- 2025南平市延平区国有资产投资经营有限公司招聘综合部业务员1人参考考试试题及答案解析
- 2025江苏省体育科学研究所招聘专业技术人员3人参考考试试题及答案解析
- 2025年12月广西玉林市陆川县城镇公益性岗位人员招聘1人备考笔试试题及答案解析
- 2025内蒙古呼伦贝尔市大学生乡村医生专项计划招聘3人模拟笔试试题及答案解析
- 2025华钛科技招聘99人考试备考题库及答案解析
- 2025河北兴冀人才资源开发有限公司招聘护理助理90人参考考试题库及答案解析
- 深度解析(2026)《GBT 25674-2010螺钉槽铣刀》(2026年)深度解析
- 2025中医体重管理临床指南
- 《装载机操作手培训》课件
- xx区老旧街区改造项目可行性研究报告
- 《新闻基础知识》近年考试真题题库(附答案)
- 化学概论知到智慧树章节测试课后答案2024年秋东北师范大学
- 人教版高中生物必修1全册新编教案版本
- 手卫生依从性PDCA的循环管理课件
- 中铁四局集团工程项目精细化管理手册修订稿
- 中国法律史-第一次平时作业-国开-参考资料
- 零部件试装报告
- 中外石油文化智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
评论
0/150
提交评论