1. 您的位置:首页 > seo技术 >内容

深入了解BERT:BERT如何推动火箭对自然语言的理解

编者注:这篇深入探讨我们高级别常见问题解答的文章只有30分钟的阅读时间,因此请放心! 您将学习BERT进化的背景知识和细微差别,了解该算法如何提高机器对人类语言的理解,以及对SEO的意义以及我们每天所做的工作。

如果您过去一周一直在关注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 Sc​​hmidt早在2009年3月,就在该公司宣布推出其首批语义产品之前。

这标志着从“字符串到事物”的第一个举措,也许是Google面向实体的搜索实现的问世。

埃里克·施密特(Eric Sc​​hmidt)帖子中提到的产品之一是在搜索结果页面中显示的“相关内容”。 提供了“角动量”,“相对论”,“大爆炸”和“量子力学”作为相关项目的示例。

这些项目可以被视为共现项目,它们通过“相关性”以自然语言彼此接近。 这些连接相对松散,但是您可能希望将它们一起存在于网页内容中。

那么搜索引擎如何将这些“相关事物”一起映射?

同现和分布相似

在计算语言学中,共现是这样的想法,即具有相似含义的单词或相关单词在自然语言中趋于彼此非常接近。 换句话说,它们往往在句子和段落或整体的文本中(有时称为语料库)非常接近。

研究单词关系和共现的领域称为“菲斯语言学”,其起源通常与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是在线搜索行业新闻出版物。”

当突出显示为不同的词性时,这被标记为“名词/名词/名词/动词/确定语/形容词/名词/名词/名词/名词”。

语言学习方法的问题

尽管搜索引擎和计算语言学家已经取得了所有进步,但无监督和半监督的方法(如Word2Vec和Google Pygmalion)仍存在许多缺点,无法扩展人类对语言的理解。

可以很容易地看出它们在会话搜索中的进展如何。

皮格马利翁无法进行国际化扩展

对于任何组织而言,使用词性标记的注释来标记训练数据集既耗时又昂贵。 此外,人类并不完美,存在错误和分歧的余地。 在给定的上下文中,特定单词所属的词性可以使语言学家在几个小时内进行辩论。

例如,谷歌的语言学家团队(Google Pygmalion)于2016年在Google助手中工作,由大约100名博士组成。 语言学家。 Google产品经理David Orr在接受Wired Magazine采访时,解释了该公司如何仍需要其博士学位团队。 语言学家以帮助神经网络理解人类语言如何工作的方式标记词性的部分(称为“黄金”数据)。

奥尔(Orr)谈到y格里翁(Pygmalion):

团队涵盖20至30种语言。 但是希望是,像Google这样的公司最终可以过渡到一种更自动化的AI形式,称为“无监督学习”。”

到2019年,Pygmalion团队由全球200名语言学家组成,由常驻人员和代理人员组成,但由于人工标记工作费力而令人沮丧,而且涉及的时间很长,因此并非没有挑战。

在同一《连线》文章中,一家名为Skymind的深度学习公司的创始人Chris Nicholson评论了Google Pygmalion等项目的不可伸缩性,特别是从国际化的角度出发,因为部分语音标记需要进行由世界上所有语言的语言学家所组成,是真正的多语种。

会话搜索的国际化

皮格马利翁(Pygmalion)中涉及的手动标记似乎没有考虑到任何可转换的自然语言现象。 例如,分布频率幂定律Zipfs定律规定,在任何给定语言中,单词的分布频率在其等级上与一个比例成正比,即使对于尚未翻译的语言也是如此。

RNN(递归神经网络)中“上下文窗口”的单向性质

跳过图和连续词袋之类的训练模型是单向的,因为包含目标词的上下文窗口和在其左右两侧的上下文词仅在一个方向上移动。 目标词之后的词尚未出现,因此句子的整个上下文直到最后一个词都是不完整的,这有可能会丢失某些上下文模式。

谈到变压器架构时,Jacob Uszkoreit在Google AI博客上提供了一个很好的例子,说明了单向移动上下文窗口所带来的挑战。

