一种双维度分类提取网页链接的方法与流程

文档序号:11519773阅读:243来源:国知局

本发明涉及一种提取网页链接的方法,尤其涉及一种双维度分类提取网页链接的方法,属于数据处理技术领域。



背景技术:

近年来,万维网信息爆炸式增长,但由于时间、精力和兴趣有限,用户往往只对某一类或某几类信息感兴趣。在这种情况下,针对用户兴趣或具体行业需求提供网页信息搜索服务的公司或网站大量涌现出来,比如,专门提供体育比赛信息的网站,专门提供股票信息的网站等。这些公司或网站通过使用主题网络爬虫来为用户精准提供感兴趣的信息。这类爬虫根据一定的算法过滤与主题无关的链接,保留与主题相关的链接并将其放入待抓的url队列中;然后根据一定的搜索策略从队列中选择下一步要抓取的网页url,并重复上述过程,直到满足某一条件时停止。这类爬虫的设计有两大难点。首先,需设计高效准确的网页分析或链接分类算法,提取出用户需要的链接,滤除无关链接。其次,在系统资源、带宽资源和爬取时间有限的情况下,需尽量多地发现并爬取最有价值的网站。在不少实际应用中,符合某一主题的信息可从专门的内容提供网站获取。以体育新闻为例,这类信息可从新浪、腾讯、网易等主流网站上抓取。在这种情况下,主题爬虫仅需爬取这些事先指定的内容提供网站,获取其页面,进而从页面中提取出与主题相关的链接信息。

不同网站的设计风格和页面样式可能相差很大。现有的基于主题的网页链接自动提取方法需要用户事先配置网站规则,指明待分析网页的样式,进而有针对性地进行爬取。为实现这种网页链接提取方法,设计者需参看大量网站,了解各种网页样式,经过抽象和分类,提炼出一个普适的网站特征模板。针对每一个希望爬取的网站,用户需通过软件在上述模板上进行规则配置。一旦网站风格和网页样式发生变化,用户需及时对特征模板进行重新配置。否则,链接提取软件将无法正确找到与指定主题相关的链接,导致提取失败。实际上,很多网站的设计风格和页面样式都是在不断变化的,因此,用户需要长期重复进行模板配置。

可以看到,现有的这类网页链接自动提取方法费时费力,成本很高,容易出现错漏,提取准确度不能保证。因此,如何在不引入大量人力的前提下智能地、准确地提取网页链接已经成为一个亟待解决的技术难题。解决这一难题的关键在于放弃人工配置规则这一操作,让程序自己识别网页中链接的特征,与指定主题进行匹配,进而作出是否吻合的准确判断。



技术实现要素:

本发明的目的是针对现有网页链接获取方法处理周期较长,需要耗费大量的人力物力,而且无法适应网页的结构或样式的频繁更新,很容易出现遗漏,也容易出现误判,准确度较低的缺陷和不足,现提供一种处理速度快,能够适应网页的结构或样式的频繁更新,通过程序智能地发现并自动地提取感兴趣的链接,无需设计网站特征模板,也无需用户填写模板,准确度得到了极大提高的一种双维度分类提取网页链接的方法。

为实现上述目的,本发明的技术解决方案是:一种双维度分类提取网页链接的方法,其特征在于包括以下步骤:

a、首先构建一个对网页中板块标题进行分类的贝叶斯分类器以及一个针对网页中链接标题进行匹配的卷积神经网络;

b、为贝叶斯分类器和卷积神经网络分别获取并标记一定数量的样本形成训练集和测试集,对于贝叶斯分类器,其训练集和测试集中的样本为板块的标题;对于卷积神经网络,其训练集和测试集中的样本为链接的标题。样本分为正负两类,正样本与目标主题相关,负样本与目标主题无关;

c、利用训练样本对贝叶斯分类器和卷积神经网络分别进行训练,直至在测试集上取得较好的性能;

d、利用网络爬虫抓取网页,保存至本地,并利用工具从网页中提取出链接;

e、判断所提取的候选链接之间的关系,如父子、后代等,将拥有相同父标签的链接信息聚为同一类,每一类对应于一个板块,同时提取出每个板块的标题;

f、使用贝叶斯分类器对网页中每一个板块的标题进行分类,找出与目标主题相关的板块;

g、使用卷积神经网络对与目标主题相关的板块中包含的链接信息进行分类,判断是否与目标主题相关;

h、逐一分析每个与主题相关的板块。如果卷积神经网络所识别出的主题相关链接数量占相应板块中所有链接数量的80%以上,认为匹配成功,将该板块的所有链接输出;否则,匹配失败,不输出该板块的链接。

