text_rank 1.2.4 → 1.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/text_rank.rb +1 -1
- data/lib/text_rank/keyword_extractor.rb +13 -4
- data/lib/text_rank/version.rb +1 -1
- data/text_rank.gemspec +1 -0
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8578660270e5eb59c1bd9cfc7b3a22d10ac953cc6672073b368bbf20464dc3f3
|
4
|
+
data.tar.gz: 6043c2eea693623b65f2dffc0ad2be1ae5bb0f1be57dcbbcb8ad871c4260a63b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73acab105c3f6dbee7b7c49bd383f41b0da192d1c67b56c9813f7ad1f32c70790b7a99f334bccd3104573e78f39cd5400f0ea066bf2f776da7f6c7083b4d9df2
|
7
|
+
data.tar.gz: c51e2861b1aaa21ce91c783d3528815b66c343d8299564a50e69ad0887b14d06908d54626fbd01ed8508f52cd8d893433d3c91f5eec6f8a6feff4bbc077c8a17
|
data/lib/text_rank.rb
CHANGED
@@ -20,7 +20,7 @@ module TextRank
|
|
20
20
|
autoload :VERSION, 'text_rank/version'
|
21
21
|
|
22
22
|
# A convenience method for quickly extracting keywords from text with default options
|
23
|
-
# @param text [String] text from which to extract keywords
|
23
|
+
# @param text [String,Array<String>] text from which to extract keywords
|
24
24
|
# @option (see KeywordExtractor.basic)
|
25
25
|
# @return [Hash<String, Float>] of tokens and text rank (in descending order)
|
26
26
|
def self.extract_keywords(text, **options)
|
@@ -103,14 +103,23 @@ module TextRank
|
|
103
103
|
end
|
104
104
|
|
105
105
|
# Filter & tokenize text, and return PageRank
|
106
|
-
# @param text [String] unfiltered text to be processed
|
106
|
+
# @param text [String,Array<String>] unfiltered text to be processed
|
107
107
|
# @return [Hash<String, Float>] tokens and page ranks (in descending order)
|
108
108
|
def extract(text, **options)
|
109
|
-
|
109
|
+
text = Array(text)
|
110
|
+
tokens_per_text = text.map do |t|
|
111
|
+
tokenize(t)
|
112
|
+
end
|
110
113
|
graph = PageRank.new(**@page_rank_options)
|
111
|
-
classify(@graph_strategy, context: GraphStrategy)
|
114
|
+
strategy = classify(@graph_strategy, context: GraphStrategy)
|
115
|
+
tokens_per_text.each do |tokens|
|
116
|
+
strategy.build_graph(tokens, graph)
|
117
|
+
end
|
112
118
|
ranks = graph.calculate(**options)
|
113
|
-
|
119
|
+
tokens_per_text.each_with_index do |tokens, i|
|
120
|
+
ranks = apply_rank_filters(ranks, tokens: tokens, original_text: text[i])
|
121
|
+
end
|
122
|
+
ranks
|
114
123
|
end
|
115
124
|
|
116
125
|
private
|
data/lib/text_rank/version.rb
CHANGED
data/text_rank.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency 'rspec'
|
24
24
|
spec.add_development_dependency 'rubocop'
|
25
25
|
spec.add_development_dependency 'simplecov', '~> 0.17.0' # 0.18 not supported by code climate
|
26
|
+
spec.add_development_dependency 'yard'
|
26
27
|
|
27
28
|
spec.add_development_dependency 'engtagger' # Optional runtime dependency but needed for specs
|
28
29
|
spec.add_development_dependency 'nokogiri' # Optional runtime dependency but needed for specs
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: text_rank
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David McCullars
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.17.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: yard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: engtagger
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,7 +184,7 @@ homepage: https://github.com/david-mccullars/text_rank
|
|
170
184
|
licenses:
|
171
185
|
- MIT
|
172
186
|
metadata: {}
|
173
|
-
post_install_message:
|
187
|
+
post_install_message:
|
174
188
|
rdoc_options: []
|
175
189
|
require_paths:
|
176
190
|
- lib
|
@@ -185,9 +199,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
199
|
- !ruby/object:Gem::Version
|
186
200
|
version: '0'
|
187
201
|
requirements: []
|
188
|
-
rubyforge_project:
|
202
|
+
rubyforge_project:
|
189
203
|
rubygems_version: 2.7.6
|
190
|
-
signing_key:
|
204
|
+
signing_key:
|
191
205
|
specification_version: 4
|
192
206
|
summary: Implementation of TextRank solution to ranked keyword extraction
|
193
207
|
test_files: []
|