CN117852517A - 网页相似度的确定方法、装置、电子设备及可读存储介质 - Google Patents

网页相似度的确定方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117852517A
CN117852517A CN202311655442.5A CN202311655442A CN117852517A CN 117852517 A CN117852517 A CN 117852517A CN 202311655442 A CN202311655442 A CN 202311655442A CN 117852517 A CN117852517 A CN 117852517A
Authority
CN
China
Prior art keywords
node
target
tree
model tree
web page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311655442.5A
Other languages
English (en)
Inventor
武文成
王长征
张庆国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanxi Tongfang Zhiwang Digital Publishing Technology Co ltd
Tongfang Knowledge Network Digital Publishing Technology Co ltd
Original Assignee
Shanxi Tongfang Zhiwang Digital Publishing Technology Co ltd
Tongfang Knowledge Network Digital Publishing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanxi Tongfang Zhiwang Digital Publishing Technology Co ltd, Tongfang Knowledge Network Digital Publishing Technology Co ltd filed Critical Shanxi Tongfang Zhiwang Digital Publishing Technology Co ltd
Priority to CN202311655442.5A priority Critical patent/CN117852517A/zh
Publication of CN117852517A publication Critical patent/CN117852517A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种网页相似度的确定方法、装置、电子设备及可读存储介质,其中,方法包括:获取待对比的第一网页的第一节点树和第二网页的第二节点树;根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树;根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度。实现了基于网页骨架构建网页的模型树计算网页相似度,使得最终相似度的准确性更高的同时,提高计算效率。

Description

