非常に短いフレーズ(5グラム)でWord2vecモデルをトレーニングしようとしています。各文や例は非常に短いので、使用できるウィンドウサイズは最大2つだと思います。このような小さなウィンドウサイズが学習モデルの品質にどのような影響を与えるかを理解し、理解できるようにしています。私のモデルが何か意味のあることを学んだかどうか。 Word2vecモデルを5グラムでトレーニングしようとしましたが、学習したモデルはセマンティクスなどをうまくキャプチャしていないようです。
モデルの精度を評価するために次のテストを使用しています: https://code.google.com/p/Word2vec/source/browse/trunk/questions-words.txt
Gensim.Word2Vecを使用してモデルをトレーニングしました。これは、精度スコアのスニペットです(ウィンドウサイズ2を使用)。
[{'correct': 2, 'incorrect': 304, 'section': 'capital-common-countries'},
{'correct': 2, 'incorrect': 453, 'section': 'capital-world'},
{'correct': 0, 'incorrect': 86, 'section': 'currency'},
{'correct': 2, 'incorrect': 703, 'section': 'city-in-state'},
{'correct': 123, 'incorrect': 183, 'section': 'family'},
{'correct': 21, 'incorrect': 791, 'section': 'gram1-adjective-to-adverb'},
{'correct': 8, 'incorrect': 544, 'section': 'gram2-opposite'},
{'correct': 284, 'incorrect': 976, 'section': 'gram3-comparative'},
{'correct': 67, 'incorrect': 863, 'section': 'gram4-superlative'},
{'correct': 41, 'incorrect': 951, 'section': 'gram5-present-participle'},
{'correct': 6, 'incorrect': 1089, 'section': 'gram6-nationality-adjective'},
{'correct': 171, 'incorrect': 1389, 'section': 'gram7-past-tense'},
{'correct': 56, 'incorrect': 936, 'section': 'gram8-plural'},
{'correct': 52, 'incorrect': 705, 'section': 'gram9-plural-verbs'},
{'correct': 835, 'incorrect': 9973, 'section': 'total'}]
また、ここで概説したdemo-Word-accuracy.shスクリプトをウィンドウサイズ2で実行しようとしましたが、精度も低くなりました。
Sample output:
capital-common-countries:
ACCURACY TOP1: 19.37 % (98 / 506)
Total accuracy: 19.37 % Semantic accuracy: 19.37 % Syntactic accuracy: -nan %
capital-world:
ACCURACY TOP1: 10.26 % (149 / 1452)
Total accuracy: 12.61 % Semantic accuracy: 12.61 % Syntactic accuracy: -nan %
currency:
ACCURACY TOP1: 6.34 % (17 / 268)
Total accuracy: 11.86 % Semantic accuracy: 11.86 % Syntactic accuracy: -nan %
city-in-state:
ACCURACY TOP1: 11.78 % (185 / 1571)
Total accuracy: 11.83 % Semantic accuracy: 11.83 % Syntactic accuracy: -nan %
family:
ACCURACY TOP1: 57.19 % (175 / 306)
Total accuracy: 15.21 % Semantic accuracy: 15.21 % Syntactic accuracy: -nan %
gram1-adjective-to-adverb:
ACCURACY TOP1: 6.48 % (49 / 756)
Total accuracy: 13.85 % Semantic accuracy: 15.21 % Syntactic accuracy: 6.48 %
gram2-opposite:
ACCURACY TOP1: 17.97 % (55 / 306)
Total accuracy: 14.09 % Semantic accuracy: 15.21 % Syntactic accuracy: 9.79 %
gram3-comparative:
ACCURACY TOP1: 34.68 % (437 / 1260)
Total accuracy: 18.13 % Semantic accuracy: 15.21 % Syntactic accuracy: 23.30 %
gram4-superlative:
ACCURACY TOP1: 14.82 % (75 / 506)
Total accuracy: 17.89 % Semantic accuracy: 15.21 % Syntactic accuracy: 21.78 %
gram5-present-participle:
ACCURACY TOP1: 19.96 % (198 / 992)
Total accuracy: 18.15 % Semantic accuracy: 15.21 % Syntactic accuracy: 21.31 %
gram6-nationality-adjective:
ACCURACY TOP1: 35.81 % (491 / 1371)
Total accuracy: 20.76 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.14 %
gram7-past-tense:
ACCURACY TOP1: 19.67 % (262 / 1332)
Total accuracy: 20.62 % Semantic accuracy: 15.21 % Syntactic accuracy: 24.02 %
gram8-plural:
ACCURACY TOP1: 35.38 % (351 / 992)
Total accuracy: 21.88 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.52 %
gram9-plural-verbs:
ACCURACY TOP1: 20.00 % (130 / 650)
Total accuracy: 21.78 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.08 %
Questions seen / total: 12268 19544 62.77 %
ただし、Word2vecサイトは、これらのタスクで最大60%の精度を得ることが可能であると主張しています。したがって、ウィンドウサイズなどのこれらのハイパーパラメータの影響と、それらが学習済みモデルの品質にどのように影響するかについて、いくつかの洞察を得たいと思います。
あなたの質問に対して:「私は、このような小さなウィンドウサイズが学習モデルの品質にどのような影響を与えるかを理解しようとしています」。
たとえば、5ワードの「stackoverflowgreat website for Programmers」(ストップワードを保存するとします)ウィンドウサイズが2の場合、Word「stackoverflow」のベクトルはWord「great」と「website」の影響を直接受けます。 "、ウィンドウサイズが5の場合、" stackoverflow "は、" for "と" programmers "の2つの単語の影響を直接受ける可能性があります。ここでの「影響を受ける」とは、2つの単語のベクトルを近づけることを意味します。
したがって、トレーニングに使用している資料によって異なります。ウィンドウサイズ2でWordのコンテキストをキャプチャできるが、5を選択すると、学習したモデルの品質が低下し、その逆も同様です。
類推の質問のスコアが非常に低いのは、パラメーターの調整が間違っているのではなく、トレーニングデータの量または質の制限が原因である可能性が高くなります。 (トレーニングフレーズが実際にはそれぞれ5語しかない場合、全文のデータセットから検出できるのと同じ豊富な関係をキャプチャできない可能性があります。)
フレーズに5のウィンドウを使用できます。トレーニングコードはウィンドウをどちらの側でも使用できるようにトリミングしますが、各フレーズのすべての単語が他のすべての単語に影響します。それは大丈夫かもしれません:Google Word2vecの論文の1つ(「単語とフレーズの分散表現とその構成性」)は、フレーズタスクの1つで最高の正確さを得るために、「文脈のために文全体」を使用したと述べています。 (一方、短いメッセージの1つの英語コーパスでは、ウィンドウサイズが2であるため、類推-評価で最高のスコアが得られるベクトルが作成されたことがわかりました。したがって、大きいほど良いとは限りません。)
Levy&Goldbergの論文「依存関係に基づく単語の埋め込み」では、ウィンドウサイズの定性的効果について少し説明しています。
https://levyomer.files.wordpress.com/2014/04/dependency-based-Word-embeddings-acl-2014.pdf
彼らは見つけます:
ウィンドウが大きいほど、より多くのトピック/ドメイン情報をキャプチャする傾向があります。関連するディスカッションでは、他にどのような単語(任意のタイプ)が使用されていますか?小さいウィンドウは、Word自体についてより多くをキャプチャする傾向があります。他にどのような単語が機能的に類似していますか? (独自の拡張機能である依存関係ベースの埋め込みは、Origin Wordの代わりにドロップインできる、最も類似した単語、同義語、または明白な代替語を見つけるのに最適なようです。)