本发明涉及网络信息技术领域,尤其涉及一种集成学习的网页分类方法及装置。
背景技术:
随着网络信息产业发展而产生的Internet(国际互联网)和网络信息的安全问题,已成为热点问题。各种网络系统以及有关软硬件系统的缺陷、各种系统管理方面的漏洞,带来了许多安全上的隐患,出现了许多严重的网络安全问题。Internet本身所具有的开放性和共享性对信息的安全问题也提出了严峻挑战。
为防止重要信息外泄,需对外部访问的内容进行行为控制,按照一定策略需求,对某些类别网站进行屏蔽。因此,对于网站或网页内容的识别及相关技术成为该领域核心技术。
目前,对于网页分类多采用线下分类的方式。网页线下分类方式先通过网络爬虫得到大量网页源文件,对网页源文件进行信息抽取和信息去噪,再进行中文分词处理,根据分词结果采用机器学习相关技术,如SVM(Support Vector Machine,支持向量机)、Bayes(贝叶斯)等,对网页进行分类,将网页及网页分类存储到数据库中。实际使用时,将网页与存储网页及其相应类别的数据库中的记录进行匹配,得到网页相应类别。
常用的网页信息抽取方法,例如基于文档向量模型树的方法;分词方法有字符串匹配分词、理解分词、统计分词等;网页类型识别方法主要有两种:第一种是基于人工规则和策略的方法,主要利用领域专家知识进行整理分类;第二种是文本分类方法,如朴素贝叶斯、SVM等。
上述现有网页信息提取方法存在信息提取准确率较低的缺陷;分词相关方法也存在分词不准确等问题,网页分类准确率较低;基于人工规则和策略的分类方法可扩展性较差,而且耗费大量人力、时间;基于文本分类方法的网页分类虽然需要较少人工干预,也能保证一定覆盖率和准确率,但是计算量大,也比较耗时,难以满足实时性要求很高的系统。此外,两种分类方法在覆盖度和计算量上也均存在一定的限制。
技术实现要素:
本发明要解决的技术问题是,提供一种集成学习的网页分类方法及装置,克服现有技术中网页URL分类准确率低和计算效率低下。
本发明采用的技术方案是,所述一种集成学习的网页分类方法,包括:
步骤一,输入网页统一资源定位符URL,对输入的所述网页URL进行去重和确保有效性处理后,得到网页URL集合;
步骤二,通过分布式爬虫对所述网页URL集合对应的网页内容进行爬取,并对爬取到的所述网页内容进行预处理,生成原始语料;
步骤三,对所述原始语料进行分词处理得到待分类语料;
步骤四,通过至少两种分类算法模型并行的对待分类语料向量化文档进行网页URL分类预测,将网页URL分类预测结果均一致的网页URL归为一类并按类存入URL分类库。
进一步的,步骤一中,所述输入网页URL,具体包括:
通过外部输入或内部抽取输入所述网页URL;
其中,所述外部输入是通过用户手动输入或以文本形式导入所述网页URL;
所述内部抽取是从数据库中抽取设定条件的网页URL。
进一步的,步骤一中,所述确保有效性处理,具体包括:
根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则对超过有效期限的网页URL通过爬虫进行 重新爬取。
进一步的,步骤二中,所述对爬取的网页内容进行预处理,生成原始语料,具体包括:
对爬取到的网页去除网页标签和乱码,并过滤掉包含外语的网页内容,生成预设格式的原始语料。
进一步的,步骤二中,所述通过分布式爬虫对网页URL集合对应的网页内容进行爬取,具体包括:
基于海杜普分布式集群的网络爬虫架构,通过宽度优先搜索算法按批次从国际互联网爬取所述网页URL集合对应的网页内容;
其中,所述网页内容为网页URL集合中网页URL域名级别为五级及五级以下对应的网页内容。
进一步的,步骤三,具体包括:
对所述原始语料通过开源的并可扩充分词词典的分词系统进行分词处理,得到所述待分类语料。
进一步的,步骤四,具体包括:
初始化所述待分类语料,加载由所述待分类语料组成的待分类语料集合和所述特征文件到内存;
根据所述特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分类语料向量化文档;
选取至少两个分类算法模型并行对待分类语料向量化文档进行网页URL分类预测;
对选取的各分类算法模型的网页URL分类预测结果进行对比匹配;
若选取的各分类算法模型的网页URL分类预测结果均一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
进一步的,步骤四中,所述至少两种分类算法模型从以下分类算法模型中任意选取:贝叶斯Bayes分类算法模型、支持向量机SVM分类算法模型、最大 熵分类算法模型、邻近算法KNN分类算法模型和神经网络分类算法模型。
进一步的,所述Bayes分类算法模型、所述SVM分类算法模型、所述最大熵分类算法模型、所述KNN分类算法模型或者所述神经网络分类算法模型的获取过程,包括:
初始化训练语料,加载由所述训练语料组成的训练语料集合到内存;
通过期望交叉熵算法对所述训练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配特征词权值;根据预设的参数N指定训练语料特征词维数,对所述训练语料特征词按特征词权值降序排列,选取前N个训练语料特征词保存到特征文件中;
其中,N为不小于预设的网页URL分类类别数量的整数;
根据所述特征文件中的特征词,将所述训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档;
以所述训练语料向量化文档作为输入,通过Bayes分类算法、SVM分类算法、最大熵分类算法、KNN分类算法或者神经网络分类算法分别进行训练和参数选择,分别生成对应的Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型或者神经网络分类算法模型。
进一步的,步骤四中,通过所述Bayes分类算法模型、所述SVM分类算法模型和所述最大熵分类算法模型分别并行对所述待分类语料向量化文档进行网页URL分类预测,具体包括:
对所述Bayes分类算法模型的网页URL分类预测结果、所述SVM分类算法模型的网页URL分类预测结果和所述最大熵分类算法模型的网页URL分类预测结果进行对比匹配;
若所述Bayes分类算法模型的网页URL分类预测结果、所述SVM分类算法模型的网页URL分类预测结果和所述最大熵分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
进一步的,所述方法,在步骤四之后,还包括:
发布所述网页URL分类库,并生成网页URL分类报表;
所述网页URL分类报表包括:网页URL类别和各网页URL类别中网页URL数量和占比。
本发明还提供一种集成学习的网页分类装置,包括:
输入模块,用于输入网页URL,对输入的所述网页URL进行去重和确保有效性处理后,得到网页URL集合;
爬虫爬取模块,用于通过分布式爬虫对所述网页URL集合对应的网页内容进行爬取,并对爬取到的所述网页内容进行预处理,生成原始语料;
分词模块,用于对所述原始语料进行分词处理得到待分类语料;
分类模块,用于通过至少两种分类算法模型并行的对待分类语料向量化文档进行网页URL分类预测,将网页URL分类预测结果均一致的网页URL归为一类并按类存入URL分类库。
进一步的,所述输入模块,具体用于:
通过外部输入或内部抽取输入所述网页URL;
其中,所述外部输入是通过用户手动输入或以文本形式导入所述网页URL;
所述内部抽取是从数据库中抽取设定条件的网页URL。
进一步的,所述输入模块,具体用于:
根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则对超过有效期限的网页URL通过爬虫进行重新爬取。
进一步的,所述爬虫爬取模块,具体用于:
对爬取到的网页去除网页标签和乱码,并过滤掉包含外语的网页内容,生成预设格式的原始语料。
进一步的,所述爬虫爬取模块,具体用于:
基于海杜普分布式集群的网络爬虫架构,通过宽度优先搜索算法按批次从国际互联网爬取所述网页URL集合对应的网页内容;
其中,所述网页内容为网页URL集合中网页URL域名级别为五级及五级以下对应的网页内容。
进一步的,所述分词模块,具体用于:
对所述原始语料通过开源的并可扩充分词词典的分词系统进行分词处理,得到所述待分类语料。
进一步的,所述分类模块,具体用于:
初始化所述待分类语料,加载由所述待分类语料组成的待分类语料集合和所述特征文件到内存;
根据所述特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分类语料向量化文档;
选取至少两个分类算法模型并行对待分类语料向量化文档进行网页URL分类预测;
对选取的各分类算法模型的网页URL分类预测结果进行对比匹配;
若选取的各分类算法模型的网页URL分类预测结果均一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
进一步的,所述分类模块,还用于:
从以下分类算法模型中选取所述至少两种分类算法模型:Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型和神经网络分类算法模型。
进一步的,所述分类模块,还用于:
按照如下方式获取所述Bayes分类算法模型、所述SVM分类算法模型、所述最大熵分类算法模型、所述KNN分类算法模型或者所述神经网络分类算法模型:
初始化训练语料,加载由所述训练语料组成的训练语料集合到内存;
通过期望交叉熵算法对所述训练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配特征词权值;根据预设的参数N指定训练语料特征词维数,对所述训练语料特征词按特征词权值降序排列,选取前N个训练语料特征词保存到特征文件中;
其中,N为不小于预设的网页URL分类类别数量的整数;
根据所述特征文件中的特征词,将所述训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档;
以所述训练语料向量化文档作为输入,通过贝叶斯Bayes分类算法、支持向量机SVM分类算法、最大熵分类算法、邻近算法KNN分类算法或者神经网络分类算法分别进行训练和参数选择,对应的生成Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型或者神经网络分类算法模型。
进一步的,所述分类模块,具体用于:
通过所述Bayes分类算法模型、所述SVM分类算法模型和所述最大熵分类算法模型分别并行对所述待分类语料向量化文档进行网页URL分类预测;
对所述Bayes分类算法模型的网页URL分类预测结果、所述SVM分类算法模型的网页URL分类预测结果和所述最大熵分类算法模型的网页URL分类预测结果进行对比匹配;
若所述Bayes分类算法模型的网页URL分类预测结果、所述SVM分类算法模型的网页URL分类预测结果和所述最大熵分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
进一步的,所述装置,还包括:
发布模块,用于发布所述网页URL分类库,并生成网页URL分类报表;
所述网页URL分类报表包括:网页URL类别和各网页URL类别中网页URL数量和占比。
采用上述技术方案,本发明至少具有下列优点:
本发明所述集成学习的网页分类方法及装置,基于分布式的爬虫架构,有效的提高了全网爬行效率,无需人工参与,自动轮询执行用户提交的任务,实现自动化网页爬行过程;通过两种及两种以上分类算法模型对网页URL进行分类预测,以分类结果全部一致为入库准则,提高了网页URL分类准确率和网页URL分类库的质量;实现了完全自动化网页URL分类集成系统,减少了大量人力和时间,极大提高了网页URL分类效率。
附图说明
图1为本发明第一实施例的一种集成学习的网页分类方法流程图;
图2为本发明第三实施例的一种集成学习的网页分类装置组成结构示意图;
图3为本发明第五实施例的一种集成学习的网页分类方法流程图;
图4为本发明第五实施例的所述集成学习的网页分类算法流程图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种集成学习的网页分类方法,如图1所示,包括以下具体步骤:
步骤S101,输入网页URL(Uniform Resource Locator,统一资源定位符),对输入的网页URL进行去重和确保有效性处理后,得到网页URL集合。
具体的,步骤S101,包括:
步骤A1,通过外部输入或内部抽取输入网页URL。
其中,外部输入是通过用户手动输入或以文本形式导入网页URL。
内部抽取是通过从数据库中抽取设定条件的网页URL。
其中,数据库为存储网页URL相关信息的MySQL数据库。
步骤A2,对输入的网页URL进行去重,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,是否重新爬取网页URL,将需要重新爬取的网页URL进行更新,得到网页URL集合。
具体的,步骤A2,包括:
步骤B1,对输入的重复网页URL进行删除。
步骤B2,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,是否需要重新爬取网页URL,将需要重新爬取的网页URL进行更新,得到网页URL集合。
具体的,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则对超过有效期限网页URL通过分布式爬虫进行重新爬取,并用重新爬取的网页URL代替判断为需要重新爬取的原网页URL,得到网页URL集合。
步骤S102,通过分布式爬虫对网页URL集合对应的网页内容进行爬取,并对爬取到的网页内容进行预处理,得到原始语料。
具体的,步骤S102,包括:
步骤C1,通过爬虫对网页URL集合对应的网页内容进行爬取。
基于Hadoop(海杜普)分布式集群的网络爬虫架构,通过BFS(Breadth First Search,宽度优先搜索算法)算法多节点并发从Internet爬取网页URL集合对应的网页内容。受限于Hadoop集群综合能力,集群一次能有效处理的数据量有限,因此按批次从Internet爬取网页URL集合对应的网页内容,以使网页内容数量规模达到千万级别。
其中,爬取网页内容为网页URL集合中的网页URL域名级别为五级及五级以下对应的网页内容。
步骤C2,对爬取的网页内容进行预处理。
对爬取到的网页内容去除网页标签和乱码等格式化处理,并过滤掉包含外语的网页,生成预设格式的原始语料,将原始语料存入原始语料集合。
步骤S103,对原始语料进行分词处理,得到待分类语料。
对原始语料通过开源并可扩充分词词典的分词系统进行分词处理,得到待分类语料。通过开源并可扩充分词词典的自主扩充大大增强了对原始语料分词的需求,通过增加词性标注和词频统计功能,更有效地保证待分类语料质量。该技术为现有技术,在此不赘述。
步骤S104,通过至少两种分类算法模型并行的对待分类语料向量化文档进行网页URL分类预测,将网页URL分类预测结果均一致的网页URL归为一类并按类存入URL分类库。
具体的,步骤S104,包括:
步骤D1,创建Bayes分类算法模型,SVM分类算法模型、最大熵分类算法模型、KNN(K-NearestNeighbor,邻近算法)分类算法模型或者神经网络分类算法模型。
初始化训练语料,加载由训练语料组成的训练语料集合到内存等。
通过期望交叉熵算法对练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配权值。根据抽取的特征词和特征词权值生成维数特征文件。
通过预设的参数N指定训练语料特征词维数,根据训练语料特征词权值,对所有训练语料特征词按特征词权值排序,根据参数N选取前N个特征词保存到特征文件中。
其中,N为不小于预设的网页URL类别数量的整数。
对训练语料进行向量化处理,生成向量化文档。
对训练语料进行向量化处理,包括:根据特征文件中的特征词,将训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档。该技术为现有技术,在此不赘述。
以训练语料向量化文档作为输入,通过Bayes分类算法、SVM分类算法、最大熵分类算法、KNN分类算法和神经网络分类算法分别进行训练和参数选择, 分别生成对应的Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型或者神经网络分类算法模型。
步骤D2,选取Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型和神经网络分类算法模型中的至少两种分类算法模型进行组合,对待分类语料向量化文档分别并行进行网页URL分类预测。
初始化待分类语料,加载由待分类语料组成的待分类语料集合和特征文件到内存等。
对待分类语料进行向量化处理,生成待分类语料向量化文档。
对待分类语料进行向量化处理,包括:根据特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分类语料向量化文档。该技术为现有技术,在此不赘述。
选取Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型和神经网络分类算法模型中的至少两个分类算法模型进行组合,分别并行对待分类语料向量化文档进行网页URL分类预测。
对选取的至少两个分类算法模型的网页URL分类预测结果进行对比匹配。
若选取的至少两个分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
步骤S105,对网页URL分类库进行发布。
发布网页URL分类库,并生成网页URL分类报表。
网页URL分类报表包括:网页URL类别和各网页URL类别中网页URL数量和占比。
本发明第二实施例,一种集成学习的网页分类方法,本实施例所述方法与第一实施例大致相同,区别在于通过三种分类算法模型对待分类语料向量化文档进行网页URL分类预测,本实施例的所述方法,还包括以下具体步骤:
步骤S104,通过Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型并行对待分类语料向量化文档进行网页URL分类预测,将网页URL分 类预测结果一致的网页URL归为一类并按类存入URL分类库。
具体的,步骤S104,包括:
步骤Z1,创建Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型
初始化训练语料,加载由训练语料组成的训练语料集合到内存等。
通过期望交叉熵算法对练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配权值。根据抽取的特征词和特征词权值生成维数特征文件。
通过预设的参数N指定训练语料特征词维数,根据训练语料特征词权值,对所有训练语料特征词按特征词权值降序排列,根据参数N选取前N个特征词保存到特征文件中。
其中,N为不小于预设的网页URL类别数量的整数。
对训练语料进行向量化处理,生成向量化文档。
对训练语料进行向量化处理,包括:根据特征文件中的特征词,将训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档。该技术为现有技术,在此不赘述。
以训练语料向量化文档作为输入,通过Bayes分类算法、SVM分类算法和最大熵分类算法分别进行训练和参数选择,分别生成Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型。
步骤Z2,通过Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型对待分类语料向量化文档分别并行进行网页URL分类预测。
初始化待分类语料,加载由待分类语料组成的待分类语料集合和和特征文件到内存等。
对待分类语料进行向量化处理,生成待分类语料向量化文档。
对待分类语料进行向量化处理,包括:根据特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分 类语料向量化文档。该技术为现有技术,在此不赘述。
通过Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型分别并行对待分类语料向量化文档进行网页URL分类预测。
对Bayes分类算法模型的网页URL分类预测结果、SVM分类算法模型的网页URL分类预测结果和最大熵分类算法模型的网页URL分类预测结果进行对比匹配。
若Bayes分类算法模型的网页URL分类预测结果、SVM分类算法模型的网页URL分类预测结果和最大熵分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
本发明第三实施例,与第一实施例对应,本实施例介绍一种集成学习的网页分类装置,如图2所示,包括以下组成部分:
输入模块100,用于输入网页统一资源定位符URL,对输入的网页URL进行去重和确保有效性处理后,得到网页URL集合。
具体的,输入模块100,用于:
通过外部输入或内部抽取输入网页URL;
其中,外部输入是通过用户手动输入或以文本形式导入网页URL。
内部抽取是从数据库中抽取设定条件的网页URL。
根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则对超过有效期限的网页URL通过爬虫进行重新爬取。
爬虫爬取模块200,用于通过分布式爬虫对网页URL集合对应的网页内容进行爬取,并对爬取到的网页内容进行预处理,生成原始语料。
用于基于海杜普分布式集群的网络爬虫架构,通过宽度优先搜索算法多节点并发按批次从国际互联网爬取网页URL集合对应的网页内容。
其中,网页内容为网页URL集合中网页URL域名级别为五级及五级以下对应的网页内容。
对爬取到的网页去除网页标签和乱码,并过滤掉包含外语的网页内容,生成预设格式的原始语料。
分词模块300,用于对原始语料进行分词处理得到待分类语料。
用于对原始语料通过开源的并可扩充分词词典的分词系统进行分词处理,得到待分类语料。
分类模块400,用于通过至少两种分类算法模型并行的对待分类语料向量化文档进行网页URL分类预测,将网页URL分类预测结果均一致的网页URL归为一类并按类存入URL分类库。
具体的,分类模块400,用于:
初始化训练语料,加载由训练语料组成的训练语料集合到内存等。
通过期望交叉熵算法对练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配权值。根据抽取的特征词和特征词权值生成维数特征文件。
通过预设的参数N指定训练语料特征词维数,根据训练语料特征词权值,对所有训练语料特征词按特征词权值排序,根据参数N选取前N个特征词保存到特征文件中。
其中,N为不小于预设的网页URL类别数量的整数。
对训练语料进行向量化处理,生成向量化文档。
对训练语料进行向量化处理,包括:根据特征文件中的特征词,将训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档。该技术为现有技术,在此不赘述。
以训练语料向量化文档作为输入,通过Bayes分类算法、SVM分类算法、最大熵分类算法、KNN分类算法或者神经网络分类算法分别进行训练和参数选择,分别生成对应的Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型或者神经网络分类算法模型。
初始化待分类语料,加载由待分类语料组成的待分类语料集合和特征文件 到内存等。
对待分类语料进行向量化处理,生成待分类语料向量化文档。
对待分类语料进行向量化处理,包括:根据特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分类语料向量化文档。该技术为现有技术,在此不赘述。
选取Bayes分类算法模型、SVM分类算法模型、最大熵分类算法模型、KNN分类算法模型和神经网络分类算法模型中的至少两种分类算法模型进行组合,通过选取的至少两种分类算法模型分别并行对待分类语料向量化文档进行网页URL分类预测。
对选取的至少两种分类算法模型的网页URL分类预测结果进行对比匹配。
若选取的至少两种分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
发布模块500,用于发布网页URL分类库,并生成网页URL分类报表;
网页URL分类报表包括:网页URL类别和各网页URL类别中网页URL数量和占比。
本发明第三实施例,一种集成学习的网页分类装置,本实施例所述装置与第三实施例大致相同,区别在于分类模块400用于通过Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型并行对待分类语料向量化文档进行网页URL分类预测,本实施例的所述装置,分类模块400具体用于:
分类模块400,用于创建Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型,并通过Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型并行对待分类语料向量化文档进行网页URL分类预测,将网页URL分类预测结果一致的网页URL归为一类并按类存入URL分类库。
具体的,分类模块400,具体用于:
创建Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型
初始化训练语料,加载由训练语料组成的训练语料集合到内存等。
通过期望交叉熵算法对练语料进行特征词抽取,并通过期望交叉熵算法为抽取的训练语料特征词分配权值。根据抽取的特征词和特征词权值生成维数特征文件。
通过预设的参数N指定训练语料特征词维数,根据训练语料特征词权值,对所有训练语料特征词按特征词权值降序排列,根据参数N选取前N个特征词保存到特征文件中。
其中,N为不小于预设的网页URL类别数量的整数。
对训练语料进行向量化处理,生成向量化文档。
对训练语料进行向量化处理,包括:根据特征文件中的特征词,将训练语料集合中每个训练语料生成一个N维列向量,并将N维列向量存入训练语料向量化文档。该技术为现有技术,在此不赘述。
以训练语料向量化文档作为输入,通过Bayes分类算法、SVM分类算法和最大熵分类算法分别进行训练和参数选择,分别生成Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型。
初始化待分类语料,加载由待分类语料组成的待分类语料集合和和特征文件到内存等。
对待分类语料进行向量化处理,生成待分类语料向量化文档。
对待分类语料进行向量化处理,包括:根据特征文件中的特征词,将待分类语料集合中每个待分类语料生成一个N维列向量,并将N维列向量存入待分类语料向量化文档。该技术为现有技术,在此不赘述。
通过Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型分别并行对待分类语料向量化文档进行网页URL分类预测。
对Bayes分类算法模型的网页URL分类预测结果、SVM分类算法模型的网页URL分类预测结果和最大熵分类算法模型的网页URL分类预测结果进行对比匹配。
若Bayes分类算法模型的网页URL分类预测结果、SVM分类算法模型的网 页URL分类预测结果和最大熵分类算法模型的网页URL分类预测结果一致,则将分类结果一致的网页URL归为一类并按类存入网页URL分类库。
本发明第四实施例,一种集成学习的网页分类方法,如图3~4所示,包括以下具体步骤:
步骤S301,输入网页URL(Uniform Resource Locator,统一资源定位符)。
具体的,步骤S301,包括:
(1)外部输入:通过用户手动输入或以文本形式导入URL;
(2)内部抽取:从MySQL数据库中抽取满足数据库查询条件的网页URL作为网页URL输入源。
例如:从MySQL数据库中按指定新闻类别进行抽取或按指定时间段进行抽取等方式抽取网页URL作为网页URL输入源。
步骤S302,对输入的网页URL进行去重处理,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,是否重新爬取网页URL,将需要重新爬取的网页URL进行更新,生成网页URL集合。
具体的,步骤S302,包括:
步骤E1,对输入的重复网页URL进行删除。
步骤E2,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,是否需要重新爬取网页URL,将需要重新爬取的网页URL进行更新,生成网页URL集合。
具体的,根据去重后的网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则对网页URL通过分布式爬虫进行重新爬取,并用重新爬取的网页URL代替判断为需要重新爬取的原网页URL。
例如:去重后的网页URL的最后修改时间字段lastmodify为2013-12-0910:12:33,有效期限字段usefullife为80天,距离最后修改时间2013-12-0910:12:33超过有效期限80天,则对网页URL通过分布式爬虫进行重新爬取,并用重新爬取的网页URL代替判断为需要重新爬取的原网页URL,生成网页URL 集合。
步骤S303,根据网页URL集合,创建网页URL分类任务。
网页URL分类任务在MySQL数据库中以一条记录的形式存在。
网页URL分类任务包括:任务ID、任务名称、任务状态和任务所包含的网页URL集合等。
步骤S304,初始化网页URL分类任务准备工作。
具体的,步骤S304,包括:
步骤F1,创建网页URL分类任务的目录结构。
目录结构包括:任务目录。
任务目录:包括待爬取目录、爬虫结果目录、分词结果目录和分类结果目录等。
其中,任务目录以任务名称命名。
步骤F2,从MySQL数据库中读取待爬取的网页URL放入待爬取目录。
步骤F3,将网页URL分类任务中的任务状态设置为执行中。
步骤S305,通过分布式爬虫对任务目录中的待爬取目录对应的网页内容进行爬取。
具体的,步骤S305,包括:
基于Hadoop(海杜普)分布式集群的网络爬虫架构,通过BFS(Breadth First Search,宽度优先搜索算法)算法多节点并发从Internet爬取任务目录中的待爬取网页内容目录对应的网页内容。受限于Hadoop集群综合能力,集群一次能有效处理的数据量有限,因此按批次从Internet爬取步骤二得到的网页URL对应的网页内容,以使网页内容数量规模达到千万级别。
其中,爬取网页内容为任务目录中的待爬取目录中的网页URL域名级别为五级及五级以下对应的网页内容。
步骤S306,对爬取的网页内容进行预处理。
具体的,步骤S306,包括:
对爬取的网页内容进行去除网页标签和去除乱码等格式化处理,并过滤掉包含外语的网页内容,生成预设格式的原始语料,将原始语料存入任务目录中的爬虫结果目录。
步骤S307,对爬虫结果目录中的原始语料进行分词处理。
具体的,步骤S307,包括:
对爬虫结果目录中的原始语料通过开源并可扩充分词词典的分词系统进行分词处理,得到待测语料,将待测语料存入分词结果目录。该技术为现有技术,在此不赘述。
例如:对爬虫爬取网页内容结果目录中的原始语料通过中科院分词系统进行分词,得到待测语料。
通过开源并可扩充分词词典的自主扩充大大增强了对原始语料分词的需求,通过增加词性标注和词频统计功能,更有效地保证语料质量。
步骤S308,创建Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型,并根据Bayes分类算法模型,SVM分类算法模型和最大熵分类算法模型对原始语料进行网页URL分类。
如图4,具体的,步骤S308,包括:
步骤H1,初始化训练语料和待测语料。
具体的,步骤D1,包括:
初始化训练语料和待测语料,为网页URL分类算法模型创建准备工作,例如:加载训练语料集和待测语料到内存等。
步骤H2,通过期望交叉熵算法对训练语料进行特征词抽取。
步骤H3,通过期望交叉熵算法为抽取的训练语料特征词计算权值和分配权值。
步骤H4,根据抽取的特征词和特征词权值生成维数特征文件。
通过预设的参数N指定训练语料特征词维数,根据训练语料特征词权值,对所有训练语料特征词按特征词权值排序,根据参数N取前N个特征词保存到 维数特征文件中。
步骤H5,训练语料向量化处理和待测语料向量化处理。
具体的,步骤D5,包括:
训练语料向量化处理是根据特征维数文件中的特征词,将训练语料集中每个网页内容样本生成一个1×N维向量,并将1×N维向量放入训练语料向量化文档,其中N为训练语料特征词个数。
待测语料向量化处理是根据特征维数文件中的特征词,将原始语料每个网页内容样本生成一个1×N维向量,并将1×N维向量放入原始语料向量化文档。
该技术为现有技术,在此不赘述。
步骤H6,以训练语料向量化文档作为输入,对Bayes分类算法模型、SVM分类算法模型和最大熵分类算法模型分别进行训练和参数选择。
步骤H7,根据步骤H6的训练和参数选择结果,生成Bayes分类算法模型文件、SVM分类算法模型文件和最大熵分类算法模型文件。
步骤H8,通过Bayes分类算法模型文件、SVM分类算法模型文件和最大熵分类算法模型文件对待测语料向量化文档分别进行并行网页URL分类预测。
步骤H9,分别并行生成Bayes分类算法模型网页URL分类结果、SVM分类算法模型网页URL分类结果和最大熵分类算法模型网页URL分类结果。
步骤H10,对Bayes分类算法模型网页URL分类结果、SVM分类算法模型网页URL分类结果和最大熵分类算法模型网页URL分类结果进行投票筛选。
具体的,步骤D10,包括:
对Bayes分类算法模型网页URL分类结果、SVM分类算法模型网页URL分类结果和最大熵分类算法模型网页URL分类结果一致的网页URL存入网页URL分类结果目录中。
步骤S309,网页URL分类后处理,根据网页URL分类结果目录更新MySQL数据库。
步骤S310,根据网页URL集合中的网页URL是否失效或类别变更等进行 判断,是否重启网页URL分类任务。
具体的,步骤S110,包括:
若网页URL集合中的网页URL判断为失效或类别变更,则重启网页URL分类任务。
其中,网页URL是否失效通过网页URL的最后修改时间字段和有效期限字段进行判断,若距离最后修改时间超过有效期限,则网页URL判断为失效。
例如:网页URL的最后修改时间字段lastmodify为2013-12-09 10:12:33,有效期限字段usefullife为80天,距离最后修改时间2013-12-09 10:12:33超过有效期限80天,则网页URL判断为失效。
步骤S311,对网页URL分类库进行发布。
自动化一键式打包发布网页URL分类库,并生成网页URL分类报表。
网页URL分类报表包括:网页URL类别和各网页URL类别中网页URL数量和占比。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。