什么是词嵌入| Word Embedding

本文参考:词嵌入

*解释

In natural language processing (NLP), word embedding is a term used for the representation of words for text analysis, typically in the form of a real-valued vector that encodes the meaning of the word such that the words that are closer in the vector space are expected to be similar in meaning.[1] Word embeddings can be obtained using a set of language modeling and feature learning techniques where words or phrases from the vocabulary are mapped to vectors of real numbers. Conceptually it involves the mathematical embedding from space with many dimensions per word to a continuous vector space with a much lower dimension.

Methods to generate this mapping include neural networks,[2] dimensionality reduction on the word co-occurrence matrix,[3][4][5] probabilistic models,[6] explainable knowledge base method,[7] and explicit representation in terms of the context in which words appear.[8]

Word and phrase embeddings, when used as the underlying input representation, have been shown to boost the performance in NLP tasks such as syntactic parsing[9] and sentiment analysis.[10]

【In Chinese】:
Word embedding 是自然语言处理中的重要环节,它是一些语言处理模型的统称,并不具体指某种算法或模型。Word embedding 的任务是把词转换成可以计算的向量 。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。

生成这种映射的方法包括神经网络,单词共生矩阵的降维,概率模型,可解释的知识库方法,和术语的显式表示单词出现的上下文。

当用作底层输入表示时,单词和短语嵌入已经被证明可以提高NLP任务的性能,例如句法分析和情感分析。

计算机如何表示文本

计算机不能像人类一样抽象地理解文本,所以必须转换成计算机计算机能理解的语言——数字。其中向量就是这么一个很好的桥梁。所以,要让计算机处理文本这种结构化数据,必须将其转变为向量这种结构化数据。

文本表示方法

  1. 独热编码 | one-hot representation
  2. 整数编码
  3. 词嵌入 | word embedding (word2vec,GloVe,…)

One-Hot 编码

参考原文或其他文章,用烂的技术,下图出自参考原文什么是词嵌入| Word Embedding
缺点:

  1. 无法表达词语之间的关系
  2. 这种过于稀疏的向量,导致计算和存储的效率都不高

整数编码

顾名思义就是用一个整数来编码信息
缺点:

  1. 无法表达词语之间的关系
  2. 对于模型解释而言,整数编码可能具有挑战性

词嵌入|word embedding

word embedding 是文本表示的一类方法。跟 one-hot 编码和整数编码的目的一样,不过​他有更多的优点。

词嵌入并不特指某个具体的算法,跟上面2种方式相比,这种方法有几个明显的优势:

  1. 他可以将文本通过一个低维向量来表达,不像 one-hot 那么长(one-hot只用0/1来编码,向量显然每一位都有10个数字,显然能表示更多的信息)
  2. 语意相似的词在向量空间上也会比较相近(语义相近的词语,通过相同算法提取出来的特征词向量,在向量空间上不能说一定重合,但至少方向上是一致的)
  3. 通用性很强,可以用在不同的任务中(计算机通过向量理解文本信息,甚至图片、语音等信息,通过向量这个桥梁,可以打通不同模态的关系,可以参考多模态信息处理)

主流的word embedding算法

Word2vec
这是一种基于统计方法来获得词向量的方法,他是 2013 年由谷歌的 Mikolov 提出了一套新的词嵌入方法。
两种训练模式
1、通过上下文来预测当前词
2、通过当前词来预测上下文
想要详细了解 Word2vec,可以看看这篇文章:《一文看懂 Word2vec(基本概念+2种训练模型+5个优缺点)

GloVe
GloVe 是对 Word2vec 方法的扩展,它将全局统计和 Word2vec 的基于上下文的学习结合了起来。

想要了解 GloVe 的 三步实现方式、训练方法、和 w2c 的比较。可以看看这篇文章:《GloVe详解

上一篇:AI上推荐 之 FiBiNET模型(特征重要性选择与双线性特征交叉)


下一篇:嵌入(embedding)层的理解