网页相似度的确定方法、装置、电子设备及可读存储介质
技术领域
本申请涉及数据处理计算领域,特别是涉及一种网页相似度的确定方法、装置、电子设备及可读存储介质。
背景技术
互联网资源数量庞大,潜在价值也十分大。企业都有从大规模互联网数据中发掘有价值资源的需求。为了提高网页资源的处理效率,解决从大规模网页中检索所需的相似网页,及判断大规模网页之间的相似性问题是十分重要的。
现有的相似度确定方法包括以下几种:1)利用URL(uniform resource locator,统一资源定位系统)计算相似度;2)利用内容确定相似度;3)利用链接关系确定相似度。其中,网页的URL与网页的内容并没有实质性的关系,利用URL计算相似度,无法解决不同URL的内容相似的问题;通过计算网页内容的相似性,对于正文部分为大篇幅文本,虽然网页视觉上相似度很高,但由于文本内容相似度地,导致最终结果准确地较低;利用链接关系进行相似度计算,由于链接关系只是网页中权重较小的信息,效果不是很好。
综上所述,现有技术计算网页相似度的准确度较差。
发明内容
有鉴于此,本申请提供了一种网页相似度的确定方法、装置、电子设备及可读存储介质,主要目的在于解决现有技术中计算网页相似度的准确度较差的技术问题。
依据本申请第一方面,提供了一种网页相似度的确定方法,该方法包括:
获取待对比的第一网页的第一节点树和第二网页的第二节点树;
根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;
根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树;
根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;
根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度。
可选地,根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点的步骤,具体包括:
获取第一节点树中的多个第一节点;
获取第二节点树中的多个第二节点;
利用预设筛选规则,在第一节点中筛选出多个第一目标节点,以及在第二节点中筛选出多个第二目标节点。
可选地,根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树的步骤,具体包括:
获取每个第一目标节点的第一全路径信息、第一标签名和第一属性名;
获取每个第二目标节点的第二全路径信息、第二标签名和第二属性名;
根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成第一模型树和生成第二模型树。
可选地,根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成第一模型树和生成第二模型树的步骤,具体包括:
利用预设哈希算法,对每个第一目标节点的第一全路径信息进行加密,生成第一目标节点的第一节点编码;
利用预设哈希算法,对每个第二目标节点的第二全路径信息进行加密,生成每个第二目标节点的第二节点编码;
根据第一标签名和第一属性名,生成每个第一目标节点的第一节点数据;
根据第二标签名和第二属性名,生成每个第二目标节点的第二节点数据;
根据多个第一目标节点的多个节点编码和多个第一节点数据,构建第一模型树;
根据多个第二目标节点的多个节点编码和多个第二节点数据,构建第二模型树。
可选地,根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值的步骤,具体包括:
获取第一模型树的第一层数,以及每个第一目标节点所在的第二层数;
根据第二层数和第一层数,计算每个第一目标节点的第一节点权重;
获取第二模型树的第三层数,以及每个第二目标节点所在的第四层数;
根据第三层数和第四层数,计算每个第二目标节点的第二节点权重。
可选地,根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度的步骤,具体包括:
获取每个第一目标节点的第一目标节点数据,以及每个第二目标节点的第二目标节点数据;
根据第一目标节点数据、第二目标节点数据、第一权重值、第二权重值、预设距离算法和递归算法,计算第一模型树与第二模型树之间的编辑距离,作为第一网页与第二网页之间的网页相似度。
可选地,该方法还包括:
获取第一网页和第二网页的目标场景;
根据目标场景,在多个预设标签中,确定多个目标标签;
根据多个目标标签,生成预设筛选规则;
根据目标场景,确定预设距离算法中的算法参数。
依据本申请第二方面,提供了一种网页相似度的确定装置,该装置包括:
获取模块,用于获取待对比的第一网页的第一节点树和第二网页的第二节点树;
第一确定模块,用于根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;
生成模块,用于根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树;
计算模块,用于根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;
第二确定模块,用于根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度。
依据本申请第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述方法的步骤。
依据本申请第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
借由上述技术方案,本申请提供的一种网页相似度的确定方法、装置、电子设备及可读存储介质,通过解析网页的节点树,基于预设筛选规则筛选节点树中的关键节点,提取网页结构对应的目标节点,构建网页的模型树。其后,计算模型树中每个目标节点的权重值,量化节点的重要性,进而计算两个模型树之间的编辑距离作为网页间的相似度。实现了将网页内容中较为重要的结构信息作为相似度计算基础,使得最终相似度的准确性更高的同时,减少相似度计算量,提高计算效率,可以快速计算大批量网页之间的相似性,提高网页相似度计算的实用性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种网页相似度的确定方法流程示意图;
图2示出了本申请实施例提供的另一种网页相似度的确定方法流程示意图;
图3示出了本申请实施例提供的网页的模型树的结构示意图;
图4示出了本申请实施例提供的一种网页相似度的确定装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种网页相似度的确定方法,如图1所示,该方法包括:
S101、获取待对比的第一网页的第一节点树和第二网页的第二节点树。
本申请实施例提供的网页相似度的确定方法,可以应用于新闻聚合网站、电子商务网站、社交媒体网站等多业务领域和网站,以便帮助用户发现相关的信息和内容,提供更好的用户体验和个性化服务。
具体地,获取待对比的第一网页和第二网页,利用HTML(超文本标记语言)解析器对第一网页和第二网页进行解析,以将HTML网页的页面信息作为节点,保存到节点树(即DOM树)的层次结构中,生成第一网页对应的第一节点树和第二网页对应的第二节点树。其中,DOM(文档对象模型)树是一种以层次结构组织的表示HTML文档的树结构。它由一系列节点组成,每个节点代表文档中的一个元素、属性、文本或其他类型的数据。
通过上述方式,实现了将HTML文档呈现为带有元素、属性和文本的树结构,使得网页内容更易于理解和操作。
S102、根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点。
在该步骤中,预设筛选规则中包含了预先设定的空间属性的关键节点对应的标签。具体地,分别遍历第一节点树和第二节点树,基于预设筛选规则的标签,在第一节点树中筛选出与第一网页结构相关的多个第一目标节点,同时,再第二节点树中筛选出与第二网页结构相关的多个第二目标节点。
通过上述方式,利用预设筛选规则,提取网页的结构信息,抛弃节点树中的不必要元素,可以更加准确地表示网页的结构和内容,减少计算量的同时,提高匹配的准确性和精度。
S103、根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树。
在该步骤中,在筛选出包含了第一网页的网页骨架的所有第一目标节点后,基于第一目标节点的路径、标签、属性,构建代表网页结构的第一模型树。进一步地,在筛选出包含了第二网页的网页骨架的所有第二目标节点后,基于第二目标节点的路径、标签和属性,构建代表网页结构的第二模型树。
通过上述方式,基于保留的网页骨架结构构建模型树,在相似度计算中,模型树中包含的信息往往更容易代表网页的结构和内容,更能够提高计算的精度的同时,过滤掉了一些不必要的节点,减少相似度计算时需要处理的节点数量,降低计算复杂度,提高计算速度。
S104、根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值。
在该步骤中,节点权重可以量化每个节点在网页中的重要性。通过赋予不同节点不同的权重,可以在计算网页相似度时,对于每个节点的相似度进行加权计算。这样可以更准确地反映不同节点之间的重要性差异,从而提高相似度计算的准确性和可靠性。具体地,获取每个第一目标节点在第一模型树中的所在层数,以及第一模型树的总层数,基于所在层数和总层数计算每个第一目标节点的第一权重值。同理,获取每个第二目标节点在第二模型树中的所在层数,以及第二模型树的总层数,基于所在层数和总层数计算每个第二目标节点的第二权重值。
通过上述方式,计算模型树中每个目标节点的节点权重,量化节点的重要性,从而提高网页相似度确定的准确性和可靠性。
S105、根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度。
在该步骤中,在构建第一模型树和第二模型树后,可以计算树的编辑距离,即求从第一模型树转换为第二模型树所需要树的编辑操作的最小次数,进而得到第一网页与第二网页的网页相似度。具体地,计算第一模型树经过节点的插入、删除和修改操作转换为第二模型树所需的最小成本,考虑基于节点所在层数得到的权重,分别对节点的插入、删除和修改操作赋予对应的代价计算方式,以计算两个模型树之间编辑距离,即为两个网页之间的网页相似度。
通过上述方式,将网页表示为模型树结构并对节点进行加权,可以准确地反应网页的层次结构和关键节点,提高网页相似度计算的准确性。此外,相较于现有技术中通过DOM树计算相似度对于网页结构和样式的要求严格,需要较大的计算资源,本申请通过提取网页骨架构建网页的模型树,以避免对DOM的解析,直接基于树形结构进行计算,计算效率较高,可以快速计算大批量网页之间的相似性,提高网页相似度计算的实用性,实现大规模网页的检索、聚类。
本申请实施例提供的网页相似度的确定方法,通过解析网页的节点树,基于预设筛选规则筛选节点树中的关键节点,提取网页结构对应的目标节点,构建网页的模型树。其后,计算模型树中每个目标节点的权重值,量化节点的重要性,进而计算两个模型树之间的编辑距离作为网页间的相似度。实现了将网页内容中较为重要的结构信息作为相似度计算基础,使得最终相似度的准确性更高的同时,减少相似度计算量,提高计算效率,可以快速计算大批量网页之间的相似性,提高网页相似度计算的实用性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本申请实施例提供了另一种网页相似度的确定方法,如图2所示,该方法包括:
S201、获取待对比的第一网页的第一节点树和第二网页的第二节点树。
在该步骤中,获取待对比的第一网页和第二网页,利用HTML(超文本标记语言)解析器对第一网页和第二网页进行解析,以将HTML网页的页面信息作为节点,保存到节点树(即DOM树)的层次结构中,生成第一网页对应的第一节点树和第二网页对应的第二节点树。其中,DOM(文档对象模型)树是一种以层次结构组织的表示HTML文档的树结构。它由一系列节点组成,每个节点代表文档中的一个元素、属性、文本或其他类型的数据。
S202、获取第一节点树中的多个第一节点。
S203、获取第二节点树中的多个第二节点。
S204、利用预设筛选规则,在第一节点中筛选出多个第一目标节点,以及在第二节点中筛选出多个第二目标节点。
在步骤S202至204中,按照HTML的显示模式,标签可以分为内联元素和块级元素。其中,内联元素通常被用于包裹文本或或者嵌套在其他元素中,不会独占一行,内联元素的宽度由其内容决定,不支持设置宽度和高度,也就是说,内联元素无法设置宽高边距等空间属性。而块级元素通常被用于创建布局和区块,独占一行,块级元素的宽度默认是父元素的100%,可以通过设置宽度和高度来调整大小,具有宽高边距等空间属性。显然,网页布局方式中,网页骨架(即网页的基本布局框架,包括头部、导航、正文、侧边栏、页脚等几个部分)通常由块级元素来构建,内联元素不能构成网页骨架的节点。
进一步地,对于不同业务场景的网页来说,不是所有块级元素都是与构成网页骨架密切相关的节点。以新闻场景的网页为例,网页内容多以文字内容为主,因此,块级元素中的部分描述文本段落的标签,如<p>(段落标签)、<thead>(表头标签)以及<img>(图像标签)等,对于构建网页骨架来说意义不大。因此,可以基于网页对应的业务场景,制定预设筛选规则,以遍历节点树筛选出符合网页业务场景的目标节点。
通过上述方式,利用预设筛选规则,提取网页的结构信息,抛弃节点树中的不必要元素,可以更加准确地表示网页的结构和内容,减少计算量的同时,提高匹配的准确性和精度。
S205、获取每个第一目标节点的第一全路径信息、第一标签名和第一属性名。
S206、获取每个第二目标节点的第二全路径信息、第二标签名和第二属性名。
在步骤S205和S206中,获取每个目标节点的全路径信息、标签名和属性名,作为构建模型树的基础信息。具体地,模型树是由父节点和子节点之间的关系构成的,全路径可以提供构建节点间父子关系的依据。通过从路径中解析出父节点和子节点的信息,可以确立它们之间正确的层次关系。获取节点的全路径可以作为节点在树形结构中的唯一标识。每个节点的路径是唯一的,通过路径可以准确定位到特定的节点,避免了节点重复或混淆。
进一步地,标签名描述了节点的类型,在构建树形结构时,可以利用标签名、属性名和属性值进行节点过滤、分类和分组。它们可以作为节点特征的一部分,进而更好地理解和处理树中的节点。
S207、根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成第一模型树和生成第二模型树。
在该步骤中,从根节点开始,使用递归或迭代的方式遍历模型树中所有目标节点。在遍历过程中,对每个目标节点进行以下操作:根据节点的标签名和属性名构建模型树节点,并设置相应的节点数据。使用节点的全路径信息,将当前节点正确插入到模型树的相应位置。全路径可以作为一个唯一标识,在遍历过程中可以记录当前节点的全路径,并根据全路径信息进行相应的节点插入和构建操作。对于当前目标节点的每个子节点,重复上述步骤,逐层建立模型树的层次结构,按照上述方式构建第一模型树和第二模型树。
通过上述方式,使用节点的全路径、标签名和属性名,构建一个准确且有层次关系的模型树,有助于对网页骨架结构进行计算、分析,进而提高网页相似度计算的准确度。
在本申请实施例中,可选地,步骤S207中,也即根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成第一模型树和生成第二模型树的步骤,具体包括:利用预设哈希算法,对每个第一目标节点的第一全路径信息进行加密,生成第一目标节点的第一节点编码;利用预设哈希算法,对每个第二目标节点的第二全路径信息进行加密,生成每个第二目标节点的第二节点编码;根据第一标签名和第一属性名,生成每个第一目标节点的第一节点数据;根据第二标签名和第二属性名,生成每个第二目标节点的第二节点数据;根据多个第一目标节点的多个节点编码和多个第一节点数据,构建第一模型树;根据多个第二目标节点的多个节点编码和多个第二节点数据,构建第二模型树。
在该实施例中,由于节点的全路径较长且复杂,直接使用全路径进行索引和查找可能效率较低。利用预设哈希算法将全路径进行加密后生成的短编码可以在索引和查找过程中占用更少的空间和时间,提高查找速度。可以使用短编码作为索引键或标识符,将其与节点对象关联,从而快速定位到对应的节点。
进一步地,对于同一标签下的元素,常常会有多个具有相同标签名的节点。如果节点的属性信息也相同,那么区分这些节点会比较困难。因此,将标签名与属性名相结合作为节点的唯一标识符,可以避免这种情况的发生,并保证模型树中每个节点都是唯一的,可以使节点的数据更易读和直观,便于在模型树中查找节点。
进一步地,按照上述方式依次对每个目标节点的全路径、标签名和属性名进行处理,生成每个第一目标节点的第一节点编码和第一节点数据,以及生成每个第二目标节点的第二节点编码和第二节点数据后,基于第一节点编码和第一节点数据,构建第一网页的第一模型树,并基于第二节点编码和第二节点数据,构建第二网页的第二模型树。
在实际应用中,预设哈希算法包括但不限于:SHA-1、MD5、AES,本发明实施例以MD5算法为例进行说明。在获取每个目标节点的全路径后,将节点的XPATH全路径使用MD5加密生成16位编码的唯一值,作为模型树的节点唯一编码。
S208、根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值。
在该步骤中,节点权重可以量化每个节点在网页中的重要性。通过赋予不同节点不同的权重,可以在计算网页相似度时,对于每个节点的相似度进行加权计算。这样可以更准确地反映不同节点之间的重要性差异,从而提高相似度计算的准确性和可靠性。具体地,获取每个第一目标节点在第一模型树中的所在层数,以及第一模型树的总层数,基于所在层数和总层数计算每个第一目标节点的第一权重值。同理,获取每个第二目标节点在第二模型树中的所在层数,以及第二模型树的总层数,基于所在层数和总层数计算每个第二目标节点的第二权重值。
在本申请实施例中,可选地,步骤S208中,也即根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值的步骤,具体包括:获取第一模型树的第一层数,以及每个第一目标节点所在的第二层数;根据第二层数和第一层数,计算每个第一目标节点的第一节点权重;获取第二模型树的第三层数,以及每个第二目标节点所在的第四层数;根据第三层数和第四层数,计算每个第二目标节点的第二节点权重。
在该实施例中,第一层数指的是第一模型树的总层数,第二层数为每个第一目标节点所在的层数。第三层数指的是第二模型树的总层数,第四层数为每个第二目标节点所在的层数。在获取模型的总层数以及每个节点的节点层数,将总层数和节点层数带入预设权重计算公式,计算出每个第一目标节点的第一节点权重,以及每个第二目标节点的第二节点权重。
具体地,预设权重计算公式为:
其中,wl为节点权重;lc为每个目标节点所在层数;lm为模型的总层数。
通过上述方式,计算模型树中每个目标节点的节点权重,量化节点的重要性,从而提高网页相似度确定的准确性和可靠性。
在实际应用中,计算每个目标节点的权重值后,将权重值填入模型树的目标节点的节点信息中,如图3所示,为网页的模型树的结构示意图,其中,每个目标节点信息包括ID(节点编码)、data(节点数据)以及Weight(权重值)。
S209、获取每个第一目标节点的第一目标节点数据,以及每个第二目标节点的第二目标节点数据。
S210、根据第一目标节点数据、第二目标节点数据、第一权重值、第二权重值、预设距离算法和递归算法,计算第一模型树与第二模型树之间的编辑距离,作为第一网页与第二网页之间的网页相似度。
在步骤S209和S210中,预设距离算法为加权树编辑距离算法,加权树编辑距离是一种用于衡量两个树结构相似程度的度量方法。它考虑了每个操作对应的权重,利用插入、删除和替换操作计算两个树之间的距离。在计算两个树之间的编辑距离过程中,可以利用递归算法,通过动态规划思路,自底向上计算子问题,将树结构逐层进行拆分,对比子树之间的相似度,并将问题规模逐步减小,使用子树之间的相似度来逐步计算整个树之间的相似度。通过将大问题分解为多个子问题,避免重复计算,进而可以显著提高算法的效率。
具体地,考虑节点所在的层数作为权重,分别对节点的插入,删除和修改操作赋予对应的代价计算方法,代价计算公式为:
其中,γa(i)指的是相较于第二模型树中,将第一模型树中没有的第二模型树的第i个第二目标节点插入第一模型树的相应位置所需的代价;wl为节点权重;tagi.name为第i个第二目标节点的标签名;h1,h2,h3,table为预设标签名;0.8和0.4为函数参数;γd(j)指的是相较于第二模型树中,将第二个模型树中没有的第一个模型树的第j个第一目标节点删除所需的代价;tagj.name为第j个第一目标节点的标签名;γm(i,j)指的是相较于第二模型树,将第一模型树中的第j个第一目标节点修改为第二模型树中对应位置的第i个第二目标节点所需的代价;Levenshtein(tagi,tagj)指的是利用字符串编辑距离算法(Levenshtein)计算的第i个第二目标节点与第j个第一目标节点之间的编辑距离。
对于任一第一目标节点来说,利用加权树编辑距离算法,计算该第一目标节点与第二模型树中每个第二目标节点之间的插入代价、删除代价和修改代价。具体地,计算插入代价过程中,若第二目标节点i的标签名属于“h1,h2,h3,table”中任一个,则利用该节点的节点权重乘以0.8得到插入代价;若第二目标节点i的标签名不属于“h1,h2,h3,table”中任一个,则利用该节点的节点权重乘以0.4得到插入代价。进一步地,若第一目标节点j与第二模型树中i为相同节点,需要计算第j个第一目标节点修改为第i个第二目标节点的修改代价,则利用字符串编辑距离算法(Levenshtein)计算的第j个第一目标节点与第i个第二目标节点之间的编辑距离,并利用1减去该编辑距离,得到一个相似度值,其后,利用第j个第一目标节点的节点权重乘以相似度值,得到代价值。进一步地,对于第一模型树的第一目标节点j来说,如果第二模型树中不存在该节点,说明该节点需要删除,则需要计算第一目标节点j的删除代价,计算删除代价过程中,若第一目标节点j的标签名属于“h1,h2,h3,table”中任一个,则利用该节点的节点权重乘以0.8得到删除代价;若第一目标节点j的标签名不属于“h1,h2,h3,table”中任一个,则利用该节点的节点权重乘以0.4得到删除代价。
进一步地,通过递归算法计算计算第一模型树经过节点的插入,删除和修改操作转换为第二模型树所需的最小成本,即第一模型树与第二模型树之间的编辑距离,作为第一网页与第二网页之间的网页相似度。其中,编辑距离越小,两颗模型树的结构和属性越相似。
在本申请实施例中,可选地,为了最终相似度的准确性,该方法还包括:获取第一网页和第二网页的目标场景;根据目标场景,在多个预设标签中,确定多个目标标签;根据多个目标标签,生成预设筛选规则;根据目标场景,确定预设距离算法中的算法参数。
在该实施例中,获取第一网页和第二网页的业务场景(目标场景),如新闻类场景和社交媒体类场景等。其后,根据目标场景的网页内容,在HTML规范的所有标签(预设标签)中,删除与构建目标场景的网页骨架无关的标签。以新闻类场景为例,新闻类场景网页中文本居多,网页中有标题、文本和表格等。而块级元素中部分描述文本段落的标签(如<p>、<thead>、<img>等)对于网页骨架来说就意义不大,因此,可以将这些标签过滤,最终筛选出构建网页骨架的多个备选标签(目标标签)。
进一步地,基于目标场景,确定预设距离算法中的算法参数,其中,算法参数为0.8和0.4。
可选地,多个目标标签包括:<address>标签;<center>标签;<noframes>标签;<ul>标签;<article>标签;<noscript>标签;<table>标签;<aside>标签;<menu>标签;<nav>标签;<block>标签;<h1>到<h2>标签;<ol>;<blockquote>标签。
进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种网页相似度的确定装置300,如图4所示,该装置包括:
获取模块301,用于获取待对比的第一网页的第一节点树和第二网页的第二节点树;
第一确定模块302,用于根据第一节点树、第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;
生成模块303,用于根据多个第一目标节点和多个第二目标节点,生成第一网页的第一模型树和第二网页的第二模型树;
计算模块304,用于根据第一模型树和第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;
第二确定模块305,用于根据第一权重值、第二权重值、第一模型树和第二模型树,确定第一网页和第二网页之间的网页相似度。
可选地,第一确定模块302,具体用于:
获取第一节点树中的多个第一节点;
获取第二节点树中的多个第二节点;
利用预设筛选规则,在第一节点中筛选出多个第一目标节点,以及在第二节点中筛选出多个第二目标节点。
可选地,生成模块303,具体用于:
获取每个第一目标节点的第一全路径信息、第一标签名和第一属性名;
获取每个第二目标节点的第二全路径信息、第二标签名和第二属性名;
根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成第一模型树和生成第二模型树。
可选地,生成模块303,具体还用于:
利用预设哈希算法,对每个第一目标节点的第一全路径信息进行加密,生成第一目标节点的第一节点编码;
利用预设哈希算法,对每个第二目标节点的第二全路径信息进行加密,生成每个第二目标节点的第二节点编码;
根据第一标签名和第一属性名,生成每个第一目标节点的第一节点数据;
根据第二标签名和第二属性名,生成每个第二目标节点的第二节点数据;
根据多个第一目标节点的多个节点编码和多个第一节点数据,构建第一模型树;
根据多个第二目标节点的多个节点编码和多个第二节点数据,构建第二模型树。
可选地,计算模块304,具体用于:
获取第一模型树的第一层数,以及每个第一目标节点所在的第二层数;
根据第二层数和第一层数,计算每个第一目标节点的第一节点权重;
获取第二模型树的第三层数,以及每个第二目标节点所在的第四层数;
根据第三层数和第四层数,计算每个第二目标节点的第二节点权重。
可选地,第二确定模块305,具体用于:
获取每个第一目标节点的第一目标节点数据,以及每个第二目标节点的第二目标节点数据;
根据第一目标节点数据、第二目标节点数据、第一权重值、第二权重值、预设距离算法和递归算法,计算第一模型树与第二模型树之间的编辑距离,作为第一网页与第二网页之间的网页相似度。
可选地,获取模块301,还用于获取第一网页和第二网页的目标场景。
可选地,该装置还包括:第三确定模块306,用于根据目标场景,在多个预设标签中,确定多个目标标签。
可选地,生成模块303,还用于根据多个目标标签,生成预设筛选规则。
可选地,该装置还包括:第四确定模块307,用于根据目标场景,确定预设距离算法中的算法参数。
本申请实施例提供的网页相似度的确定装置300,通过解析网页的节点树,基于预设筛选规则筛选节点树中的关键节点,提取网页结构对应的目标节点,构建网页的模型树。其后,计算模型树中每个目标节点的权重值,量化节点的重要性,进而计算两个模型树之间的编辑距离作为网页间的相似度。实现了将网页内容中较为重要的结构信息作为相似度计算基础,使得最终相似度的准确性更高的同时,减少相似度计算量,提高计算效率,可以快速计算大批量网页之间的相似性,提高网页相似度计算的实用性。
在示例性实施例中,本申请还提供了一种电子设备,包括存储器和处理器。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的网页相似度的确定方法。
在示例性实施例中,本申请还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的网页相似度的确定方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性可读存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种网页相似度的确定方法,其特征在于,所述方法包括:
获取待对比的第一网页的第一节点树和第二网页的第二节点树;
根据所述第一节点树、所述第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;
根据所述多个第一目标节点和所述多个第二目标节点,生成所述第一网页的第一模型树和所述第二网页的第二模型树;
根据所述第一模型树和所述第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;
根据所述第一权重值、所述第二权重值、所述第一模型树和所述第二模型树,确定所述第一网页和所述第二网页之间的网页相似度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一节点树、所述第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点的步骤,具体包括:
获取所述第一节点树中的多个第一节点;
获取所述第二节点树中的多个第二节点;
利用所述预设筛选规则,在第一节点中筛选出所述多个第一目标节点,以及在所述第二节点中筛选出所述多个第二目标节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个第一目标节点和所述多个第二目标节点,生成所述第一网页的第一模型树和所述第二网页的第二模型树的步骤,具体包括:
获取每个第一目标节点的第一全路径信息、第一标签名和第一属性名;
获取每个第二目标节点的第二全路径信息、第二标签名和第二属性名;
根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成所述第一模型树和生成所述第二模型树。
4.根据权利要求3所述的方法,其特征在于,所述根据多个第一全路径信息、多个第一标签名、多个第一属性名、多个第二全路径信息、多个第二标签名和多个第二属性名,生成所述第一模型树和生成所述第二模型树的步骤,具体包括:
利用预设哈希算法,对每个第一目标节点的第一全路径信息进行加密,生成所述第一目标节点的第一节点编码;
利用预设哈希算法,对每个第二目标节点的第二全路径信息进行加密,生成所述每个第二目标节点的第二节点编码;
根据所述第一标签名和所述第一属性名,生成所述每个第一目标节点的第一节点数据;
根据所述第二标签名和所述第二属性名,生成所述每个第二目标节点的第二节点数据;
根据多个第一目标节点的多个节点编码和多个第一节点数据,构建所述第一模型树;
根据多个第二目标节点的多个节点编码和多个第二节点数据,构建所述第二模型树。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一模型树和所述第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值的步骤,具体包括:
获取所述第一模型树的第一层数,以及每个第一目标节点所在的第二层数;
根据所述第二层数和所述第一层数,计算所述每个第一目标节点的所述第一节点权重;
获取所述第二模型树的第三层数,以及每个第二目标节点所在的第四层数;
根据所述第三层数和所述第四层数,计算所述每个第二目标节点的所述第二节点权重。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一权重值、所述第二权重值、所述第一模型树和所述第二模型树,确定所述第一网页和所述第二网页之间的网页相似度的步骤,具体包括:
获取每个第一目标节点的第一目标节点数据,以及每个第二目标节点的第二目标节点数据;
根据所述第一目标节点数据、所述第二目标节点数据、所述第一权重值、所述第二权重值、预设距离算法和递归算法,计算所述第一模型树与所述第二模型树之间的编辑距离,作为所述第一网页与所述第二网页之间的所述网页相似度。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
获取第一网页和第二网页的目标场景;
根据所述目标场景,在多个预设标签中,确定多个目标标签;
根据所述多个目标标签,生成预设筛选规则;
根据目标场景,确定预设距离算法中的算法参数。
8.一种网页相似度的确定装置,其特征在于,包括:
获取模块,用于获取待对比的第一网页的第一节点树和第二网页的第二节点树;
第一确定模块,用于根据所述第一节点树、所述第二节点树和预设筛选规则,确定多个第一目标节点和多个第二目标节点;
生成模块,用于根据所述多个第一目标节点和所述多个第二目标节点,生成所述第一网页的第一模型树和所述第二网页的第二模型树;
计算模块,用于根据所述第一模型树和所述第二模型树,计算每个第一目标节点的第一权重值,以及每个第二目标节点的第二权重值;
第二确定模块,用于根据所述第一权重值、所述第二权重值、所述第一模型树和所述第二模型树,确定所述第一网页和所述第二网页之间的网页相似度。
9.一种电子设备,包括存储器和处理器,存储器存储有计算机程序,其特征在于,处理器执行计算机程序时实现权利要求1至7中任一项方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现权利要求1至7中任一项方法的步骤。
CN202311655442.5A 2023-12-05 2023-12-05 网页相似度的确定方法、装置、电子设备及可读存储介质 Pending CN117852517A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311655442.5A CN117852517A (zh) 2023-12-05 2023-12-05 网页相似度的确定方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311655442.5A CN117852517A (zh) 2023-12-05 2023-12-05 网页相似度的确定方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117852517A true CN117852517A (zh) 2024-04-09

