如何使用句子嵌入大规模映射404 URL

[ad_1]

如何使用句子嵌入大规模映射404 URL

确保客户获得更多SEO流量的一种surefire方法是将以404结尾的有价值的URL重定向到等效的URL。

这些URL通常仍会获得访问量,或者有价值的外部链接进入其中,或者两者都有。

映射404 URL的一种懒惰且无效的方法是将所有URL重定向到主页或动态搜索结果。 ?

如何使用句子嵌入按比例映射404 URL“ width =” 2516“ height =” 1188“ size =”(最大宽度:2516px)100vw,2516px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / smarthome-5de7e0079444a.png 2516w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/smarthome-5de7e0079444a-480x227.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/12/smarthome-5de7e0079444a-680x321.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/smarthome-5de7e0079444a-768x363 .png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/smarthome-5de7e0079444a-1024x484.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019 /12/smarthome-5de7e0079444a-1600x755.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/smarthome-5de7e0079444a.png

例如,Smarthome 302将不存在的页面重定向到其主页。此类重定向通常标记为 软404错误 在Google Search Console中。

正确的方法是将每个页面分别映射到等效页面(如果存在)。

但是,如果您需要手动执行此过程,则可能会非常繁琐,耗时且昂贵。

通常,您需要依靠网站的默认内部搜索引擎,这几乎没有好处。

在本专栏中,我们将学习如何使用神经匹配方法来自动化这一有价值的技术。

这是我们的行动计划:

  • 我们将收集两个要映射的URL列表:一个包含404 URL,一个包含网站的规范URL。
  • 我们会将URL转换为短语,以为我们的神经匹配过程做准备。
  • 我们将使用利用神经网络的通用句子编码器方法。
  • 我将解释使之成为可能的一些高级概念。
  • 我还将分享社区项目和资源以了解更多信息。

下载URL集

有很多获取404 URL的方法。您可以运行网站爬网,从Google或Bing Search Console下载404,等等。

我最喜欢的获得404 URL的地方之一是 Ahrefs损坏的反向链接工具 因为它会将404过滤到具有外部链接的页面。

不过,Google Search Console可能会映射更多404。如果您希望映射所有404,并且下载的数量超过一千,则可能需要考虑使用我们的 Cloudflare应用 没有这样的限制。

如何使用句子嵌入按比例映射404 URL“ width =” 2560“ height =” 1345“ Size =”(最大宽度:2560px)100vw,2560px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / 404-filter-5de7e1cd709b9-scaled.png 2560w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/404-filter-5de7e1cd709b9-480x252.png 480w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/404-filter-5de7e1cd709b9-680x357.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019 /12/404-filter-5de7e1cd709b9-768x404.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/404-filter-5de7e1cd709b9-1024x538.png 1024w,https:// cdn .searchenginejournal.com / wp-content / uploads / 2019/12 / 404-filter-5de7e1cd709b9-1600x841.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12 /404-filter-5de7e1cd709b9-scaled.png

将其连接到Google云端硬盘时,您最多可以导出100,000个URL,也可以导出尽可能多的URL。

接下来,您需要一组所有有效的网站URL,最好是规范的URL。

获取此类列表的一种简单方法是下载XML网站地图URL。

如果您的客户端没有XML站点地图,则可以执行传统的SEO抓取来获取URL。

如果您喜欢代码,可以找到一些可以改编自我的文章的内容 XML网站地图

将网址集上传到Google云端硬盘

有多种方法可以从 Google合作实验室,包括直接从硬盘上载它们。我最近最喜欢的选择是将它们上传到Google云端硬盘,然后从Colab访问它们。

如果您从Google云端硬盘获得可共享的链接,则可以使用以下代码将文件下载到您的Google Colab环境中。

如果您的文件需要保密,那么以下代码可能是更好的选择。

将URL路径转换为短语

我们可以尝试使用其内容来匹配页面,但是404页面没有可用于匹配目的的内容。

