网页分类技术介绍

来源:互联网 发布:冬季男装品牌 知乎 编辑:程序博客网 时间:2024/05/10 15:00

1.       技术背景

分类问题是人类所面临的一个非常重要且具有普遍意义的问题。将事物正确的分类,有助于人们认识世界,使杂乱无章的现实世界变得有条理。自动文本分类就是对大量的自然语言文本按照一定的主题类别进行自动分类,它是自然语言处理的一个十分重要的问题。文本分类主要应用于信息检索,机器翻译,自动文摘,信息过滤,邮件分类等任务。文本分类的一个关键问题是特征词的选择问题及其权重分配。

在搜索引擎中,文本分类主要有这些用途:相关性排序会根据不同的网页类型做相应的排序规则;根据网页是索引页面还是信息页面,下载调度时候会做不同的调度策略;在做页面信息抽取的时候,会根据页面分类的结果做不同的抽取策略;在做检索意图识别的时候,会根据用户所点击的url所属的类别来推断检索串的类别等等。

2.       自动分类的原理和步骤

在分类的时候首先会遇到文档形式化表示的问题,文档模型有3种:向量空间模型,布尔模型和概率模型,其中我们常用的是向量空间模型。向量空间模型的核心描述如下:

l         文档(Document):文本或文本中的片断(句子或段落)。

l         特征项(Term):文档内容用它所包含的基本语言单位来表示,基本语言单位包括字、词、词组、短语、句子、段落等,统称为特征项。

l         特征项权重(Term Weight):不同的特征项对于文档D的重要程度不同,用特征项Tk附加权重Wk 来进行量化,文档D可表示为(T1,W1;T2,W2;…;Tn,Wn)

l         向量空间模型(Vector Space Model):对文档进行简化表示,在忽略特征项之间的相关信息后,一个文本就可以用一个特征向量来表示,也就是特征项空间中的一个点;而一个文本集可以表示成一个矩阵,也就是特征项空间中的一些点的集合。

l         相似度(Similarity):相似度Sim(D1,D2)用于度量两个文档D1和D2之间的内容相关程度。当文档被表示为文档空间的向量,就可以利用欧氏距离、内积距离或余弦距离等向量之间的距离计算公式来表示文档间的相似度。

    其中特征选取是文本表示的关键, 方法包括:文档频率法(DF)、信息增益法和互信息法等等。

在做特征选取之前,一般还要进行预处理的工作,要对先对网页降噪。另外在实际的分类中,除了利用文档的内容特征之外,可能还会用到实际应用中所特有的特征,比如在网页分类中,可能用到url的特征、html的结构特征和标签特征等信息。

分类的基本步骤是这样的:定义分类体系,将预先分类过的文档作为训练集,从训练集中得出分类模型,然后用训练获得出的分类模型对其它文档加以分类。

3.       常用的分类算法

文档自动分类是学术界研究多年,技术上比较成熟的一个领域。目前分类算法主要分下面这些:

       其中比较常用的是:支持向量机(SVM)方法、朴素贝叶斯(NB)方法、神经网络(NN)方法、K近邻(KNN)方法、决策树(Decision Tree)方法等。

    支持向量机(Support Vector Machines, SVM)由Vapnik在1995年提出,用于解决二分类模式识别问题。它通过寻找支持向量来确定决策面,并使分类间隔最大。SVM方法提供了解决 “维数灾难”问题的方法。SVM方法较好的理论基础和它在一些领域的应用中表现出来的优秀的泛化性能,尽管SVM算法的性能在许多实际问题的应用中得到了验证,但是该算法在计算上存在着一些问题,包括训练算法速度慢、算法复杂而难以实现以及检测阶段运算量大等等。

朴素贝叶斯(Naive Bayes,NB) 概率分类器是机器学习中很常用的一种方法,其基本思想是利用单词和分类的联合概率来估计给定文档的分类概率。

贝叶斯公式:P(C|X)*P(X)=P(X|C)*P(C)

特征向量:X=(x1,x2,x3…)    C={C1,C2,……}

其中P(C)是每个类别的先验概率,即,互联网上各个分类所占总页面的比例

P(X|C):条件概率,表示在类别为C的训练集合中,X的分布情况。

P(X):每个特征值的分布,由于特征值的分布是随机的,所以P(X)相等

神经网络(Neural network,NN)技术是人工智能中的成熟技术。将神经网络用于文档分类时,需要为每个分类建立一个神经网络,通过学习得到从输入单词(或者更复杂的特征词向量)到分类的非线性映射。其计算量和训练时间非常庞大。

KNN是著名的模式识别统计学方法,已经有四十年历史,它是最好的文本分类算法之一。KNN算法相当简单:给定一个测试文档,系统在训练集中查找离它最近的k个邻居,并根据这些邻居的分类来给该文档的候选分类评分。把邻居文档和测试文档的相似度作为邻居文档所在分类的权重。如果这k个邻居中的部分文档属于同一个分类,则该分类中的每个邻居的权重求和并作为该分类和测试文档的相似度。该方法的特点是允许文档可以属于多个分类。KNN通过查询已知类似的例子的情况,来判断新例子与已知例子是否属于同一类;

通过我们对现实网页的分类测试情况看,这些方法中SVM方法的效果是比较好的,但是性能不高; 朴素贝叶斯的分类效果虽然略差于SVM,但是性能上要好很多,因此在算法上我们选择了朴素贝叶斯作为分类算法。

4.       搜搜网页分类

4.1 分类算法

分类算法是采用的朴素贝叶斯算法, 原因是速度快, 效果好。

4.2 分类维度

根据页面的载体不同、组织形式不同、内容特征不同以及结构特征不同,按照媒体分类,板式分类,内容分类,结构分类四个维度,将一个页面分成四个类别。

在每个维度中,一个页面只能分成一个类别;多个维度间的类别可以重复。

4.3 分类类别

l         媒体分类,是指按照页面中正文主体所包含的载体信息的不同,将一个页面分成图片、视频和文本等。

l         板式分类,是指照页面所属的板式的不同,将一个页面分成论坛、博客等。

l         内容分类,是指按照页面中正文内容特征的不同,分成新闻、小说、招聘和下载等。

l         结构分类,是指按照页面中结构信息的不同,将一个页面分成信息页和索引页等。

4.4   系统架构

4.5   特征选取

传统的特征选择一般是用TF*IDF等方法选择内容关键字等,这也是我们使用的一个重要因子,下面是训练得出的一个内容关键字特征片段:

    除内容特征之外,我们还会用到结构特征,比如:链接特征、html tag特征等;用到的特征还包括url特征和标点符号特征等方面。

原创粉丝点击