【发明内容】
基于此,有必要提供一种无需人工参与,能进行批量测试,并且测试结果能有效反映网页抽取的准确性的网页抽取准确性计算方法。
一种网页抽取准确性计算方法,包括以下步骤:获取浏览器对网页解析的结果;获取待测网页抽取模块对网页解析的结果;计算所述待测网页抽取模块解析的结果与浏览器解析的结果的相似度,相似度越大,则所述待测网页抽取模块进行网页抽取的准确性越高。
优选的,所述待测网页抽取模块解析的结果包括解析网页得到的第一可见文本集合、第一链接集合和第一锚文本集合,所述浏览器解析的结果包括浏览器解析网页得到的第二可见文本集合、第二链接集合和第二锚文本集合;
所述计算待测网页抽取模块解析的结果与浏览器解析的结果的相似度的步骤为:计算第一可见文本集合与第二可见文本集合的相似度;计算第一链接集合与第二链接集合的相似度;计算第一锚文本集合与第二锚文本集合的相似度;对所述第一可见文本集合与第二可见文本集合的相似度、所述第一链接集合与所述第二链接集合的相似度、所述第一锚文本集合与第二锚文本集合的相似度按第一预设比例求和。
优选的,该计算第一可见文本集合与第二可见文本集合的相似度的步骤为:对所述第一可见文本集合中的文本进行切词,统计每个词出现的次数,建立第一词频向量;对所述第二可见文本集合中的文本进行切词,统计每个词出现的次数,建立第二词频向量;计算所述第一词频向量与所述第二词频向量的相似度,即为所述第一可见文本集合与第二可见文本集合的相似度。
优选的,按照如下公式计算第一链接集合与第二链接集合的相似度:所述第一链接集合与所述第二链接集合的相似度为:所述第一链接集合和所述第二链接集合中相同的链接数的倍数与所述第一链接集合及第二链接集合中的链接总数的比值。
优选的,所述计算第一锚文本集合与第二锚文本集合的相似度的步骤为:提取所述第一锚文本集合与第二锚文本集合中具有相同链接的锚文本;计算每个相同链接所对应的第一锚文本与第二锚文本的相似度,对该相似度求平均值;将第一锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第一文本串;将第二锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第二文本串;计算所述第一文本串和第二文本串的相似度;对所述第一文本串和第二文本串的相似度与所述平均值按第二预设比例求和。
此外,还有必要提供一种无需人工参与,能进行批量测试,并且测试结果能有效反映网页抽取的准确性的网页抽取准确性计算系统。
一种网页抽取准确性计算系统,包括:浏览器,用于对网页进行解析;待测网页抽取模块,用于对网页进行解析;解析结果对比模块,用于获取浏览器对网页的解析结果及所述待测网页抽取模块对网页的解析结果,计算所述待测网页抽取模块解析的结果与浏览器解析的结果的相似度,相似度越大,所述待测网页抽取模块进行网页抽取的准确性越高。
优选的,所述待测网页抽取模块解析的结果包括解析网页得到的第一可见文本集合、第一链接集合和第一锚文本集合,所述浏览器解析的结果包括浏览器解析网页得到的第二可见文本集合、第二链接集合和第二锚文本集合;
所述解析结果对比模块包括:可见文本相似度计算模块,用于计算第一可见文本集合与第二可见文本集合的相似度;链接相似度计算模块,用于计算第一链接集合与第二链接集合的相似度;锚文本相似度计算模块,用于计算第一锚文本集合与第二锚文本集合的相似度;总相似度计算模块,用于对所述第一可见文本集合与第二可见文本集合的相似度、所述第一链接集合与所述第二链接集合的相似度、所述第一锚文本集合与第二锚文本集合的相似度按第一预设比例求和,得到待测网页抽取模块解析的结果与浏览器解析的结果的相似度。
优选的,所述可见文本相似度计算模块包括:词频向量生成模块,用于对第一可见文本集合中的文本进行切词,统计每个词出现的次数,建立第一词频向量,以及对第二可见文本集合中的文本进行切词,统计每个词出现的次数,建立第二词频向量;词频向量相似度计算模块,用于计算所述第一词频向量与所述第二词频向量的相似度。
优选的,所述链接相似度计算模块用于按如下公式计算所述第一链接集合与所述第二链接集合的相似度为:所述第一链接集合和所述第二链接集合中相同的链接数的倍数与所述第一链接集合及第二链接集合中的链接总数的比值。
优选的,所述锚文本相似度计算模块包括:锚文本提取模块,提取所述第一锚文本集合和第二锚文本集合中具有相同链接的锚文本;平均值求取模块,用于计算每个相同链接所对应的第一锚文本与第二锚文本之间的相似度,对该相似度求平均值。文本串生成模块,用于将第一锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第一文本串,以及将第二锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第二文本串;文本串相似度计算模块,用于计算所述第一文本串和第二文本串的相似度;求和处理模块,对所述第一文本串和第二文本串的相似度与所述平均值按第二预设比例求和,得到所述第一锚文本集合与第二锚文本集合的相似度。
上述网页抽取准确性计算方法及系统,通过浏览器对网页进行解析,由于浏览器对网页的解析较为完善,可作为网页抽取标准的结果,计算待测网页抽取模块解析的结果与浏览器解析的结果之间的相似度,相似度越高,则待测网页抽取模块解析的结果更接近于网页抽取标准,因此计算得到的相似度可有效反映待测网页抽取模块进行网页抽取的准确性。此外,该网页抽取准确性计算方法及系统不需要人工参与,能够自动的对批量网页进行测试,因此在计算网页抽取准确性时不会局限于网页数量,更能反映网页抽取结果的准确性,能有效发现解析工具中存在的问题,便于后续进行改善。
【具体实施方式】
如图1所示,在一个实施例中,一种网页抽取准确性计算方法,包括以下步骤:
步骤S102,获取浏览器对网页解析的结果。
浏览器对网页的解析是较为完善的,因此浏览器对网页的解析结果可以作为网页抽取标准的结果,待测网页抽取模块解析网页所得到的结果越接近于浏览器对网页的解析结果,即两者的相似度越高,则待测网页抽取模块进行网页抽取越准确。
可以理解,在本步骤之前可以包括:浏览器对网页进行解析。
在一个优选的实施例中,利用浏览器提供的应用程序编程接口(API)获取浏览器对网页解析的结果,解析的结果包括可见文本、链接和锚文本等信息。其中,可见文本是指网页在浏览器中展示时用户可以看见的文本信息。优选的,所使用的浏览器为Google的Chrome浏览器。Chrome浏览器是Google开发的开放原始码网页浏览器,其对外提供很多应用程序编程接口,通过这些应用程序编程接口可获取其解析网页所得到的可见文本、链接和锚文本等信息。
Chrome浏览器采用的是WebKit内核,在解析网页的过程中,浏览器对每个页面分别生成一个DOM树和Render树。遍历DOM树中的节点即可获取网页中的可见文本、链接和锚文本等信息。Render树用来描述DOM树中各个节点的布局和渲染信息,包括节点是否可见、节点的位置坐标等。通常DOM树中的每个节点在Render树中都会有一个对应的节点,一些不涉及渲染的DOM树节点除外。
步骤S104,获取待测网页抽取模块对网页解析的结果。
在网页搜索过程中的网页抽取阶段,需使用网页抽取工具抽取网页,为判定网页抽取工具网页抽取的准确性,需要对网页抽取工具解析网页的结果进行分析,即该网页抽取工具为待测网页抽取模块,通过对待测网页抽取模块对网页解析的结果的准确性进行计算,能够帮助获知网页抽取工具是否存在问题。
可以理解,在本步骤之前可以包括:待测网页抽取模块对网页进行解析。
步骤S106,计算待测网页抽取模块解析的结果与浏览器解析的结果的相似度,相似度越大,则待测网页抽取模块进行网页抽取的准确性越高。
由于浏览器解析的结果可作为网页抽取标准的结果,计算得到待测网页抽取模块解析的结果与浏览器解析的结果的相似度,根据相似度即可获知待测网页抽取模块解析的结果是否接近于网页抽取标准的结果,相似度越高,则待测网页抽取模块解析网页得到的结果更准确。
在一个实施例中,待测网页抽取模块解析的结果包括解析网页得到的第一可见文本集合、第一链接集合和第一锚文本集合,而浏览器解析的结果包括浏览器解析网页得到的第二可见文本集合、第二链接集合和第二锚文本集合。
如图2所示,该实施例中,步骤S106的具体过程如下:
步骤S202,计算第一可见文本集合与第二可见文本集合的相似度。
步骤S204,计算第一链接集合与第二链接集合的相似度。
步骤S206,计算第一锚文本集合与第二锚文本集合的相似度。
步骤S208,对第一可见文本集合与第二可见文本集合的相似度、第一链接集合与第二链接集合的相似度、第一锚文本集合与第二锚文本集合的相似度按第一预设比例求和。
第一预设比例可事先根据实际需要进行设置。例如,第一可见文本集合与第二可见文本集合的相似度为S1,第一链接集合与第二链接集合的相似度为S2,第一锚文本集合与第二锚文本集合的相似度为S3,优选的,待测网页抽取模块解析网页的结果与浏览器解析网页的结果的相似度为:S1*40%+S2*30%+S3*30%。
在一个优选的实施例中,如图3所示,计算第一可见文本集合与第二可见文本集合的相似度的过程如下:
步骤S302,对第一可见文本集合中的文本进行切词,并统计每个词出现的次数,建立第一词频向量。
例如,对第一可见文本集合中的文本进行切词,文本在切词后构成词向量D=(d1,d2,d3,…,dn),其中,di表示对文本切词后的各个词,各个词出现的次数即为词频,统计各个词出现的次数,构成词频向量T=(t1,t2,t3,…,tn),其中,ti表示di出现的次数。
步骤S304,对第二可见文本集合中的文本进行切词,并统计每个词出现的次数,建立第二词频向量。
步骤S306,计算第一词频向量与第二词频向量的相似度,即为第一可见文本集合与第二可见文本集合的相似度。
在一个优选的实施例中,第一词频向量为A,第二词频向量为B,则第一词频向量与第二词频向量的相似度的计算公式为:
其中,Similarity(A,B)表示第一词频向量与第二词频向量的相似度,cos(A,B)表示第一次词频向量与第二词频向量之间夹角的余弦,|A|表示第一词频向量的模,|B|表示第二词频向量的模,|A-B|表示第一词频向量与第二词频向量的模的差异。
计算得到的第一词频向量与第二词频向量的相似度,即为第一可见文本集合与第二可见文本集合的相似度。
在一个优选的实施例中,按照如下公式计算第一链接集合与第二链接集合的相似度:第一链接集合和所述第二链接集合中相同的链接数的倍数与第一链接集合及第二链接集合中的链接总数的比值。优选的,第一链接集合与第二链接集合的相似度的计算公式为:
其中,|C∩D|表示第一链接集合与第二链接集合中相同的链接数,|C|+|D|表示第一链接集合和第二链接集合中的链接总数。
在另一个优选的实施例中,如图4所示,计算第二锚文本集合与第二锚文本集合的相似度的过程如下:
步骤S402,提取第一锚文本集合与第二锚文本集合中具有相同链接的锚文本。
步骤S404,计算每个相同链接所对应的第一锚文本与第二锚文本的相似度,对该相似度求平均值。
该实施例中,采用上述计算第一可见文本集合与第二可见文本集合的相似度的方法来计算每个相同链接所对应的第一锚文本与第二锚文本的相似度。即:首先对每个相同链接所对应的第一锚文本和第二锚文本分别进行切词,统计每个词出现的次数,分别建立词频向量,通过计算词频向量之间的相似度来得到每个相同链接所对应的第一锚文本与第二锚文本的相似度。最后将计算得到的所有相似度求取平均值,该平均值作为第一锚文本集合与第二锚文本集合的相似度的第一部分。
步骤S406,将第一锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第一文本串。例如,采用间隔符“\t”分别将第一锚文本集合中的各个锚文本连接。
步骤S408,将第二锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第二文本串。如上所述,也可采用采用间隔符“\t”分别将第而锚文本集合中的各个锚文本连接。
步骤S410,计算第一文本串和第二文本串的相似度。
该实施例中,采用上述计算第一可见文本集合与第二可见文本集合的相似度的方法来计算第一文本串和第二文本串的相似度。即:分别对第一文本串和第二文本串进行切词,统计每个词出现的次数,分别建立词频向量,计算两个词频向量的相似度即为第一文本串和第二文本串的相似度。该相似度作为第一锚文本集合和第二锚文本结合的相似度的第二部分。
步骤S412,对第一文本串和第二文本串的相似度与平均值按第二预设比例求和。
在一个具体的实施例中,计算得到的上述平均值为Sim1,第一文本串和第二文本串的相似度为Sim2,将Sim1和Sim2按预先设定的比例进行求和,得到第一锚文本集合与第二锚文本集合的相似度。优选的,第一锚文本集合和第二锚文本集合的相似度为:Sim1*60%+Sim2*40%。
如图5所示,在一个实施例中,一种网页抽取准确性计算系统,包括浏览器100、待测网页抽取模块200和解析结果对比模块300,其中:
浏览器100用于对网页进行解析。
浏览器对网页的解析是较为完善的,因此浏览器对网页的解析结果可以作为网页抽取标准的结果,待测网页抽取模块解析网页所得到的结果越接近于浏览器对网页的解析结果,则待测网页抽取模块进行网页抽取越准确。
浏览器解析模块100解析网页的结果包括可见文本、链接和锚文本等信息,其中,可见文本是指网页在浏览器中展示时用户可以看见的文本信息。可利用浏览器提供的应用程序编程接口(API)获取浏览器对网页的解析结果。
在一个优选的实施例中,所使用的浏览器为Google的Chrome浏览器。Chrome浏览器采用的是WebKit内核,在解析网页的过程中,浏览器对每个页面分别生成一个DOM树和Render树。遍历DOM树中的节点即可获取网页中的可见文本、链接和锚文本等信息。Render树用来描述DOM树中各个节点的布局和渲染信息,包括节点是否可见、节点的位置坐标等。通常DOM树中的每个节点在Render树中都会有一个对应的节点,一些不涉及渲染的DOM树节点除外。
待测网页抽取模块200用于对网页进行解析。
在网页搜索过程中的网页抽取阶段,需使用网页抽取工具对网页进行解析,该网页抽取工具为待测网页抽取模块200,通过对待测网页抽取模块200对解析的结果的准确性进行计算,能够帮助获知待测网页抽取模块200是否存在问题。
解析结果对比模块300用于获取浏览器对网页解析的结果及待测网页抽取模块200对网页解析的结果,计算待测网页抽取模块200解析的结果与浏览器解析的结果的相似度。
由于浏览器解析的结果可作为网页抽取标准的结果,计算得到待测网页抽取模块解析的结果与浏览器解析的结果的相似度,根据相似度即可获知待测网页抽取模块解析的结果是否接近于网页抽取标准的结果,相似度越高,则待测网页抽取模块越能准确的解析网页。
在一个实施例中,待测网页抽取模块200解析的结果包括解析网页得到的第一可见文本集合、第一链接集合和第一锚文本集合,而浏览器解析模块100解析的结果包括浏览器解析网页得到的第二可见文本集合、第二链接集合和第二锚文本集合。
如图6所示,在一个实施例中,解析对比模块300包括可见文本相似度计算模块310、链接相似度计算模块320、锚文本相似度计算模块330和总相似度计算模块340,其中:
可见文本相似度计算模块310用于计算第一可见文本集合与第二可见文本集合的相似度。
在一个优选的实施例中,如图7所示,可见文本相似度计算模块310包括词频向量生成模块311和词频向量相似度计算模块312。其中:
词频向量生成模块311用于对第一可见文本集合中的文本进行切词,并统计每个词出现的次数,建立第一词频向量,以及对第二可见文本集合中的文本进行切词,统计每个词出现的次数,建立第二词频向量。
例如,对第一可见文本集合中的文本进行切词,文本在切词后构成词向量D=(d1,d2,d3,…,dn),其中,di表示对文本切词后的各个词,各个词出现的次数即为词频,统计各个词出现的次数,构成词频向量T=(t1,t2,t3,…,tn),其中,ti表示di出现的次数。
词频向量相似度生成模块312用于计算第一词频向量与第二词频向量的相似度,即为第一可见文本集合与第二可见文本集合的相似度。
在一个优选的实施例中,第一词频向量为A,第二词频向量为B,则第一词频向量与第二词频向量的相似度的计算公式为:
其中,Similarity(A,B)表示第一词频向量与第二词频向量的相似度,cos(A,B)表示第一次词频向量与第二词频向量之间夹角的余弦,|A|表示第一词频向量的模,|B|表示第二词频向量的模,|A-B|表示第一词频向量与第二词频向量的模的差异。
链接相似度计算模块320用于按照如下公式计算第一链接集合与第二链接集合的相似度:第一链接集合和所述第二链接集合中相同的链接数的倍数与第一链接集合及第二链接集合中的链接总数的比值。优选的,第一链接集合与第二链接集合的相似度的计算公式为:
其中,|C∩D|表示第一链接集合与第二链接集合中相同的链接数,|C|+|D|表示第一链接集合和第二链接集合中的链接总数。
锚文本相似度计算模块330用于计算第一锚文本集合与第二锚文本集合的相似度。
在一个优选的实施例中,如图8所示,锚文本相似度模块330包括锚文本提取模块311、平均值求取模块312、文本串生成模块313、文本串相似度计算模块314和求和处理模块315。其中:
锚文本提取模块311用于提取第一锚文本集合与第二锚文本集合中具有相同链接的锚文本。
平均值求取模块312用于计算每个相同链接所对应的第一锚文本与第二锚文本的相似度,对该相似度求平均值。
该实施例中,采用上述可见文本相似度计算模块310计算第一可见文本集合与第二可见文本集合的相似度的方法来计算每个相同链接所对应的第一锚文本与第二锚文本的相似度。即:首先对每个相同链接所对应的第一锚文本和第二锚文本分别进行切词,统计每个词出现次数,分别建立词频向量,通过计算词频向量之间的相似度来得到每个相同链接所对应的第一锚文本与第二锚文本的相似度。最后将计算得到的所有相似度求取平均值,该平均值作为第一锚文本集合与第二锚文本集合的相似度的第一部分。
文本串生成模块313用于将第一锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第一文本串,以及将第二锚文本集合中的锚文本通过间隔符按顺序连接起来,生成第二文本串。例如,采用间隔符“\t”分别将第一锚文本集合和第二锚文本集合中的各个锚文本连接。
文本串相似度计算模块314用于计算第一文本串和第二文本串的相似度。
该实施例中,采用上述可见文本相似度计算模块310计算第一可见文本集合与第二可见文本集合的相似度的方法来计算第一文本串和第二文本串的相似度。即:分别对第一文本串和第二文本串进行切词,统计每个词出现的次数,分别建立词频向量,计算两个词频向量的相似度即第一文本串和第二文本串的相似度。该相似度作为第一锚文本集合和第二锚文本结合的相似度的第二部分。
求和处理模块315用于对第一文本串和第二文本串的相似度与平均值按第二预设比例求和。
在一个具体的实施例中,计算得到的上述平均值为Sim1,第一文本串和第二文本串的相似度为Sim2,将Sim1和Sim2按预先设定的比例进行求和,得到第一锚文本集合与第二锚文本集合的相似度。优选的,第一锚文本集合和第二锚文本集合的相似度为:Sim1*60%+Sim2*40%。
总相似度计算模块340用于对第一可见文本集合与第二可见文本集合的相似度、第一链接集合与第二链接集合的相似度、第一锚文本集合与第二锚文本集合的相似度按第一预设比例求和。
第一预设比例可事先根据实际需要进行设置。例如,第一可见文本集合与第二可见文本集合的相似度为S1,第一链接集合与第二链接集合的相似度为S2,第一锚文本集合与第二锚文本集合的相似度为S3,优选的,待测网页抽取模块解析网页的结果与浏览器解析网页的结果的相似度为:S1*40%+S2*30%+S3*30%。
上述网页抽取准确性计算方法及系统,通过浏览器对网页进行解析,由于浏览器对网页的解析较为完善,可作为网页抽取标准的结果,计算待测网页抽取模块解析的结果与浏览器解析的结果之间的相似度,相似度越高,则待测网页抽取模块解析的结果更接近于网页抽取标准,因此计算得到的相似度可有效反映待测网页抽取模块进行网页抽取的准确性。此外,该网页抽取准确性计算方法及系统不需要人工参与,能够自动的对批量网页进行测试,因此在计算网页抽取准确性时不会局限于网页数量,更能反映网页抽取结果的准确性,能有效发现解析工具中存在的问题,便于后续进行改善。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。