Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default to ten docs deep scoring #209

Merged
merged 2 commits into from
Sep 11, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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