2017-03-16 16 views
0

私は多言語辞書ウェブサイトで働いています。この辞書の各単語は、ユーザーが記録できる音声ファイルとして多くの人間の発音とリンクしています。各単語は、時々(例えば、各単語について3ヶ月後に)10個のオーディオファイルにのみリンクすることができ、この場合、評価システム(-5、-2 、0、+ 2、+5)。投票時間の投票システム

しかし、問題は、ということである:10 2票、および2 5票(と

  • (1)古いオーディオファイル(平均品質):一つの単語がリンクされている場合は

    その評価はファイル番号9と同じくらい速くならなかった)

  • (8)古いオーディオファイル(平均品質)+ 10票+ 1票9)

  • (9)新しいオーディオファイル(良質)、5票+4票(その格付けは急速に伸びました)
  • (10)新しいオーディオファイル(悪質)+5票(その評価はゆっくりと伸びました)

つまり、ファイルNo.9は、評価が急速に高まったが、スコアがあまり高くないため、いい発音ファイルです。評価システムで時間の伸び率をどのように使用できますか?

答えて

0

Yoyには投票時からスコアを計算するまでの経過時間を考慮した投票の記憶要素を含めることができます。あなたはこれらのn = 4つの数字で、たとえば、平均を行うと

が行うことと同じです。だから、この最後の方法を使用して

1/4 + 2/4 + 3/4 + 4/4 = 2.5 

:個々の寄与を追加するよりも

1 + 2 + 3 + 4 = 10 
10/4 = 2.5 

計算を実行すると、時間の経過とともに1から0に減少するメモリ係数で各寄与を掛けて、平均に加算するときに古い値を軽くすることができます。

例えば可能性の要因は、7日前にそれが評価されます投票1

f(time_gone_by) = 1/(1 + time_gone_by) 

(time is in days) 

より大きいxは1/X機能を使用することができますどちらが

vote_value/number_of_votes * 1/8. 

今日の投票であれば、その価値の12%です。

おそらく、この機能はあなたが必要とするものではありませんが、あなたのニーズに合った別の機能で置き換えることができます。

関連する問題