如何用Python自动生成高质量的faq&FAQ Page模式

  • 如何用Python自动生成高质量的faq&FAQ Page模式已关闭评论
  • A+
所属分类:博客文章

如何用Python自动生成高质量的faq&FAQ Page模式如何用Python自动生成高质量的faq&FAQ Page模式

在我的SEJ eSummit演示中,我介绍了通过自动回答问题来大规模生成高质量内容的想法。
我介绍了一个使用流行工具研究问题的过程。
但是,如果我们不需要研究这些问题,
在本专栏中,我们将把这个过程向前推进了一大步。
我们将学习如何自动生成高质量的问题/答案对(及其对应的模式)自动生成
技术方案如下:

  • 我们将从一个示例URL获取内容
  • 我们将把这些内容输入到基于T5的问答生成器中
  • 我们将生成一个包含问题和答案的FAQ Page模式对象
  • 我们将验证生成的模式并生成一个预览,以确认它按预期工作
  • 我们将讨论使这成为可能的概念

从现有文本生成常见问题解答

让我们从一个例子开始。
复制一份我为展示这项技术而制作的Colab笔记本。

  • 将运行时更改为GPU并单击connect
  • 请随意更改表单中的URL。为了说明问题,我将集中讨论最近关于Google广告隐藏关键字数据的文章
  • 表单中的第二个输入是一个CSS选择器,用于聚合文本段落。您可能需要根据用于测试的页面对其进行更改
  • 在点击Runtime>;runall之后,应该会得到一个HTML块,可以将其复制并粘贴到Rich Results测试工具中

以下是该示例页面的富结果预览:

完全自动化。
多酷啊,对吧,
现在,让我们通过Python代码来理解魔法是如何发生的。

正在获取文章内容

我们可以使用可靠的请求HTML库从任何页面提取内容,即使内容是使用JavaScript呈现的。
我们只需要一个URL和一个CSS选择器来提取我们需要的内容。
我们需要安装库:
现在,我们可以继续使用它,如下所示。
我对过去用过的东西做了一些小的改动。
当我指定first=False时,我请求一个DOM节点列表,然后通过空格组合每个段落来加入该列表。
我使用的是一个简单的选择器,p,它将返回所有带有文本的段落。
这对于SearchEngineJournal很有效,但对于外贸英文SEO其他站点,您可能需要使用不同的选择器和文本提取策略。
打印出提取的文本后,我得到了我期望的结果。
如何用Python自动生成高质量的faq&FAQ Page模式
文本中没有HTML标记和脚本。
现在,让我们进入最激动人心的部分。
我们将建立一个深度学习模型,可以把这篇文章变成常见问题解答!🤓

谷歌T5问题解答

我在关于质量标题和元描述生成的文章中介绍了Google的T5(文本到文本传输转换器)。
T5是一个自然语言处理模型,只要它把输入作为文本,输出作为文本,只要你有正确的数据集,它就可以执行任何类型的任务。
在我的SEJ eSummit演讲中,我也谈到了这个问题,当时我提到算法的设计者实际上在一个琐碎的竞赛中输了!
如何用Python自动生成高质量的faq&FAQ Page模式
现在,我们将利用研究员苏拉杰·帕蒂尔的惊人工作。
他使用git-T5-hub为高质量的数据集将git-T5集放在一起。
回购协议包含了如何培训模型的说明,但正如他已经做的那样,我们将利用他预先培训过的模型。
这将为我们节省大量的时间和费用。
让我们回顾一下设置FAQ生成模型的代码和步骤。
首先,我们需要下载T5重量。
这将导致python库nltk下载一些文件。
克隆存储库。
在写这篇外贸网站优化文章的时候,我遇到了一个bug,我在笔记本上应用了一个临时补丁。查看问题是否已关闭,您可以跳过它。
接下来,让我们安装变形金刚库。
我们将导入一个模拟变形金刚管道的模块,使事情变得非常简单。
现在我们进入了只需要两行代码的激动人心的部分!
下面是我们为这篇文章生成的问题和答案。
如何用Python自动生成高质量的faq&FAQ Page模式
它们是多样和全面的。
我们甚至不需要读这篇文章就可以做到这一点!
我能够通过利用免费提供的开源代码来快速实现这一点。
尽管这些模型令人印象深刻,但我强烈建议您检查和编辑生成的内容,以确保质量和准确性。
您可能需要删除问题/答案对或进行更正以使其真实。
让我们使用这些生成的问题生成一个FAQ Page JSON-LD模式。

生成FAQ Page架构