确定句子中“ bank”一词的最可能的含义和适当的表示形式:“我穿过……后到达银行”需要知道句子是否以“ ... road”结尾。 或“ ...河”。

文字衔接缺失

单向训练方法可以防止文本内聚。

就像路德维希·维特根斯坦(Ludwig Wittgenstein)一样,一位哲学家在1953年曾说过:

“单词的含义是它在语言中的使用。”

(维特根斯坦,1953年)

通常,微小的单词和单词组合在一起的方式是带来语言常识的“胶水”。 这种“胶水”整体称为“文本内聚力”。 它是实体和围绕它们的不同词性的组合,它们以特定顺序排列在一起,从而使句子具有结构和含义。 单词在句子或短语中的排列顺序也增加了此上下文。

没有这些周围单词按正确顺序的上下文粘合,单词本身就根本没有任何意义。

由于依赖于共存的句子或短语成员并随之改变上下文,因此随着句子或短语的发展,同一单词的含义也可能发生变化。

此外,语言学家可能会就单词在给定上下文中首先属于哪个特定词性存在不同意见。

让我们以单词“ bucket”为例。 作为人类,我们可以自动将装满水的水桶可视化为“东西”,但是到处都有细微差别。

如果“他踢了水桶”或“我还没有将其从水桶清单上划掉”这句话中出现“桶”一词怎么办? 突然,这个词有了全新的含义。 如果没有与之相关的文字衔接,并且在“水桶”周围通常用很小的话,我们就无法知道水桶是指载水工具还是生命目标清单。

单词嵌入是无上下文的

由Word2Vec之类的单词提供的单词嵌入模型知道这些单词以某种方式共存,但无法理解应在何种上下文中使用它们。 只有将句子中的所有单词都考虑在内时,才能实现真实上下文。 例如,Word2Vec不知道何时河(银行)是正确的上下文或银行(存款)。 虽然后来的模型(例如ELMo)在目标词的左侧和右侧进行了训练,但这些模型是分开执行的,而不是同时查看所有词(在左侧和右侧),并且仍然无法提供真实的上下文。

多义和同义处理不正确

Word2Vec之类的单词嵌入不能正确处理多义和同音异义词。 因为具有多个含义的单个单词仅映射到一个矢量。 因此,有必要进一步消除歧义。 我们知道有很多词具有相同的含义(例如,“ run”具有606种不同的含义),因此这是一个缺点。 如前所述,多义性尤其有问题,因为多义词具有相同的词根起源并且非常细微。

共指解析仍然有问题

搜索引擎仍在努力应对照应和反照法解决这一具有挑战性的问题,这对于会话搜索和助手可能会来回多回合的问题和答案尤其棘手。

对于这些类型的口头查询,能够跟踪引用哪些实体至关重要。

培训数据不足

基于现代深度学习的NLP模型在大量带注释的训练示例上进行训练时,学习效果最佳,并且缺乏训练数据是阻碍整个研究领域的常见问题。

那么,BERT如何帮助提高对搜索引擎语言的了解?

考虑到上述缺点,BERT如何帮助搜索引擎(和其他研究人员)理解语言?

是什么让BERT如此特别?

有许多因素使BERT在搜索及以后如此特别(世界-是的,它作为自然语言处理的研究基础如此之大)。 某些特殊功能可以在BERT的论文标题-BERT:来自变压器的双向编码器表示中找到。

B –双向

E –编码器

R –表示形式

T –变形金刚

但是BERT也为自然语言理解领域带来了其他令人振奋的发展。

这些包括:

  1. 未标记文本的预训练
  2. 双向上下文模型
  3. 变压器架构的使用
  4. 掩盖语言建模
  5. 集中注意力
  6. 文字蕴涵(下一个句子的预测)
  7. 通过上下文开源消除歧义

未标记文本的预训练

BERT的“魔力”是在未标记的文本语料库上进行双向培训,因为多年来在自然语言理解领域,文本收集已由语言学家团队手动标记,将语音的各个部分分配给每个语言部分字。

BERT是第一个使用无监督学习的纯纯文本(来自英语Wikipedia的25亿个单词以上)而不是带有标签的语料库而经过预训练的自然语言框架/体系结构。