所述a步骤中贝叶斯分类器的联合概率公式为:p(c,x)=p(c|x)*p(x)=p(x|c)*p(c),所得到的贝叶斯公式:p(c|x)=p(x|c)*p(c)/p(x),其中c=“该板块与主题相关”,x=“训练集中的信息含有标题文本的概率”。

本发明的有益效果是:

1.本发明构建了对板块标题进行分类的贝叶斯分类器以及针对链接标题进行匹配的卷积神经网络,并将两种分类器有机结合起来,提高了网页中与主题相关链接提取的准确度。

2.本发明改变了以往需要设计网站特征模板和用户填写模板的方式,通过程序智能地发现并自动地提取感兴趣的链接,无需设计网站特征模板,也无需用户填写模板,能适应网站风格和网页样式的频繁变化,节省了人力,借助于机器学习的方式,提高了处理速度。

附图说明

图1是本发明的工作流程图。

具体实施方式

以下结合附图说明和具体实施方式对本发明作进一步的详细描述。

参见图1,本发明的一种双维度分类提取网页链接的方法,包括以下步骤:

a、首先构建一个对网页中板块标题进行分类的贝叶斯分类器以及一个针对网页中链接标题进行匹配的卷积神经网络;

b、为贝叶斯分类器和卷积神经网络分别获取并标记一定数量的样本形成训练集和测试集,对于贝叶斯分类器,其训练集和测试集中的样本为板块的标题;对于卷积神经网络,其训练集和测试集中的样本为链接的标题。样本分为正负两类,正样本与目标主题相关,负样本与目标主题无关;

c、利用训练样本对贝叶斯分类器和卷积神经网络分别进行训练,直至在测试集上取得较好的性能;

d、利用网络爬虫抓取网页,保存至本地,并利用工具从网页中提取出链接;

e、判断所提取的候选链接之间的关系,如父子、后代等,将拥有相同父标签的链接信息聚为同一类,每一类对应于一个板块,同时提取出每个板块的标题;

f、使用贝叶斯分类器对网页中每一个板块的标题进行分类,找出与目标主题相关的板块;

g、使用卷积神经网络对与目标主题相关的板块中包含的链接信息进行分类,判断是否与目标主题相关;

h、逐一分析每个与主题相关的板块。如果卷积神经网络所识别出的主题相关链接数量占相应板块中所有链接数量的80%以上,认为匹配成功,将该板块的所有链接输出;否则,匹配失败,不输出该板块的链接。

所述a步骤中贝叶斯分类器的联合概率公式为:p(c,x)=p(c|x)*p(x)=p(x|c)*p(c),所得到的贝叶斯公式:p(c|x)=p(x|c)*p(c)/p(x),其中c=“该板块与主题相关”,x=“训练集中的信息含有标题文本的概率”。

本发明首先构建一个对网页中板块标题进行分类的贝叶斯分类器,贝叶斯分类器的作用是判断一个板块的内容是否符合目标主题。板块的标题往往能反映出板块内容的主题。比如,在新浪网上“国际足球”这一板块标题就反映出该板块内的信息均与足球这个主题相关。因此,可通过板块标题进行主题匹配。考虑到板块标题通常较短且表意明晰,使用贝叶斯分类器就能够获取较高的分类准确度(分为两类,“主题相关”和“主题无关”)。

贝叶斯分类器的算法原理如下:贝叶斯分类器的联合概率公式为:p(c,x)=p(c|x)*p(x)=p(x|c)*p(c),所得到的贝叶斯公式:p(c|x)=p(x|c)*p(c)/p(x)。以主题为体育为例,c=“该板块为体育信息”,x=“读取到的标题文本”。p(c|x)的含义是“读取到的标题文本是体育信息的概率”,p(x|c)的含义是“体育信息中含有标题文本的概率”,p(c)的含义是“训练集中的信息是体育信息的概率”,p(x)的含义是“训练集中的信息含有标题文本的概率”。在读取每一类的标题文本,将标题文本放入已标记的训练集中进行主题匹配。可以从训练集中得到p(x|c),p(c),p(x)三个概率值,从而使用贝叶斯公式计算出p(c|x)的值,即为“读取到的标题文本是体育信息的概率”。

