新しい月間ユーザーアルゴリズムの質問

こんにちは。
私はDiscourseフォーラムの新規ユーザーで、最初の月の終わりに930以上の「いいね!」を獲得しました。今月の新規ユーザー賞は2名で、一方は約40「いいね!」、もう一方は60「いいね!」でした。このサイトの以前の投稿で提供されたコードを確認しましたが、このような状況が発生するはずではありませんでした。私のトップの「いいね!」だけを見ると、各トラストレベルからの「いいね!」に割り当てられた値を使用して計算したところ、私のトップの「いいね!」だけで360のような数字になりました。次に、60「いいね!」を獲得したユーザーの計算をしましたが、その数字に3を掛けました。たとえ管理者に60回すべて「いいね!」されたとしても、360にはほど遠いでしょう。何が起こったのでしょうか?私たちはどちらも11月中旬に数日違いで参加しました…他に考慮すべきことはありますか?意地悪に聞こえるつもりはありませんが、かなり残念で混乱しました。これまでのところ、「今月の新規ユーザー賞は詐欺だ」という以外の答えは誰もくれませんでした。したがって、どのような情報でも役立ちますが、私はすでにコードを見たことを覚えておいてください。ありがとうございます!

「いいね!」 3

コードを確認しました。いいねは seniority に応じて重み付けされているだけでなく、投稿にいいねをしたユニークなアカウントの数に応じて合計が分割されています。おそらく、広範な人気を測る尺度なのでしょう。

編集:おっと、アカウントではなく投稿数で分割されているのかもしれません。スレッドの下の方を参照してください。

「いいね!」 4

それも考慮に入れましたが。\n本当に奇妙ですね。\n[quote="Ed S, post:2, topic:344213, username:Ed_S"]\nあなたの投稿に「いいね!」した重複アカウント\n[/quote]\n\nつまり、別のアカウントということですか?なるほど。それは理にかなっています…そのデータは取得できませんが、それでも奇妙だと思います。\n\nでも、助けになりました!

Dataexplorerを確認しましたか?コアに組み込まれており、クエリ用のスクリプトが既にある可能性があります。

今月の新規ユーザーの変更については、オプションがわかりません。ただし、サイトの設定で、TLごとの重みを変更できると思います。

いいえ、まだです。試してみるかもしれません。
ありがとうございます!

「いいね!」 1

共有されたカスタムのものを見つけるのに役立つかもしれません。

「いいね!」 2

Date Explorer はフォーラムの管理者のみが使用できるため、ユーザーとしてデータ取得にそれを使用することはできません。

いいねの総数については多くのことを書かれていますが、投稿数については言及されていません。ユーザーの信頼レベルによって重み付けされたいいねから計算されたスコアは、投稿した総投稿数で割られます。

そのため、バッジを受け取ったユーザーよりも多くのいいねを受け取ったかもしれませんが、投稿頻度も高かったのかもしれません。

「いいね!」 7

なるほど、よくわかりました。ありがとうございます。
(しかし、あまり理にかなっていません。私の意見では、投稿を増やすことはコミュニティへの貢献と見なされるべきであり、スコアを低下させるべきではありません。)

コミュニティに最も貢献するのは何でしょうか?魅力に欠けるために「いいね」が少ない多くの投稿でしょうか、それとも多くの「いいね」を集めてユーザーの興味を引く少数の投稿でしょうか?

(「いいね」の使用はコミュニティによって異なり、一部のコミュニティではユーザーが「いいね」の価値を認識していない、または習慣になっていないなどの場合があることは承知しています…)

「いいね!」 2

はい、私もそう思います。私のフォーラムでは状況が違うと思いますが、ほとんどの投稿は1つか2つの「いいね!」しかなく、「今月の新人賞」は解決策を考慮していません。これは良いことかもしれませんが(プラグインかどうかはわかりませんが)、バッジが自動ではなく、モデレーターや管理者が選択できるようにするのも良いかもしれません。そうすれば、バッジは各フォーラムに合わせてより的確なものになるでしょう。

2週間で700件ほどの投稿と60件ほどの解決策があり、1.1K件の「いいね!」があるのはフォーラムで役立つと考えられますか?それとも、ほぼ同じ期間で60件ほどの「いいね!」と40件ほどの投稿がある方が、「今月の新人賞」にふさわしいと考えられますか?

ところで、楽しいホリデーシーズンをお過ごしください!

「いいね!」 2

これは非常に良い指摘であり、現在のアルゴリズムが単純すぎる可能性があることに同意します。最初のステップとして、投稿係数を非線形にするのが良いと思います。例えば、

SUM(...) / SQRT(5 + COUNT(DISTINCT p.id))::float AS score

