モデル・技術

ELMoとは?語の意味は文脈で変わる——双方向LSTMが与えた文脈埋め込み

読み:エルモ / 英:ELMo(Embeddings from Language Models)

更新日: 読了目安:約6分

ELMoは、2018年に注目された文脈埋め込みの手法です。word2vecが語ごとに固定のベクトルを与えるのに対し、ELMoは双方向LSTMで学習した言語モデルから、その文脈での語の意味をベクトルとして取り出します——本記事は層の結合式の暗記ではなく、「静的埋め込みから動的埋め込みへ」というTransformer前の転換点に焦点を当てます。

固定ベクトルの限界

word2vecは単語の分散表現を学習する古典的手法です(G-335G-344)。「犬」と「子犬」が近いベクトルになる——埋め込みの直感はここから広がりました。

しかし word2vec では「bank」は常に同じベクトルです。川のの bank と、金融機関の bank は文脈で意味が変わるのに、固定ベクトルでは区別できません。ELMoはこの多義語問題に正面から応え、文脈に応じたベクトルを出力します。

文脈で変わる意味

ELMoのキーワードは文脈依存(contextual)です。

方式ベクトルの性質試験での整理
word2vec語ごとに1つの固定ベクトル分散表現の古典(G-335)
ELMo文ごとに変わる動的ベクトル双方向LSTMの文脈埋め込み
BERT文脈で変わる(Transformer)次世代の事前学習(G-337)

同じ語でも、前後の文脈によってベクトルが変わる——これがELMoの本質です。下流タスク(固有表現抽出・感情分類など)では、この動的ベクトルを特徴量として使います。

ELMoのざっくり構造

  1. 文字レベルCNN — 語の綴りから初期表現を得る(未知語への頑健性)
  2. 双方向LSTM — 左から・右からの文脈をそれぞれ処理(G-242
  3. 層の組み合わせ — 各LSTM層の出力を重み付きで合成し、語の埋め込みを生成
  4. 下流タスク — 固定したELMoベクトル+タスク用層でファインチューニング(または重み固定のまま利用)

RNN系列の延長上にあり、G-308が示す長期依存の課題をLSTMで緩和した設計です。現代のLLMTransformerが主役ですが、ELMoは「文脈埋め込み」という概念を広めた橋渡しとして試験に残ります。

word2vec・BERTとの系列

時代代表骨格
〜2013頃word2vec静的分散表現
2018ELMo双方向LSTMの動的埋め込み
2018〜BERTTransformerエンコーダの事前学習(TF-425)
現在LLM大規模デコーダ型生成

ELMo=BERT、ELMo=word2vec——いずれも×です。系列史ではELMo → BERT → LLMと理解すると、すり替えに強くなります。

試験で押さえるポイント

  • 定義 — 双方向LSTMの文脈埋め込み。Transformer前の代表的手法
  • キーワード — 文脈依存・動的埋め込み。固定word2vecとの対比
  • 系譜NLPの表現学習。画像CNN・GANではない
  • すり替え回避 — BERT・LLM・物体検出モデルではない

演習で確認する

G検定:G-335G-344G-337G-242G-308

関連:TF-425G-279

すり替えに注意

誤った説明正しい理解
ELMo=word2vec動的文脈埋め込み vs 固定分散表現
ELMo=BERTLSTM系 vs Transformerエンコーダ
ELMo=LLM特徴抽出 vs 大規模生成モデル
ELMo=CNNNLP vs 画像(G-239)
ELMo=埋め込みモデル全般特定手法名 vs 現代の汎用カテゴリ

よくある質問

ELMoは何をする手法ですか?

事前学習した双方向LSTM言語モデルから、各単語の文脈依存の埋め込みベクトルを取り出し、下流のNLPタスクに渡す手法です。同じ語でも前後の文脈によってベクトルが変わる点が特徴です。

ELMoとword2vecは同じですか?

同じではありません。word2vecは語ごとに固定の分散表現を学習します。ELMoは文脈に応じて語のベクトルが変わる動的な埋め込みです。いずれもNLPの表現学習ですが、文脈の扱い方が異なります。

ELMoとBERTは同じですか?

同じではありません。ELMoは双方向LSTMベースの文脈埋め込み、BERTはTransformerエンコーダによる双方向事前学習モデルです。いずれも文脈を見ますが、系譜とアーキテクチャが異なり、BERTはELMoの後に登場した次世代の代表です。