先前的模型需要手动标记和构建单词的分布式表示形式(单词嵌入和单词向量),或者需要语音标记器的一部分来识别文本主体中存在的不同类型的单词。 这些过去的方法类似于我们之前在Google Pygmalion中提到的标记。

BERT通过从纯文本的大量内容中理解文本的衔接来学习语言,然后通过对较小的,更具体的自然语言任务进行微调来进一步教育。 BERT也会随着时间的流逝而自学。

双向上下文模型

BERT是第一个深度双向自然语言模型,但这意味着什么?

双向和单向建模

真正的语境理解源于能够同时看到一个句子中的所有单词,并且理解所有单词也如何影响句子中其他单词的上下文。

特定单词所属的词性会随着句子的发展而实际变化。

例如,尽管不太可能成为查询,但是如果我们采用很可能出现在自然对话中的口头句子(尽管很少):

“我喜欢他喜欢他的方式。”

随着句子的发展,单词“ like”所涉及的词性随着语境围绕单词的每次提及而变化,因此单词“ like”尽管在文本上是同一个词,但在上下文中却是取决于词性的不同部分它在句子或短语中的位置。

过去的自然语言训练模型是单向训练的。 在上下文窗口中单词的含义从左到右或从右到左移动,目标单词周围有给定数量的单词(单词的上下文或“这是公司”)。 这意味着尚未在上下文中看到的单词不能在句子中被考虑,它们实际上可能会改变自然语言中其他单词的含义。 因此,单向移动上下文窗口可能会丢失一些重要的不断变化的上下文。

例如,在句子中:

“黎明,你好吗?”

“ are”一词可能是目标词,而“ are”的左上下文是“ Dawn,how”。 该词的正确上下文是“您”。

BERT能够以人类看待整个句子上下文的方式,而不是只看其一部分,从而同时看待目标词和整个句子的两侧。 可以在上下文中同时考虑目标词的左侧和右侧的整个句子。

变压器/变压器架构

自然语言理解中的大多数任务都基于概率预测。 该句子与下一个句子相关的可能性是多少,或者该词是该句子的一部分的可能性是什么? BERT的体系结构和掩盖的语言建模预测系统部分设计用于识别歧义词,这些词会改变句子和短语的含义并识别正确的单词。 BERT的系统使学习越来越深入。

Transformer在句子或短语中所有其他单词的上下文中对单词使用固定,否则句子可能会变得模棱两可。

这种固定的注意力来自一篇名为“注意力就是您所需要的一切”(Vaswani等人,2017)的论文,该论文比BERT研究论文早一年出版,然后将变压器应用内置到BERT研究中。

本质上,BERT可以通过将注意力集中在句子中的给定单词上,同时识别与该单词相关的其他单词的所有上下文,从而查看文本衔接中的所有上下文。 这是通过结合双向预训练的变压器同时实现的。

这有助于解决自然语言理解方面的许多长期语言挑战,包括共指解析。 这是因为实体可以作为目标词集中在句子中,而将它们的代名词或引用它们的名词短语分解回句子或短语中的一个或多个实体。

这样,在特定过程中,具体涉及谁或什么的概念和上下文就不会丢失。

此外,通过利用基于单词的整个上下文和句子中所有其他单词的概率预测/权重,集中注意力还有助于消除多义单词和同音异义词的歧义。 给其他单词一个加权的注意力分数,以表示每个单词在目标单词的上下文中增加多少作为“含义”的表示。 在有关“银行”的句子中添加诸如“存款”之类的明显歧义的上下文时,将在有关“银行”(金融机构)的句子中给予更多权重,以将代表环境解析为金融机构的代表环境。

BERT名称的编码器表示形式是变压器体系结构的一部分。 编码器是翻译成单词含义的句子输入,解码器是以上下文形式输出的经过处理的文本。

在下图中,我们可以看到“它”与“ the”和“ animal”紧密相连,从而将对“动物”的引用解析为“ it”,作为回指的解析。

