一种基于统计特征面向“类型”主题抓取的网页相关性判断策略研究
乔建忠
解放军艺术学院信息管理中心 北京 100081
摘要

为满足主题爬行器在线分类的轻量化设计要求,提出一种基于多项表示网络文档类型的统计特征实现网页按类型进行主题相关性判断的策略;借助WEKA提供的API,为该主题相关性判断策略设计相应的训练算法和分类算法。通过分类准确率、效率和特征选择实验,证明该主题相关性判断策略的有效性以及5项对类型识别起关键作用的统计特征。

关键词: 相关性判断策略; 主题爬行器; 主题搜索; 数字图书馆
Statistical Characteristics Based Web Page Relevance Judgment Strategy for the “Type” Topics Crawled
Qiao Jianzhong
Information Management Center of PLA Academy of Arts, Beijing 100081, China
Abstract

This paper proposes a new Web page type relevance judgment strategy based on several statistical characteristics of Web document types to meet the online classification lightweight design requirements of focused crawler. Using the API provided by WEKA, this paper devises appropriate training algorithm and classification algorithm for the relevance judgment strategy. The experiments of classification accuracy, efficiency, and attribute selection demonstrate the validity of the relevance judgment strategy and five Web page statistical characteristics playing a key role in the type identification.

Keyword: Relevance judgment strategy; Focused crawler; Focused crawling; Digital library
1 引 言

主题爬行技术的系统实现一般称为主题爬行器(Focused Crawler),是专门用于从互联网上大规模收集特定主题信息的软件系统[ 1],是构成垂直搜索引擎或数字图书馆中Web信息采集系统的关键组件。随着主题爬行器应用领域的扩大,用户对主题爬行技术提出多种需求,主题爬行技术已不再局限于某个关键词所代表的学科领域主题下的精确搜索,而是向着聚焦多种类型主题的方向发展,例如用于构建主题资源时面向抓取特定文档类型(新闻、博客、商品、讲义或论文等)的主题。

网页的类型不单是指媒体类型,如HTML、PDF、MPG、Word、XML或TXT等,而主要是指论文、简历、产品、课件、新闻等关于Web文档性质或形式的分类。Word、PowerPoint、Excel、图片及视频等媒体类型抓取需求只是属于面向类型主题中的一种情况。本文中的“类型”主题主要是指网页按期刊、讲义、新闻、会议、博客或商品等属性的分类。类型主题用能够揭示网页类型特征的元素表示,一般采用能反映文档类型特征的URL域名、文档元数据、E-mail、机构名、文档类型案例及文件扩展名等作为主题建模的元素。本文则利用多个描述Web文档类型的统计特征作为类型主题建模的基础,旨在满足主题爬行器在线完成网页类型主题相关性判断的轻量化设计要求。

2 相关研究

目前识别特定类型网页的主要方法有三类:

(1)从网页的布局特征推导网页类型。网页的布局特征主要依靠网页解析得到的DOM(Document Object Model)树来发现。Zhang等[ 2]基于DOM树路径字符串来对LIST、DETAIL或PROFILE等不同类型的网页进行分类,并证明“Co-Tagging Method联合标记方法”在处理多媒体网页分类时比传统分类方法有效。DOM树路径字符串是指“the string concatenation from the node’s immediate parent all the way to the tree root”,例如“<td><tr-class/people><:table><body><html>”。但只取与页面外观有关的Tag,其他src、href等不作为路径的选择。周立柱等[ 3]在其综述中归纳出识别数据密集型网页的常用手段是将HTML页面转化为Token序列或标记树(Tag Tree),如DOM树等数据结构,然后在这种转化后的数据结构上进行模式发现,最终目标是抽取出结构化数据。Hurst等[ 4]在其研究中采用基于规则和基于内容的分类器来识别博客文章。规则是利用HTML的DOM层次结构来找出正文所在标签以及利用日志在RSS种子中的描述长度或日志摘要后的省略号等,但日志HTML界限标签主要用来抽取日志正文。Shchekotykhin等[ 5]和Gatterbauer等[ 6]在其爬行技术和信息抽取技术研究中基于列表分类器识别产品列表页并抽取产品评价文字。Cai等[ 7]和Kovacevic等[ 8]的研究从不同应用的角度支持网页分块理论并根据内容和位置有所不同说明其重要性。

