如果您过去一周一直在关注Twitter SEO,您可能会注意到芝麻街上以角色Bert(有时是Ernie)为特征的gif和图像数量有所增加。
这是因为,上周Google宣布即将推出算法更新,这将影响搜索结果中10%的查询,并且还会影响其所在国家/地区的精选摘要结果; 这不是小事。
该更新名为Google BERT(因此与芝麻街连接-以及gifs)。
谷歌将BERT描述为自将近5年前引入RankBrain以来,其搜索系统的最大变化,这可能是有史以来最大的搜索变化之一。
关于BERT的到来及其即将产生的影响的消息在SEO社区引起了轰动,并且人们对BERT的功能以及其对整个行业的意义感到困惑。
考虑到这一点,让我们看一下BERT是什么,BERT的背景,对BERT的需求以及其要解决的挑战,当前情况(即SEO的含义)以及未来的发展方向。
本指南中各小节的快速链接BERT背景故事| 搜索引擎如何学习语言| 语言学习方法的问题| BERT如何提高对搜索引擎语言的理解| BERT对SEO意味着什么?
什么是BERT?
BERT是一种技术突破性的自然语言处理模型/框架,自从其作为学术研究论文发布以来,就席卷了机器学习领域。 该研究论文题为BERT:用于语言理解的深度双向变压器的预训练(Devlin等人,2018)。
论文发表后,Google AI研究团队宣布BERT为开源。
一年后,Google宣布在生产搜索中推出Google BERT算法更新。 Google将BERT算法更新与BERT研究论文联系在一起,强调BERT对于内容和查询中上下文语言理解的重要性,因此对于意图尤其是会话搜索的意图也很重要。
那么,BERT到底是什么?
BERT被描述为经过预训练的深度学习自然语言框架,该框架在各种自然语言处理任务上都提供了最新的结果。 在研究阶段,并且在被添加到产品搜索系统之前,BERT在11种不同的自然语言处理任务上取得了最新的成果。 这些自然语言处理任务包括情感分析,命名实体确定,文本蕴涵(又称下一句预测),语义角色标记,文本分类和共指解析。 BERT在上下文中还有助于消除具有多种含义的单词的歧义,即多义单词。
BERT在许多文章中都被称为模型,但是,它更像是一个框架,因为它为机器学习从业人员构建自己的经过微调的类似BERT的版本提供了基础,以满足许多不同的任务,而这可能也是Google实施它的方式。
BERT最初在整个英语Wikipedia和Brown Corpus上进行了预培训,并且在下游自然语言处理任务(如问题和答案对对)上进行了微调。 因此,这不仅仅是一次算法上的改变,而是一个基础层,该层试图帮助理解和消除句子和短语中的语言细微差别,不断地对其自身进行微调并进行调整以进行改进。
BERT背景故事
为了实现BERT带来的价值,我们需要看一下以前的发展。
自然语言挑战
理解单词与结构和含义配合的方式是与语言学相关的研究领域。 自然语言理解(NLU)或NLP可以追溯到60年前,它可以追溯到原始的图灵测试论文以及关于什么是AI的定义,甚至可能更早。
这个引人注目的领域面临未解决的问题,许多问题与语言的模棱两可性质(词汇歧义)有关。 英语中几乎所有其他单词都有多种含义。
随着搜索引擎试图解释意图以满足用户在书面和口头查询中表达的信息需求,这些挑战自然会扩展到内容不断增加的网络。
词汇歧义
在语言学中,歧义是在句子而不是单词层面。 具有多种含义的单词组合在一起,使模棱两可的句子和短语变得越来越难以理解。
根据史蒂芬·克拉克(Stephen Clark)的说法,他以前是剑桥大学,现在是Deepmind的专职研究科学家:
“歧义性是计算知识获取的最大瓶颈,这是所有自然语言处理的杀手problem。”
在下面的示例中,取自WordNet(将英语单词分为同义词集(同义词集)的词汇数据库),我们看到“ bass”一词具有多种含义,其中一些与音乐和音调有关,有些与鱼有关。
此外,音乐上下文中的“ bass”一词既可以是名词的词性,也可以是形容词的词性,这进一步使事情变得混乱。
名词
- S:(n)低音(音乐范围的最低部分)
- S:(n)低音,低音部分(**音乐中的最低部分)
- S:(n)贝斯,贝索(成年男性歌手声音最低)
- S:(n)鲈鱼,鲈鱼(鲈鱼科的咸鱼的瘦肉)
- S:(n)淡水鲈鱼,鲈鱼(北美任何一种具有瘦肉的淡水鱼(特别是Micropterus属))
- S:(n)低音,低音,低音(成年男性唱歌的最低声音)
- S:(n)低音(乐器家族中音域最小的成员)
- S:(n)鲈鱼(无数可食用的海洋和淡水刺鳍鱼中的任何一种的非技术名称)
形容词
- S:(adj)低音,深沉的(具有或表示较低的人声或乐器范围), “深沉的声音”; “低音声音低于男中音”; “低音单簧管”
多义和同义
具有多种含义的单词被视为多义或同义的。
多义性
多义词是具有两个或多个含义的词,词根起源相同,并且非常微妙和细微。 动词“ get”(一个多义词)可能表示“进行采购”,“获取”或“理解”。 另一个动词“ run”是多义词,是牛津英语词典中最大的词条,具有606种不同的含义。
同名
同音异义词是具有多种含义的另一种主要的单词类型,但是同义异义词比多义词更没有细微差别,因为它们的含义通常非常不同。 例如,“玫瑰”是谐音的意思,可能意味着“升起来”,也可能是花朵。 这两个词的含义根本不相关。
同音异形词
同音异义词的类型也可以更加细化。 “ Rose”和“ Bass”(来自前面的示例)被视为同形异义词,因为它们的拼写相同且含义不同,而同音异义词的拼写不同,但听起来却相同。 英语对于同音词特别有问题。 您可以在此处找到超过400个英语同调音示例的列表,但仅举几个同音读音示例:
- 草稿,草稿
- 双重对决
- 做,女佣
- 对于,四个
- 也要两个
- 在那里,他们的
- 哪里穿
在口语短语级别的单词组合时,即使单词本身不是同音词,也可能突然变成歧义短语。
例如,短语“四个蜡烛”和“叉柄”在拆分成单独的单词时没有混淆的性质,不是同音异义词,但组合起来听起来几乎相同。
突然之间,这些口语单词可能会被混淆为彼此具有相同的含义,却具有完全不同的含义。 甚至人类也可能会混淆这样的短语的含义,因为人类毕竟还不是十全十美的。 因此,许多喜剧节目都具有“文字游戏”和语言细微差别的特征。 这些细微差别可能对会话搜索特别有问题。
同义词不同
为了明确起见,同义词不同于多义和同义,因为同义单词的意思彼此相同(或非常相似),但是是不同的单词。
同义词的一个例子是形容词“ tiny”,“ little”和“ mini”作为“ **all”的同义词。
共指解析
诸如“他们”,“他”,“它”,“他们”,“她”之类的代词在自然语言理解上也可能是一个麻烦的挑战,而对第三人称代词则更是如此,因为它很容易失踪在句子和段落中提到谁。 代词所提出的语言挑战被称为共指解决方案,其**指解决方案的细微差别是指照式或反式的解决方案。
您可以认为这仅仅是“能够跟踪”正在谈论或正在谈论的人或对象,但是这里将进一步解释挑战。
照应和照应分辨率
回指解析是试图将一段提及的内容作为代词或名词短语(例如人,地方,事物)的较早部分联系起来的问题。 Cataphora的解析度比anaphora的解析度要少,它是在后面在句子或短语中提及“事物”(人,地点,事物)之前理解被称为代词或名词短语的挑战。
这是回指解析的示例:
“约翰帮助了玛丽。 他很好。”
其中“他”是代名词(回指),可以解析为“约翰”。
还有一个:
汽车正在散开,但仍然可以工作。
这是一个后照的例子,也包含了后照:
“玛丽意识到自己丢失了钥匙,她当时在纽约大学。”
上面的示例中的第一个“她”是后缀,因为它与句子中尚未提及的玛丽有关。 第二个“她”是一个照应词,因为该“她”也与玛丽有关,后者已在句子中提到。
多句解析
当短语和句子组合起来将人,地点和事物(实体)称为代词时,这些参考分开变得越来越复杂。 如果多个实体决定开始将其添加到文本中,并且句子的数量不断增加,则尤其如此。
这是Cornell关于共指解析和回指的解释的一个示例:
a)约翰两次在法国旅行。
b)他们都很棒。
人与模棱两可
尽管不完美,但由于我们有常识性理解的概念,因此人类对共指解析和多义性的这些词汇挑战并不关心。
我们了解阅读多个句子和段落或来回交谈时“她”或“他们”指的是什么,因为我们可以跟踪谁是关注的焦点。
例如,当一个句子包含其他相关单词(例如“存款”或“支票/支票”和“现金”)时,我们会自动意识到,因为这全部与作为金融机构的“银行”相关,而不是与河流的“银行”相关。”
在顺序的单词中,我们知道单词和句子的发音或书写的上下文; 这对我们来说很有意义。 因此,我们能够相对容易地解决歧义和细微差别。
机器和歧义
机器不会自动理解消除“银行”(河)和“银行”(金融机构)歧义所需的上下文词连接。 更是如此,多义词具有细微的多种含义,例如“ get”和“ run”。 机器也很容易跟踪句子中正在谈论的人,因此共指解析也是一个重大挑战。
当诸如会话搜索(和同音词)之类的口语词进入混音时,所有这些都变得更加困难,尤其是当您开始将句子和短语加在一起时。
搜索引擎如何学习语言
那么,语言学家和搜索引擎研究人员如何使机器能够理解自然语言中单词,句子和短语的歧义?
“如果Google能理解您的短语的含义,而不仅仅是短语中的单词,这会很好吗?” 表示Google的Eric Schmidt早在2009年3月,就在该公司宣布推出其首批语义产品之前。
这标志着从“字符串到事物”的第一个举措,也许是Google面向实体的搜索实现的问世。
埃里克·施密特(Eric Schmidt)帖子中提到的产品之一是在搜索结果页面中显示的“相关内容”。 提供了“角动量”,“相对论”,“大爆炸”和“量子力学”作为相关项目的示例。
这些项目可以被视为共现项目,它们通过“相关性”以自然语言彼此接近。 这些连接相对松散,但是您可能希望将它们一起存在于网页内容中。
那么搜索引擎如何将这些“相关事物”一起映射?
同现和分布相似
在计算语言学中,共现是这样的想法,即具有相似含义的单词或相关单词在自然语言中趋于彼此非常接近。 换句话说,它们往往在句子和段落或整体的文本中(有时称为语料库)非常接近。
研究单词关系和共现的领域称为“菲斯语言学”,其起源通常与1950年代的语言学家约翰·菲斯(John Firth)联系在一起,他著名地说道:
“您将知道它所经营的公司的一句话。”
(JR 1957年出生)
相似性和相关性
在Firthian语言学中,生活在文本附近空间中的单词和概念既相似又相关。
类似于“事物类型”的单词被认为具有语义相似性。 这基于“ isA”概念之间的距离度量,这些概念是“事物”的类型。 例如,汽车和公共汽车具有语义相似性,因为它们都是车辆。 汽车和公共汽车都可以用以下语句填补空白:
“ __代表车辆”,因为汽车和公共汽车都是车辆。
关联性与语义相似性不同。 关联性被认为是“分布相似性”,因为与isA实体相关的词可以提供关于实体是什么的清晰线索。
例如,汽车与公共汽车相似,因为它们都是汽车,但汽车与“道路”和“驾驶”的概念有关。
您可能希望在有关道路和驾驶的页面中,或在附近(链接或在类别或子类别的部分中)有关汽车的页面中找到提到的汽车。
这是一个很好的视频,介绍了相似性和相关性作为自然语言支架的概念。
人类自然而然地将这种共存理解为常识性理解的一部分,并且在前面提到的“银行”(河)和“银行”(金融机构)的示例中使用了它。
作为金融机构,围绕银行主题的内容很可能包含有关金融主题的字词,而不是河流或钓鱼等主题,或者链接到有关金融的页面。
因此,“银行”公司是“金融”,“现金”,“支票”等。
知识图和存储库
每当提到语义搜索和实体时,我们可能会立即想到搜索引擎知识图和结构化数据,但是自然语言理解并不是结构化数据。
但是,结构化的数据通过分布相似性消除歧义,使搜索引擎更容易理解自然语言,因为单词的“公司”会指示内容的主题。
实体之间的关系及其映射到知识图并与唯一概念ID绑定的关系之间的联系牢固(例如,架构和结构化数据)。
此外,由于自然语言处理,以实体确定的形式(在文本正文中确定要引用两个或更多个相同名称的实体中的哪个),使实体理解的某些部分成为可能。不会自动明确。
在一段文字中提及“莫扎特”一词很可能意味着作曲家“莫扎特”,“莫扎特”咖啡馆,“莫扎特”街道,并且有许多人和地方彼此同名。
大部分网络根本没有结构化。 当考虑整个网络时,即使是半结构化数据(如语义标题,项目符号和编号列表以及表格数据)也只占其中很小的一部分。 在句子,词组和段落中存在大量松散的歧义文本。
自然语言处理是关于理解所有“已知”(实体)“事物”之间句子,短语和段落中松散的非结构化文本。 实体之间热乱中的一种“缺口填补”形式。 相似性和相关性以及分布相似性)对此有所帮助。
关联性可以弱也可以强
虽然实体的节点和边缘之间的数据连接以及它们之间的关系很牢固,但是可以说相似性较弱,而关联性仍然较弱。 关联甚至可以被认为是模糊的。
苹果和梨之间作为“ isA”事物的相似性关联要强于“果皮”,“吃”,“核心”与苹果的关联性关联,因为这很容易成为另一个去皮并带有核心的水果。
仅仅通过看到“果皮”,“吃”和“核心”这两个词,就不能将苹果真正地识别为清晰的“东西”。 但是,相关性确实提供了缩小内容附近“事物”类型的提示。
计算语言学
许多“填补空白”的自然语言研究可以被认为是计算语言学。 一个结合了数学,物理和语言的领域,尤其是线性代数和向量以及幂定律。
自然语言和分布频率总体上具有许多无法解释的现象(例如Zipf之谜),并且有几篇关于单词“奇怪”和语言使用的论文。
总体而言,很多语言可以通过数学计算来解决,这些数学计算围绕着单词共同生活的地方(他们住的公司),这构成了搜索引擎开始解决自然语言挑战(包括BERT更新)的很大一部分。 。
词嵌入和共现向量
简而言之,单词嵌入是一种在数学空间中识别和聚类的数学方法,这些单词在现实世界中的文本**(彼此称为文本语料库)中彼此“生活”在一起。 例如,《战争与和平》一书就是一个大型文本语料库的一个例子,****也是这样。
词嵌入只是词的数学表示,通常只要在文本正文中发现它们,它们就会彼此靠近,并使用实数映射到向量(数学空间)上。
这些词嵌入采用共现,相关性和分布相似性的概念,将词简单映射到其公司并存储在共现向量空间中。 然后,计算语言学家会在各种自然语言理解任务中使用向量“数字”,以尝试教机器人类如何基于彼此接近的单词来使用语言。
WordSim353数据集示例
我们知道,与这些共现向量和单词嵌入相似和相关的方法已经成为Google对话搜索研究小组成员研究单词含义的研究的一部分。
例如,“使用基于分布和基于WordNet的方法进行的相似性和相关性研究”,它利用Wordsim353数据集来理解分布的相似性。
数据集中的这种相似性和相关性用于构建映射到文本主体中的数学空间(向量)的“单词嵌入”。
这是一个很小的单词示例,这些单词通常一起出现在Wordsim353数据集中的内容中,该单词也可以Zip格式下载,以供进一步研究。 由评分员提供的评分,右栏中的得分基于左栏中和中间栏中两个单词的相似程度。
钱 | 现金 | 9.15 |
海岸 | 支撑 | 9.1 |
钱 | 现金 | 9.08 |
钱 | 货币 | 9.04 |
足球 | 足球 | 9.03 |
魔术师 | 巫师 | 9.02 |
Word2Vec
半监督和无监督机器学习方法现在也已成为这种自然语言学习过程的一部分,该过程具有强大的计算语言学能力。
对神经网络进行训练以了解彼此附近生活的单词,以获取相似性和相关性度量并建立单词嵌入。
然后将它们用于更具体的自然语言理解任务中,以教机器人类如何理解语言。
Google的Word2Vec是使用文本作为输入而向量作为输出来创建这些数学同现向量空间的流行工具。 Word2Vec的输出可以创建一个矢量文件,该矢量文件可用于许多不同类型的自然语言处理任务。
Word2Vec的两种主要机器学习方法是“跳过图”和“连续词袋”。
跳过语法模型预测目标单词(目标)周围的单词(上下文),而连续词袋模型则根据目标单词(上下文)周围的单词预测目标单词。
通过移动的“上下文窗口”向这些无监督学习模型提供单词对,并在目标单词周围添加多个单词。 目标词不必位于“上下文窗口”的中央,“上下文窗口”由给定数量的周围单词组成,但可以位于上下文窗口的左侧或右侧。
需要注意的重要一点是,移动上下文窗口是单向的。 即,窗口仅在一个方向(从左到右或从右到左)上移动单词。
词性标记
旨在教授神经网络人类语言的计算语言学的另一个重要部分涉及将培训文档中的单词映射到不同的词性。 这些词性包括名词,形容词,动词和代词之类的词。
语言学家将词性的许多部分扩展到了越来越精细的范围,远远超出了我们都知道的常见词性,例如名词,动词和形容词。这些词性的扩展部分包括VBP(动词,非第三人称单数形式的礼物),VBZ(动词,第三人称单数形式的礼物)和PRP $(所有代词)。
可以使用许多具有不同单词含义粒度的标记器将词的词性以词性形式标记为词性,例如,Penn Treebank Tagger具有36个不同的词性标记,而CLAWS7词性标记器具有多达146个不同的语音标记部分。
例如,由Google的语言学家组成的Google Pygmalion团队从事对话搜索和助手工作,他们将语音标记的一部分用作训练神经网络的一部分,以生成特征片段和句子压缩中的答案。
通过理解给定句子中的词性,机器可以开始理解人类语言的工作方式,特别是出于对话搜索和对话上下文的目的。
为了说明这一点,我们可以从下面的示例“词性”标记器中看到以下句子:
“ Search Engine Land是在线搜索行业新闻出版物。”
当突出显示为不同的词性时,这被标记为“名词/名词/名词/动词/确定语/形容词/名词/名词/名词/名词”。