这种固定方式还有助于改变单词在句子中的顺序,因为我们知道同一个单词根据其上下文可能是不同的词性。

Google下面提供的示例说明了语音不同部分和单词类别歧义消除的重要性。 尽管是一个很小的词,但在短语或句子的整个上下文中将“ to”一词考虑在内后,它会完全改变查询的含义。

屏蔽语言建模(MLM培训)

也称为“完工程序”,已经存在很长时间了。 BERT体系结构分析带有某些单词的句子,这些单词被随机掩盖,并尝试正确预测“隐藏”单词是什么。

这样做的目的是为了防止在训练过程中通过BERT变压器体系结构的目标词在组合训练中同时查看所有词时在双向训练过程中无意间看到自己。 就是它避免了自然语言机器学习中的一种错误的无限循环,这种错误循环会扭曲单词的含义。

文字蕴涵(下一个句子的预测)

BERT的主要创新之一是它应该能够预测您接下来要说的话,或者就像《****》在2018年10月所说的那样:“最后,一台可以完成您的句子的机器。”

BERT受过训练,可以从成对的句子中预测所提供的第二个句子是否适合文本语料库。

注意:在过去的一年中,似乎该功能在原始BERT模型中被认为是不可靠的,并且已经开发了其他开放源代码产品来解决此缺陷。 Google的ALBERT解决了此问题。

文字蕴含是“接下来会发生什么?”的一种。 在正文中。 除了文本含义外,该概念也称为“下一句预测”。 文字蕴含是涉及成对句子的自然语言处理任务。 分析第一个句子,然后确定置信度,以预测该对中的给定第二个假设句子在逻辑上“适合”适合的下一个句子,或者从文本中得出肯定,否定或中性的预测接受审查。

以下是来自****的每种文本蕴涵预测类型(中性/肯定/否定)的三个示例。 文本蕴含示例(来源:****)

正TE(文本包含假设)的示例是:

文字:如果您帮助有需要的人,上帝会奖励您。

假设:给穷人钱有很好的后果

否定TE(文本与假设相反)的示例是:

文字:如果您帮助有需要的人,上帝会奖励您。

假设:给穷人捐钱没有任何后果。

非TE的示例(文本既不包含也不矛盾)是:

文字:如果您帮助有需要的人,上帝会奖励您。

假设:把钱给一个穷人会使你变得更好。

开源贡献消除歧义突破

BERT不仅凭空出现,而且BERT也不是普通的算法更新,因为BERT也是一个开源自然语言理解框架。

突破性的“从开源贡献支持的上下文中消除歧义”可以用来概括BERT对自然语言理解的主要增值。 除了是五年(或有史以来)谷歌搜索系统的最大变化之外,BERT还可能代表着有史以来计算机对自然语言的上下文理解不断增长的最大飞跃。

尽管Google BERT可能是SEO领域的新手,但它在NLU领域中广为人知,并且在过去12个月中引起了极大的兴趣。 BERT不仅在Google的许多类型的自然语言理解任务上都提供了曲棍球棒的改进,而且无数的工业和学术研究人员都希望在他们的工作乃至商业应用中利用语言理解。

在BERT研究论文发表后,Google宣布将开放原始香草BERT。 自出版以来的12个月内,原始BERT论文在撰写本文时已被进一步研究引用1,997次。

现在存在许多不同类型的BERT模型,远远超出了Google搜索的范围。

在Google Scholar中搜索Google BERT会返回数以千计的2019年发表的关于BERT的研究论文条目,其中有多种方式,而BERT现在已被用于自然语言的所有研究方式中。

研究论文遍历语言任务,领域垂直领域(例如临床领域),媒体类型(视频,图像)以及多种语言的折衷组合。 BERT的用例范围很广,从使用BERT和SVM识别攻击性推文到将BERT和CNN用于Reddit上的俄罗斯巨魔检测,再到根据IMDB的情感分析通过预测影片进行分类,或预测问答中的下一个句子配对作为数据集的一部分。

通过这种开放源代码方法,BERT为解决任何长期存在的语言学问题提供了很长的路要走,只需为有思想的人提供一个微调的强大基础即可。 该代码库可从Google研究团队的Github页面下载。

