Google的BERT算法更新

什么是BERT
BERT是BidirectionalEncoderRepresentationsfromTransformers的缩写 , 中文意思大概是“双向transformer编码器表达” , 是一种基于神经网络的自然语言处理预训练技术 。
Google在2018年已经把BERT开源了 , 所以谁都可以用 。 Bert是一种基于神经网络的自然语言预训练处理技术 , 其使用不仅限于搜索算法 , 任何人都可以在其他类型的问答系统中使用bert 。
BERT的功能只是让计算机更好地理解语言 , 更像人类 。 人类探索自然语言处理已有多年 , 而BERT可以说是近年来最强的自然语言处理模型 。
甚至在bert应用于搜索算法之前 , 谷歌就已经在11项机器阅读理解测试中超越了人类 , 包括情感分析、实体识别、词汇预测、词汇分类等等 。
现在伯特科技对中文文章已经进行了大量的搜索 , 会看到很多 , 太专业了 , 大部分的我不明白 。
什么是google的BERT算法算法?
Google官方博客2019年10月25号发了一篇帖子 , 公布了BERT算法的一些情况 。
根据谷歌自己的说法bert算法在发布帖子的那个星期 , 在英语搜索中出现 , 然后在其他语言中出现 。 同时 , 在第0个结果(官方名称的精选摘要)的算法中也使用了BERT , 该算法已在所有语言中使用 。
BERT算法影响大致10%的查询词 。 Google认为BERT是自5年前的RankBrain之后最大的算法突破性进展 , 也是搜索历史上最大的突破之一 。 但从过去一年的自然搜索流量来看bert可能在搜索技术上取得了重大突破 , 但对搜索结果和搜索引擎优化没有太大影响 。 就我接触的英文网站而言 , 疫情和核心算法更新对很多网站的影响都比较大 。 这里说的影响不仅指负面影响 , 还有一些站点在流行病或核心算法的情况下 , seo的流量是上升的 。
伯特使用搜索来理解语言的特点之一是 , 一个句子不是逐字处理的 , 而是考虑一个词和句子中所有其他词之间的关系 , 也就是说 , 伯特看一个词之前和之后的其他词 , 这样他可以从完整的上下文中更深入地理解这个词的意思 , 更准确地理解搜索查询背后的真正意图 。
从谷歌的描述和例子来看 , “考虑一个词和句子中所有其他词之间的关系”包括:
这个词前后的词
它不仅包括相邻的单词 , 还包括彼此分离的单词
词的顺序关系
从前到后 , 从后到前(所谓的双向)
BERT解决了什么搜索问题
搜索的核心是理解语言 。 用户查询词的理解是其中的一个重要组成部分 。 用户可以使用多种单词进行查询 , 可能有错误的单词 , 可能有歧义 , 用户甚至可能不知道查询哪些单词 , 搜索引擎必须找出用户想要搜索的内容 , 然后才能得到一个返回匹配 。
当搜索引擎收到查询词时 , 会根据不同的情况做很多不同的处理 。 比如懂得基本搜索算法的SEO , 当然知道搜索引擎会对查询词做错别字和拼错 , 也会对查询词进行同义词、同义词和异体字的扩展 , 这些都是对查询词的简单理解和处理 。
情况稍微复杂一点 。 比如查询“苹果”时 , 搜索引擎没有用户的搜索历史 。 虽然搜索引擎搜索手机的可能性很大 , 但不能100%确定用户是想搜索水果、手机、电影还是报纸 。 但查询“苹果减肥”时 , 搜索引擎从语义分析可以知道 , 这里的苹果指的是水果 。
稍微模棱两可一点 , 查询“二嫂” , 用户是要了解二嫂的丈夫吗?搜索引擎可能会通过机器学习用户点击数据 , 因为他们知道用户实际上想知道羽毛球拍的情况 。 Google和百度理解都没问题:
Google的BERT算法更新
文章图片
那么举个例子 , 当人们查询“新加坡-上海机票”时 , 可以理解人们很有可能是在寻找“新加坡-上海”的机票 , 但搜索引擎未必能分辨出他们是在寻找“新加坡-上海”的机票还是“上海-新加坡”的机票 , 因为分词之后这两个查询的词语是完全一样的 。 语义分析也是无效的 , 都是机票、旅游相关的 。