(2)从链接特征推导网页类型。Hanse等[ 9]研发的爬行器Kairos专门从学术会议网站抓取会议论文,并抽取其中的元数据,它基于链接特征采用最大熵(ME)分类算法构造识别会议网站的分类器,事先使用WikiCFP和DBLP两个网站的会议举办数据进行离线训练,对判断为会议网站中的PDF、PostScript或Word格式的论文(忽略HTML版本)抽取标题、作者和论文链接地址。所谓链接特征是指URL分解成host、path和document等不同部分后的关键词特征。

(3)利用网页的链接、内容和形式等综合特征推导网页类型。陈翰等[ 10]基于网页链接特征、内容特征和结构特征构建面向网络舆情载体类型识别的特征集,提出基于综合特征的网页类型自动识别算法,并应用SVM分类器对数据集进行训练和建模。该方法的不足之处是特征提取较复杂,不能满足主题爬行器在线分类的轻量化设计要求。吴思竹等[ 11]提出基于网页综合特征识别和过滤噪音网页的方法,通过抽取基于网页结构和内容的特征属性生成特征向量,并结合训练网页生成的分类模型,通过SVM分类器对候选网页进行二次分类,区分主题网页和噪音网页,达到对网页数据进行噪音过滤的目的。采用的特征包括链接层次、更新频率、噪音特征词汇、网页正文文字长度、标点符号数量和链接数量等。由于网页格式多样化和动态性,各项判断阈值的准确性和适合度较难确定。

从相关研究可知,为识别不同类型的网页,网页表现特征发挥重要作用,但最终目的还是为抽取网页中的数据,因此第(1)类方法对某一类网页如多媒体网页分类效果较好,但网页形式变化会给正确识别带来障碍;基于链接特征的方法实际上是一种利用面向内容主题的文本分类算法来为网页类型识别服务;而第(3)类综合方法无论是特征提取还是判断步骤都比较复杂。其中吴思竹等[ 11]在识别噪音网页中所使用的网页正文长度、标点符号数量和链接数量等统计特征与本文类似,但采用先由人工总结出主题网页与噪音网页的区分特征,再用分类算法进行判断的做法其适用范围受一定限制,而且没有证明哪些特征对过滤噪音网页起关键作用。主题爬行器需要一种轻量级的网页类型主题相关性判断策略,本文尝试基于网页的多项统计特征来辅助网页类型识别。

3 相关性判断策略

网页类型主题相关性判断策略中包含的关键点主要有类目划分规则、特征选择策略以及分类器的选择策略等。

3.1 类目划分规则

结合用户对采集资源主题的多样性需求,例如面向内容、类型或网站主题的交叉需求,笔者编制相应的分类体系,如表1所示:

表1 类目划分和相应的编码规则表

类目的划分既考虑学科领域也考虑网页的分布或聚集特征。分类体系的布局特点之一是以网页类型作为学科领域的上位类,其中的二级类目代表网页“类型”主题。其建立规则有两个:比较明确地划分不同资源所在的位置,使爬行范围有一定针对性;比较清晰地分辨不同文档的类型,便于实际操作。

本文选取分类体系中二级类目下的讲义类、会议类、新闻类、博客类、期刊类和商品类作为实验中主题相关性判断的对象类型。该分类体系还包含类目对应的关键词和种子地址实例用作检索和爬行的起点等。本文训练分类器所采用的查询关键词和种子地址如表2所示:

表2 训练分类器所使用的类型主题查询关键词和种子地址
3.2 特征选择策略

本文共采用8项用于类型识别且与网页形式或文体相关的统计特征,分别为网页深度、网页所含链接数、网页所含媒体数、网页正文文本长度、网页中锚文本总长度与正文长度比、网页标题长度、网页中锚文本平均长度和网页正文中句子平均长度。关于8项统计特征的说明如表3所示:

表3 用于类型主题相关性判断的网页统计特征

其中每项特征都由一个统计数字所表示,8个数字共同组成的集合就表示一个类型主题,例如按表1中特征项顺序排列的数字集合{3,200,0,5000,0.02,20,15,55}可能表示一个新闻主题。

本文进行的前期实验中只采用前4项统计特征,发现分类效果并不理想,于是加入后4项特征,分类准确率有所提高。为证明哪些特征是对类型识别起关键作用的特征,本文采用WEKA[ 12]的信息增益属性评估方法(Information Gain Attribute Evaluator)和相关特征子集属性评估方法(CFS Subset Evaluator)分别对8项特征进行选择实验。

