2008-09-03 2 views
2

Stackoverflowで驚くべき機能を披露した今、私は質問をするつもりだった。私は私の質問titleを書いたときにstackoverflow私にいくつかの関連する質問を示唆し、私はすでに2つの同様の質問があることがわかった。それはすごかった!"関連"度測定アルゴリズムを実装するにはどうすればよいですか?

次に、このような機能をどのように実装するか考え始めました。 matchsの数は、単語の順序は

  • 言葉と考えられている 同じである場合 言葉の高い数は、新しい質問
  • でmatchs持っ

    1. 質問:私は関連性によって質問を注文するだろうかタイトルに表示されるのは 関連性が高い

    これは単純なワークフローか複雑なスコアのアルゴリズムですか? リコールを増やすことに何らかの原因があるのでしょうか? この機能を実装するライブラリはありますか? 他にどのような面を考慮しますか? ジェフが自分自身に答えるかもしれないかもしれません!どのようにStackoverflowでこれを実装しましたか? :)

  • 答えて

    3

    このようなアルゴリズムは、次の手順を使用して、「関連性」の重み係数を割り当てヒューリスティック機能ごとに質問にランク付け伴うだろう実装するためにこのような方法の1つは:

    1. 「新規」にノイズフィルタを適用します。 'the'、 'and'、 'or'など多くのオブジェクトに共通する単語を削除する質問。
    2. 単語に一致する「New」質問に含まれる単語の数を取得するすでにウェブサイトに掲載されている質問のセット。 [A]
    3. 「新しい」質問の単語と利用可能な単語との間のタグの一致数を取得します。 [B]
    4. [A]と[B]に基づいて 'x [A] + y [B]'として '関連性重み'を計算します。xとyは重み乗数です]タグ付けは単純な単語検索よりも関連性が高いため)
    5. 「関連性の重み」が最も高い上位5つの質問を取得します。

    ヒューリスティックは、最適な結果を得るために調整が必要な場合がありますが、機能するはずです。

    -1

    StackOverflowはある時点でオープンソースになる予定はありませんか?もしそうなら、あなたはいつも彼らがそこでそれをやった方法を見つけることができます。

    更新:彼らは彼らがかもしれないと言っているようだオープンソースです。私は彼らが願っています。

    0

    @marcio

    申し訳ありませんが、私はここに提案する可能性のあるダイレクトAPIリファレンスを認識していないと私はLuceneので働いたことがありません。

    Googleデスクトップでは、クエリAPIを使用して関連する検索結果をランク付けして提案しています。 APIの詳細については、hereをご覧ください。

    おそらく他の人がチャイムでガイドしてくれるかもしれません。

    1

    質問はthis oneと似ていますが、これにはいくつかの回答があります。