通过将Vanilla BERT作为出色的“十个起点”跳板供机器学习爱好者使用,Google帮助推动了最先进的(SOTA)自然语言理解任务的界限。 可以将Vanilla BERT比作CMS插件,主题或模块,这为特定功能提供了坚实的基础,但可以进行进一步开发。 另一个更简单的相似之处可能是,例如将BERT的预培训和微调部分供机器学习工程师使用,从高街商店购买现成的西服,然后拜访裁缝来整理下摆,这样就很适合在更独特的需求水平上。

当Vanilla BERT接受预训练时(在Wikipedia和Brown语料库上),研究人员仅需要几个时期就可以在已训练的模型之上微调自己的模型和其他参数(使用新的训练模型进行循环/迭代)包括微调的元素)。

在BERT于2018年10月发布时,纸质出版物BERT突破了11种不同类型的自然语言理解任务的最先进基准(SOTA),其中包括问答,情感分析,命名实体确定,情感分类和分析,句子对-匹配和自然语言推论。

此外,BERT可能已经开始成为最先进的自然语言框架,但是很快其他研究人员,包括来自其他以AI为中心的大型公司,例如Microsoft,IBM和Facebook的研究人员,就采用了BERT并将其扩展到生产他们自己的创纪录的开源贡献。 随后,自BERT发布以来,除BERT以外的其他型号均成为最新技术。

Facebook的Liu等人以自己的扩展到BERT – RoBERTa的版本进入了BERTathon。 声称原始的BERT受到了严重的训练不足,并声称在此之前对BERT的任何其他模型版本进行了改进和击败。

微软还通过MT-DNN击败了最初的BERT,在他们于2015年提出的模型上进行了扩展,但增加了BERT的双向预训练架构以进一步改进。

还有许多其他基于BERT的模型,包括Google自己的XLNet和ALBERT(丰田和Google),IBM的BERT-mtl,甚至现在出现的Google T5。

该领域竞争激烈,NLU机器学习工程师团队相互竞争,并在公共排行榜上进行非专业的人类理解基准测试,这为该领域增加了游戏化的元素。

最受欢迎的排行榜包括竞争非常激烈的SQuAD和GLUE。

SQuAD代表The Stanford Question and Answering Dataset(斯坦福问答数据库),该数据集基于基于Wikipedia文章的问题以及众筹人员提供的答案而构建。

数据集的当前SQuAD 2.0版本是第二次创建的迭代,因为SQuAD 1.1几乎被自然语言研究人员所击败。 第二代数据集SQuAD 2.0代表了较难的问题数据集,并且在数据集中还包含有意的对抗性问题(没有答案的问题)。 对抗性问题包含背后的逻辑是有意的,旨在训练模型以学习知道他们不知道的内容(即无法回答的问题)。

GLUE是“通用语言理解评估”数据集和排行榜。 SuperGLUE是第二代GLUE,因为GLUE再次变得太容易以至于无法被机器学习模型击败。

机器学习领域的大多数公共排行榜都与学术论文加倍,并伴随着丰富的问答数据库,供竞争者微调其模型。 例如,MS MARCO是Microsoft发表的学术论文,数据集和随附的排行榜; 又名Microsoft机器读取COmprehension数据集。

MSMARCO数据集由超过一百万的实际Bing用户查询和超过18万种自然语言答案组成。 任何研究人员都可以利用此数据集微调模型。

效率和计算费用

可以回忆起2018年底至2019年是狂暴的公众排行榜跃升之年,以创建当前最先进的自然语言机器学习模型。

随着争夺各种先进排行榜顶部的竞争日趋白热化,模型的机器学习工程师的规模和所增加的参数数量也随之增加,这是基于人们相信更多数据会提高准确性的可能性。 但是,随着模型大小的增加,进行微调和进一步培训所需的资源大小也随之增加,这显然是不可持续的开源途径。

Hugging Face(一个旨在促进AI持续民主的组织)的Victor Sanh谈到了新模型规模急剧增加的问题:

