gensimライブラリを使用したdoc2vecによる不正確な類似性の結果

アブデッサマド139

Gensimライブラリを使用してdoc2vecを使用していくつかのデータファイルをトレーニングしていますが、メソッドを使用してファイルの1つの類似性をテストしようとするとmodel.docvecs.most_similar("file")、常に91%を超えるすべての結果が得られ、それらの間にほとんど違いはありません(ロジックではありません) 、ファイル間に類似性がないためです。そのため、結果は不正確です。

モデルをトレーニングするためのコードは次のとおりです

model = gensim.models.Doc2Vec(vector_size=300, min_count=0, alpha=0.025, min_alpha=0.00025,dm=1)
model.build_vocab(it)
for epoch in range(100):
    model.train(it,epochs=model.iter, total_examples=model.corpus_count)
    model.alpha -= 0.0002
    model.min_alpha = model.alpha
model.save('doc2vecs.model')
model_d2v = gensim.models.doc2vec.Doc2Vec.load('doc2vecs.model')
sim = model_d2v.docvecs.most_similar('file1.txt')
print sim


これが出力結果です

[( 'file2.txt'、0.9279470443725586)、( 'file6.txt'、0.9258157014846802)、( 'file3.txt'、0.92499840259552)、( 'file5.txt'、0.9209873676300049)、( 'file4.txt'、0.9180108308792114) 、( 'file7.txt'、0.9141069650650024)]

私は何が間違っているのですか?結果の精度をどのように改善できますか?

ゴジョモ

あなたのitデータは何ですか、そしてそれはどのように準備されていますか?(たとえばprint(iter(it).next())、特に2回続けて呼び出す場合はどうなりますか?)

train()100回呼び出し、デフォルトmodel.iterの5を保持することで、実際にはデータに対して500回のパスを作成しています。そして、最初の5つのパスはtrain()、内部の効果的なalpha管理を使用して、学習率を宣言されたmin_alphaまで徐々に下げます。次に、次の495パスは、不器用に管理された独自のアルファレートになります。最初に近くに戻り0.025、次に、に達するまで5の各バッチを下げます0.005

それはどれも良い考えではありません。train()一度呼び出すだけで、希望の番号を渡すことができますepochs出版された作品の典型的なエポック数は10〜20です。(小さなデータセットではもう少し役立つかもしれませんが、数百が必要だと思われる場合は、データまたはセットアップに何か問題がある可能性があります。)

それは少量のデータだ場合、あなたは非常に興味深い取得することはできませんWord2Vec/Doc2Vecこれらのアルゴリズムを変える例の多くに依存して、結果を。公開された結果は、数万から数百万のドキュメントを含むトレーニングセットを使用する傾向があり、各ドキュメントは少なくとも数十、できれば数百の単語の長さです。より小さなデータセットを使用すると、より多くのトレーニングパスとより小さなベクトルを使用して、適切な結果を絞り出すことができる場合があります。また、より単純なPV-DBOWモード(dm=0)を使用すると、より小さなコーパス/ドキュメントに役立つ場合があります。

によって報告さmost_similar()れる値は、類似性の「パーセンテージ」ではありません。これらは-1.0から1.0までのコサイン類似度の値であり、それらの絶対値は、さまざまな結果の相対ランクよりも重要ではありません。したがって、類似度が0.9を超える結果が多数あるかどうかは問題ではありません。ただし、それらのドキュメントがランキングの低いドキュメントよりもクエリドキュメントに似ている場合に限ります。

したがって、最も類似していると提案された個々のドキュメントを見ることが、実際のテストです。意味がないように思われる場合は、データやその準備、またはトレーニングパラメータに問題がある可能性があります。

十分な実際の自然言語テキストを含むデータセットの場合、min_count値が大きいほど良い結果が得られるのが一般的です実際のテキストには、多くの例がなければ強いことを意味しない低頻度の単語がたくさん含まれる傾向があるため、トレーニング中にそれらを保持すると、モデルの強度が低下します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Gensim Doc2vecモデル:事前にトレーニングされたdoc2vecモデルを使用して取得されたコーパスの類似性を計算する方法は?

分類Dev

word2vecのようなdoc2vecとの類似性を見つける

分類Dev

Doc2Vecとの類似性

分類Dev

Gensim Doc2vec結果の改善

分類Dev

doc2vecモデルを使用して、ドキュメントと比較した1つの単語またはいくつかの単語の類似性を計算するにはどうすればよいですか?

分類Dev

R: 類似性または非類似性マトリックスによるクラスタリング? そして結果を可視化する

分類Dev

Doc2Vecを使用して2つのドキュメント間の類似性を測定します

分類Dev

Python word2vec、doc2vecを使用して2つのドキュメント間の類似性を計算する

分類Dev

