知识库首页 seo-llm 资料 Google BERT 算法.md

Google BERT 算法

本地来源:seo-llm/SEO实战密码-markdown/第09章 人工智能与 SEO/使用中的人工智能搜索算法/Google BERT 算法.md

Google BERT 算法

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

BERT 是 Bidirectional Encoder Representations from Transformers 的缩写,中文意思大概是“变换器双向编码器表达”。变换器(Transformer)是一种用于自然语言处理的神经网络结构,是 Google 最早提出来的,也是现在生成式 AI 的基础。BERT 是一种基于神经网络的自然语言处理预训练技术,其用途不仅限于搜索算法,任何人都可以把 BERT用在其他问答类型的系统中。

BERT 的作用简单来说就是让计算机能更好、更像人类一样理解语言,理解词的各种组合怎样代表了不同的意义和目的。人类在自然语言处理方面已经探索了很多年, BERT 是近年自然语言处理模型的第一个高峰。BERT 被应用于搜索算法之前,就在机器阅读理解水平 11 项测试中获得了全面超越人类的成绩,包括情绪分析、实体识别、后续词语出现预测、文字分类等。

Google 在 2018 年已经把 BERT 开源了,谁都可以使用。感兴趣的读者搜索一下就能看到很多关于 BERT 技术的中文文章。

Google 官方博客在 2019 年 10 月 25 日发了一篇帖子,公布了 BERT 算法的一些情况。 BERT 算法影响大致 10%的查询词。Google 认为 BERT 是自 5 年前的 RankBrain 之

后最大的算法突破性进展,是搜索历史上最大的突破之一。

BERT 用在搜索中理解语言时的特点是:一句话不是一个词一个词单独处理的,而是在特定次序中理解词的意义,而且考虑一个词与句子里其他词之间的关系,也就是说, BERT 会看一个词前面和后面的其他词,因此能更深入地根据完整上下文理解词义,也能更准确地理解查询词背后的真正意图。

从 Google 的描述和举例来看,“考虑一个词与句子里其他词之间的关系”包括了:

  • 这个词前面以及后面的词。
  • 不仅包括前后紧邻的其他词,也包括隔开的其他词。
  • 词的顺序关系。
  • 从前往后的顺序,以及从后往前的顺序(所谓双向)。

搜索的核心是理解语言,对用户查询词的理解是其中的重要部分。用户查询时用的词五花八门,可能有错字,可能有歧义,可能用户自己都不知道该查询什么词,搜索引擎首先要弄明白用户到底想搜索什么,才能返回匹配的结果。

比如查询“新加坡 上海 机票”,人类可以理解为大概率是想找“新加坡到上海”机票,但搜索引擎很可能无法判断到底是在找“新加坡到上海”机票,还是在找“上海到新加坡”机票,因为两个查询词在分词后是完全一样的。语义分析也失效,因为都与机票、旅游、同样的两个地点相关。在这个查询中,顺序关系是很重要的。

这就是 BERT 大显身手的时候了。如前所述,BERT 会考虑上下文以及词之间的顺序,还知道从前向后和从后向前的顺序是有不一样意义的。

再如,对英文来说,查询中有 for、to 之类的介词,而且当这些介词对查询意义有重大影响时,BERT 会确保不会把这些重要的介词当作停止词忽略。

还有比较长的、对话形式的查询,BERT 能够更好地理解查询的上下文及真正意义。由于以前搜索引擎的理解力不足,搜索用户也都被迫形成了一种以关键词为主的查询习惯。但我们生活中有问题问朋友时可不是用几个关键词来问的,而是以完整问句来问的。有了 BERT 对查询词的更准确理解,用户才能以更自然、更人性的方式搜索。可能就是在这个意义上,Google 认为 BERT 是搜索技术的一大突破。

Google 举了几个例子,我觉得第一个是最能说明 BERT 特点的,如图 9-5 所示。

img_0216.png

图 9-5 BERT 算法上线前后的 Google 搜索结果对比

图 9-5 显示的是 BERT 算法上线前后的 Google 搜索结果对比,查询词是“2019 brazil traveler to usa need a visa”(2019 年巴西游客到美国需要签证)。英文里的“to”在经典搜

索算法里很可能会被当作停止词而忽略,但在这个查询里,“to”对查询意图有决定性意义, “巴西游客到美国”与“美国游客到巴西”的签证要求是完全不同的两个意义。

使用 BERT 前,Google 返回了美国游客去巴西不用签证的信息,使用 BERT 之后,

Google 正确判断“谁to 谁”是十分重要的,返回了巴西游客到美国是否需要签证的结果。 Google 提供的另一个例子是查询“Can you get medicine for someone pharmacy”(在

药店能给别人买药吗),介词 for 也经常被忽略,但这里的 for(为别人做什么事)要是被忽略了,意思就差远了,变成了“在药店能买药吗”。

本文档为站内渲染。原始文件本地路径:saas/source/seo-llm/SEO实战密码-markdown-第09章-人工智能与-SEO-使用中的人工智能搜索算法-Google-BERT-算法-b3ed36.md(仅本地保留,不入库不部署)