短文重复性检测综述,谷歌文本重复性检测: Detect duplicate content like Google

文本重复性检测一直是NLP等领域非常重要的一项研究工作,今天 #paperClub# 给大家翻译一下"Detect duplicate content like Google"

重复的内容是影响网站排名的最重要的负面因素之一。这就是为什么近重复检测 (NDD) 在任何 SEO 应执行的任务之间占据重要位置的原因。但是,尽管近乎重复检测是一个众所周知且经过深入研究的科学主题,但 SEO 工具市场并没有提供开箱即用的解决方案。

1. 近重复检测:内容与图像消歧

图像的近似重复检测也是一个重要的 SEO 主题。这是一个性能问题,一个站点是否加载一个图像版本而不是十个具有自己 URL 的相似图像。然而,本文的主题是文本内容之间的近似重复检测。图像的 NDD 在技术上是另一项任务,因为图像具有与文本文件不同的文件性质。对于图像之间的重复和相似性检测,市场上有一些很好的工具,但在内容 NDD 部分中并非如此。

2. 查找重复项和近似重复项,例如 Google!

我以两种算法为例描述了两种近似重复检测算法。一种经过测试的算法在可接受的时间内提供可靠的结果,因此您可以在 SEO 日常业务中使用。从 SEO 的角度来看,这两种方法,即使是输出不可靠的方法,也特别有趣,因为它们使用了算法,用于谷歌的近重复检测。

我在常规内容(HTML、DOCX、TXT、CSV、PDF)上测试了这两种分析方法,并且在有足够硬件资源的前提下,不限数量(在 30.000 个文件和 3.000 个字符上进行了测试)。

NDD算法

一般而言,近重复检测的工作原理

  • 文本文档被分割成带状疱疹,
  • 对于每个 shingle,它是令牌(单词)的连续子序列,进行所谓的指纹计算,
  • 每个文档的瓦组相互比较,

相似性的定义:如果文档具有一定数量的相同指纹,则认为文档相似。

对我们来说,了解Minhash和SimHash是什么、它们做什么、Google 如何使用它们、它们在哪里相似、它们如何相互区分以及它们在哪里失败是很重要的。

两种算法都将每个比较的文档转换为标记序列,并从文档的标记序列中生成位串。位串用于确定相似度。

MinHash:1997 年为 AltaVista 发明,被谷歌用于谷歌新闻个性化。该算法考虑了单词的顺序,但忽略了带状疱疹的频率。

SimHash:于 2007 年为 Google 发明,并被 Google 用于在网页抓取时进行重复检测。该算法生成对象的紧凑表示,称为 scatches。可以比较不同对象的数量,从而将对象的相似性转化为知识。该算法考虑了术语频率,但忽略了令牌的顺序。

这种行为会导致误报和误报,这是我在 SimHash 算法测试中所经历的。除此之外,我的设置中的 Python 实现需要太多的计算时间才能在生产环境中使用。但是,让我们进入正题。

SimHash + Python + Screaming Frog

什么?已知条款?当然!至少 Screaming Frog 对任何 SEO 来说都是熟悉的。但是,它在这里只扮演数据采购的一小部分角色。

在这里您可以找到Python 代码和一些信息。

首先,我们应该收集我们想要分析的数据。关于应该比较的内容有不同的含义:

  • <body> 的全部内容,带有所谓的 chrome(HTML 标签、页眉、页脚、侧边栏 - 网页中所有没有意义的部分)
  • 只有 SEO 文本,例如 <article id="seo-text"> 的内容。

在我的测试中,我比较了整个正文内容——您可以测试 SEO 文本并报告您的体验。我会喜欢并分享你的通知。

假设 Screaming Frog 提取引擎会为您解决问题,请为您想要从中获取内容的页面部分创建一个提取器。如果是全身的话,

  • 将提取器命名为“BodyExtractor 1”。为什么这样?Python 脚本将使用此名称。您可以自由重命名它 - 不要忘记更改脚本中的列名。
  • 选择作为提取器类型 XPath,
  • 用作选择器 //body/*

就像屏幕截图一样:

 

现在您已准备好收集数据。将您的 Screaming Frog 指向您要分析和运行它的网站。运行完成后,将您的自定义提取导出为 CSV 文件。

让我们去 Python。安装它,如果还没有的话 - Python2 是选择的分支(我在 Windows10 的 3.7 上运行它,并且在 Windows上将 mmh3作为所需的包遇到了一堆问题。我的解决方法是安装 Visual Studio 的某些部分并从内-但我不希望您获得如此痛苦的经验;)。

