単語埋め込みは単語をベクトルに写像し、モデルが言語を数値として扱えるようにする。有用な埋め込みでは、類似した文脈で使われる単語が互いに近く配置される。たとえば、catとdogのベクトルは、一般にcatとdatabaseのベクトルよりも類似していることが望ましい。類似度の測定にはコサイン類似度が広く使われる。
分布表現による埋め込みの仕組み #
分布仮説は、多くの埋め込みの基礎となる実用的な考え方である。類似した文脈に出現する単語は、関連する意味を持つ傾向がある。Word2Vec、GloVe、fastTextなどのアルゴリズムは、周辺の単語を予測するか、単語と文脈の統計量を因子分解することで、大規模なテキスト集合からベクトル表現を学習する。
埋め込みは辞書の定義ではない。その幾何学的構造には、曖昧さやバイアスを含む訓練データのパターンが反映される。文脈依存モデルでなければ、bankのベクトルには金融機関と川岸という意味が混在する可能性がある。
静的表現と文脈依存表現 #
静的モデルは、語彙の各項目に1つのベクトルを割り当てる。コンパクトで単純なタスクに有用だが、周囲の文から単語の語義を区別することはできない。
文脈依存言語モデルは、トークンが出現するたびに表現を生成する。Transformerでは、bankの表現が入力の残りの部分に応じて変化する。そのため、文脈依存埋め込みは現代の多くの言語タスクに適しているが、計算コストは高くなる。
A La Carte Embeddings #
A La Carte Embeddingsは、新しい単語やフレーズが出現する文脈から、そのベクトルを導出する手法である。事前学習済みの静的埋め込みの語彙に、ドメイン固有の用語、固有表現、新しく作られた表現が含まれていない場合に特に有用である。
この手法では、事前学習済みの埋め込み空間を出発点とし、文脈ベクトルから対象単語のベクトルへの線形変換を学習する。未知の用語を埋め込むには、その周囲の単語を収集して既知の埋め込みの平均を求め、学習済みの変換を適用する。この方法は、文脈表現と単語表現の間にある系統的な差を変換によって補正するため、文脈の単純平均を使うよりも信頼性が高い。
実践上の考慮事項 #
新しい用語が出現するドメインのコーパスを使用し、必要に応じて用語自体を文脈から除外し、ノイズを減らすために十分な数の多様な例を収集する。A La Carte Embeddingsは静的モデルを低コストで拡張できるが、コーパスに存在しない根拠を作り出したり、曖昧な用法をすべて解決したりすることはできない。
コメント
GitHub で閲覧・コメントする(投稿にはログインが必要です)