3.3 分类器的选择策略

分类器的选择策略有三个:为借用多个分类算法形成互补优势,采用投票式的集成分类器算法,即以网页的8项统计数据作为样本数据,并以该统计特征作为分类特征,采用多种分类器组成集成分类器按投票规则进行分类的算法;选择支持纯数字特征的分类器加入到分类器集合中;分类器的数量应有所限制。因此实验中共选择了WEKA的4种分类器:Vote[ 13]、NaiveBayes[ 14]、J48[ 15]和ZeroR[ 16]

4 算法设计

本文在设计分类算法时采用训练与分类兼顾的做法。在训练阶段利用特征样本专门训练相应的分类器,而在分类阶段采用增量学习的算法,另外从训练向分类转换也有专门的设计,算法分三个步骤:

(1)在分类前需要为专门的分类器建立初始训练数据集。训练集的样本数量取决于两个方面:类目数量,需保证每种类目的样本占有彼此相等的数量;分类评估的结果,依据分类准确率,确定样本数量,同时兼顾分类效率,样本数量不能太大。训练算法流程如图1所示:

图1 训练算法流程

训练的结果是生成分类器对应的向量分类模型文件。向量分类模型文件采用WEKA默认的ARFF格式文件保存。例如系统中采用的类型分类样本集文件内容和格式如下:

@relation 'Internet Document Type Classification Problem'

@attribute depth numeric

@attribute linknum numeric

@attribute pagelengh numeric

@attribute mediasize numeric

@attribute sentencemeanlength numeric

@attribute titlelength numeric

@attribute anchortofullratio numeric

@attribute anchormeanlength numeric

@attribute class {A01001,A01002,A01003,A01004,A01005,

A02001}

@data

0,266,3178,200,127,45,0.148206,1,A01005

0,66,3047,28,179,39,0.136856,6,A01005

0,74,3172,35,126,66,0.075347,3,A01005

1,521,8090,410,124,45,0.102719,1,A01005

1,59,2521,31,100,93,0.198334,8,A01005

0,610,5920,118,740,7,0.81723,7,A01003

1,605,5865,117,733,7,0.816198,7,A01003

0,431,3225,66,0,15,0.803411,6,A02001

0,190,1386,9,693,14,0.830447,6,A02001

0,190,1386,9,693,14,0.830447,6,A02001

……

其中,A01001等编码代表类目。

(2)在初始训练数据集的基础上利用投票式集成分类器进行增量学习和分类。本文采用WEKA提供的投票式集成分类器Vote,所集成的WEKA分类器包括NaiveBayes、J48和ZeroR。在分类算法数量上可以继续增加,但是为兼顾效率建议控制在5个以内。在分类器选取上,并不是所有的算法都支持纯数字特征,因此选择的范围是有限的。如果现有样本数量没有超过指定的样本量阈值,则在训练集合中加入经过分类的新样本,用于下一轮的训练与分类,这是增量学习的关键。相应的算法伪代码为:

Algorithm:ClassifyPageType(Input)

Input: 数据集、新网页、基于内容特征的分类结果;

Output: 输出基于统计特征的类型分类结果、分类预测值、评估集成分类的分类准确率等;

Begin

Let类型分类结果、预测值、分类器数组 [weka.NaiveBayes, weka.J48, weka.ZeroR]、新样本、样本总量;

//初始化变量

ensemble=New Vote();

//新建一个投票式的集成分类器

ensemble.setClassifiers(ClassifiersArray);

//设置分类器数组

ensemble.setCombinationRule(MAJORITY_VOTING_RULE);

//选择多数投票的决策规则

ensemble.setSeed(2);

//设置随机种子

ensemble.buildClassifier(dataset);

//训练集成分类器

newInstance = createInstanceFromPage(page);

//利用下载的网页生成新的测试样本

{

newInstance.setValue(depthAtt, url_depth);

newInstance.setValue(linknumAtt, linknum);

newInstance.setValue(pagelenghAtt, pagelength);

newInstance.setValue(mediasizeAtt, mediasize);

newInstance.setValue(sentencemeanlengthAtt, sentencemeanlength);

newInstance.setValue(titlelengthAtt, titlelength);

newInstance.setValue(anchortofullratioAtt, anchortofullratio);

newInstance.setValue(anchormeanlengthAtt, anchormeanlength);

//从网页抽取8项统计特征并赋值给新样本的对应属性

newInstance.setValue(classAtt, content_category_result);

//分配分类属性值

}