为了方便地生成JSON-LD模式,我们将借用我早期的一篇文章中的一个想法。
我们使用Jinja2模板来生成XML站点地图,我们可以使用相同的技巧来生成JSON-LD和HTML。
我们首先需要安装jinja2
这是我们将用于生成的jinja2模板。
我想强调几个技巧,我需要用它来工作。
我们的问题的第一个挑战是,它们包括引号(“),例如:
这是一个问题,因为引号是JSON中的分隔符。
我没有手动引用这些值,而是使用了一个jinja2过滤器,tojson来为我进行引用,并转义任何引号。
它将上述示例转换为:
另一个挑战是,在每个问题/答案对后添加逗号对所有问题都有效,但最后一个问题/答案后面只剩下一个悬空的逗号。
我发现另一个StackOverflow线程提供了一个优雅的解决方案。
它只在不是最后一次循环迭代时添加逗号。
一旦你有了模板和独特的FAQ列表,剩下的就很简单了。
这就是生成JSON-LD输出所需的全部内容。
你可以在这里找到它。
最后,我们可以将其复制并粘贴到富结果测试工具中,验证它是否工作,并预览它在serp中的外观。

令人惊叹的。

使用RankSense部署对Cloudflare的更改

最后,如果您的站点使用Cloudflare CDN,那么您可以使用RankSense应用程序内容规则将常见问题添加到站点中,而无需涉及开发人员。(披露:我是RankSense的CEO和创始人。)
在向页面添加FAQ Page模式之前,我们需要创建相应的faq以避免任何惩罚。
根据谷歌的一般结构化数据指南:

标记页面读者不可见的内容。例如,如果JSON-LD标记描述一个执行者,则HTML正文应该描述该执行者。“

我们可以简单地调整我们的jinja2模板,以便它输出HTML。
下面是HTML输出的样子。
如何用Python自动生成高质量的faq&FAQ Page模式
现在,我们可以为任何url生成faq和FAQ Page模式,我们只需将更改填充到Google工作表中。
我的团队共享了一个教程,其中包含了可以用来自动填充工作表的代码。
您的作业是调整它以填充我们生成的FAQs HTML和JSON-LD。
为了更新页面,我们需要提供Cloudflare支持的CSS选择器,以指定要在DOM中进行插入的位置。
我们可以在搜索引擎的底部插入JSON和FAQ内容。
由于您正在进行HTML更改,并且可能会破坏页面内容,因此最好使用RankSense Chrome扩展预览更改。
如果您想知道,RankSense直接在HTML中进行这些更改,而不使用客户端JavaScript。
它们发生在Cloudflare CDN中,对用户和搜索引擎都可见。
现在,让我们来回顾一下使这项工作如此成功的概念。

这款基于T5的车型是如何产生这些质量问题的

研究人员正在使用一种能感知答案的神经问题生成方法。
这种方法通常需要三种模型:

  • 从文本中提取潜在答案
  • 另一个生成问题给出答案和课文
  • 最后,提出一个模型来回答问题和上下文并给出答案

下面是苏拉杰·帕蒂尔的一个有用的解释。
如何用Python自动生成高质量的faq&FAQ Page模式
从文本中提取答案的一个简单方法是使用名称实体识别(NER)或自定义知识图中的事实,就像我们在上一篇专栏文章中构建的那样。
问题生成模型基本上是一个问答模型,但输入和目标是相反的。
问答模型接受问题+上下文并输出答案,而问题生成模型接受答案+上下文并输出问题。
这两种类型的模型都可以使用相同的数据集进行训练,在我们的例子中,就是现成的班数据集。
请务必阅读我在必应网站管理员工具博客上的帖子。
我相当深入地解释了基于transformer的问答模型是如何工作的。
它包括简单的类比和一些最小的Python代码。
T5车型的核心优势之一是,它可以执行多种任务,只要它们接受文本并输出文本。
这使得研究人员只需要训练一个模型来执行所有任务,而不是三个模型。

资源和社区项目

Python SEO社区不断增长,每个月都有更多的新星出现。🐍🔥
以下是我在Twitter上了解到的一些令人兴奋的项目和新面孔。

关键字密度和实体计算器(Python+知识库API)

使用Python充分利用PageSpeed Insights API

森摩尔网络从2013年开始做外贸网站的SEO推广服务,到现在已经7年多了。我们已经为上千个人和企业提供外贸网站的优化推广服务,客户遍及全国各地,我们的服务深受客户好评!如果您有外贸网站需要推广,请联系我们,我们会提供专业、快速的额服务!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
Web2.0及社会化营销服务组合服务
450+锚文本Dofollow英文博客文章外链包月服务
Quora美版知乎针对性问题人工作答
100不同站点多类型外链服务