贝叶斯分类器在本发明中的使用方法如下:首先获取板块的标题,将标题内容放入训练集中进行匹配,得到p(x|c),p(c),p(x)这三个参数。其中,c=“该板块属于目标主题”,x=“该板块的标题文本”。p(x|c)的含义是“训练集里的正样本含有该标题文本的概率”,p(c)的含义是“训练集中的样本是正样本的概率”,p(c)的含义是“训练集中的样本含有该标题文本的概率”。然后使用贝叶斯公式进行计算,计算出的p(x|c)值就是该板块的标题文本属于目标主题的概率,当大于设定的阈值80%时,判定该标题对应的板块中的所有链接属于目标主题。否则,认为该板块中所有链接不属于目标主题。

a步骤还构建了一个对主题相关板块中链接标题进行匹配的卷积神经网络。卷积神经网络的作用是分析和判断板块中每一条链接是否符合主题,这可以通过链接标题的文字来识别。对卷积神经网络的训练方法和过程阐述如下:首先要获得数据的训练集,由于训练集都是一条条句子,所以需要将其分解为单词方便以后的处理,但是神经网络并不能将一个个的文字单词作为输入,所以接下来要把单词化为为词向量,即一个个的数字向量。具体步骤为:首先寻找对应目标的语料,最常见的方法是自己写个简单的爬虫去收集网页上的数据,或者用网上现有的语料包。随后进行分词,将每句话以词为粒度划分,获得新的语料文件,在此使用开源的是ansj_seg项目,该项目是用java实现中科院ictclas中的算法。然后本地运行word2vec(word2vec是google在2013年年中开源的一款将词表征为实数值向量的高效工具)进行分析,将上述经过处理后的文件输入,经行分析,由此可以得到所有词的词向量,方便以后的训练。最后用卷积神经网络对句子进行扫描,即用一个滑动窗口从左至右进行扫描,每个窗口内有多个词,每个词由一个向量表示,在滑动窗口内,通过卷积(convolution)操作,进行特征抽取。这样,在各个位置上得到一系列特征。之后再通过最大池化(maxpooling)操作,对特征进行选择。重复以上操作多次,得到多个向量表示,将这些向量连接起来得到整个句子的语义表示。

获得了已经训练好的卷积神经网络后,就可以对主题相关板块中的链接进行匹配,过程和上述类似,即将语句分词,获得句子中的每个单词的词向量并将其输入已训练好的神经网络。具体的步骤如下:首先将待匹配的链接语句,用ansj_seg项目进行分词,细化句子的粒度。然后用上述已经训练好的word2vec获得待匹配的链接语句中的每个词的词向量。最后用已经训练好的卷积神经网络对句子进行扫描,同理,即用一个滑动窗口从左至右进行扫描,每个窗口内有多个词,每个词由一个向量表示。最后神经网络即可输出该链接是否匹配。

在b步骤中,针对与目标主题相关的板块标题与链接标题,获取并标记一定数量的样本形成训练集,样本中有正样本和负样本,正样本是与目标主题相关的样本,负样本是与目标主题无关的样本。

在c步骤中,使用标记好的样本分别对贝叶斯分类器和卷积神经网络进行训练,训练完成后,贝叶斯分类器和卷积神经网络就可以用于实际网页中与主题相关的链接的提取操作。

在d步骤中,爬虫从待爬取的网站中抓取网页,保存到本地,并从网页中提取出所有链接。链接提取操作可以使用beautifulsoup等工具实现。

e步骤对所提取的链接进行聚类。首先,提取网页中所有“无后代”或“后代中无a标签”的链接,这可以通过beautifulsoup等工具实现。随后,判断所提取链接之间的关系,如父子、后代等,将拥有相同父标签的链接(即url与title的组合)聚为同一类。最后从这类链接的父标签或同级兄弟标签中提取出板块的标题。

f步骤使用贝叶斯分类器对每一板块的标题进行分类,找到与主题相关的板块。g步骤则对f步骤中发现的主题相关板块内的链接进行分类或匹配。在h步骤中,针对每一个主题相关板块逐一执行以下操作。考虑第i个主题相关的板块,统计其所有链接数量(记为ni),统计使用卷积神经网络识别出与主题相关的链接的数量(记为mi)。若mi/ni>=80%,则认为匹配成功,将所有ni个链接输出;否则,认为匹配失败,放弃所有ni个链接。

综上所述,本发明将贝叶斯分类器和卷积神经网络这两种识别方法有机结合起来,充分发挥出了两种识别方法的各自优势,不仅通过标题来获取网页链接,还通过链接所属板块的标题来进行甄别,有效降低了误判率。本发明可兼容各种不同的网站,能适应网页结构或样式的频繁更新,处理速度快,极大地节省了人力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1