3

TalkingPuffin Twitterクライアントに機能を追加することを考えています。この機能では、ユーザーとのトレーニングの後、予測値に従って着信ツイートをランク付けできます。Java仮想マシン(ScalaまたはJavaが推奨)がこの種のことを行うためのソリューションは何ですか?

4

2 に答える 2

8

これは分類の問題であり、基本的に、ラベルのないツイートである「x」がクラス「貴重」に属するか、クラス「価値がない」に属するかを予測する関数y(x)を学習する必要があります。

ここで最もトリッキーなビットはアルゴリズムではありません(Naive Bayesは単にカウントと乗算を行っており、コーディングが簡単です!)が:

  1. トレーニングデータの収集
  2. 最適な機能セットの定義

1つは、ユーザーがお気に入り、返信、リツイートしたツイートを追跡することをお勧めします。2つ目は、ツイートを書いた人、ツイート内の単語、リンクが含まれているかどうかなどの品質を確認することです。

于 2011-02-20T03:23:05.403 に答える
3

これをうまくやるのは簡単ではありません。グーグルは、Netflix(「彼らが評価する映画」)や他の多くのことと同様に、そのようなこと(「ユーザーが評価するリンク」)を実行できることを望んでいます。実際、 Netflixプライズの入賞作品に関するメモを読んでおくとよいでしょう。

次に、@ hmasonが言うように、一連の機能を抽出する必要があります。そして、適切な機械学習アルゴリズムが必要です。関数近似(たとえば、0と1の間の値を予測するために機能を使用しようとする場合、1は「史上最高のツイート」、0は「気になるオム」)または分類子(使用する場合)のいずれかが必要です。それが「良い」または「悪い」ツイートであるかどうかを予測しようとするあなたの機能)。

後者を選択する場合(ソーシャルネットワークのメタファーを混合するために)「いいね」でツイートをスコアリングするだけなので、ユーザーのトレーニングが簡単になります。通常は、サポートベクターマシンを使用するのが最善です。かなり包括的なJavaライブラリ

前者の場合、試す価値のあるさまざまな手法があります。LIBSVMライブラリーを使用することにした場合、それらには回帰(つまりパラメーター推定)のバリエーションもあります。

于 2011-02-20T20:37:44.417 に答える