学术文化网:本站代理期刊可作为职称及学位评审依据;并代写(职称、本科、硕士、博士)论文,代写代发论文一条龙服务;保证原创,保证质量,100%通过,保密服务

学术文化网

重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。代写论文申请表
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。代写代发论文申请表
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425 代写论文写手申请表
当前位置: 主页 > 工科论文

基于Lucene的微博分类和检索系统设计实现

 基于Lucene 的微博分类和检索系统设计
实现
何超*
作者简介:何超,(1987-),男,研究生,主要研究文本挖掘和文本分类算法. E-mail: merlini@yahoo.cn
5 (北京邮电大学信息与通信工程学院多媒体中心,北京 100876)
摘要:随着信息技术的不断发展,文本信息正在以越来越快的速度产生和传播,那么对于文
本的分类和检索就体现出越来越重要的作用。本文就是利用开源的全文检索引擎工具包
Lucene 对文本建立索引进行检索,并通过基于特征选择的VSM 文本分类法对文本进行有效
的分类。使得文本的查询效率和文本的分类准确度达到一个比较好的效果。
10 关键词:Lucnee;搜索引擎;文本分类;特征选择
 0 引言
25 随着计算机的普及和网络技术的迅猛发展,各种各样中文文档的数量正在以飞快的速度
增长,人们获取知识的途径也发生了深刻的变化。面对这种大量的文本信息,对于文本的快
速查找则显得非常重要。如何能够尽快的获取想要得到的文本信息,对人们能够快速的了解
获取知识起了重要的作用。
要想人们能够尽快而准确的获取某一类的文本信息,文本分类就起了关键的作用,它可
30 以很大的降低查询单饿时间,提高个性化搜索质量,方便用户对文本进行有效的快速获取。
所谓文本分类,是指在给定的分类系统下,根据文本的内容或者属性,将文本准确的归
类的一个或者多个类别中的过程。目前主要的文本分类方法包括:向量空间模型[1](Vector
Space Model)、决策树[2](Decision Tree),以及KNN 分类法[3],朴素贝叶斯分类法[2]等。
1 系统概述
35 1.1 系统结构
本系统包括三个主要的模块。文本的存储和索引,通过Lucene 来对所得到的各个微博
进行索引;文本分类,负责对各个文本进行分类并将分类结果存入数据库中。搜索显示,负
责用户对微博的搜索结果。
 1.2 模块架构
40 总体的模块架构如下图所示:
图1 模块总体架构
索引部分包括对训练文本集的索引和对待测文本的索引。对截取的微博索引用于用户的
45 查询。对训练及的索引则用于通过倒排索引来方便的提取词语的频率,数量等信息,方便的
提取特征词语。
2 文本索引模块
2.1 Lucene 简介
Lucene[4]是APache 软件基金会项目组的一个子项目,并不是一个完整 的全文索引系
50 统.而是一个用Java 写的全文索引引擎工具包,它提供了多 个API 函数和灵活的数据存储
结构,可以方便嵌入到各种应用中实现针对 应用的全文索引和检索。
Lucene 作为一个优秀的全文搜索引擎的架构,其系统结构运用了大量面向对象的编程
思想,定义了一个与平台无关的索引文件格式,通过抽象将系统的核心组成部分设计为抽象
类,并将与具体平台相关的部分也封装成类,经过层层面向对象编程的处理,最终达成一个
55 低耦合、高效率、容易二次开发的搜索引擎系统。
2.2 索引部分详解
2.2.1 微博索引
对截获的微博文本进行索引,为了要方便用户的查询和方便搜索,需要在写入索引的时
候添加更多的域,用于存储文本的本地存储地址,时间,如果有发信人信息等也可以建域存
60 储。具体的实现方式如下:
 如果还有其他有用的信息也可以通过以上方式添加到域中进行索引。因为系统是持续运
行的,接货的文本信息不断存储相应的文件夹,这就需要不断的进行索引并将该索引合并到
总索引中,通过Lucene 的函数IndexWriter 类中的addIndex 实现。对于发信人等信息可以通
过TermQuery 65 查找,对于时间范围检索,则可使用RangeQuery。
2.2.2 对训练集的索引
对训练集进行索引目的是为了快速的得到训练集中词语的词频信息,使用TF-IDF 方法
对词语进行筛选,提取特征值,因而索引不需要添加各个域,只需要对文本内容索引即可。
为了提取特征值,就需要得到文本中词语的频率,词语数量,出现某词语的文档数等信
70 息。通过Lucene 可以方便的得到这些数值。以下为Lucene 中索引的结构:
图2 索引结构
对于某一个Term 而言,文档序号的数量即为出现该Term 的文档数量,对于某个文档,
75 序号后的Position 数即为某个文档中该Term 数。某些改进的文档分类算法,对于词语出现
位置有不同的加权,如出现在标题中的词语对于文档分类的作用比文档中词语作用更大。这
些值在Lucene 索引中也可方便得到并使用[2]。
3 微博分类模块
3.1 常见文本分类算法简介
80 3.1.1 Naïve Bayes 算法
贝叶斯分类算法[2]是统计学分类算法,它是利用概率统计的知识进行分类的算法。它将
文章看成独立的单词集合,通过训练集,由贝叶斯理论得到每个单词在不同类的概率大小,
 构造出贝叶斯模型。公式如下所示:
