word2vecを使用して目に見えない単語を識別し、それらをすでにトレーニングされたデータに関連付ける方法


11

私はword2vec gensimモデルに取り組んでいて、それが本当に面白いと思いました。私は、モデルでチェックしたときに未知の/目に見えない単語が、トレーニングされたモデルから同様の用語を取得できる方法を見つけることに興味があります。

これは可能ですか?これのためにword2vecを微調整できますか?または、トレーニングコーパスには、類似性を見つけたいすべての単語が必要です。

回答:


9

テキストデータを処理するすべてのアルゴリズムには語彙があります。word2vecの場合、語彙は入力コーパス内のすべての単語、または少なくとも最小頻度しきい値を超える単語で構成されます。

アルゴリズムは、語彙の外にある単語を無視する傾向があります。ただし、本質的に語彙外の単語がないように問題をリフレームする方法があります。

単語は単にword2vecの「トークン」であることに注意してください。ngramの場合もあれば、文字の場合もあります。語彙を定義する1つの方法は、少なくともX回出現するすべての単語が語彙にあると言うことです。次に、最も一般的な「音節」(ngramの文字)が語彙に追加されます。次に、個々の文字を語彙に追加します。

このようにして、次のいずれかの単語を定義できます。

  1. あなたの語彙の単語
  2. あなたの語彙の音節のセット
  3. 語彙の文字と音節の組み合わせセット

3

word2vecは単語をアトムとして扱います。不明な単語の意味のあるベクトルを取得するには、次のいずれかを行う必要があります

  • これらの原子が何であるかを変更します。たとえば、jamesmfの回答のように文字のNグラムに切り替えます。
  • 単語の中にあるものを明示的に調べる別のモデルを使用します。たとえば、https://github.com/Leonard-Xu/CWEのCWEモデルは簡単に使用できます。


ええ、私はそれを試しましたが、形態学的セグメンテーションのようなタスクではうまく機能しません。
ガウル


0

単語が語彙にない場合、word2VecとFastTextは失敗します。エラーをスローします。関連する単語のスコアのリストが表示されますが、目に見えない単語は語彙に含まれませんね。それでは、目に見えない単語の問題をどのように解決しますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.