私は単語の埋め込み(スキップグラム、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. STDを埋める::異種ブーストとベクトル::融合ベクトル型データ
- 2. Matlabのセル要素を1つのベクトルに結合する
- 3. word2vecはどのように埋め込みベクトルから1つのホットワードベクトルを与えますか?
- 4. 複数のベクトルを1つにまとめて合成する
- 5. 埋め込みデータベーステーブルのSQLite結合
- 6. C++でベクトルのベクトルを動的にサイズ変更して埋め込む
- 7. "サブ"ベクトルと "連結"ベクトルをつかみます
- 8. 埋め込みにdotnetを統合する方法は?
- 9. ベクトルのリストを読み込むために出力をフォーマットする方法
- 10. バイナリファイルを書き込んでベクトルを埋め込む - C++
- 11. Qt Creatorの埋め込み方法埋め込みPSQL
- 12. ベクトルの連続した要素を高速に埋め込む
- 13. タイプとmpl :: vectorを新しいベクトルに結合する方法
- 14. clojure 101ベクトルをマップに結合する
- 15. ベクトルをMATLABに統合する方法
- 16. 埋め込み方法
- 17. ベクトルの要素をC++で結合する方法
- 18. Scalaのベクトルの両端を埋め込む
- 19. 埋め込みURL経由でPowerBI埋め込みにパラメータを渡す方法
- 20. なぜワード埋め込みモデルでリレーションを表示するために大きなベクトル空間が必要なのですか?
- 21. 1つのベクトルに異なるテンプレートタイプを入れる方法
- 22. Rのリスト内の異なる長さのベクトルを結合する方法は?リストに含まれ、次のベクトルを組み合わせるとき
- 23. 1つのウィンドウを別のウィンドウに埋め込む方法
- 24. ベクトル配列の2つの配列をmatlabのベクトルの配列に結合するには
- 25. 1列を連結、置換、埋め込む方法
- 26. 3要素のベクトルをC++のベクトルにプッシュバックする方法は?
- 27. postgreSQLは、レコードの結合と埋め込み配列
- 28. Selenium:chromeDriverを1つのexeに埋め込みます
- 29. 回転軸ベクトルを結合する
- 30. 埋め込みブートストラップレイアウトの埋め込み
前のヘルプありがとう。私は、GoogleNewsデータセットの単語の3倍のベクトルをPythonで見つけることに成功しました。今私の質問は、入力トリプルと他のすべてのトリプルの間の類似性を見つけるためです、どの方法が最適ですか?数十万を超える単語のトリプルがあり、類似行列を作成したいと考えています。 – Amir