作者|ARAVIND PAI 编译|VK 来源|Analytics Vidhya
概述
理解预训练词嵌入的重要性
了解两种流行的预训练词嵌入类型:Word2Vec和GloVe
预训练词嵌入与从头学习嵌入的性能比较
介绍
我们如何让机器理解文本数据?我们知道机器非常擅长处理和处理数字数据,但如果我们向它们提供原始文本数据,它们是不能理解的。
这个想法是创建一个词汇的表示,捕捉它们的含义、语义关系和它们所使用的不同类型的上下文。这就是词嵌入的想法,将文本用数字表示。
预训练词嵌入是当今自然语言处理(NLP)领域中的一个重要组成部分。
但是,问题仍然存在——预训练的单词嵌入是否为我们的NLP模型提供了额外的优势?这是一个重要的问题,你应该知道答案。
因此在本文中,我将阐明预训练词嵌入的重要性。对于一个情感分析问题,我们还将比较预训练词嵌入和从头学习嵌入的性能。
目录
什么是预训练词嵌入?
为什么我们需要预训练的词嵌入?
预训练词嵌入的不同模型?
谷歌的Word2vec
斯坦福的GloVe
案例研究:从头开始学习嵌入与预训练词嵌入
什么是预训练词嵌入?
让我们直接回答一个大问题——预训练词嵌入到底是什么?
预训练词嵌入是在一个任务中学习到的词嵌入,它可以用于解决另一个任务。
这些嵌入在大型数据集上进行训练,保存,然后用于解决其他任务。这就是为什么预训练词嵌入是迁移学习的一种形式。
迁移学习,顾名思义,就是把一项任务的学习成果转移到另一项任务上。学习既可以是权重,也可以是嵌入。在我们这里,学习的是嵌入。因此,这个概念被称为预训练词嵌入。在权重的情况下,这个概念被称为预训练模型。
但是,为什么我们首先需要预训练词嵌入呢?为什么我们不能从零开始学习我们自己的嵌入呢?我将在下一节回答这些问题。
为什么我们需要预训练词嵌入?
预训练词嵌入在大数据集上训练时捕获单词的语义和句法意义。它们能够提高自然语言处理(NLP)模型的性能。这些单词嵌入在竞赛数据中很有用,当然,在现实世界的问题中也很有用。
但是为什么我们不学习我们自己的嵌入呢?好吧,从零开始学习单词嵌入是一个具有挑战性的问题,主要有两个原因:
训练数据稀疏
大量可训练参数
训练数据稀疏
不这样做的主要原因之一是训练数据稀少。大多数现实世界的问题都包含一个包含大量稀有单词的数据集。从这些数据集中学习到的嵌入无法得到单词的正确表示。
为了实现这一点,数据集必须包含丰富的词汇表。
大量可训练参数
其次,从零开始学习嵌入时,可训练参数的数量增加。这会导致训练过程变慢。从零开始学习嵌入也可能会使你对单词的表示方式处于不清楚的状态。
因此,解决上述问题的方法是预训练词嵌入。让我们在下一节讨论不同的预训练词嵌入。