Family

ID=90529942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311655442.5A Pending CN117852517A (zh) 2023-12-05 2023-12-05 网页相似度的确定方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117852517A (zh)

Similar Documents

Publication Publication Date Title
US7941420B2 (en) Method for organizing structurally similar web pages from a web site
CN108090104B (zh) 用于获取网页信息的方法和装置
TW201250492A (en) Method and system of extracting web page information
CN100447779C (zh) 文档信息处理设备及文档信息处理方法
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20090125529A1 (en) Extracting information based on document structure and characteristics of attributes
US8868556B2 (en) Method and device for tagging a document
JP2005092889A (ja) ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法
CN106503211B (zh) 面向信息发布类网站的移动版自动生成的方法
US8359307B2 (en) Method and apparatus for building sales tools by mining data from websites
CN101950312A (zh) 一种互联网网页内容解析方法
CN109165373B (zh) 一种数据处理方法及装置
CN102760150A (zh) 基于属性重现和标签路径的网页抽取方法
CN111339457B (zh) 用于从网页抽取信息的方法和设备及存储介质
CN111680506A (zh) 数据库表的外键映射方法、装置、电子设备和存储介质
CN109062876A (zh) 一种基于dom网页剪枝的相似网页查找方法及系统
US20090204889A1 (en) Adaptive sampling of web pages for extraction
Yu et al. Web content information extraction based on DOM tree and statistical information
CN112069305B (zh) 数据筛选方法、装置及电子设备
JP5462591B2 (ja) 特有コンテンツ判定装置、特有コンテンツ判定方法、特有コンテンツ判定プログラム及び関連コンテンツ挿入装置
CN111966940B (zh) 一种基于用户请求序列的目标数据定位方法和装置
CN115437930B (zh) 网页应用指纹信息的识别方法及相关设备
Gali et al. Extracting representative image from web page
CN109948015B (zh) 一种元搜索列表结果抽取方法及系统
CN117852517A (zh) 网页相似度的确定方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination