問題タブ [doc2vec]
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.
machine-learning - Doc2Vec は感情分析に適していますか?
このような感情分類 (分析) に関する最新の投稿を読んでいます。
IMDB データセットを例にとると、Doc2Vec を使用しても同様の精度 (88%) が得られますが、特徴抽出にトライグラムを使用した単純な tfidf ベクトライザー (91%) を使用すると、はるかに優れた結果が得られます。これは、 Mikolov の 2015 年の論文の表 2 に似ていると思います。
より大きなデータセットを使用することで、これが変わると思いました。そこで、ここから 1 ミルのトレーニングと 1 ミルのテストの内訳を使用して、実験を再実行しました。残念ながら、その場合、私の tfidf vectoriser 機能抽出メソッドは 93% に増加しましたが、doc2vec は 85% に低下しました。
これが予想されることであり、他の人は大規模なコーパスであっても tfidf が doc2vec よりも優れていると考えているのでしょうか?
私のデータクリーニングは簡単です:
そして、Doc2Vec モデルに 400 および 1200 の機能を使用してみました。
私の tfidf vectoriser には最大 40,000 個の機能があります。
分類のために、私はいくつかの線形方法を試しましたが、単純なロジスティック回帰でうまくいくことがわかりました...
python - Doc2Vec モデルの Python 3 互換性
Python2 で doc2vec モデルをトレーニングしましたが、それを Python3 で使用したいと考えています。
Python 3 でロードしようとすると、次のようになります。
これは、次のようにして解決しようとしたピクルの互換性の問題に関連しているようです。
Gensimは、名前を変更した他のファイルも保存したので、呼び出し時に見つけることができます
load() は UnicodeDecodeError で失敗しませんが、推論後に意味のない結果が得られます。
このモデルを使用して派生データを作成したため、Python 3 で Gensim を使用して簡単に再トレーニングすることはできません。そのため、長く複雑なパイプラインを再実行する必要があります。
doc2vec モデルを Python 3 と互換性を持たせるにはどうすればよいですか?
nlp - Doc2vec Gensim: 各エポック中に単語の埋め込みが更新されない
Gensim Doc2vec モデルを使用してドキュメント ベクトルをトレーニングします。「良い」という単語の表現を印刷しましたが、すべてのエポックが見つかりました。更新されていないことがわかりました! ID「3」のドキュメントの表現を印刷しましたが、エポックごとに異なります!
私のコードは以下のとおりです。何が起こっているのかわかりません。
python - Gensim: 以前の word2vec モデルを使用して doc2vec モデルを再トレーニングする方法
Doc2Vec モデリングを使用して、モデルをトレーニングし、次のファイルを保存しました。
ただし、ドキュメントにラベルを付ける新しい方法があり、モデルを再度トレーニングしたいと考えています。単語ベクトルは以前のバージョンから既に取得されているためです。そのモデルを再利用する方法はありますか (たとえば、以前の w2v の結果をトレーニングの初期ベクトルとして使用するなど)? 誰でもそれを行う方法を知っていますか?
python - gensim の doc2vec (PV-DM) のドキュメント ベクトルの更新
gensim での平均化を使用して PV-DM の実装を理解しようとしています。関数train_document_dm
内doc2vec.py
の戻り値("errors")train_cbow_pair
は、平均化( cbow_mean=1
)の場合で、入力ベクトル数( )で除算されていませんcount
。この説明によれば、入力ベクトルを平均化する場合、ドキュメント数による除算があるはずです: word2vec パラメータ学習の説明、式 (23)。からのコードは次のtrain_document_dm
とおりです。
python - xlsx ファイルの readlines 関数が正しく動作しない
目標は感情分類です。手順は、3 つの xlsx ファイルを開いて読み取り、gensim.doc2vec メソッドで処理し、SGDClassificator で分類することです。このコードを doc2vec で繰り返してみてください。パイソン 2.7
しかし、結果のリストは期待されているものではないことが判明しました。
ファイルには、対応する 18、1221、および 2203 の raw が含まれています。リストには同じ数の要素があると思いました。
次のステップは、すべての文を連結することです。
これは、x-train、x-test が本来あるべき文のリストである状況につながります。
この分割の後、すべての文にラベルが付けられます。
numpy documentationに書かれているように、配列は同じサイズでなければなりません。しかし、より大きなファイルを 18 行に減らしても、何も変わりません。フォーラムで検索したところ、同様のエラーはありません。何がうまくいかなかったのか、それを修正する方法は頭を悩ませています。手伝ってくれてありがとう!
nlp - テンソルフローの複数の埋め込みからの埋め込みルックアップ
doc2Vec アルゴリズムを構築するには、複数の埋め込みが必要です。単語ベクトルの埋め込みがあると同時に、ドキュメント自体の埋め込みがあります。アルゴリズムの動作方法は CBOW モデルの場合と似ていますが、ドキュメントの埋め込みも、特定のウィンドウでトレーニングされる各ドキュメントごとに使用されます。したがって、5 単語のウィンドウがある場合は、先に進み、その 5 単語を調べますが、各ウィンドウごとに常にドキュメント埋め込みベクトル自体を含めて、更新できるようにします。