predicted = ensemble.classifyInstance(newInstance);

//对测试样本分类

type_category_result = dataset.classAttribute().predicted;

//取得分类结果

evaluateModelOnceAndRecordPrediction(ensemble);

//评估集成分类器

evaluationResult = 1-Evaluation.errorRate();

//取得评估结果即准确率

newInstance.setClassValue(type_category_result);

//给新测试样本分配类值

length = getLength();

//取得目前数据集中的样本数量

if (length < numInstancesLevel)

dataset.add(newInstance);

//如果现有样本数量没有超过指定的样本量阈值,则在训练集合中加入经过分类的新样本

Return 类型分类结果、分类预测值;

End

算法中createInstanceFromPage(page)方法用于生成新样本,并初始化各特征变量。evaluateModelOnceAndRecordPrediction方法是WEKA原评估方法且是可选步骤。

(3)训练与分类相互转换通过一个转换算法来实现。当训练集中的样本数量超过停止训练阈值并且当前的任务类型由用户选定为“分类”时,停止训练分类器,开始进行网页分类。停止训练阈值是专门为控制训练集规模而设,它是影响分类效率和分类准确率的重要因素,需通过实验确定相对最优解。另外面向类型主题的分类算法的分类准确率与该算法所基于的8项统计特征的具体作用不同,即8项特征并不都对类型分类起重要作用。

5 实验分析
5.1 实验环境配置

(1)硬件配置:CPU:AMD Turion(tm) X2 Dual-Core Mobile RM-70 2GHz;Memory:2.46GB;HD:120GB,5400转;Network:ADSL 2M。

(2)软件配置:操作系统:Microsoft Windows XP Professional 2002 SP3;数据库:Microsoft SQL Server 2005 Enterprise Edition SP1。

(3)开发环境:JDK:1.6.0.7;Java Server Container:Tomcat 6.18。

(4)与第三方系统接口:实验过程中采用的第三方Java开源项目及其API如表4所示:

表4 第三方API种类及用途
5.2 评价指标与结果分析

为验证所提分类策略的有效性,本文设计三项评价指标,并通过两次实验数据来对比分类的准确性和运行效率等。这三项评价指标分别是SampleSum、ClassifierPrecision和ClassifierEfficiency。

SampleSum即统计特征样本数,用于按类统计分类算法正样本数量,实验结果如表5所示:

表5 正样本量的两次统计

样本量与分类准确率是相互联系的,二次训练后的样本量相应增加,相应的分类准确率发生变化。

ClassifierPrecision即分类准确率,用于按类统计分类算法的分类准确率。

各分类器分类准确率的计算公式如下:

ClassifierPrecision= (1)

分类准确率等于某类爬行任务中的正确分类次数与本类中全部分类的次数比。两次训练后的分类准确率统计结果如表6所示:

表6 分类准确率的两次统计

两次统计之间的差别有两个:各分类器的样本量增加和增加了用于类型分类的新特征。实验结果表明分类准确率由0.47提高至0.65,有来自新特征的加入造成的影响。第一次时只有4个统计特征,即网页深度、网页中链接数、网页纯文本长度和网页中的媒体数量。但笔者发现仅利用这4项特征的分类准确率并不高,用于类型分类的关键特征还有待发现。因此第二次时加入4项新特征,即平均句子长度、标题长度、锚总长度与正文长度比、锚文本平均长度。加入新的统计特征后发现分类准确率有所提高,说明新加入的特征发挥正面作用。这8项特征在类型分类中的作用不尽相同,为了证明哪些特征起关键作用且具体排名是多少,本文通过WEKA的特征选择方法进行相应实验。基于信息增益属性评估方法的统计特征排名如下:

Evaluator: weka.attributeSelection.InfoGainAttributeEval

Search: weka.attributeSelection.Ranker -T -1.7976931348623

157E308 -N -1

Relation: Internet Document Type Classification Problem

Instances: 3194

Attributes: 9

depth

linknum

pagelengh

mediasize

sentencemeanlength

titlelength

anchortofullratio

anchormeanlength

class

Evaluation mode: evaluate on all training data

=== Attribute Selection on all input data ===