我的自定义提取 CSV 的大小为 2.7GB。将脚本指向提取文件,如自述文件中所示:

python sf_shingling.py -i internal_html_ap.csv -o output_html_ap.csv -c "BodyContent 1"
 

我的提取过程用了 18 个小时。在这台机器上:

 

处理后我得到了几乎相同大小的文件,2,7GB。为什么?因为具有分析结果的文件除了包含 URL 对及其计算的 SimHash 索引之外,还包含它们的内容。

但这不是问题 - 只需删除包含内容的列,无需打开文件。再次使用 Python:

```

#!/usr/bin/env python 
# coding:utf-8import pandas as pd
f=pd.read_csv( "output_html_ap.csv" )
keep_col = [ 'address' , 'status code' , 'status' , 'Sim Score ']
new_f = f[keep_col]
new_f.to_csv( "newFile.csv" , index= False )

```

简单:只需列出您要保留的列,并将它们写入新文件。

我的新结果文件大约 6MB - 不是什么大问题。

结论

我分析过的网站对我来说非常熟悉——我在它上面工作了大约一年。这就是为什么我能够在分析中看到误报。

SimHash 索引计算如下:索引越高,文档越相似。据此,SimHash 索引等于 1 的文件是 100% 重复的,索引从 0,6 向上的文件应该被审查。好吧,我过滤掉了所有文件,SimHash 索引小于 0,99 并且正在查看剩余文件。

其中一些是具有不同 URL(真实重复)的相同文档 - 检测到规范化和/或 hreflang 问题,

其中一些是真正的半重复:产品页面具有非常相似的产品描述。在这些情况下,我抓取了他们的规范以了解这种相似性是否是一个真正的问题。

该算法产生的问题是大约 10% 的误报和误报。加上很长的处理时间,我决定进一步调查。

SoftCorporation LLC 的 Neardup

起初:在写这篇文章的时候,原来的网站似乎不再可用,所以我创建了一种镜像GitHub存储库以将其保存以供社区使用。Github 存储库包含所有需要的文件(包括第三方 Java 库)。该软件以另一种方式工作 - 它直接分析文件。所以下载它,指向你的文件所在的目录,然后从选择的终端运行。好消息是:离线几天后,他们的网站又可以正常工作了。

Neardup 到底是什么,它做了什么,为什么它是我选择的工具

Neardup是近重复检测专利编号:8.370.390的 Java 实现,由Vadim Permakoff于 2011 年提交,于2013 年授予。我在ResearchGate获得了全文和描述。

简而言之,该算法考虑了先前算法的缺点,特别是那些导致假阴性/阳性的算法。

由于该算法的实际实现服务于一个易于使用的 Java 软件,几乎没有依赖关系。我已经在 PDF 和 TXT 文件上对其进行了测试,在这两种情况下都在可容忍的时间内获得了非常可靠的结果。分析 6.000 个 PDF 文件不到两分钟,分析了 30.000 个 TXT 文件不到 10 分钟。

假设你已经在你的机器上安装了 Java,Neardup 的使用很简单:

  • 将包含您的文本的文件夹放在 Neardup 目录 /neardup/docs/ 中
  • 在您的终端中将程序指向包含文档的文件夹:

处理后将生成三个包含感兴趣信息的文件:

  1. report.log:它包含具有相似性索引的 url 对
  2. 报告链.xml。什么是链条?该链是文档的有序集合,具有根文档,按文档差异排序。链中的最后一个文档可能与第一个文档完全不同,但是该软件允许您查看一组中的更改链。每个链都从根(原始)文档开始,然后是完全重复的和近似重复的文档,以树的形式呈现。
  3. report-cluster.xml 每个集群都以数据透视文档开始,然后是按相似度得分排序的完全重复或接近重复的文档列表。 

你可以做一些进一步的设置——它们列在原始站点和我的 Github 镜像中。

注意:如果您想测试使用 Screaming Frog 抓取的相同文件,并且不想再次下载它们,我建议您直接从 Excel 创建 TXT 文件。只需为此使用我的 Gist 中的简单 VB 脚本,它将从 Excel 文件的每一行生成一个 TXT 文件,文件名来自第一列。

结论

Neardup 的速度和研究质量(我试图通过该工具找到任何错误信号,但最终无法找到)使其成为我选择的内容分析工具。使用它,别忘了给开发者点赞!

