私は、特に以下を使用して、いくつかの公開されている単語埋め込みに対して類推クエリをいじっています。
numberbatch-en-19.08
https://github.com/commonsense/conceptnet-numberbatchからglove.42B.300d
https://nlp.stanford.edu/projects/glove/からglove.840B.300d
https://nlp.stanford.edu/projects/glove/から
以下を含むいくつかの基本的なクエリを実行しています(queryTarget
探しているものはどこですか):
baseSource:baseTarget :: querySource:queryTarget
例えばman:woman :: king:queen
- 最大化
cosine_similarity(baseTarget-baseSource, queryTarget-querySource)
- 最大化
cosine_similarity(baseTarget-baseSource, queryTarget-querySource) * cosine_similarity(baseTarget-queryTarget,baseSource-querySource)
- L2norm(baseTarget-baseSource+querySource, queryTarget) を最小化する
クエリの場合:
man:woman :: king:?
データは、さまざまなマッチング戦略の正しい結果を示しglove
ています。しかし、conceptnet は, ,をトップ 3 として示していますが、これは予想外でした (クイーンはトップ 20 に入っていません)。同様に、グローブの結果に見られる期待される結果が、悪い結果に置き換わることがよくあります。queen
lady
princess
female_person
adult_female
king_david's_harp
コンセプトネットの埋め込みは、使用する前に何らかの追加調整が必要ですか? それとも、英語のアナロジーに合わせて調整されていない/適していないだけですか?