帕特里克·斯托克斯 使用Wayback Machine分享了一种巧妙的方法。实际上,他的技术适用于覆盖范围广的网站,如果这些网站很受欢迎的话。但是,对于我们合作的许多网站来说,这种方法并没有达到我们想要的效果。

对我们来说行之有效的一个关键想法是,通过利用大多数URL中提供的丰富信息,将404页与网站上的相关页进行匹配。

这种方法非常简单,并且在实践中效果很好。值得注意的例外是,当网站选择糟糕的URL时,说它们仅包含数字。

我们遵循两个简单步骤:

  • 仅获取URL的路径。
  • 将斜杠,下划线和连字符转换为空格,以提取URL中的文本。

这是该代码:

这是转换的样子。

如何使用句子嵌入按比例映射404 URL“ width =” 204​​8“ height =” 316“ size =”(最大宽度:2048px)100vw,2048px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / pandas1-5de7e33351145.png 2048w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas1-5de7e33351145-480x74.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas1-5de7e33351145-680x105.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas1-5de7e33351145-768x119 .png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas1-5de7e33351145-1024x158.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019 /12/pandas1-5de7e33351145-1600x247.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas1-5de7e33351145.png
如何使用句子嵌入按比例映射404 URL“ width =” 204​​0“ height =” 348“ size =”(最大宽度:2040px)100vw,2040px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / pandas2-5de7e3383029f.png 2040w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas2-5de7e3383029f-480x82.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas2-5de7e3383029f-680x116.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas2-5de7e3383029f-768x131 .png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas2-5de7e3383029f-1024x175.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019 /12/pandas2-5de7e3383029f-1600x273.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/pandas2-5de7e3383029f.png通用句子编码器

现在,我们将开始有趣的部分!我们将利用深度学习来开发另一个强大的用例:语义文本相似性(STS)。我们将利用STS通过包含在其中的短语来匹配URL。

请随时参考我以前的 深度学习文章 为了了解这些概念,我们将在这里进行重新讨论。

对于我们的匹配任务,我们将利用 Google的通用句子编码器

根据他们的描述:

“通用句子编码器(USE)将文本编码为高维向量,可用于文本分类,语义相似性,聚类和其他自然语言任务。

对模型进行了训练和优化,以处理长度超过单词的文本,例如句子,短语或短段落。它针对各种数据源和各种任务进行了培训,目的是动态适应各种自然语言理解任务。输入是可变长度的英文文本,输出是512维向量。我们将此模型应用于STS基准以实现语义相似性,结果可从提供的示例笔记本中看到。通用句子编码器模型是使用深度平均网络(DAN)编码器进行训练的。”

我们之所以使用这种方法,是因为它比幼稚的文本匹配功能更强大。 USE允许以相等的含义匹配页面/短语,即使它不是以相同的方式准确编写的也是如此。当用不同语言编写的短语时,您甚至可以匹配它们。

这是实际操作的示例代码片段:

基本上,USE允许我们在虚拟空间中对完整句子进行编码(请记住我在 我的第一篇深度学习文章?),以使相似的短语接近,而完全不同的短语相距甚远。

您可以使用USE解决各种自然语言问题。对于我们的特定问题,最合适的任务是语义文本相似性。

如何使用句子嵌入按比例映射404 URL“ width =” 2026“ height =” 628“ size =”(最大宽度:2026px)100vw,2026px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / use-5de7e39f7ccbd.png 2026w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/use-5de7e39f7ccbd-480x149.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/12/use-5de7e39f7ccbd-680x211.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/use-5de7e39f7ccbd-768x238 .png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/use-5de7e39f7ccbd-1024x317.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019 /12/use-5de7e39f7ccbd-1600x496.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/use-5de7e39f7ccbd.png

当我们使用语义相似性时,我们想要匹配含义完全相同但短语可能不同的句子。

让我们开始吧。