argmax ( | ) argmax ( | ) ( )
( ) MAP
h H h H
h Ph D P D h P h
∈ ∈ P D
= = (1)
85 其中P(D)表示要观察的训练样本数据D 的先验概率,P(D|h)表示假设h 成立时观察
到数据D 的概率。要得到最大似然就必须得到最大的P(h|D)。它表示给定了一个样本数
据D,判断假设h 成立的的概率,也就是后验概率。
在实际的文本测试中,则通过Lucene 的分词得到文本中各个向量,通过索引得到各个
分词出现的频率,然后运用Bayes 公式来进行分类。
90 3.1.2 KNN 分类法
KNN 算法,是K-临近算法。通过K 个与分类目标相近的文本分类来确定分类目标所属
的分类。也就是找到与目标文本相似度最高的N 个文本,再从中找到这N 个文本中最多归
属的分类即为目标文本的分类。在试验中文本的相似程度可以通过Lucene 中接口函数
morelikethis 以及Query 中的morelikeQuery 得到相似度与目标文本相似度最近的N 个文本。
95 3.1.3 VSM(向量空间)算法
VSM 算法[5]是基于向量空间模型,该算法将每个单词作为一个特征项k t ,将每篇文章
看做是由单词组成的向量1 2 ( , ,... ) v i i in d = w w w ,其中ik w 为k t 的权重,表示单词k t 在文档中
的重要程度,同时算法将属于同一类的所有文档向量加起来,得到每个类j c 的特征向量
1 2 ( , ,..., ) v j j jn c = w w w 通过计算测试文档的向量v d 和特征向量的相似度距离( , ) v v sim d c ,
100 相似度距离最大的类向量所属类别就是测试文档的类别。
( , )
|| || || ||
i j
i j
i j
dv Cv
sim d c
dv dv
=

(2)
在试验中,需要通过文本索引得到的各个文档分类中的词频,运用信息增益得到该文档
分类中的特征词,并通过TF-IDF 得到相应的权值。
3.2 分类算法流程和测试结果
105 算法大体的流程图如下:
图3 算法流程图
 文本分类的性能评价主要包括准确率(Precision)和查全率(Recall)[7]。其中:
110 准确率 = 分类正确文本数/分类的文本数
查全率 = 分类正确文本数/应有的文本数
经过三种常用算法的测试,测试的训练预料为搜狗实验室的文本分类语料。测试语料为
系统截获的各种新浪微博。每类的训练预料为1000,共9000 个,测试语料为总共900 个。
分类结果如下表所示:
115
表1 Naïve Bayes 算法的分类结果
分类 财经 IT 健康 体育 旅游 教育 招聘 文化 军事
准确率 87.00 84.00 83.00 98.00 85.00 81.00 87.00 78.00 96.00
查全率 87.00 84.75 83.00 98.00 85.33 83.27 87.00 80.67 96.00
表2 Knn 算法的分类结果
分类 财经 IT 健康 体育 旅游 教育 招聘 文化 军事
准确率 86.00 78.00 85.00 79.00 81.00 86.00 98.00 83.00 89.00
查全率 87.00 78.33 85.67 79.00 81.00 87.42 98.00 83.00 89.27
120 表3 VSM 算法的分类结果
分类 财经 IT 健康 体育 旅游 教育 招聘 文化 军事
准确率 84.00 89.00 80.00 94.00 76.00 73.00 80.00 91.00 87.00
查全率 85.65 89.00 80.82 94.00 76.67 73.00 80.00 91.00 87.00
注:VSM 算法中特征词的数量为500,词频筛选为10
从实验的最后结果看朴素贝叶斯分类法的准确度较高,因而系统最终选择的分类算法为
NaiveBayes 算法。但是这个结果和所选择语料以及算法的具体实现有关。因而当前算法不
125 一定是最佳,所以在正常使用中也可根据需要进行更新。
4 总结
本文对于微博的分类和检索系统进行了概述,对关键的模块作了较详细的说明。提出了
系统的整体架构图,以及开源代码Lucene 的具体运用。在索引分类方面,本系统对于信息
的管理较好,基于Swing 的用户界面也方便了用户对索引的详细查询。在文本分类算法方面,
130 本文比较了三种常见的文本分类算法。通过准确率和查全率的比较,得出相应的实验结论。
[参考文献] (References)
[1] 夏火松,刘建. 基于VSM的文本分类挖掘算法综述[J]. 情报探索,2010,155(9)
[2] 任惠静. 基于Lucene 的面向主题搜索引擎的索引技术的研究[J]. 电脑知识与技术,2009:875-878
135 [3] 闫鹏,郑雪峰,等. 一种优化的k-NN 文本分类算法[J]. 计算机科学,2009,36(10):19-21
[4] 芦苇,彭雅. 几种常用文本分类算法性能比较与分析[J]. 湖南大学学报. 2007,6,6:67-70
[5] 张晓卫. 一种基于Lucene 的Web 全文检索系统的设计与实现[J]. 计算机现代化,2006,(12):112-114
[6] 刘赫,刘大有,裴志利,高滢. 一种基于特征重要度的文本分类特征加权方法[J]. 计算机研究与发展.
2009,9,46(10):1693-1703
140 [7] Mamitsuka H.Selecting features in microarray classification using ROC curves[J].Pattern
Recognition,2006,39(12),2393-2404


学术论文网Tag:代写论文 代写代发论文 论文发表 代发论文
本站郑重声明:
  1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
  2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
  3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
  4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------
栏目列表
联系我们
服务承诺
推荐内容