読み方 : エルモ
ELMo【Embeddings from Language Models】
概要
ELMoとは、文脈に応じて単語の表現が変化する分散表現を提供する事前学習型の言語モデル。同じ綴りの単語でも文脈によって意味が異なる場合に、それらを別のベクトルとして表現することで、より高度な言語理解を可能にする。

従来のword2vecのような単語埋め込み手法では、一つの単語に対して一つの固定されたベクトルを割り当てていた。このため、「銀行」という意味の「bank」と「土手」という意味の「bank」は、まったく同じ数値として扱われ、モデルの上では区別できないという課題があった。
ELMoは、LSTM(Long Short-Term Memory)を用いた言語モデルを大規模なコーパス(文例データベース)で事前学習し、入力された文章全体を見てから各単語のベクトルを動的に計算する。LSTMは双方向に適用され、単語が出現する前後の文脈情報を考慮して埋め込みを生成することができる。
また、文字単位の畳み込みニューラルネットワーク(CNN)を併用して、後続のLSTMが捉える意味的・構文的な情報を、タスクに合わせて重み付けして統合する。単語単位ではなく文字単位で処理することで、未知語や語形変化、日本語のような分かち書きをせず単語境界が自明でない言語への対応力を高めている。
ELMoは2018年に提案され、文書分類、固有表現認識、質問応答など多様な自然言語処理タスクで性能向上をもたらした。事前学習済みモデルから得られる文脈依存表現を既存モデルに追加するため、特定タスク向けに設計されたモデルの構造を大きく変更せずに導入できる。単語を固定的な記号としてではなく、文脈の中で変化する動的な存在として捉える発想は、その後のBERTなどTransformerベースのモデルにも影響を与えた。