“ Nvidia的最新模型具有83亿个参数:比BERT-large大24倍,比GPT-2大5倍,而Facebook AI的最新作品RoBERTa则接受了160GB的文本训练”

为了说明原始BERT大小-BERT-Base和BERT-Large,其参数数量是BERT-Base的3倍。

BERT基础,带盒:12层,隐藏768、12头,110M参数。 BERT大号,带盒:24层,1024隐藏,16头,340M参数。

成本和数据规模的不断增长意味着需要构建一些效率更高,计算量和财务成本更低的模型。

欢迎使用Google ALBERT,Hugging Face DistilBERT和FastBERT

谷歌的ALBERT于2019年9月发布,是谷歌AI与丰田研究团队的联合工作。 ALBERT被认为是BERT的自然继承者,因为它还可以在许多自然语言处理任务中获得最先进的成绩,但能够以更加高效且计算成本更低的方式实现这些成绩。

大型ALBERT的参数比BERT-Large少18倍。 与BERT相比,ALBERT的主要突出创新之一就是修复了下一句预测任务,事实证明,由于一年四季BERT都受到开源领域的严格审查,因此下一句子预测任务是不可靠的。

在撰写本文时,我们可以在SQuAD 2.0上看到ALBERT是目前领先的SOTA模型。 ALBERT比原始BERT更快,更精简,并且在许多自然语言处理任务上也达到了最先进的水平(SOTA)。

最近推出的其他注重效率和预算,按比例缩小的BERT类型模型是DistilBERT,据称它更小,更轻,更便宜,更快,并且具有FastBERT。

那么,BERT对SEO意味着什么?

BERT在SEO中可能被称为算法更新,但实际上,它是多层系统的“应用程序”,它能够理解多义性的细微差别,并且能够更好地解析自然语言中有关“事物”的共同引用。通过自我学习进行调整。

BERT的全部目的是提高对机器的人类语言理解。 从搜索角度看,这可以是搜索引擎用户发出的书面或口头查询,而在内容搜索引擎中则可以收集和索引。 搜索中的BERT主要是解决自然语言中的语言歧义。 BERT提供的文本衔接通常来自提供结构和含义的句子中的小细节。

BERT不是像Penguin或Panda这样的算法更新,因为BERT不会对网页做出负面或正面的判断,而是会更好地理解人类对Google搜索的语言。 这样一来,Google就可以更全面地了解所遇到页面上内容的含义,而且用户在考虑单词的全部上下文的情况下发出的查询也是如此。

BERT是关于句子和短语的

歧义不是在单词级别上,而是在句子级别上,因为它涉及具有多种含义的单词的组合,从而导致歧义。

BERT有助于多义解析

Google BERT帮助Google搜索理解“文本内聚”,并消除短语和句子中的歧义,尤其是在多义性细微差别可能会改变单词的上下文含义的地方。

尤其是,如Google示例中提供的具有多种含义的多义词和同音异义词的细微差别,例如“至”,“两个”,“至”以及“站立”和“站立”,都说明了这种细微差别。在搜索中被遗漏或被误解了。

含糊不清的查询受到影响

BERT会影响的搜索查询的10%可能是非常细微的查询,这是由于文本衔接和歧义消除的上下文关联得到了改善。 此外,这很可能会影响对Google每天看到的15%的新查询中的更多信息的了解,其中许多与现实事件和突发性/时间查询有关,而不仅仅是长尾查询。

召回率和精度受影响(印象?)

模棱两可的查询会议的准确性可能会大大提高,这可能意味着查询扩展和放松以包括更多结果(召回)可能会减少。

精度是对结果质量的一种度量,而回忆仅涉及返回与查询相关的任何页面。

我们可能会在Google Search Console中看到的印象数中反映出这种召回率的下降,特别是对于内容较长的页面,这些页面当前可能因与它们无关的查询而被召回。

BERT将帮助解决共指问题

BERT(研究论文和语言模型)具有共指解析的功能,意味着当代词和名词短语引用实体时,Google算法可能会帮助Google搜索跟踪实体。

BERT的注意力机制能够专注于关注的实体,并使用概率确定/得分将句子和短语中的所有引用解析为该引用。

