Skip to content

Commit

Permalink
Default to ten docs deep scoring (#209)
Browse files Browse the repository at this point in the history
* and we have made the default depth change

* maybe we ought to actually save our changes!
  • Loading branch information
epugh committed Oct 26, 2020
1 parent 1ac0319 commit 99fc10c
Show file tree
Hide file tree
Showing 10 changed files with 45 additions and 22 deletions.
2 changes: 2 additions & 0 deletions db/migrate/20200911180507_change_to_zero_to_three_grading.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ def change
unless scorer.nil?
scorer.scale = (0..3).to_a
scorer.scale_with_labels = scale_with_labels
scorer.save!
end


end
end
end
21 changes: 21 additions & 0 deletions db/migrate/20200911192850_change_default_scorers_to_at_ten_deep.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class ChangeDefaultScorersToAtTenDeep < ActiveRecord::Migration
def change

scorers_to_update = ['P@5', 'AP@5','nDCG@5', 'DCG@5', 'CG@5']

scorers_to_update.each do |scorer_name|
scorer = Scorer.where(name: scorer_name).first
unless scorer.nil?
name = scorer.name
name.sub!('@5', '@10')
scorer.name = name
scorer.code = File.readlines("./db/scorers/#{name.downcase}.js",'\n').join('\n'),
scorer.save!
end


end


end
end
2 changes: 1 addition & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20200911180507) do
ActiveRecord::Schema.define(version: 20200911192850) do

create_table "annotations", force: :cascade do |t|
t.text "message", limit: 65535
Expand Down
2 changes: 1 addition & 1 deletion db/scorers/ap@5.js → db/scorers/ap@10.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var k = 5; // @Rank
var k = 10; // @Rank
total = 0

eachDoc(function(doc, i) {
Expand Down
4 changes: 2 additions & 2 deletions db/scorers/cg@5.js → db/scorers/cg@10.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
var k = 5 // @Rank
var k = 10 // @Rank
var score = 0;

eachDoc(function(doc, i) {
score += docRating(i);
}, k)

setScore(score);
setScore(score);
6 changes: 3 additions & 3 deletions db/scorers/dcg@5.js → db/scorers/dcg@10.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
var k = 5 // @Rank
var k = 10 // @Rank
var score = 0;

eachDoc(function(doc, i) {
var d = Math.log2(i+2); // i is the JSindex not the DocRank; 0 vs 1
var n = Math.pow(2,docRating(i))-1;
var n = Math.pow(2,docRating(i))-1;
score += d?(n/d):0;
}, k)

setScore(score);
setScore(score);
2 changes: 1 addition & 1 deletion db/scorers/ndcg@5.js → db/scorers/ndcg@10.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var k = 5 // @Rank
var k = 10 // @Rank

var ideal = topRatings(k)

Expand Down
4 changes: 4 additions & 0 deletions db/scorers/p@10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
var k = 10 // @Rank
var score = avgRating(k);

setScore(score);
4 changes: 0 additions & 4 deletions db/scorers/p@5.js

This file was deleted.

20 changes: 10 additions & 10 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,49 +6,49 @@
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
# Mayor.create(name: 'Emanuel', city: cities.first)

Scorer.where(name: 'nDCG@5').first_or_create(
Scorer.where(name: 'nDCG@10').first_or_create(
scale: (0..3).to_a,
scale_with_labels: {"0":"Poor","1":"Fair","2":"Good","3":"Perfect"},
show_scale_labels: true,
code: File.readlines('./db/scorers/ndcg@5.js','\n').join('\n'),
code: File.readlines('./db/scorers/ndcg@10.js','\n').join('\n'),
name: 'nDCG@5',
communal: true,
manual_max_score: true,
manual_max_score_value: 1
)

Scorer.where(name: 'DCG@5').first_or_create(
Scorer.where(name: 'DCG@10').first_or_create(
scale: (0..3).to_a,
scale_with_labels: {"0":"Poor","1":"Fair","2":"Good","3":"Perfect"},
show_scale_labels: true,
code: File.readlines('./db/scorers/dcg@5.js','\n').join('\n'),
code: File.readlines('./db/scorers/dcg@10.js','\n').join('\n'),
name: 'DCG@5',
communal: true
)

Scorer.where(name: 'CG@5').first_or_create(
Scorer.where(name: 'CG@10').first_or_create(
scale: (0..3).to_a,
scale_with_labels: {"0":"Poor","1":"Fair","2":"Good","3":"Perfect"},
show_scale_labels: true,
code: File.readlines('./db/scorers/cg@5.js','\n').join('\n'),
code: File.readlines('./db/scorers/cg@10.js','\n').join('\n'),
name: 'CG@5',
communal: true
)

Scorer.where(name: 'P@5').first_or_create(
Scorer.where(name: 'P@10').first_or_create(
scale: (0..1).to_a,
scale_with_labels: {"0":"Irrelevant","1":"Relevant"},
show_scale_labels: true,
code: File.readlines('./db/scorers/p@5.js','\n').join('\n'),
code: File.readlines('./db/scorers/p@10.js','\n').join('\n'),
name: 'P@5',
communal: true
)

Scorer.where(name: 'AP@5').first_or_create(
Scorer.where(name: 'AP@10').first_or_create(
scale: (0..1).to_a,
scale_with_labels: {"0":"Irrelevant","1":"Relevant"},
show_scale_labels: true,
code: File.readlines('./db/scorers/ap@5.js','\n').join('\n'),
code: File.readlines('./db/scorers/ap@10.js','\n').join('\n'),
name: 'AP@5',
communal: true
)
Expand Down

0 comments on commit 99fc10c

Please sign in to comment.