请去 使用页面 然后单击以打开示例Google Colab 笔记本

使用文件菜单将副本保存在您的Google云端硬盘中。将运行时类型更改为GPU。

然后单击“运行时”菜单以运行所有单元。

向下滚动笔记本时,您几乎可以在结尾处找到这种有趣的可视化效果。

如何使用句子嵌入按比例映射404 URL“ width =” 1298“ height =” 998“ size =”(最大宽度:1298px)100vw,1298px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / examplematrix-5de7e3e2d14ee.png 1298w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/examplematrix-5de7e3e2d14ee-480x369.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/12/examplematrix-5de7e3e2d14ee-680x523.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/examplematrix-5de7e3e2d14ee-768x590 .png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/examplematrix-5de7e3e2d14ee-1024x787.png 1024w“ data-src =” https://cdn.searchenginejournal.com/wp-内容/上传/2019/12/examplematrix-5de7e3e2d14ee.png

这是一个热图矩阵,以红色显示最相似的词组。

您可以看到有关电话,天气​​,健康状况和年龄的短语如何聚集在一起。这是一个非常强大的工具!

准备短语语料库

现在,我们将一些自定义代码添加到笔记本中,以将这种技术与我们从之前上传的URL生成的短语结合起来使用。

这些简单的代码更改可帮助我们将自己的URL /短语聚类。这是我们自己的可视化效果。

如何使用句子嵌入按比例映射404 URL“ width =” 2560“ height =” 1191“ size =”(最大宽度:2560px)100vw,2560px“ data-srcset =” https://cdn.searchenginejournal.com/ wp-content / uploads / 2019/12 / custommatrix-5de7e431f2049-scaled.png 2560w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/custommatrix-5de7e431f2049-480x223.png 480w,https: //cdn.searchenginejournal.com/wp-content/uploads/2019/12/custommatrix-5de7e431f2049-680x316.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/custommatrix-5de7e431f2049 -768x357.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/custommatrix-5de7e431f2049-1024x477.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads /2019/12/custommatrix-5de7e431f2049-1600x745.png 1600w“ data-src =” https://cdn.searchenginejournal.com/wp-content/uploads/2019/12/custommatrix-5de7e431f2049-scaled.png

URL示例集中的产品非常相似,因此,红色方块比黄色方块多得多。

当结果接近时,我们会为每场比赛生成前5名列表,并将其交给我们的团队成员之一进行手动审核并选择最佳比赛。这种方法仍然减少了很多手动时间。

计算相似性建议

上面的热图虽然很漂亮,但并不能帮助我们为每个404 URL获取实际建议。我们将为此创建一个自定义函数。

在这里,我们有一些TensorFlow代码,我们将编码后的短语传递给USE模型,并获取最接近匹配项的嵌入。它需要一些解释。

此代码将编码后的短语传递给USE,并取回所有匹配的嵌入内容。

to_find_embeddings = session.run(相似性消息编码,feed_dict = {相似性输入占位符:(短语)})

由于嵌入只是向量,因此可以通过计算点积来找到最接近的向量。

结果= np.inner(message_embeddings,to_find_embeddings)

点积是可以用来测量两个向量之间距离的技术之一。

您可能要检查一下 维基百科文章 进一步了解其运作方式。

其余代码将匹配项限制在前5位。

社区项目和资源以了解更多信息

在过去的一个月中,社区共享的项目让我感到非常震惊。

首先,让我大声疾呼克里斯汀·廷斯基(Kristin Tynski),他改进了我的意图分类工作,提出了一个 更快,更好,更便宜的技术

来自LocalSEOGuide的Dan Leibson 共享脚本 可以自动使用BigQuery,Python和Posgres构建关键字分类。

HülyaÇoban集合了一个了不起的机器学习模型来 预测页面速度得分

图片积分

语义相似度图像: TensorFlow集线器
作者截取的所有屏幕截图,2019年12月

相关文章