Tl; dr:搜索引擎优化的近重复检测

用于 SEO 的近乎重复检测是一项至关重要的任务,但没有现成的工具可以完成这项任务。我分享了一个工具,用于对任何内容文件进行近乎重复的检测,该工具是免费的,可提供可靠准确的结果并且运行速度极快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38402.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

词云图:统计一个文本中词出现的次数。

在进行词云图的创作时&#xff0c;统计词语的出现频率是非常有意义的&#xff0c;可以依据词语频率的高低来判断词云图是否准确。选择小说中的某一章节&#xff0c;利用程序统计词语出现的次数。 程序如下&#xff1a; # -*- codeing utf-8 -*- # Time : 2021/12/12 1:21 # A…

chatgpt赋能python:Python词语分类

Python词语分类 Python是一种高级编程语言&#xff0c;它有很多词语&#xff0c;其中一些可能令你在学习Python时感到困惑。在这篇文章中&#xff0c;我们将探讨Python词语的分类&#xff0c;以帮助您更好地理解Python编程。 变量与数据类型 在Python中&#xff0c;变量用于…

DaVinci:Camera Raw(ARRI)

本文主要介绍 ARRI 的 Raw 格式素材相关的 Camera Raw 参数。 解码质量 Decode Quality 解码质量决定了图像解拜耳之后所呈现的素质&#xff0c;也与最终的输出息息相关。 默认为“使用项目设置” Use project setting&#xff0c;表示使用项目设置对话框中的“Camera RAW”解码…

DaVinci_Resolve_Studio_18.1.1达芬奇图文安装教程及下载

DaVinci Resolve最大的特点是&#xff0c;将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身&#xff0c;它采用美观新颖的界面设计&#xff0c;易学易用&#xff0c;能让新手用户快速上手操作&#xff0c;还能提供专业人士需要的强大性能。 DaVinci Resolve 18是一次重…

davinci使用笔记(1)

第一节主要介绍达芬奇17的各个界面以及第一次使用的注意事项和主要设置。 这是达芬奇打开出现的界面&#xff0c;如图这是一个项目工程界面&#xff0c;我们可以在这里新建新的项目和和对项目进行分类&#xff0c;在这个界面右下角有三个按钮&#xff0c;其中第二个按钮是新建文…

达芬奇调色DaVinci Resolve Studio18v18.1.4 2023中文版更新发布,支持intel/M1/M2芯片

达芬奇是世界上唯一在单一软件环境中进行剪辑、调色、视觉效果、图形和音频后期处理的解决方案。其现代、时尚的界面简单直观&#xff0c;对于新手和有经验的用户来说都足够了。 DaVinci Resolve 无需掌握多个应用程序或在不同系统之间切换&#xff0c;极大地简化了您的创作过…

TI DaVinci(达芬奇)入门

&#xff08;转载来自 德州仪器半导体技术&#xff08;上海&#xff09;有限公司 通用DSP 技术应用工程师 崔晶 德州仪器&#xff08;TI&#xff09;的第一颗达芬奇&#xff08;DaVinci&#xff09;芯片&#xff08;处理器&#xff09;DM6446已经问世快三年了。继DM644x之后&am…

davinci 达芬奇BI工具

Davinci 是一个 DVAAS&#xff08;Data Visualization as a Service&#xff09;平台解决方案&#xff0c;面向业务人员/数据工程师/数据分析师/数据科学家&#xff0c;致力于提供一站式数据可视化解决方案。既可作为公有云/私有云独立部署使用&#xff0c;也可作为可视化插件集…

ChatGPT3.0 text-davinci-003 表现诡异

最近想试用一下通过API调用ChatGPT&#xff0c;在测试 gpt-3.5-turbo 的时候遇到了“openai.error.InvalidRequestError: This is not a chat model and thus not supported in the v1/chat/completions endpoint. Did you mean to use v1/completions? ”的问题。 所以该尝试…

中国元宇宙科技有限公司+《星云虚境》+AI虚拟数字人+chatgpt

随着人工智能、虚拟现实等技术的不断发展&#xff0c;中国元宇宙科技有限公司计划推出一款名为《星云虚境》的虚拟数字人平台。该平台将采用AIchatgpt等技术&#xff0c;为用户提供更加真实、智能的虚拟人体交互体验&#xff0c;为未来的数字化生活带来新的可能性。 未来&…

辅助现实?aR?AR?进入元宇宙,这个概念得搞懂

