私はword2vecがまったく新しいので、plsは私と一緒にそれに耐えます。私はテキストファイルのセットを持っています。それぞれに1000〜3000のツイートのセットが含まれています。共通のキーワード( "kw1")を選択し、word2vecを使用して "kw1"に意味的に関連する用語を見つけたいと考えています。たとえば、キーワードが「apple」の場合、入力ファイルに基づいて「ipad」、「os」、「mac」などの関連用語が表示されます。したがって、この「kw1」の関連用語のセットは、word2vecが個々のファイルでトレーニングされるため(たとえば、5つの入力ファイル、各ファイルでword2vecを5回実行)、入力ファイルごとに異なります。
私の目標は、他の目的で使用される共通のキーワード( "kw1")が指定された各入力ファイルの関連用語のセットを見つけることです。
私の質問/疑問は:
- このようなタスクにword2vecを使用することには意味がありますか?入力ファイルのサイズが小さいことを考慮して使用するのは技術的に正しいですか?
:私はcode.google.comからコードをダウンロードしているhttps://code.google.com/p/word2vec/と、次のようにちょうどそれに予行演習を与えています:
time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50
./distance vectors.bin
私の結果から、「距離」ツールを使用して関連する用語を「kw1」に取得すると、多くのノイズの多い用語(ストップワード)が表示されることがわかりました。そのため、ストップワードやユーザーの言及など、その他のノイズの多い用語は削除しました。しかし、word2vecがクリーンな入力データを必要とすることはどこにもありません...?
どのようにして正しいパラメータを選択しますか?「-window」、「-iter」などのパラメーターを変更すると、(距離ツールの実行による)結果が大きく異なることがわかります。パラメータの正しい値を見つけるには、どの手法を使用すればよいですか。(私はデータセットをスケールアップするので、手動で試行錯誤することはできません)。