《Carrot2聚类工具简介复习过程》由会员分享,可在线阅读,更多相关《Carrot2聚类工具简介复习过程(33页珍藏版)》请在金锄头文库上搜索。
1、Carrot2聚类工具简介ContentsnCarrot2体系结构nCarrot2聚类算法qLingo & STCnCarrot2 ApplicationsqWebapp & Workbench & DCSnCarrot2 source code下载与配置、运行nCarrot2 core、Attributen可用资源26Carrot聚类算法nLingo:基于奇异值分解的索引结果聚类算法n首先确定可感知的类标签,然后将文件分配到类中qPreprocessing预处理nFiltering文本过滤、stemming提干、stopword去除停用词qFrequent phrase extraction
2、qCluster label inductionqCluster content discoveryqFinal cluster formation7Carrot2聚类算法nSTC(Suffix Tree Clustering)后缀树聚类算法,一种On-line聚类算法q(1)将文档片段作为输入而不是整篇文档q(2)聚类算法必须足够快速实现在线计算q(3)生成的类簇必须是终端用户可读的描述qSTC将文档作为字符串来处理,利用文档间相似信息qSTC是新颖的、增值的、O(n)时间复杂度qSTC快速的为用户总结出类簇内容qSTC处理小数据集,所以耗时较少8q后缀树包含了一个或者多个字符串的所有后缀,
3、空字符串也算是其中的一个后缀q例如:banana后缀为:banana anana nana ana na a 空q一般来说后在字符串末尾加$特殊字符作为结束标记q后缀树:n有根节点的有序的树n每个内部节点至少有2个子节点n每条边以S的非空子字符串做标签,节点的标签定义为从根节点到该节点路径上的标签的串联n同一节点出发的两条路径不可能以同一词开始 9Example10nSTC步骤:n一、文档清洗qtagger stemmer 句子边界界定 stop wordn二、标识基础类簇q(1)通过文本预处理将文档表示为词的序列,构成后缀树;q(2)利用后缀树找到基类簇,至少被两个文档包含的短语称为短语束,
4、基类簇就是要找到最大短语束B,用来描述相关短语mB和出现该短语的文档dB,并计算各个基类簇的值S(B);n三、合并基础类簇q合并基类簇,为了避免出现非常类似的基类簇,可以设置一个阈值k11Carrot2 Applicationsnworkbench Carrot2文档聚类平台,是一个独立的GUI程序,可以用来对一般搜索引擎数据或你自己的数据进行聚类实验。nDCS Carrot2文档聚类服务器,将Carrot2聚类作为REST服务呈现。nWebapp Carrot2网络应用,可以将Carrot2聚类作为终端用户的网络应用呈现。12Workbench聚类平台n下载carrot2-workbench
5、-win32.win32.x86-3.1-dev.zip解压,执行carrot2-workbench.exen!Problemq源码运行出错q上次的问题,查询Lucene索引时没有聚类结果,需要重启workbenchq聚类效果不佳,类簇标签多是期刊号等非重要信息,前期预处理没有过滤掉。1314webappn下载carrot2-webapp-3.0.warn将其放于Tomcat的webapps文件夹下自动解压n访问http:/localhost:8080/carrot2-webapp-3.015Webapp的Lucene索引配置nWebapp的war包解压后,WEB-INF/classes/ca
6、rrot2-defaultn修改suite-webapp.xmln添加lucene-attributes.xmln重新启动Tomcatn访问http:/localhost:8080/carrot2-webapp-3.01617基于Lucene索引的聚类结果18可视化效果图19!ProblemnWar包解压q英文可以聚类,中文无结果,分词问题q没有Aduna map可视化效果n!查询本地Lucene索引时只能索引标题出现的词n源码问题q聚类无结果20Carrot2 source code下载nCarrot2是sourceforge(全球最大的开放源代码软件开发平台和仓库)代理n步骤1:安装svn
7、工具。下载:http:/ ,安装n建立源码地址文件夹,右击 SVN Checkout在URL of Repository输入源码网址SVN URL https:/ source code导入eclipsen打开eclipsenImportGeneralExsiting projects to workspace选择Carrot2源码路径n去除org.carrot2.antlib工程n执行n若出错说明没有ant ?将Carrot的lib下的jar包和core包放到classpath下22Example: ClusteringDataFromLucenen修改属性:n final String c
8、ontentFieldName = content;nIndexpath路径(设置运行时参数)nindexPath=“your own lucene index path”;n查询关键字:n final Map processingAttributes = new HashMap();nprocessingAttributes.put(AttributeNames.QUERY, 教育);23nCollected 27 documentsn 0 _电化教育研究_投稿须知n 1 对教育技术学科名称及定位的反思n 2 从CSSCI看新世纪中国教育技术学学科地位的变化n 3 边远地区高校教育信息化建设
9、与和谐发展的理性思考nnCreated 16 clustersn电化教育研究 (16 documents)n 0 _电化教育研究_投稿须知n 2 从CSSCI看新世纪中国教育技术学学科地位的变化nn2008年第4期 总第180期 (3 documents)n 4 从历史使命谈教育技术的定位n 20 大学生信息素养培养模式及实施途径研究n 23 CSCL环境中基于对话学习理论的教学设计nAttributes:nquery: 教育nresults-total: 27nprocessing-time-algorithm: 1091nprocessing-time-source: 2253nLingo
10、ClusteringAlgorithm.nativeMatrixUsed: falsenprocessing-time-total: 334424Carrot2运行nWorkbenchqRunExternal toolsAttribute Metadata XmlqRunRun configuration 选择Eclipse ApplicationworkbenchnWebappqRunExternal toolsAttribute Metadata XmlqRunExternal toolsweb application setupqRunRun configuration25Carrot2
11、 Coreqorg.carrot2.corenDocument, Cluster, ProcessingResultqorg.carrot2.core.attributenInit (注释类型), AttributeNames, Processingqorg.carrot2.sourcenSearchEngineBase, SearchEngineResponse, SimpleSearchEngineqorg.carrot2.source.lucenenLuceneDocumentSource, FSDirectoryWrapperqorg.carrot2.clustering.lingon
12、ClusterBuilder, LingoClusteringAlgorithm, LingoProcessingContextqorg.carrot2.clustering.stcnorg.carrot2.text.suffixtree, org.carrot2.text.suffixtree2nBaseCluster, Phrase, STCClusteringAlgorithm, STCClusteringParameters, STCEngine, STCTree26qorg.carrot2.text.analysisnExtendedWhitespaceAnalyzer, Exten
13、dedWhitespaceTokenizer,qorg.carrot2.text.preprocessingnTokenizer, PhraseExtractorqorg.carrot2.text.lingusticnLanguageCode, DefaultLanguageModelqorg.carrot2.text.preprocessing.filternClusterBuilder, LingoClusteringAlgorithm, LingoProcessingContextqorg.carrot2.text.utilnCharArrayComparator, MutableCha
14、rArrayqorg.carrot2.text.vsmnITremWeighting, VectorSpaceModelContext, TfTermWeighting, LinearTfidfTermWeighting, LogTfidfTermWeighting, TermDocumentMatrixBuilder27qorg.carrot2.MatrixnEigenvalueCaculator, MatrixUtils, NNIDenseDoubleMatrix2Dqorg.carrot2.matrix.factorizationnKMeansMatrixFactorization, I
15、terativeMatrixFactorizationqorg.carrot2.matrix.factorization.seedingnKMeansSeedingStraegy, RandomSeedingStrategyqorg.carrot2.util.xmlqorg.carrot2.webappnWebApp.javaqorg.carrot2.workbench.corenApplication.java28可用资源nhttp:/project.carrot2.org/index.html官方网站nhttp:/download.carrot2.org/head/manual/index
16、.html帮助nhttp:/project.carrot2.org/forum.html论坛nReference参考文献qCarrot2 and Language Properties in Web Search Results ClusteringqIntroducing Usability Practices to OSS: The Insiders ExperienceqCarrot2: Design of a Flexible and Efficient Web Information Retrieval FrameworkqAN INDEXING AND CLUSTERING ARC
17、HITECTURE TO SUPPORT DOCUMENT RETRIEVAL IN THE MAINTENANCE SECTOR29nLingoqConceptual Clustering Using Lingo Algorithm: Evaluation on Open Directory Project DataqLingo: Search Results Clustering Algorithm Based on Singular Value DecompositionqA New Algorithm for Clustering Search Results30接下来要做的研究?n聚类算法原理n可视化q聚类结果XML可视化(Tree,Aduna map)3132