問題タブ [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.
vector - 特別な目的のために Word2Vec モデルを適切にトレーニングする方法
私の質問は、Word2Vec モデルのユニークで非常に具体的な使用のためのモデルの適切なトレーニングに関するものです。Word2Vecの詳細はこちら
私は、単語埋め込み内の名詞-形容詞 (または ) の関係を特定することに取り組んでいます。
(たとえば、データセットの文に「素敵な車」があります。コーパスの単語の埋め込みと、すべてラベル付けされた名詞と形容詞を考えると、「素敵な」を接続する適切なベクトルを見つける手法を設計しようとしています'車'。)
もちろん、その単語のペアだけを結び付けようとしているわけではありませんが、このテクニックはすべての関係に当てはまるはずです。現時点では教師ありアプローチが採用されており、教師なしメソッドの設計に向けて作業を試みます。
私がやろうとしていることを理解できたので、問題を説明します。適切な埋め込みを可能な限り正確に学習するには、大量のデータで word2vec をトレーニングする必要があることは明らかですが、ラベル付きの文 (500-700) を含むデータセットよりも多くのデータを与えることを恐れています。
トレーニングするデータを増やすと (最新のウィキペディアのダンプ データセットなど)、より良いベクトルが学習されるのではないかと心配していますが、余分なデータが単語の配置に影響を与えるため、この単語の関係は余分な要素によってバイアスされます。トレーニングデータ。(たとえば、追加のトレーニング データに「nice Apple」も含まれている場合は、「nice」という単語の配置が損なわれる可能性があります)。
うまくいけば、これは理にかなっていて、私は悪い仮定をしていませんが、十分なトレーニングデータがないために悪いベクトルを持っているか、良いベクトルを持っているが、単語の埋め込みでのベクトルの配置が損なわれているというジレンマに陥っています.
でトレーニングする適切な方法は何ですか? できるだけ多くのトレーニング データ (数十億語) またはラベル付けされたデータセット (500 ~ 700 文) のみ?
お時間をいただきありがとうございます。説明した内容が意味をなさない場合はお知らせください。
machine-learning - Keras の lm_1b からの文字単語の埋め込み
非常によく知られている記事で Google によって公開されている、Keras NN モデルで事前にトレーニングされた単語埋め込みを使用したいと思います。彼らは、新しいモデルをトレーニングするためのコードと、埋め込みを提供しています。
ただし、ドキュメントからは、単純な python 関数呼び出しから特定の文字列 (単語) から埋め込みベクトルを取得する方法が明確ではありません。ドキュメントの多くは、おそらく感傷的な分析のために、文全体 のベクトルをファイルにダンプすることに集中しているようです。
これまでのところ、次の構文を使用して事前トレーニング済みの埋め込みをフィードできることを確認しました。
ただし、さまざまなファイルとその構造を変換することは、私にpre_trained_matrix_here
はよくわかりません。
それらにはいくつかのソフトマックス出力があるため、どれが属するかはわかりません。さらに、入力内の単語を、それらが持つ単語の辞書に合わせる方法もわかりません。
これらの単語/文字埋め込みを keras で使用したり、モデルの文字/単語埋め込み部分を keras で構築したりして、他の NLP タスクにさらにレイヤーを追加できるようにする簡単な方法はありますか?