2017-04-21 26 views
0

2つの文字列間の類似性を計算するアプリケーションを作成しようとしています。 文字列が長くありません。 3最高の文章。 私はいくつかの研究を行いました。単語の文字列の類似性TF-IDF単語またはWord2vecの袋

まず一回の使用袋は:単語をカウントし、2つの産ベクトルを(コサイン類似度)

第使用TF-IDFを比較し、生成ベクトルを比較します。

第3は、word2vecと比較ベクトルを使用しています。質問のための今

パフォーマンスは、word2vecのパフォーマンスが優れていますが、短い文章の場合はTF-IDFの方が優れていますか?

word2vecモデルのトレーニングにはどのような方法がありますか?私は大量のテキスト(例えばウィキペディアのダンプ)を使用するか、比較される文章だけを使って訓練するべきですか?

word2vecから文の類似度を取得する方法。それぞれの文章の単語を平均するか、より良い解決策がありますか?

+0

ここにいくつかのものがあります。それはプログラミングの質問ではありませんので、ここでそれを尋ねるべきではありません、それはトピックとしてフラグが立てられます。 パフォーマンスの比較についてわかりません。しかし、word2vecに関しては、あなたの単語の埋め込み行列として使うことができます。そして、反復的なネットでその文の表現を作ります。これはあなたの問題のオーバーシュートかもしれませんが、これらのモデルは、あなたがしたいように、シーケンスの表現を構築するために作られています。しかし、表現を学ぶには列車が必要です。そうでなければ、監督されていない方法でこのモデルを訓練することができますか? – ted

+0

私はニューラルネットワークにうまくいかず、word2vecと繰り返しのネットを使って文の表現を生成する例へのリンクを提供できますか?トレーニングでは、どれくらいのデータを持っているべきかを設定します。私は今使用する大きなデータセットを持っていません。監督されていない方法でそれを行う方法。ありがとう – LonsomeHell

答えて

1
  • 優れた列車データを使用すると、word2vecのパフォーマンスが向上する必要があります。 (私はそれから良い結果を得ました)

  • 良いモデルのために大量のデータが必要です。最善の方法は、英語で作業している場合は、事前に訓練されたデータを使用することです。あなたが使用できる良いモデルはthis linkです。私が知っているように、Google Newsの事前トレーニングされたモデルは完璧に機能しています。

  • 文のようなテキストの一部の単語の平均を使用するのが一般的です。より良い方法は、tf-idf加重平均のような加重平均にすることができます。意味テキスト類似性についての熱心な研究もあります。Wiki Page

関連する問題