doc2vecとのドキュメントの類似性

分類Dev

Pythonでgensimのword2vecモデルを使用して文の類似性を計算する方法

分類Dev

画像の類似性を比較するJavaライブラリ

分類Dev

word2vecを使用した2つの文の類似性

分類Dev

Doc2VecおよびPySpark:DeepDist上のGensim Doc2vec

分類Dev

類似性スコアは、doc2vec埋め込みを使用するとかなり離れています

分類Dev

Doc2Vec最も類似したドキュメントを入手する

分類Dev

Doc2Vecを使用した感情分類

分類Dev

Doc2Vecと分類-非常に悪い結果

分類Dev

負のサンプリングを使用したDoc2vecおよびword2vec

分類Dev

ARMインラインアセンブリの揮発性により、asanを使用したclangで計算結果エラーが発生しました

分類Dev

Gensim doc2vecで効率的なクエリを実行する方法は?

分類Dev

doc2vecでドキュメントの最も類似した用語/単語を見つける方法は?

分類Dev

AndroidアプリでThreeJSを使用するにはどうすればよいですか、または3つのjsのような類似した強力なライブラリはありますか?

分類Dev

gensim.word2vecの2つのbag-of-words間の類似性がこのように計算されたのはなぜですか?

分類Dev

Doc2Vec:コード化されたドキュメントと見えないドキュメントの類似性

分類Dev

Gensim: 事前トレーニング済みの doc2vec モデルのロード中にエラーが発生しましたか?

分類Dev

Pythonでgensimとword2vecを使用して意味的類似性を見つける方法

分類Dev

Pythonのgensimでdoc2vecインスタンスを個別に識別する方法

分類Dev

gensim word2vecまたはdoc2vecを使用してvocaburayを2回ビルドできますか?

分類Dev

Gensim doc2vecがAttributeErrorを与えるのはなぜですか: 'list'オブジェクトに属性 'words'がありませんか?

Related 関連記事

  1. 1

    Gensim Doc2vecモデル:事前にトレーニングされたdoc2vecモデルを使用して取得されたコーパスの類似性を計算する方法は?

  2. 2

    word2vecのようなdoc2vecとの類似性を見つける

  3. 3

    Doc2Vecとの類似性

  4. 4

    Gensim Doc2vec結果の改善

  5. 5

    doc2vecモデルを使用して、ドキュメントと比較した1つの単語またはいくつかの単語の類似性を計算するにはどうすればよいですか?

  6. 6

    R: 類似性または非類似性マトリックスによるクラスタリング? そして結果を可視化する

  7. 7

    Doc2Vecを使用して2つのドキュメント間の類似性を測定します

  8. 8

    Python word2vec、doc2vecを使用して2つのドキュメント間の類似性を計算する

  9. 9

    doc2vecとのドキュメントの類似性

  10. 10

    Pythonでgensimのword2vecモデルを使用して文の類似性を計算する方法

  11. 11

    画像の類似性を比較するJavaライブラリ

  12. 12

    word2vecを使用した2つの文の類似性

  13. 13

    Doc2VecおよびPySpark:DeepDist上のGensim Doc2vec

  14. 14

    類似性スコアは、doc2vec埋め込みを使用するとかなり離れています

  15. 15

    Doc2Vec最も類似したドキュメントを入手する

  16. 16

    Doc2Vecを使用した感情分類

  17. 17

    Doc2Vecと分類-非常に悪い結果

  18. 18

    負のサンプリングを使用したDoc2vecおよびword2vec

  19. 19

    ARMインラインアセンブリの揮発性により、asanを使用したclangで計算結果エラーが発生しました

  20. 20

    Gensim doc2vecで効率的なクエリを実行する方法は?

  21. 21

    doc2vecでドキュメントの最も類似した用語/単語を見つける方法は?

  22. 22

    AndroidアプリでThreeJSを使用するにはどうすればよいですか、または3つのjsのような類似した強力なライブラリはありますか?

  23. 23

    gensim.word2vecの2つのbag-of-words間の類似性がこのように計算されたのはなぜですか?

  24. 24

    Doc2Vec:コード化されたドキュメントと見えないドキュメントの類似性

  25. 25

    Gensim: 事前トレーニング済みの doc2vec モデルのロード中にエラーが発生しましたか?

  26. 26

    Pythonでgensimとword2vecを使用して意味的類似性を見つける方法

  27. 27

    Pythonのgensimでdoc2vecインスタンスを個別に識別する方法

  28. 28

    gensim word2vecまたはdoc2vecを使用してvocaburayを2回ビルドできますか?

  29. 29

    Gensim doc2vecがAttributeErrorを与えるのはなぜですか: 'list'オブジェクトに属性 'words'がありませんか?

ホットタグ

アーカイブ