nlpcloud 1.0.20 → 1.0.23

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/nlpcloud.rb +75 -30
  3. metadata +10 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb4f92a6a1a8bd0bb34711c966b14e794ab58e5d2fd4d6971c12e80906fc511b
4
- data.tar.gz: 3834f4b08fafa823d89c64a375ad5dc5c6321dcb003dc481ea4c842878d14a2a
3
+ metadata.gz: f076500f18c31ff51717007432a3d67c991803991a048af82086f94167442174
4
+ data.tar.gz: 3add87cd8b074c486dde61676376243c1bc4e08b8d2eb711ffdc65d292fa1844
5
5
  SHA512:
6
- metadata.gz: 060e2f7e75120e8c7efa4eb7a6b7412c0fff23cfab0adbe79e6b74d9a6faa289838a93f56d31349bee2b38909458528c5cc938a2c40b8fa971105e5b63ab849f
7
- data.tar.gz: aa01522b0580040c7aeaa7718a75c1d8f44a18a563424c725e478db97224a6fbbacda278ee155939714f2d7e51d1523b6ee9df16b0d9646222997c121b425e7b
6
+ metadata.gz: 02e26507bee02346f3ebd871ba2e0daaa3f1862a4a20ee03c97815841b0aa3604ae61ed512ba11adc2cd6f7adc14a0e932553fc8699bcb3ef66811508cf387a6
7
+ data.tar.gz: 9482ba800cd69ce7158d32dea7b6ff5689b2e776235d8ec790a329ef9cb1054fba16abbd8b9fe24a3886824d41da32e41af3d04752ea18b093d941bedd00fcd4
data/lib/nlpcloud.rb CHANGED
@@ -16,6 +16,9 @@ module NLPCloud
16
16
  'User-Agent' => 'nlpcloud-ruby-client'
17
17
  }
18
18
 
19
+ if lang == 'en'
20
+ lang = ''
21
+
19
22
  @root_url = if gpu && (lang != '')
20
23
  "#{BASE_URL}/#{API_VERSION}/gpu/#{lang}/#{model}"
21
24
  elsif gpu && (lang == '')
@@ -27,12 +30,19 @@ module NLPCloud
27
30
  end
28
31
  end
29
32
 
30
- def entities(text, searched_entity: nil)
33
+ def ad_generation(keywords)
31
34
  payload = {
32
- 'text' => text,
33
- 'searched_entity' => searched_entity
35
+ 'keywords' => keywords
34
36
  }
35
- response = RestClient.post("#{@root_url}/entities", payload.to_json, @headers)
37
+ response = RestClient.post("#{@root_url}/ad-generation", payload.to_json, @headers)
38
+ JSON.parse(response.body)
39
+ end
40
+
41
+ def chatbot(_text, history: nil)
42
+ payload = {
43
+ 'text' => history
44
+ }
45
+ response = RestClient.post("#{@root_url}/chatbot", payload.to_json, @headers)
36
46
  JSON.parse(response.body)
37
47
  end
38
48
 
@@ -46,6 +56,31 @@ module NLPCloud
46
56
  JSON.parse(response.body)
47
57
  end
48
58
 
