我正在自学深度学习在 NLP 和机器翻译上的应用。
我对“语言模型”、“词嵌入”、“BLEU 分数”的概念感到困惑。
在我看来,语言模型是一种根据前一个单词预测下一个单词的方法。Word2vec 是两个标记之间的相似度。BLEU 分数是衡量语言模型有效性的一种方法。
我的理解正确吗?如果没有,有人可以指点我正确的文章、论文或任何其他在线资源吗?
我正在自学深度学习在 NLP 和机器翻译上的应用。
我对“语言模型”、“词嵌入”、“BLEU 分数”的概念感到困惑。
在我看来,语言模型是一种根据前一个单词预测下一个单词的方法。Word2vec 是两个标记之间的相似度。BLEU 分数是衡量语言模型有效性的一种方法。
我的理解正确吗?如果没有,有人可以指点我正确的文章、论文或任何其他在线资源吗?
简化: Word Embeddings 不考虑上下文,Language Models 考虑。
例如 Word2Vec、GloVe 或 fastText,每个单词存在一个固定向量。
想想以下两句话:
鱼吃了猫。
和
猫吃了鱼。
如果你平均它们的词嵌入,它们将具有相同的向量,但实际上,它们的含义(语义)是非常不同的。
然后上下文化词嵌入的概念出现在考虑上下文的语言模型中,并根据上下文给出不同的嵌入。
词嵌入(例如 Word2Vec)和语言模型(例如 BERT)都是表示文本的方法,其中语言模型捕获更多信息,并被认为是以矢量化格式表示自然语言的最先进技术。
BLEU 评分是一种用于评估已从一种自然语言机器翻译成另一种自然语言的文本质量的算法。这与传统词嵌入和上下文化词嵌入(又名语言模型)之间的差异没有直接关系。
语言模型旨在估计给定周围单词的一个或多个单词的概率。给定一个由以下组成的句子,您可以使用语言模型找到第 i 个缺失的单词。通过这种方式,您可以使用例如条件概率来估计哪个是最可能的词. 一个简单语言模型的示例是一个 n-gram,它不是以所有先前的单词为条件,而是只查看先前的 n 个单词。
词嵌入是一个词的分布式表示。代替使用索引或 one-hot 编码来表示单词,而是使用密集向量。如果两个词具有相似的嵌入,那么这些词共享一些属性。这些属性是由嵌入的构造方式驱动的,例如在 word2vec 中,具有相似嵌入的两个词是经常出现在相同上下文中的两个词,这并不是说它们具有相同的含义。有时,具有相反含义的单词可能具有相似的嵌入,因为它们被放置在相同的句子/上下文中。
BLEU 分数是一种量化自动翻译翻译质量的方法。该分数旨在了解模型翻译与人工翻译有何不同。