bm25f 0.2.0 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bm25f.rb +2 -2
  3. metadata +7 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2649ac16a2f5adeb5815b2f472e62f98aec6b05af882648e4d128051c5fb90e0
4
- data.tar.gz: e70ee90881438943874b4ae5e4852a6e7d44eda53f0315af35ea85565a2cde70
3
+ metadata.gz: b00f60fdde35d0565f169e9486d2935e5ddcef9bbd8084d60d9228364c9ebed7
4
+ data.tar.gz: 7249983dda5a101fb1b2ddb646414b58776ae9a29feb4f563707e9a654d45094
5
5
  SHA512:
6
- metadata.gz: 1f7a68810a77daa256eb3e3177748e6b22f53cf3dfd2e68c68e82c4b7c143cdc60ac38c0e519e6f4b3c90725123c62f2b5e852898230c5e9812ca181e3efa577
7
- data.tar.gz: 6690099e9435eebc6676d7bbd0d5530218e2d360a2ca8fb3e5156faf74b426364765eab60bdab5bb2caa85deadb69bb22b951a987d9904eaf1cb75bbb1b31520
6
+ metadata.gz: 16231fa9ba99f19cff2a6e9e801b734b53effa584da0bc8fcc80000774bbe61c75f1994bfbdc39b3cdac8d427b5049ff56dd1dbcc669eed3b836d910e45f5547
7
+ data.tar.gz: eea02e6dc1989ff69baa6097997da274149083a87cbbc7355101e613103f09fa52886718422cf68b9cb9afadb2e4ed9ce54be8117cba536a99647db01acb24f0
data/lib/bm25f.rb CHANGED
@@ -66,7 +66,7 @@ class BM25F
66
66
  # @param documents [Hash] The documents.
67
67
  # @return [Float] The average document length.
68
68
  def calculate_average_document_length(documents)
69
- total_length = documents.sum { |doc| doc.values.map(&:length).sum }
69
+ total_length = documents.sum { |doc| doc.values.map { |v| v.nil? ? 0 : v.length }.sum }
70
70
  total_length / documents.length.to_f
71
71
  end
72
72
 
@@ -77,7 +77,7 @@ class BM25F
77
77
  def calculate_document_lengths(documents)
78
78
  doc_lengths = {}
79
79
  documents.each_with_index do |doc, i|
80
- doc_lengths[i] = doc.transform_values(&:length)
80
+ doc_lengths[i] = doc.transform_values { |v| v.nil? ? 0 : v.length }
81
81
  end
82
82
  doc_lengths
83
83
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bm25f
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - catflip
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-09 00:00:00.000000000 Z
11
+ date: 2023-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: treat
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 10.4.2
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 10.4.2
41
41
  description: A fast implementation of the BM25F ranking algorithm for information
42
42
  retrieval systems, written in Ruby.
43
43
  email:
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  requirements: []
71
- rubygems_version: 3.3.26
71
+ rubygems_version: 3.4.19
72
72
  signing_key:
73
73
  specification_version: 4
74
74
  summary: BM25F ranking function in Ruby.