更新Google的BERT算法
浏览:365 时间:2022-7-7

此帖起草于去年(2019年)10月28日,今日添加发送。过去一年,关于搜索算法和SEO思维最大的新闻还是这件事。

2019年10月,谷歌宣布上线BERT算法。

BERT是什么

BERT是transformers的双向编码器表示的缩写。中文的意思是“双向变压器编码器表达式”。《变形金刚》真的不知道怎么翻译。应该是神经网络的深度模型。

谷歌已经在2018年开放了BERT,所以任何人都可以使用它。BERT是一种基于神经网络的自然语言处理预训练技术,其应用不限于搜索算法。任何人都可以在其他问答系统中使用BERT。

BERT的功能只是让计算机更好地理解语言,更像人类。人类探索自然语言处理已有多年,而BERT可以说是近年来最强的自然语言处理模型。

在搜索算法中使用BERT之前,谷歌在机器阅读理解的11项测试中取得了超越人类的综合成绩,包括情感分析、实体识别、后续单词预测、文本分类等。

现在,中文有很多关于BERT技术的文章,如果你搜索,你会看到很多文章。它们太技术性了,大多数都超出了我的理解范围。

什么是GoogleBERT算法更新

谷歌官方博客在2019年10月25日发布了一篇文章,其中公布了一些关于BERT算法的信息。

据谷歌自己介绍,在发帖的那一周,BERT算法在英文搜索逐渐上线,随后其他语言陆续上线。同时,在第0个结果(官方名称的精选摘要)的算法中也使用了BERT,该算法已在所有语言中使用。

BERT算法影响约10%的查询词。谷歌认为BERT是自五年前RankBrain以来算法上最大的突破,也是搜索史上最大的突破之一。但从过去一年的自然搜索流量来看,BERT可能在搜索技术意义上有了很大的突破,但对搜索结果和SEO的影响不大。就我关注的英文,的网站来看,疫情和核心算法的更新对很多网站的影响都比较大。这里所说的影响,不仅仅是指负面影响,还有疫情或者核心算法的情况下,部分网站SEO流量的激增。

在搜索中使用BERT来理解语言时,其特点是一个句子不是按顺序一个单词一个单词地对待,而是考虑一个单词与句子中所有其他单词的关系,也就是说BERT会看一个单词前后的其他单词,这样他就能从完整的语境中更深刻地理解单词的含义,更准确地理解搜索查询单词背后的真实意图。

从谷歌的描述和例子来看,“考虑一个词和句子中所有其他词之间的关系”包括:

这个词前后的词

它不仅包括紧接在前后的其他单词,还包括分开的其他单词

词的顺序关系

从前到后的顺序,以及从后到前的顺序(所谓的双向)

BERT解决了什么搜索问题

搜索的核心是理解语言。理解用户的查询词是其中重要的一部分。当用户查询时,他们使用各种各样的单词。可能有错别字和歧义。可能用户不知道查询什么词。搜索引擎必须首先找到用户想要搜索的内容,然后才能返回匹配结果。

当搜索引擎收到查询词时,会根据不同的情况做很多不同的处理。比如懂得基本搜索算法的SEO,当然知道搜索引擎会对查询词做错别字和拼错,也会对查询词进行同义词、同义词和异体字的扩展,这些都是对查询词的简单理解和处理。

情况稍微复杂一点。比如查询“苹果”时,搜索引擎没有用户的搜索历史。虽然搜索引擎搜索手机的可能性很大,但不能100%确定用户是想搜索水果、手机、电影还是报纸。但查询“苹果减肥”时,搜索引擎从语义分析可以知道,这里的苹果指的是水果。

再暧昧一点,查询“二姐老公”,用户想知道二姐老公吗?搜索引擎很有可能通过机器了解用户点击数据,早就知道用户其实是想了解羽毛球拍的。谷歌和百度的理解没有问题:

那么比如在查询“新加坡到上海\",的机票”的时候,人类可以理解为极有可能是想找到新加坡到上海的机票,但是搜索引擎可能无法判断是在找新加坡到上海的机票,还是上海到新加坡,的机票,因为分词后两个查询的词完全一样。语义分析也失败了,跟机票和旅游有关。

这是BERT展示才华的时候了。如前所述,BERT会考虑上下文和单词之间的顺序,也知道从前到后和从后到前的顺序是不同的。

就英文而言,当有for、to等介词,并且这些介词对查询的意义有很大影响时,也有比较长的和会话式的查询,这样BERT可以更好地理解查询的上下文和真实含义。

由于对以往的搜索引擎缺乏了解,搜索用户被迫形成了基于关键词的查询习惯。但是我们在生活中问朋友问题的时候,不是用几个关键词,而是用完整的问题。随着BERT对查询词的更好理解,用户可以以更自然、更人性化的方式进行搜索。或许在这个意义上,谷歌认为BERT是搜索技术的一大突破。

谷歌举了几个例子,我认为第一个是最好的例子来说明BERT的特点:

上图为推出BERT算法前后的谷歌搜索结果,查询词为“2019年巴西拖车Tousaneedavisa”(2019年巴西游客需要美国签证)。在经典的搜索算法中,英文的“去”可能作为stopword被忽略,但在这个查询中,“去”对于查询意图是决定性的,而“从巴西到美国\"的游客”和“从美国到巴西\"的游客”的签证要求完全不同。

在使用BERT之前,谷歌返回了美国游客去巴西不需要签证的信息在使用BERT之后,谷歌正确判断“谁去谁去”是非常重要的,并返回了巴西游客去美国是否需要签证的结果

谷歌给出的另一个例子是查询“能不能给某个人药店买药”,介词for经常被忽略,但如果忽略了,“for”的意思就会差很多,变成“能不能在药店买药”。

SEO人如何应对BERT算法

谷歌明确表示没有办法优化BERT,SEO的人自然会继续为用户写高质量的文章。

想了想,有道理。谷歌没有骗我们。BERT用于理解查询词的真正含义,这发生在找到匹配页面之前。SEO的人不能通过BERT让他们的内容更有相关性。页面内容是什么,与BERT对查询词的理解无关。

一个反例可以更好地说明这一点。当我搜索“2019巴西预告片Tousaneedavisa”这个短语时,我实际看到的前两个结果都是错的。美国游客来巴西:需要签证吗

即使BERT在线,谷歌对查询的理解可能仍然有问题。谷歌误解了查询词,自然回到了错误的页面,这与你的页面质量无关。

坚持让这里的读者给个彩蛋。虽然没有办法优化BERT,但是BERT对于SEO还有其他的应用场景吗?提到了几个关键词:双向、词序和后续词预测。事实上,BERT可以用来预测给定单词之后可能出现的其他单词。

这个有什么用?比如给定一个词:SEO,BERT可以预测后面可能出现的词。所以如果你一直预测,你不会组成一个句子?这不是自动书写机吗?并且符合语义和语法,已经过AI深度学习验证。

这样的工具已经有了,但是质量不尽如人意,生成的中文的内容更差。不知道国内有没有人会开发基于BERT的中文自动写作软件。

作者:Zac@SEO天天发帖

版权归: 中新虚拟主机所有

源地址:/gg/google-bert/