Kerasで使用するためのトレーニング済み単語埋め込み(Gensim)内の不明な単語
Dec 19 2020
GENSIM(word2vec)を使用して単語の埋め込みをトレーニングし、トレーニングされたモデルをKERASのニューラルネットワークで使用します。未知の(語彙外の)単語があると問題が発生し、その特定の単語の重みを見つけることができないため、ニューラルネットワークが機能しなくなります。この問題を解決する1つの方法は<unk>
、ゼロの重み(またはランダムな重み?どちらが良いですか?)を埋め込んだ事前トレーニング済みの単語に新しい単語()を追加することだと思います。このアプローチは問題ありませんか?また、この単語の埋め込みでは、重みはこのニューラルネットワークでトレーニングできません。
回答
1 gojomo Dec 20 2020 at 04:17
最も一般的なのは、未知の単語を無視することです。(それらをプラグワードまたは原点ベクトルのいずれかに置き換えると、より歪んでしまいます。)
FastText
代わりに、トレーニング中に作成された文字とグラムのベクトルから、語彙外の単語の推測ベクトルを常に合成するモードのトレーニングを検討することもできます。(これらの合成ベクトルは、特に単語の語根が関連する単語と重複している場合は、何もないよりも優れていることがよくありますが、関連するすべての単語の使用例を含むトレーニングデータを多く取得する方が優れており、まれな未知の単語を単に無視することはそれほど悪くありません。)