Google的“他”,“她”,“他们”,“它”等代词将更容易在内容和查询(口头和书面文字)中相互映射。

对于较长的段落(在文本中引用了多个实体)以用于特征代码段生成和语音搜索答案提取/会话搜索,这可能尤其重要。

BERT有多种用途

Google BERT可能被认为是用于Google搜索的瑞士军刀类型的工具。

BERT为Google搜索提供了坚实的语言基础,可以不断地调整和调整权重和参数,因为可以执行许多不同类型的自然语言理解任务。

任务可能包括:

  • 共指解析(跟踪句子或短语在上下文中或广泛的会话查询中指的是谁或什么)
  • 多义解析(处理含糊不清的细微差别)
  • 同音异义词解析(处理听起来相同但含义不同的单词)
  • 命名实体确定(了解许多命名实体中与文本相关的内容,因为命名实体识别未被命名实体确定或消除歧义)或许多其他任务之一。
  • 文字蕴涵(下一个句子的预测)

BERT对于对话搜索和助手将是巨大的

随着Google的实践模式继续通过更多的查询和句子对进行自学,可以期待与会话搜索的相关性方面的飞跃。

这些飞跃可能不仅会出现在英语中,而且很快也会出现在国际语言中,因为BERT中有一个前馈学习元素,似乎可以转移到其他语言。

BERT可能会帮助Google扩展会话搜索

预计在短期到中期,语音搜索的应用将发生巨大的飞跃,但是由于皮格马利翁的手动过程阻碍了建立语言理解的繁重工作,因此已经不复存在。

之前引用的2016 Wired文章以AI自动化,无监督学习的定义结束,该定义可能会取代Google Pygmalion并创建一种可扩展的方法来训练神经网络:

“这是机器从未标记的数据中学习的时候-大量的数字信息是从互联网和其他来源中选出的。”

(有线,2016年)

听起来像Google BERT。

我们也知道Pygmalion也在创建特色片段。

虽然目前尚不清楚BERT是否会对Pygmalion的存在和工作量产生影响,也不清楚是否会以与以前相同的方式生成特色代码段,但Google宣布BERT将用于特色代码段,并已在纯大文本上进行了预训练语料库。

此外,BERT类型基础的自学习特性会不断地提供查询和检索响应,以及精选的代码片段自然会使学习向前发展,甚至变得更加微调。

因此,BERT可以为Pygmalion繁重的工作提供潜在的,可扩展的替代方案。

国际SEO也可能会大大受益

BERT的主要影响之一可能是在国际搜索领域,因为BERT用一种语言学习的知识似乎也对其他语言和领域具有可转移的价值。

开箱即用的BERT似乎具有某种多语言属性,该属性以某种方式从单语言(单语言理解)语料库派生而来,然后以M-BERT(多语言BERT)的形式扩展到104种语言。

Pires,Schlinger和Garrette的论文对多语言BERT的多语言功能进行了测试,发现它“出人意料地擅长于零镜头跨语言模型传输。” (Pires,Schlinger&Garrette,2019)。 这几乎类似于能够理解您从未见过的语言,因为零镜头学习旨在帮助机器对他们从未见过的对象进行分类。

问题与解答

在SERP中直接提问和回答可能会继续变得更加准确,这可能会导致进一步减少对网站的点击。

以与MSMARCO一样的微调方式,它是来自Bing用户的真实人类问题和答案的真实数据集,随着时间的流逝,Google可能会继续通过真实用户的人类查询和答案来微调其在现实生活搜索中的模型。前瞻性学习。

随着语言的不断理解,谷歌BERT提高的释义理解也可能会影响“同时问人”中的相关查询。

文字蕴涵(下一个句子的预测)

对话搜索的来回,多回合的问题和对助手的回答也可能会从BERT的“文本蕴含”(下一个句子预测)功能中受益匪浅,特别是在查询交换场景中预测“接下来会发生什么”的功能。 但是,这似乎不像一些最初的BERT影响那么快就显现出来。

此外,由于BERT可以理解句子中相同事物的不同含义,因此以一种方式排列所提出的查询并将它们解析为相当于同一事物的答案将变得更加容易。

我问Mohammad Aliannejadi博士有关BERT为对话搜索研究提供的价值。 Aliannejadi博士是一名信息检索研究员,最近为他的博士学位辩护。 对话搜索的研究工作,由“移动信息检索”的作者之一法比奥·克雷斯塔尼(Fabio Crestani)教授指导。

Aliannejadi博士的研究工作的一部分探索了向对话助手询问澄清问题的效果,并在其方**中运用了BERT。

Aliannejadi博士谈到了BERT的价值:

“ BERT代表整个句子,因此它代表了句子的上下文,可以对两个句子之间的语义关系进行建模。 另一个强大的功能是可以在几个纪元内对其进行微调的功能。 因此,您有一个通用的工具,然后针对您的问题进行了具体处理。”

命名实体确定

由微调的BERT模型的相似者承担的自然语言处理任务之一可能是实体确定。 实体确定是从多个具有相同名称的命名实体中选择一个特定的命名实体的可能性。

命名实体识别既不是命名实体歧义消除也不是命名实体确定。

在Reddit上的AMA中,Google的Gary Illyes确认,目前可以将未链接的商标提及用于此命名实体确定目的。

BERT将有助于理解何时识别了命名实体,但可以是彼此具有相同名称的多个命名实体之一。

下面的示例是一个具有相同名称的多个命名实体的示例。 虽然这些实体可以通过名称来识别,但它们需要彼此区分开。 BERT可能会帮助您。

从Wikipedia的搜索中可以看到,“ Harris”一词下方返回了许多名为“ Harris”的命名实体。

BERT可以是BERT,但不是自然界

尚不清楚Google BERT更新是使用原始BERT还是更精简和便宜的ALBERT,还是现在可用的许多模型的另一种混合版本,但是由于可以用比BERT少得多的参数对ALBERT进行微调,因此这可能很有意义。

这很可能意味着算法BERT实际上可能根本不像第一篇发表论文中的原始BERT那样看起来很像,而是一个较新的改进版本,看起来更像其他人旨在(也是开源的)工程上的努力建立最新的SOTA模型。

BERT可以是完全经过重新设计的大规模生产版本,也可以是BERT的计算价格更便宜且经过改进的版本,例如Toyota和Google,ALBERT的共同努力。

此外,由于Google T5小组现在在公共SuperGLUE排行榜上也拥有一个名为T5的模型,因此BERT可能会继续发展为其他模型。

BERT的名字可能是BERT,但本质上不是。

您可以针对BERT优化SEO吗?

可能不会。

BERT的内部工作是复杂且多层的。 因此,Hugging Face团队甚至创建了一个名为“ Bertology”的研究领域。

受到质疑的任何搜索工程师都不太可能解释BERT之类的人对排名(或其他任何方面)做出决定的原因。

此外,由于BERT可以在参数和多个权重之间进行微调,然后以连续循环的无监督前馈方式自学习,因此被认为是黑盒算法。 一种无法解释的AI形式。

人们认为BERT并不总是知道为什么要自己做决定。 那么,SEO如何期望对其进行“优化”呢?

BERT旨在理解自然语言,因此请保持自然。

我们应该继续以与编写和建立人类网站相同的方式,创建引人入胜,引人入胜,信息量丰富且结构合理的内容和网站架构。

改进是在搜索引擎方面,是积极的,而不是消极的。

Google只是简单地理解了句子和词组中文本衔接所提供的上下文粘合,而对BERT自学的细微差别也将变得越来越好。

搜索引擎还有很长的路要走

搜索引擎还有很长的路要走,而BERT只是此过程中改进的一部分,特别是因为单词的上下文与搜索引擎用户的上下文或顺序的信息需求不同,后者是无限地更具挑战性的问题。

SEO仍有大量工作要做,以帮助搜索引擎用户找到合适的方式,并在合适的时间满足正确的信息需求。


本文中表达的观点是来宾作者的观点,不一定是Search Engine Land。 工作人员作者在此处列出。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.botadmin.cn/sylc/10258.html