Search Method: Attribute ranking.

Attribute Evaluator (supervised, Class (nominal): 9 class):

Information Gain Ranking Filter

Ranked attributes:

1.632 4mediasize

1.504 2linknum

1.228 8anchormeanlength

0.997 5sentencemeanlength

0.995 6titlelength

0.905 3pagelengh

0.811 7anchortofullratio

0.37 1depth

Selected attributes: 4,2,8,5,6,3,7,1 : 8

基于相关特征子集选择的属性评估方法的统计选择结果如下:

Evaluator: weka.attributeSelection.CfsSubsetEval

Search: weka.attributeSelection.BestFirst -D 1 -N 5

Search Method:

Best first.

Start set: no attributes

Search direction: forward

Stale search after 5 node expansions

Total number of subsets evaluated: 37

Merit of best subset found: 0.558

Attribute Subset Evaluator (supervised, Class (nominal):

9 class): CFS Subset Evaluator

Including locally predictive attributes

Selected attributes: 2,4,5,6,8 : 5

linknum

mediasize

sentencemeanlength

titlelength

anchormeanlength

两种特征选择方法得出的结论基本一致,网页中链接数、网页中的媒体数量、平均句子长度、标题长度和锚文本平均长度是起关键作用的5项特征,其中后三项又是新加入的特征,证明新加入的特征对提高分类准确率是有帮助的。

ClassifierEfficiency即分类效率,指按类统计集成分类器在分类过程中的平均用时。

效率指标的计算公式为:

ClassifierEfficiency= (2)

process指算法,其时间效率等于该项处理的总用时与该项处理的总次数的比,它与具体类相关。为了观察随着样本量的增长相应指标的变化情况,本文进行两次统计,结果如表7所示:

表7 算法效率的两次统计(单位:ms)

本文对于表7中的平均值计算结果进行四舍五入处理且两次统计的前提为分类器总样本量由2 226增长至18 741。

ClassifierEfficiency由于受增量学习方式下样本量迅速增长的影响,分类效率下降明显。以会议类主题为例,分类器样本量由第一次统计时的433个增加到3 577个,其分类效率也从625下降至3 105。从两次统计结果可知其他主题也存在这一现象,这说明样本量增加是导致效率下降的主要因素,因此样本量需要进行一定控制,不能为了提高分类准确率而忽略效率。

6 结 语

与字符串型样本分类相比,本文采用的是数值型样本分类。数值型样本组成的训练集占用空间较小,采用自动增量学习方式迅速增加样本数量也不会造成分类器模型文件体积太大。但自动增量学习下的分类器训练集也不能无限制增长,需要兼顾分类效率和系统性能。利用各项统计特征辅助网页类型识别只是实现网页按“类型”主题判断相关性的一种途径,内容特征也是表现网页类型的一个重要方面。“新闻、博客、商城、Lecture或Conference”等类型特征词对识别网页类型也起重要作用,如果综合考虑这些关键词在网页所处的位置,并配合选用相应的文本分类算法辅助类型识别也是一个不错的选择。另外类型主题往往与学科领域主题交叉出现,如搜集“人工智能领域的论文”等需求,判断交叉主题相关性需要对多分类策略组合机制进一步研究。