59
+ def dependencies(text)
60
+ payload = {
61
+ 'text' => text
62
+ }
63
+ response = RestClient.post("#{@root_url}/dependencies", payload.to_json, @headers)
64
+ JSON.parse(response.body)
65
+ end
66
+
67
+ def embeddings(sentences)
68
+ payload = {
69
+ 'sentences' => sentences
70
+ }
71
+ response = RestClient.post("#{@root_url}/embeddings", payload.to_json, @headers)
72
+ JSON.parse(response.body)
73
+ end
74
+
75
+ def entities(text, searched_entity: nil)
76
+ payload = {
77
+ 'text' => text,
78
+ 'searched_entity' => searched_entity
79
+ }
80
+ response = RestClient.post("#{@root_url}/entities", payload.to_json, @headers)
81
+ JSON.parse(response.body)
82
+ end
83
+
49
84
  def generation(text, min_length: nil, max_length: nil, length_no_input: nil,
50
85
  end_sequence: nil, remove_input: nil, do_sample: nil, num_beams: nil, early_stopping: nil,
51
86
  no_repeat_ngram_size: nil, num_return_sequences: nil, top_k: nil, top_p: nil,
@@ -74,52 +109,57 @@ module NLPCloud
74
109
  JSON.parse(response.body)
75
110
  end
76
111
 
77
- def sentiment(text)
112
+ def gs_correction(text)
78
113
  payload = {
79
114
  'text' => text
80
115
  }
81
- response = RestClient.post("#{@root_url}/sentiment", payload.to_json, @headers)
116
+ response = RestClient.post("#{@root_url}/gs-correction", payload.to_json, @headers)
82
117
  JSON.parse(response.body)
83
118
  end
84
119
 
85
- def question(question, context: nil)
120
+ def intent_classification(text)
86
121
  payload = {
87
- 'question' => question,
88
- 'context' => context
122
+ 'text' => text
89
123
  }
90
- response = RestClient.post("#{@root_url}/question", payload.to_json, @headers)
124
+ response = RestClient.post("#{@root_url}/intent-classification", payload.to_json, @headers)
91
125
  JSON.parse(response.body)
92
126
  end
93
127
 
94
- def summarization(text)
128
+ def kw_kp_extraction(text)
95
129
  payload = {
96
130
  'text' => text
97
131
  }
98
- response = RestClient.post("#{@root_url}/summarization", payload.to_json, @headers)
132
+ response = RestClient.post("#{@root_url}/kw-kp-extraction", payload.to_json, @headers)
99
133
  JSON.parse(response.body)
100
134
  end
101
135
 
102
- def paraphrasing(text)
136
+ def langdetection(text)
103
137
  payload = {
104
138
  'text' => text
105
139
  }
106
- response = RestClient.post("#{@root_url}/paraphrasing", payload.to_json, @headers)
140
+ response = RestClient.post("#{@root_url}/langdetection", payload.to_json, @headers)
107
141
  JSON.parse(response.body)
108
142
  end
109
143
 
110
- def translation(text)
144
+ def lib_versions
145
+ response = RestClient.get("#{@root_url}/versions", @headers)
146
+ JSON.parse(response.body)
147
+ end
148
+
149
+ def paraphrasing(text)
111
150
  payload = {
112
151
  'text' => text
113
152
  }
114
- response = RestClient.post("#{@root_url}/translation", payload.to_json, @headers)
153
+ response = RestClient.post("#{@root_url}/paraphrasing", payload.to_json, @headers)
115
154
  JSON.parse(response.body)
116
155
  end
117
156
 
118
- def langdetection(text)
157
+ def question(question, context: nil)
119
158
  payload = {
120
- 'text' => text
159
+ 'question' => question,
160
+ 'context' => context
121
161
  }
122
- response = RestClient.post("#{@root_url}/langdetection", payload.to_json, @headers)
162
+ response = RestClient.post("#{@root_url}/question", payload.to_json, @headers)
123
163
  JSON.parse(response.body)
124
164
  end
125
165
 
@@ -131,40 +171,45 @@ module NLPCloud
131
171
  JSON.parse(response.body)
132
172
  end
133
173
 
134
- def tokens(text)
174
+ def sentence_dependencies(text)
135
175
  payload = {
136
176
  'text' => text
137
177
  }
138
- response = RestClient.post("#{@root_url}/tokens", payload.to_json, @headers)
178
+ response = RestClient.post("#{@root_url}/sentence-dependencies", payload.to_json, @headers)
139
179
  JSON.parse(response.body)
140
180
  end
141
181
 
142
- def dependencies(text)
182
+ def sentiment(text)
143
183
  payload = {
144
184
  'text' => text
145
185
  }
146
- response = RestClient.post("#{@root_url}/dependencies", payload.to_json, @headers)
186
+ response = RestClient.post("#{@root_url}/sentiment", payload.to_json, @headers)
147
187
  JSON.parse(response.body)
148
188
  end
149
189
 
150
- def sentence_dependencies(text)
190
+ def summarization(text)
151
191
  payload = {
152
192
  'text' => text
153
193
  }
154
- response = RestClient.post("#{@root_url}/sentence-dependencies", payload.to_json, @headers)
194
+ response = RestClient.post("#{@root_url}/summarization", payload.to_json, @headers)
155
195
  JSON.parse(response.body)
156
196
  end
157
197
 
158
- def embeddings(sentences)
198
+ def tokens(text)
159
199
  payload = {
160
- 'sentences' => sentences
200
+ 'text' => text
161
201
  }
162
- response = RestClient.post("#{@root_url}/embeddings", payload.to_json, @headers)
202
+ response = RestClient.post("#{@root_url}/tokens", payload.to_json, @headers)
163
203
  JSON.parse(response.body)
164
204
  end
165
205
 
166
- def lib_versions
167
- response = RestClient.get("#{@root_url}/versions", @headers)
206
+ def translation(text, source, target)
207
+ payload = {
208
+ 'text' => text,
209
+ 'source' => source,
210
+ 'target' => target
211
+ }
212
+ response = RestClient.post("#{@root_url}/translation", payload.to_json, @headers)
168
213
  JSON.parse(response.body)
169
214
  end
170
215
  end
metadata CHANGED
@@ -1,21 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nlpcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.20
4
+ version: 1.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Salinas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-06 00:00:00.000000000 Z
11
+ date: 2022-06-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'NLP Cloud serves high performance pre-trained or custom models for NER,
14
- sentiment-analysis, classification, summarization, paraphrasing, text generation,
15
- question answering, machine translation, language detection, semantic similarity,
16
- tokenization, POS tagging, embeddings, and dependency parsing. It is ready for production,
17
- served through a REST API. This is the Ruby client for the API. More details here:
18
- https://nlpcloud.io. Documentation: https://docs.nlpcloud.io.'
14
+ sentiment-analysis, classification, summarization, paraphrasing, grammar and spelling
15
+ correction, keywords and keyphrases extraction, chatbot, product description and
16
+ ad generation, intent classification, text generation, question answering, machine
17
+ translation, language detection, semantic similarity, tokenization, POS tagging,
18
+ embeddings, and dependency parsing. It is ready for production, served through a
19
+ REST API. This is the Ruby client for the API. More details here: https://nlpcloud.io.
20
+ Documentation: https://docs.nlpcloud.io.'
19
21
  email: all@juliensalinas.com
20
22
  executables: []
21
23
  extensions: []
@@ -44,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
44
46
  - !ruby/object:Gem::Version
45
47
  version: '0'
46
48
  requirements: []
47
- rubygems_version: 3.1.4
49
+ rubygems_version: 3.3.5
48
50
  signing_key:
49
51
  specification_version: 4
50
52
  summary: Ruby client for the NLP Cloud API