为什么单词预测是自然语言处理中的一种痴迷?

数据挖掘 nlp 伯特
2021-09-25 15:10:44

我听说BERT在掩蔽词预测方面非常出色,即从句子中预测缺失的单词。

在一篇关于 BERT 的 Medium 帖子中,它说:

语言模型的基本任务是预测空白中的单词,或者预测单词在特定上下文中出现的概率。让我们再举一个例子:

“巴塞罗那足球俱乐部是_____俱乐部”

事实上,我最近听说过SpanBERT,它“旨在更好地表示和预测文本的跨度”。

我不明白的是:为什么?

  1. 我想不出人类需要执行此任务的任何常见原因,更不用说为什么需要自动化了。
  2. 这似乎不是一项特别容易评估模型成功与否的任务。例如,

我的___很冷

这可能是一些可能的词。如何期望 BERT 能够做到这一点,以及如何期望人类或其他算法来评估“汤”是否比“咖啡”更好?

显然有很多聪明人认为这很重要,所以我承认我缺乏理解可能是基于我自己的无知。是不是这个任务本身不重要,而是代表其他任务的能力?

我错过了什么?

1个回答

BERT 摘要的第一行是

我们引入了一种新的语言表示模型,称为 BERT。

这里的关键词是“语言表示模型”。BERT 和 Word2Vec 等其他自然语言处理模型的目的是提供单词的向量表示,以便向量可以用作其他任务的神经网络的输入。

关于这个领域有两个概念需要掌握;词的向量表示和迁移学习。你可以在网上找到关于这两个主题的大量信息,但我会给出一个简短的总结。

如何期望 BERT 能够做到这一点,以及如何期望人类或其他算法来评估“汤”是否比“咖啡”更好?

这种歧义是单词预测的强项,而不是弱点。为了将语言输入神经网络,必须以某种方式将单词转换为数字。一种方法是简单的分类嵌入,其中第一个单词“a”映射到 1,第二个单词“aardvark”映射到 2,依此类推。但在这种表示中,意义相似的单词不会映射到相似的数字。正如您所说,与所有英语单词相比,“汤”和“咖啡”具有相似的含义(它们都是名词、液体、通常热食的食物/饮料类型,因此我都可以对缺失的单词做出有效的预测) ,那么如果它们的数值表示也彼此相似,那不是很好吗?

这就是向量表示的思想。不是将每个单词映射到单个数字,而是将每个单词映射到数百个数字的向量,并将具有相似含义的单词映射到相似向量。

第二个概念是迁移学习。在许多情况下,您要执行的任务只有少量数据,但相关但不太重要的任务却有大量数据。迁移学习的想法是在不太重要的任务上训练神经网络,并将学到的信息应用于您真正关心的其他任务。

正如 BERT 摘要的后半部分所述,

...预训练的 BERT 模型可以通过一个额外的输出层进行微调,从而为各种任务(例如问答和语言推理)创建最先进的模型,而无需对特定于任务的架构进行大量修改。

总而言之,您的问题的答案是人们不关心掩蔽词预测任务本身。这项任务的优势在于,有大量数据可供随时免费训练(BERT 使用了整个维基百科,带有随机选择的掩码),并且该任务与其他需要解释的自然语言处理任务相关词的意思。BERT 和其他语言表示模型学习单词的向量嵌入,并通过迁移学习将此信息传递给您真正关心的任何其他下游任务。