参考文献
[1] Chakrabarti S, Berg M V D, Dom B. Focused Crawling: A New Approach to Topic-Specific Web Resource Discovery[J]. Computer Networks: The International Journal of Computer and Telecommunications Networking, 1999, 31(11-16): 1623-1640. [本文引用:1]
[2] Zhang Z Y, Nasraoui O. Profile-based Focused Crawler for Social Media-Sharing Websites[C]. In: Proceedings of the 20th IEEE International Conference on Tools with ArtificialIntelligence2008(ICTAI’08). Washington: IEEE Computer Society, 2008: 317-324. [本文引用:1]
[3] 周立柱, 林玲. 聚焦爬虫技术研究综述[J]. 计算机应用, 2005, 25(9): 1965-1969.
(Zhou Lizhu, Lin Ling. Survey on the Research of Focused Crawling Technique[J]. Journal of Computer Applications, 2005, 25(9): 1965-1969. ) [本文引用:1] [CJCR: 0.646]
[4] Hurst M, Maykov A. Social Streams Blog Crawler[C]. In: Proceedings of the 2009 IEEE International Conference on Data Engineering(ICDE ’09). Washington: IEEE Computer Society, 2009: 1615-1618. [本文引用:1]
[5] Shchekotykhin K, Jannach D, Friedrich G. xCrawl: A High-recall Crawling Method for Web Mining[C]. In: Proceedings of the 8th IEEE International Conference on Data Mining(ICDM’08). Washington: IEEE Computer Society, 2008: 550-559. [本文引用:1]
[6] Gatterbauer W, Bohunsky P, Herzog M, et al. Towards Domain-independent Information Extraction from Web Tables[C]. In: Proceedings of the 16th International Conference on World Wide Web(WWW’07). New York: ACM, 2007: 71-80. [本文引用:1]
[7] Cai D, Yu S P, Wen J R, et al. VIPS: A Vision-based Page Segmentation Algorithm[R/OL]. [2012-03-10]. ftp://ftp.research.microsoft.com/pub/tr/tr-2003-79.pdf. [本文引用:1]
[8] Kovacevic M, Diligenti M, Gori M, et al. Recognition of Common Areas in a Web Page Using Visual Information: A Possible Application in a Page Classification[C]. In: Proceedings of 2002 IEEE International Conference on Data Mining(ICDM’ 02). Washington: IEEE Computer Society, 2002: 250. [本文引用:1]
[9] Hänse M, Kan M Y, Karduck A P. Kairos: Proactive Harvesting of Research Paper Metadata from Scientific Conference Web Sites[C]. In: Proceedings of the Role of Digital Libraries in a Time of Global Change, and the 12th International Conference on Asia-Pacific Digital Libraries(ICADL 2010). Berlin: Springer-Verlag, 2010: 226-235. [本文引用:1]
[10] 陈翰, 周杰, 李弼程. 一种基于综合特征的网页类型识别方法[J]. 信息工程大学学报, 2011, 12(6): 738-744.
(Chen Han, Zhou Jie, Li Bicheng. Genre Recognition Method of Web Pages Based on Integral Features[J]. Journal of Information Engineering University, 2011, 12(6): 738-744. ) [本文引用:1] [CJCR: 0.12]
[11] 吴思竹, 张智雄. 基于网页特征识别的噪音网页过滤方法研究[J]. 情报理论与实践, 2011, 34(4): 111-114.
(Wu Sizhu, Zhang Zhixiong. Research on Noise Web Page Filtering Method Based on Web Page Chatacteristics Identification[J]. Information Studies: Theory & Application, 2011, 34(4): 111-114. ) [本文引用:2] [CJCR: 1.5]
[12] Machine Learning Group at University of Waikato. Weka 3: Data Mining Software in Java[EB/OL]. [2012-03-29]. http://www.cs.waikato.ac.nz/ml/weka/. [本文引用:1]
[13] Kittler J, Hatef M, Duin R P W, et al. On Combining Classifiers[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(3): 226-239. [本文引用:1] [JCR: 4.795]
[14] John G H, Langley P. Estimating Continuous Distributions in Bayesian Classifiers[C]. In: Proceedings of the 11th Conference on Uncertainty in Artificial Intelligence(UAI’95). San Mateo: Morgan Kaufmann, 1995: 338-345. [本文引用:1]
[15] Quinlan R J. C4. 5: Programs for Machine Learning[M]. San Francisco: Morgan Kaufmann Publishers Inc, 1993. [本文引用:1]
[16] Frank E. ZeroR API Document[EB/OL]. [2012-03-29]. http://weka.sourceforge.net/doc.dev/weka/classifiers/rules/ZeroR.html. [本文引用:1]
[17] WebSPHINX: A Personal , Customizable Web Crawler [EB/OL]. [2012-02-12]. http://www.cs.cmu.edu/~rcm/websphinx/. [本文引用:1]
[18] Jsoup: Java HTML Parser [EB/OL]. [2012-03-29]. http://jsoup.org/. [本文引用:1]
[19] The Apache Software Foundation. Apache Tika - a Content Analysis Toolkit[EB/OL]. [2012-03-29]. http://tika.apache.org/. [本文引用:1]
[20] Ik-Analyzer [EB/OL]. [ 2012-03-29]. Ik-Analyzer [EB/OL]. [2012-03-29]. http://code.google.com/p/ik-analyzer/. [本文引用:1]
[21] LingPipe [EB/OL]. [2012-03-29]. http://alias-i.com/lingpipe/. [本文引用:1]