1. 词向量
以下为常见两种词向量形式
- 1-of-N Encoding (one hot):独热编码, 词汇是独立的,通过0-1向量表示,涉及的向量维度会很大 ;
- Embedding:根据词汇的上下文将词汇表达成向量,语义相似的词汇对应的向量较为接近,传统一个word token对应一个embedding,但同一个词汇在不同语句中可有多重含义,我们希望每个不同的word token在不同语境下赋予给不同的emdeding。
2. ELMO:
ELMO全拼为Embeddings from language Model Transform,其目标为了给每个不同的word token赋予不同的embedding,而相同的token在不同语境下也会有不同的embedding。
以“把 你 的 包袱 拿 好…”为例:我们通过大量的语料训练模型,希望当给RNN-based模型输入BOS(begin of sentence)标记时,模型能输出下一个词“把”, 当给模型输入“把”时,模型能输出下一个词“你”,两句中的“包袱”经过RNN-based模型在这个过程中都产生的word embedding,虽然都是“包袱”,但两句中的包袱对应的词向量不同,因为这里的word embedding在训练过程中考虑句子的上下文。
图一为单向的RNN-based model,图二展示了双向的RNN-based model,这样对于每个token,则会对应两个embedding,ELMO通过将两个token结合得到该token的embedding,但往往模型会涉及多层,而每层都会涉及embedding。
图一:单向RNN