2017-06-28 6 views
0

私のタイトルが間違っていたり、良くなっていたら、教えてください。word embeddings/word2vec ..の使い方は?実際の物理的な辞書を使って

私は問題を説明している既存の論文/記事を見つけようとしています。単語のベクトルを作成して、それらの部分の合計に等しいようにしようとしています。 例:Cardinal(鳥)は、赤、鳥、およびその唯一のベクトルに等しくなります。 そのようなモデルを訓練するために、入力は辞書のようなものかもしれず、各単語はその属性によって定義されます。 のような何か:

枢機卿:鳥、赤、...

ブルーバード:青、鳥、....

鳥:温血動物、羽、くちばし、両眼、爪....

翼骨、羽....

したがって、この例では、各ワードベクトルは、その部品の単語ベクトルの和に等しく、そうで

元のword2vecでは、Vec(マドリッド)-Vec(スペイン)+ Vec(パリ)=約Vec(パリ)のような意味的距離が保存されていたと私は理解しています。

ありがとうございます!

PS:可能であれば、新しい単語を後で追加することができます。

答えて

1

必要なコンポーネントの辞書を作成する場合は、実際にはword2vecはまったく必要ありません。指定するディメンションは既に定義済みです。ディメンションを使用するだけです(例:

kb = {"wings": {"bone", "feather"}, 
     "bird": {"wings", "warm-blooded", ...}, ...} 

値がセットされているので、あなたがセット交差を行うことができます:Pythonで

kb["bird"] | kb["reptile"] 

あなたはいくつかの方法が比較のために再帰的要素を分解見つける行う必要があります、単純化、等が挙げられる。これらのそのような操作中に起こると予想されることに基づいて行わなければならない決定です。

このような手動辞書の開発は、かなり古い方法です。 SchankやAbelsonのような人々は、1970年代にこのようなことをしていました。問題は、これらの辞書がより複雑になるにつれて、それらの辞書は維持するのが困難になり、近似においてはより不正確になることである。あなたはエクササイズとして試してみることを歓迎します---それは一種の楽しみかもしれません!---しかしあなたの期待を低く抑えてください。

また、これらの分解で失われた意味の側面もわかります。 word2vecの注目すべき特性の1つは、単語のゲシュタルトの感性です---言葉は部分で構成された意味を持つかもしれませんが、部分全体の合計を全体よりも大きくする部分があります。分解では、ゲシュタルトは失われる。

辞書を作成しようとするのではなく、大規模なコーパスからW2Vが提供するものを調べて、その情報をどのように活用できるかを見てみるのがよいでしょう。正確にW2Vがテキストからレンダリングするものの言語学は完全には理解されていませんが、埋め込みに固有の何かをしようとすると、言語について新しいことを学ぶかもしれません。

+0

応答ありがとう: 私はこのスタイルのアプローチを試みていた理由は、私が実際に効果的なコーパスを得ることができる非常に固有の生物学的情報です。私は当初、ウィキペディアといくつかの生物学的データベース(NCBI)のクロールだけを考えていましたが、AがB、C、Dで構成されていれば、定義は厳密です - Aのベクトルは常にB、C、Dの合計、それ以上のもの、それ以下のもの(最も近いものが与えられ、重複がないものとする)。私は、W2Vがそれを生成できることは確かです。 –

+0

この最終目標は何ですか?アプリケーションは何ですか?評価指標は何ですか? – Dan

+0

最終目標は何が生成されるのでしょうか?そのセットと最もよく一致するオブジェクトを見つけるために、(生物学的プロセスの)プロパティのセットを追加したり、差し引いたりすることができるいくつかのベクトル世界。 アプリケーションは生物学的データの深い学習です。 評価指標: 'Item; Property1、Property2 ... PropertyN'の入力系列が与えられた場合、出力は数学がすべて動作するようなベクトル空間でなければなりません。これはW2Vの問題ではないか、間違っていると思っている可能性は非常に高いです。 –

関連する問題