問題タブ [word-embedding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - GoogleNews-vectors-negative300.bin 事前トレーニング済みモデルに欠落している単語ベクトルを追加する方法は?
Python で gensim word2vec ライブラリを使用し、事前トレーニング済みの GoogleNews-vectors-negative300.bin モデルを使用しています。しかし、
コーパスに単語ベクトルがない単語があり、そのために keyError を取得しています。この問題を解決するにはどうすればよいですか?
これが私がこれまでに試したことです、
GoogleNews-vectors-negative300.bin
1:トレーニング済みモデルごとの読み込み:
2: ツイート内のすべての単語ベクトルの平均値を使用してトレーニング セットの単語ベクトルを構築し、スケーリングします。
事前トレーニング済みの Word2vec モデルに新しい単語を追加する方法を教えてください。
python - tf.nn.embedding_lookup 関数は何をしますか?
この機能の役割が理解できません。ルックアップテーブルのようなものですか?各 ID (ID 内) に対応するパラメーターを返すことを意味するのはどれですか?
たとえば、skip-gram
モデルで を使用するtf.nn.embedding_lookup(embeddings, train_inputs)
と、それぞれtrain_input
に対応する埋め込みが見つかりますか?
python - Tensorflow のembedding_lookup
TensorFlow 関数を使用して、imdb データセットの単語表現を「ゼロから」学習しようとしていtf.nn.embedding_lookup()
ます。私がそれを正しく理解していれば、他の隠れ層の前に埋め込み層を設定する必要があり、勾配降下を実行すると、層はこの層の重みで単語表現を「学習」します。ただし、これを実行しようとすると、埋め込み層とネットワークの最初の完全に接続された層の間で形状エラーが発生します。
私が得るエラーは次のとおりです。
gensim - Word 埋め込みを使用して大規模なコーパスから概念を見つける
コンカニ語のコーパスで新しい概念を見つけようとしています。1) ドメイン固有のコーパス 2) 新聞コーパスで 2 つのモデルをトレーニングしました。
Gensim word2vec を使用してモデルをトレーニングしましたが、ベクトル空間で近接して同様の意味を持つ用語を取得できません。
終わりの言葉は互いに同義語の関係を示しません。それらの類似性は、ランダムな単語と同じくらい優れています。
私は何を間違っていますか?
machine-learning - 単語埋め込みを正しく使用していますか?
中心的な質問: 単語埋め込みを使用してテキストを表現する正しい方法は?
ツイートの感情分類アプリケーションを構築しています。ツイートをネガティブ、ニュートラル、ポジティブに分類します。私は、theano の上に Keras を使用し、単語埋め込み (Google の word2vec または Stanfords GloVe) を使用してこれを行っています。
ツイートのテキストを表すために、次のようにしました。
- 事前トレーニング済みのモデル (word2vec-twitter モデルなど) [ M ] を使用して、単語を埋め込みにマッピングしました。
- テキスト内の単語を使用してMをクエリし、対応するベクトルを取得します。したがって、つぶやき ( T ) が "Hello world" で、Mが単語 'Hello' と 'World' に対してベクトルV1とV2を与えるとします。
- ツイートTは、( V ) V1 + V2 (ベクトルを追加) またはV1V2 (ベクトルを連結) として表すことができます[これらは 2 つの異なる戦略です] [連結は並置を意味するため、V1、V2が d 次元ベクトルである場合、私の例Tは 2 次元ベクトルです]
- 次に、つぶやきTはベクトルVで表されます。
上記に従った場合、My Dataset はベクトル (使用する戦略に応じて単語ベクトルの合計または連結) に過ぎません。このデータセットでFFN、LSTMなどのディープネットをトレーニングしています。しかし、私の結果は素晴らしいものではありません。
これは単語埋め込みを使用してテキストを表現する正しい方法ですか? 他のより良い方法は何ですか?
あなたのフィードバック/批評は非常に役立ちます。
tensorflow - Tensorflow の単語埋め込み行列の一部のみを更新する
トレーニング中に事前トレーニング済みの単語埋め込みマトリックスを更新したい場合、単語埋め込みマトリックスのサブセットのみを更新する方法はありますか?
Tensorflow API ページを調べたところ、次のことがわかりました。
ただし、それを単語埋め込みマトリックスに適用するにはどうすればよいですか。私がそうするとします:
元の埋め込み行列を使用opt.apply_gradients
して更新するにはどうすればよいですか? (また、 の 2 番目の引数がでないtf.scatter_update
場合、tensorflow はエラーをスローします)compute_gradient
tf.Variable
text - skflow 事前トレーニング単語埋め込みを text_classification_cnn に読み込みます
これは、畳み込みテキスト分類に関するskflowの例です
このコードのパッチをデバッグすると、それがどのように機能するのか説明できません。代わりに事前トレーニング済みの単語埋め込みを使用する方法は?
tensorflow - 埋め込みを学習するときのテンソルフロー制限バッチサイズ
単語のテンソルフロー ベクトル表現がテキスト シーケンスに対してこれを行う方法と同様に、HMM によって生成される一連の状態の状態埋め込みを学習しようとしています。
私の問題は、この HMM の「語彙」が 12 の異なる状態しかないことです。この語彙のサイズよりも大きなバッチを使用してコードを実行すると、Tensorflow が気に入らないようです。たとえば、バッチ サイズ 14 でトレーニングしようとすると、次のエラーが発生します。
このチェックの背後にある動機は何ですか?
machine-learning - テスト データを含む単語の埋め込みを行うには、word2vec を使用する必要がありますか?
私は NLP の初心者で、テキスト分類の仕事をしようとしています。仕事をする前に、単語の埋め込みを行う必要があることを知っています。私の質問は、トレーニング データでのみ単語埋め込みジョブを実行する必要があるか(テスト データがトレーニング データの事前トレーニング済みの vec-model からベクトルを取得するようにするため)、またはトレーニング データとテスト データの両方で実行する必要がありますか?
lua - 大規模なデータセットで Word 埋め込みをトレーニングする際のメモリの問題を処理するにはどうすればよいですか?
単語の埋め込みを生成する単語の予測可能性タスクをトレーニングしたいと考えています。ドキュメント コレクションには 243,000 のドキュメントが含まれています。コードの実装はトーチです。私はデータセットの巨大なサイズに苦労しており、243,000 の完全な記事ドキュメントのコレクションであるこのような大規模なデータセットで単語の埋め込みをトレーニングする方法についてのアイデアが必要です。リサーチ コンピューティング リソースは時間制限があるため、GPU ノードに短時間アクセスできるため、増分モデル トレーニングを選択しました。
- 増分モデル トレーニング: データセット全体でトレーニングする 1 つの方法は、データの 1 つのチャンクでモデルをトレーニングして保存する増分モデル トレーニングを使用することです。後で同じ事前トレーニング済みのモデルを取得し、次のデータのチャンクでトレーニングを開始します。このアプローチで私が直面している問題は、単語の語彙/辞書をどのように維持するかということです。単語の埋め込み方法では、辞書/語彙が重要な役割を果たします。すべてのドキュメントを一掃し、設定された最小頻度よりも多いカウントを持つ単語の語彙を作成します。さて、実際には、このボキャブは各単語に関連付けられたインデックスを持つハッシュ マップであり、トレーニング サンプルでは、モデルを単純にするために単語をボキャブ内のインデックスに置き換えます。インクリメンタル トレーニングの場合、ディクショナリをインクリメンタルに作成するにはどうすればよいですか? 最初にドキュメント全体で語彙/辞書を作成し、その後段階的にトレーニングする必要がありますか? それとも、増分トレーニングでも語彙を拡張する方法はありますか?
- もう 1 つの問題は、語彙データ構造のサイズに対するメモリ制限です。LUA ベースの Torch でモデルを実装しています。そのため、LUA はテーブルのサイズに制限を設けているため、ドキュメント全体の語彙を単一のテーブルにロードすることはできません。このようなメモリの問題を克服するにはどうすればよいですか?
- グローブのベクトルからインスピレーションを得ています。彼らの論文では、次のように述べています。16 億のトークンを含む 2014 年のウィキペディアのダンプ。43 億のトークンを持つ Gigaword 5。60 億のトークンを持つ Gigaword5 + Wikipedia2014 の組み合わせ。また、Common Crawl5 からの 420 億個の Web データ トークン。各コーパスをスタンフォード トークナイザーでトークン化および小文字化し、最も頻繁に使用される 400,000 語のボキャブラリを構築し、共起カウント X のマトリックスを構築します。このような大きなコーパスと大きなボキャブラリで Glove ベクトルがどのようにトレーニングされ、その場合のメモリ制限がどのように処理されたかについてのアイデアはありますか? 論文参照 - http://nlp.stanford.edu/pubs/glove.pdf
- 単語の埋め込みを生成するためにデータセットのサイズを制限する方法についてのアイデアはありますか? ドキュメント数の増減に伴い、単語埋め込みのパフォーマンスやカバレッジにどのような影響がありますか? サンプリング手法を使用してデータセットからドキュメントをサンプリングすることは良い考えですか? はいの場合、いくつかのサンプリング手法を提案してください。