2. 2 特征词库的确定。
本次搭建的垂直搜索引擎在 2 个地方需要用到特征词库: 一是在主题相关性判断时需要配合向量空间模型使用的主题词库; 二是对网页信息分类时配合朴素贝叶斯算法使用的分类特征词库。无论是主题词库还是分类特征词库都需要对某一类样本文档集合的词或短语的权重进行计算,设定阈值,然后选取能够代表该类特征的词或短语作为该类的特征词,构成特征词库。
特征词的权重计算有许多方法,常见的可以作为词的权重的有文档频率、词频以及 TF - IDF 算法。本次选取 TF - IDF 算法作为特征词权重的计算方法。TF - IDF 算法的主要思想是如果某个词或短语在一篇文档中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语对于该文档具有高的价值[4].
确定本系统特征词库的具体工作步骤如下:
( 1) 选取不同类别的文档作为样本文档。对于特征词库,分别选取了与节能减排领域相关的和不相关的文档各 400 篇作为样本文档; 对于分类特征词库,每个类别选取 150 篇文档作为样本文档。
( 2) 利用 IK 分词器分别对 2 类文本进行中文分词,并去除停用词。
( 3) 利用 Lucene 技术对各类文本建立索引,并把结果保存在索引库中。
( 4) 利用 Lucene 提供的相关方法,首先在各类别中统计每一个词或短语在集合中每一篇文档中出现的次数以及计算该篇文档出现该词的总次数; 然后统计该词或短语在该类文档集合中出现的文档频率以及该类文档集合中的文档总数; 最后统计该词或短语出现的类别以及总类别数。
( 5) 利用上一步获取的相关数据,计算在每一类别样本文档集合中每一个词或短语的权重,并将这些词或短语按照权重的大小排序。
( 6) 通过设定阈值去除权重低的词或短语,确定最终的特征词库。
特征词库训练流程如图 1 所示。
2. 3 主题相关性判别的实现。
垂直搜索引擎与通用搜索引擎最本质的不同在于垂直搜索引擎会进行主题相关性判别,过滤掉与主题相关度不大的信息。垂直搜索引擎最后用于建立索引库的信息都是主题相关的。向量空间模型可以将文档表示成向量,可以使用向量之间的余弦距离表示文档之间的相似度。垂直搜索引擎中的主题相关性判断,可以看成主题领域和网页之间相似度的计算,所以可以利用向量空间模型进行主题相关性判定。
若将文档 D1表示成( W11,W12,W13,…,W1n) ,D2表示成( W21,W22,W23,…,W2n) ,向量空间模型的计算公式为:
利用向量空间模型进行主题相关性判定的具体算法如下:
( 1) 根据特征词库的确定方法,得到节能减排领域的主题特征向量 D1= ( W11,W12,…,W1n) .其中,W1k是利用公式计算的权重,n 表示主题词库中特征词的个数。
( 2) 对网络爬虫下载的网页,通过网页模板提取内容。利用 IK 分词器对网页文本进行分词,得到该网页的分词集合 ( t1,t2,…,tm) .其中,m 为该网页中分词的总数。
( 3) 以主题词库特征向量的维度为标准,按照主题词库中的特征词对分词后得到的网页分词集合进行操作。在分词集合中,去除主题词库中不存在的词,添加在主题词库中存在的词,将其权重设为0,保留主题词库已经存在的词,将其权重设为 1,最终得到与主题词库特征向量同样维度的网页特征向量 D2= ( W21,W22,…,W2n) .表 1 为主题特征向量的权重,表 2 为网页词库根据主题特征向量建立的网页特征向量的权重。
( 4) 利用式( 1) 计算主题特征向量 D1= ( W11,W12,…,W1n) 和网页特征向量 D2= ( W21,W22,…,W2n) 之间的余弦距离,并将得到的值作为判定该网页与节能减排主题领域的相关度的判定值。
( 5) 设定阈值。若网页与节能减排主题领域的相关度大于设定的阈值,则认为网页所包含的信息属于节能减排主题领域,并在建立索引时,将网页相关信息保存在索引数据库中; 反之,则认为该网页与节能减排主题领域无关,舍弃该网页。