私は単語の埋め込み(スキップグラム、CBOW)の意味と方法を完全に知っています。 Googleがword2vector APIを持っているということは、その言葉を得ることによってベクトルを生成できるということです。 私の問題はこれです:件名、オブジェクト、動詞を含む句があります。各単語はGoogle APIによって既に埋め込まれています。「これらのベクトルを組み合わせて、その句? 例: 句:V = "dog bites man" Googleで単語を埋め込んだ後、それぞれV1、V2、V3があり、それらのそれぞれが犬、噛む、男に対応しています。我々はそれを知っています: V = V1 + V2 + V3 私たちはどのようにVを提供できますか? 実際のベクトルを例に説明していただければ幸いです。ワード埋め込みベクトルを1つのベクトルに結合する方法は?
3
A
答えて
3
2種類の溶液:フレーズの構成単語の
使用ベクトル加算 - この加算は、セマンティック組成物の良好な推定値であるため、一般的によく働きます。
paragraph vectorsを使用してください。これは、任意の長さの単語のシーケンスを単一のベクトルとしてエンコードすることができます。
2
ベクトルは基本的に単なる数字のリストです。各リストの同じ位置に番号を追加してベクトルを追加します。ここでは例です:
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b # vector addition
c is [(1+4), (2+5), (3+6)], or [5, 7, 9]
this questionに示すように、Pythonでこれを行う簡単な方法は、このようなものです:
map(sum, zip(a, b))
ベクトル加算は、線形代数の一部です。ベクトルや行列の演算を理解していない場合、単語ベクトルの数学は非常に理解しにくいので、一般的な線形代数についてもっと学びたいと思うかもしれません。
通常、単語ベクトルを一緒に追加すると、文章ベクトルを近似するのに適しています。なぜなら、与えられた単語セットには明らかな順序があるからです。ただし、Dog bites man
とMan bites dog
の例では、ベクトルを追加することの弱点が示されています。結果は単語の順序に基づいて変化しないため、その意味は非常に異なりますが、これらの2つの文の結果は同じになります。
単語順の影響を受ける文章ベクトルを取得する方法については、doc2vecまたはjust-released InferSentを参照してください。
0
numpyまたはpytorchを使用します。これは、あなたが望む線形代数とニューラルネットワーク操作を提供します。 sklearnもチェックしてください(これらのさまざまな図書館をGoogleだけでも使えます)。
- numpyの:線形代数ライブラリ、非常に成熟し、安定
- pytorch:最近、現代のニューラルネットワークライブラリのFacebook から
- sklearn:pythonの
- を使用して自然言語処理のための共通のかなり単純な操作は(も必要かもしれませんあなたのための単語ベクトル操作を処理するgensimをチェックアウトする)
関連する問題
- 1. ワード埋め込み、ルックアップテーブル、ワード埋め込みビジュアリゼーション
- 2. ワード埋め込み関係
- 3. ワード埋め込みトレーニング
- 4. Tensorflowに特徴ベクトルを埋め込む
- 5. ニューラルネットワークの既存の埋め込みスペースに新しい単語ベクトル埋め込みを追加する効果
- 6. STDを埋める::異種ブーストとベクトル::融合ベクトル型データ
- 7. Matlabのセル要素を1つのベクトルに結合する
- 8. word2vecはどのように埋め込みベクトルから1つのホットワードベクトルを与えますか?
- 9. 埋め込みローカル端末で1ワードずつ前後に移動する方法
- 10. 複数のベクトルを1つにまとめて合成する
- 11. 埋め込みデータベーステーブルのSQLite結合
- 12. C++でベクトルのベクトルを動的にサイズ変更して埋め込む
- 13. バイナリファイルをC++の "ベクトル<ベクトル< bitset<32>>"に読み込み/読み込む方法は?
- 14. "サブ"ベクトルと "連結"ベクトルをつかみます
- 15. 埋め込みにdotnetを統合する方法は?
- 16. 組み込みのベクトルからデータフレームを作成する方法
- 17. バイナリファイルを書き込んでベクトルを埋め込む - C++
- 18. ベクトルのリストを読み込むために出力をフォーマットする方法
- 19. Qt Creatorの埋め込み方法埋め込みPSQL
- 20. ベクトルの連続した要素を高速に埋め込む
- 21. Sparkで複数の列を1つのベクトル値の列に結合する方法は?
- 22. タイプとmpl :: vectorを新しいベクトルに結合する方法
- 23. clojure 101ベクトルをマップに結合する
- 24. charベクトルの2番目のビットを結合する方法
- 25. 埋め込み方法
- 26. ベクトルをMATLABに統合する方法
- 27. 点のベクトルをベクトル化する方法
- 28. ベクトルの要素をC++で結合する方法
- 29. 埋め込みURL経由でPowerBI埋め込みにパラメータを渡す方法
- 30. Scalaのベクトルの両端を埋め込む
前のヘルプありがとう。私は、GoogleNewsデータセットの単語の3倍のベクトルをPythonで見つけることに成功しました。今私の質問は、入力トリプルと他のすべてのトリプルの間の類似性を見つけるためです、どの方法が最適ですか?数十万を超える単語のトリプルがあり、類似行列を作成したいと考えています。 – Amir