あるいは、さらに進んで

LN(1 + SUM(CASE ... END)) / (5 + COUNT(DISTINCT p.id))::float AS score

「いいね!」 4

より好まれる投稿を増やすための1つのアプローチは、いいねの二乗の合計を取り、それを投稿数で割ることです。

私の誤った考えに価値があるかどうか疑問に思っています。それは、いいねをしたアカウントの数を考慮に入れることです。例えば、それはクリックや投票リングに対して役立つかもしれません。

ちなみに、私のフォーラムでは過去12ヶ月間で、24個の新しい月間ユーザーバッジの受賞者は13名でした。

「いいね!」 2

はい、同意します。それは良い考えかもしれません。

それを英語で説明していただけますか?新しい月間最優秀ユーザーのコードでさえ、ほとんど理解できませんでした(笑)。

信頼レベルの高い方、タイトルを「月間最優秀ユーザーのアルゴリズムに関する質問」などに編集していただけませんか?明らかにバグではありません。ただ少し奇妙なだけです。
@Moinさん、ありがとうございます!

「いいね!」 2

「問題」とは、スコアが(基本的に)

$$\n\text{Score} = \frac{\text{# Likes}}{\text{# Posts}}\n$$

となっていることです。これは、あなたがすでに指摘したように、おそらく望ましい状況ではないでしょう。もし彼らの平均いいね数が同じであれば、多くの投稿は少ない投稿よりも高く評価されるべきです。

そこで、この「問題」を「修正」するために、関数を変更する必要があります。つまり、投稿数が増えても分母がそれほど速く増加しないようにします。これを実現するために、関数を適用します。通常候補となるのは、SQRT(平方根)やLN(自然対数)です。これらは増加関数ですが、線形よりも増加が緩やかです。

したがって、投稿数が増えるにつれて増加が遅くなるものに除数を変更することで、スコアは高くなります(結局のところ、小さい数で割ると結果は大きくなります)。式を、除数にSQRTまたはLNを適用するように変更すると、望ましい結果が得られます(「平均いいね数が同じであれば、多くの投稿は少ない投稿よりも高く評価されるべきです。」)。

2番目の式は、反対の望ましくない効果、つまり、少数の高く評価された投稿がスコアを支配できないようにしようとしています。

「いいね!」 3

管理者であれば、サイト設定に移動して、重み係数を変更して平坦化することができます。

たとえば、信頼レベルごと、さらにはスタッフの重み変更などです。重みを変更して、tlに関係なく、またはスタッフであっても、いいねが位置によって増加するのではなく、均等に重み付けされるようにすることができます。

私は管理者ではありませんが、とにかくありがとうございます。
毎日新しいことを学ぶようですね :grinning:

説明してくれてありがとう!それは素晴らしい解決策ですね。私のフォーラムでもそうなればいいのに…

「いいね!」 2

ほとんどの場合、それは真実ではありません。この論理では、あなたの投稿が本当に役立つかどうかを示すのは、まさに「いいね」の数です。たくさん投稿しても、いいね数/投稿数の高い比率を維持できない場合、それはあなたがおしゃべりをしており、検索できたはずの質問をしている可能性があることを示しています。

例えば、あなたの質問はすでに以下で議論されています。

「いいね!」 2

承知いたしました。この質問を投稿したことをお詫びしますが、私は同意しません。フォーラムによって「いいね」の使い方は異なり、RGJさんが投稿した解決策は私のフォーラムで役立つと思います。すべてのフォーラムがすべての投稿に「いいね」を付けるとは限りません。なぜなら、私たちはしばしば、自分たちを励まし、自分たちの発言に同意してくれる場合にのみ「いいね」を付ける傾向があるからです。ほとんどのユーザーにとって、正しいことを言っただけでは「いいね」を正当化するには十分ではありません。リンクを確認しますが、以前は見ませんでした。議論の早い段階で、私がすでに返信したのと同じ意見を投稿する必要はなかったと思います。意見が違うということで合意しませんか?

しかし、考えてみてください。あなたが本当に役に立つなら、投稿すればするほど良くなります。バッジはそれについてであるべきだと私は思います。
あなたがリンクした投稿では、データについては正しかったかもしれませんが、コミュニティでの活動は数字だけではありません。以前、もし私が正しいトピックで一度だけ正しいことを投稿して、その後完全に活動を停止した場合、バッジを獲得できたと言いました。それは許されない抜け穴です。

その通りです。

現在の計算式では、20いいねがついた「もうダメだ、このフォーラムはクソだ」という単一の投稿を作成したユーザーは、合計200いいねがついた60の役立つ投稿を作成したユーザーよりも高いスコアになります。

(私には)それは正しくないように思えます。

「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.