1 什么是辅助现实&#xff1f; 辅助现实&#xff08;aR&#xff0c;assisted Reality&#xff09;这个词在最近的一些AR眼镜的新品发布会频繁出现。那这辅助现实又是什么&#xff0c;与增强现实之间有什么关系呢&#xff1f; 其实&#xff0c;辅助现实可以说是增强现实里面的一…

元宇宙系列之AI虚拟人:“人”潮汹涌 探路未来

尽管元宇宙尚处不断扩充定义的进程中&#xff0c;但市场对于虚拟人在其中扮演关键要素已达成一定共识。我们认为&#xff0c;从中短期视角看&#xff0c;虚拟人相关技术逐步落地&#xff0c;应用场景持续拓宽&#xff0c;或为元宇宙概念下技术、内容及产业融合升级的初步尝试&a…

ChatGPT和AI会重燃中国的虚拟宇宙吗?

随着像 Meta 这样的科技巨头关闭他们的元宇宙部门以支持人工智能 &#xff08;AI&#xff09; 的努力——尽管他们认为元宇宙仍将是其主要产品——观众们相信&#xff0c;以前备受赞誉的虚拟生态系统已经被 AI 淘金热从互联网宝座上推倒了。 人工智能的利润潜力在今年上半年吸…

元宇宙虚拟人迎来高峰期,哪个是你的最爱?

虚拟人从最初的不温不火&#xff0c;到现在步入“出生高峰期”&#xff0c;元宇宙可以说是功不可没。 此前&#xff0c;量子位发布了《虚拟数字人深度产业报告》&#xff0c;报告显示&#xff0c;到2030年我国虚拟数字人整体市场规模将达到2700亿元。其中&#xff0c;“身份型…

WebAR也是元宇宙的一种? #geenee.ar 快速上手制作 AR 应用

Mixlab AR & VR 是构建元宇宙应用的热点 “接口”。前期推文介绍了 Web 端的快捷高效的 VR 创作工具 Styly &#xff0c;AR 创作也有类似的简易工具吗&#xff1f; 知识库 有社群成员推荐了一款 Web AR 工具 Geenee。该工具是一个无代码平台&#xff0c;即使是非技术创作者…

解密通往元宇宙的三大入口,VR先上AR紧跟,但脑机接口才是未来

来源: 智东西 编辑&#xff1a;智东西内参 VR、AR和脑机接口&#xff0c;谁是人类通往元宇宙的合适入口&#xff1f; VR/AR/脑机接口是集合了微显示、传感器、芯片和算法等多项技术在内的下一代人机交互平台。回顾整个人机交互发展历程&#xff0c;我们看到人机交互的指令输入形…

元宇宙,现实与虚拟交互的新一代互联网?

在家中&#xff0c;你可以到访埃及的五大遗迹或者中国的兵马俑&#xff0c;当然全球的著名景点可以玩个遍&#xff0c;和真实体验无异。 在一个可互操作的协作空间&#xff0c;建筑师、工程师和设计师在一虚拟世界上共同进行空间设计&#xff0c;随意进出虚拟与现实世界。 同样…

VR和AR只是入门,真正的元宇宙远不止于此

近来&#xff0c;在金融市场上&#xff0c;“元宇宙”的概念相当火爆&#xff0c;就像20多年前的互联网泡沫一般。当年&#xff0c;任何一个金融产品或公司&#xff0c;只要一打上“.com”的标记&#xff0c;立刻“鸡犬升天”。而金融市场永远是你方唱罢我登场——寻找一个新花…

Matthew Ball:为什么说AR/VR元宇宙是Meta和苹果的下一个战场?

什么是元宇宙&#xff1f;相信这两年有不少人曾提出这个问题。它是AR/VR&#xff1f;还是数字孪生&#xff1f;是已经普及的技术还是还不存在的概念&#xff1f;为了解答这一问题&#xff0c;投资人、分析师Matthew Ball&#xff08;此前还曾担任亚马逊工作室的全球战略主管&am…

打开商场元宇宙新玩法:AR导航+AR互动营销

随着“元宇宙”概念大热&#xff0c;预示着互联网进化的未来形态初露端倪&#xff0c;也为实体商业升级提供了一条新思路&#xff0c;元宇宙&#xff08;Meta-verse&#xff09;是指&#xff1a;一个集体虚拟共享空间&#xff0c;由虚拟增强的物理现实和物理持久的虚拟空间融合…