rosette_api 1.9.2 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rosette_api.rb +40 -3
  3. data/tests/tests_spec.rb +45 -25
  4. metadata +3 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '099d4aad3982ea728506df650f76cc052e73cb1f5a961400ee222a099383a673'
4
- data.tar.gz: '09a4b93c15d4e3529eac7729c4b0f2746bfa1f440fdc354bd94357818623b6c1'
3
+ metadata.gz: d65a80d194b5956cf0a742db19a6076b05aace36a082697ab01a27fb9be14a2a
4
+ data.tar.gz: 22f92f9b67f0533c042d32a5c1ee249b5ac4034ba1abab66d317b3ee8658c78c
5
5
  SHA512:
6
- metadata.gz: 5004bb4bb96f6e1019b866734bcfbc4d3d02620461fded2f047bc024bb2f1b1eeea7fcc9ea9a90f5e37de061be254207d3baf8abfbb57661982b42bbd3a2bb46
7
- data.tar.gz: 65453989036aaba78ebcad11bb9c56b8657cba64df94cf3295c6dc502c21d587ef13ab68c0b2111c7543e13e3186157d34c7382ae6f3c0fcdf28db81c37dbe40
6
+ metadata.gz: ca25172ef0ef615051922a8a849c3d7d11755b806f004df9eb2c0c6a131a8a203cac560aeb72c88224e0078c759553048548883cf74640f4c63168618380cf92
7
+ data.tar.gz: a3d64fd9539dbacb98489e60ac19d45b6eac4e1f80edf2e8bfc433d3f8713a966448d2ddbbaf87e62a86b6fe76f23189c794a9984a957bfdf207968463882acd
@@ -10,7 +10,7 @@ require_relative 'bad_request_format_error'
10
10
  # This class allows you to access all Rosette API endpoints.
11
11
  class RosetteAPI
12
12
  # Version of Ruby binding
13
- BINDING_VERSION = '1.9.2'
13
+ BINDING_VERSION = '1.12.1'
14
14
  # Rosette API language endpoint
15
15
  LANGUAGE_ENDPOINT = '/language'.freeze
16
16
  # Rosette API morphology endpoint
@@ -37,8 +37,12 @@ class RosetteAPI
37
37
  INFO = '/info'.freeze
38
38
  # Rosette API ping endpoint
39
39
  PING = '/ping'.freeze
40
- # Text Embedding endpoint
40
+ # Text Embedding endpoint (deprecated)
41
41
  TEXT_EMBEDDING = '/text-embedding'.freeze
42
+ # Semantic Vectors endpoint (replaces /text-embedding)
43
+ SEMANTIC_VECTORS = '/semantics/vector'.freeze
44
+ # Similar Terms endpoint
45
+ SIMILAR_TERMS_ENDPOINT = '/semantics/similar'.freeze
42
46
  # Syntactic Dependencies endpoint
43
47
  SYNTACTIC_DEPENDENCIES_ENDPOINT = '/syntax/dependencies'.freeze
44
48
  # Transliteration endpoint
@@ -320,11 +324,13 @@ class RosetteAPI
320
324
  #
321
325
  # Returns the vectors associated with the text
322
326
  #
327
+ # Deprecated. Please use `get_semantic_vectors` instead
328
+ #
323
329
  # ==== Attributes
324
330
  #
325
331
  # * +params+ - DocumentParameters helps to build the request body in RequestBuilder.
326
332
  #
327
- # Returns list of linguistic sentences of the input.
333
+ # Returns the text embedding representation of the input.
328
334
  def get_text_embedding(params)
329
335
  check_params params
330
336
 
@@ -341,6 +347,21 @@ class RosetteAPI
341
347
  #
342
348
  # * +params+ - DocumentParameters helps to build the request body in RequestBuilder.
343
349
  #
350
+ # Returns the text embedding representation of the input.
351
+ def get_semantic_vectors(params)
352
+ check_params params
353
+ params = params.load_params
354
+ RequestBuilder.new(@user_key, @alternate_url + SEMANTIC_VECTORS, @http_client, params, @url_parameters, BINDING_VERSION)
355
+ .send_post_request
356
+ end
357
+
358
+ #
359
+ # Returns the syntactic structure of the text
360
+ #
361
+ # ==== Attributes
362
+ #
363
+ # * +params+ - DocumentParameters helps to build the request body in RequestBuilder.
364
+ #
344
365
  # Returns list of linguistic sentences of the input.
345
366
  def get_syntax_dependencies(params)
346
367
  check_params params
@@ -384,6 +405,22 @@ class RosetteAPI
384
405
  .send_post_request
385
406
  end
386
407
 
408
+ # Returns the terms similar to the input
409
+ #
410
+ # ==== Attributes
411
+ #
412
+ # * +params+ - DocumentParameters helps to build the request body in RequestBuilder.
413
+ #
414
+ # Returns a mapping of languageCode to similar terms
415
+ def get_similar_terms(params)
416
+ check_params params
417
+
418
+ params = params.load_params
419
+
420
+ RequestBuilder.new(@user_key, @alternate_url + SIMILAR_TERMS_ENDPOINT, @http_client, params, @url_parameters, BINDING_VERSION)
421
+ .send_post_request
422
+ end
423
+
387
424
  # Gets information about the Rosette API, returns name, build number
388
425
  # and build time.
389
426
  def info
@@ -29,7 +29,7 @@ describe RosetteAPI do
29
29
  'User-Agent' => @user_agent,
30
30
  'X-Rosetteapi-Key' => '0123456789',
31
31
  'X-Rosetteapi-Binding' => 'ruby',
32
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
32
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
33
33
  .to_return(status: 200, body: '{"test": "language"}', headers: {})
34
34
  end
35
35
  it 'test language' do
@@ -63,7 +63,7 @@ describe RosetteAPI do
63
63
  'User-Agent' => @user_agent,
64
64
  'X-Rosetteapi-Key' => '0123456789',
65
65
  'X-Rosetteapi-Binding' => 'ruby',
66
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
66
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
67
67
  .to_return(status: 200, body: '{"test": "morphology/complete"}', headers: {})
68
68
  end
69
69
  it 'test morphology complete' do
@@ -84,7 +84,7 @@ describe RosetteAPI do
84
84
  'User-Agent' => @user_agent,
85
85
  'X-Rosetteapi-Key' => '0123456789',
86
86
  'X-Rosetteapi-Binding' => 'ruby',
87
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
87
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
88
88
  .to_return(status: 200, body: '{"test": "morphology/compound-components"}', headers: {})
89
89
  end
90
90
  it 'test morphology compound components' do
@@ -105,7 +105,7 @@ describe RosetteAPI do
105
105
  'User-Agent' => @user_agent,
106
106
  'X-Rosetteapi-Key' => '0123456789',
107
107
  'X-Rosetteapi-Binding' => 'ruby',
108
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
108
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
109
109
  .to_return(status: 200, body: '{"test": "morphology/han-readings"}', headers: {})
110
110
  end
111
111
  it 'test morphology han readings' do
@@ -126,7 +126,7 @@ describe RosetteAPI do
126
126
  'User-Agent' => @user_agent,
127
127
  'X-Rosetteapi-Key' => '0123456789',
128
128
  'X-Rosetteapi-Binding' => 'ruby',
129
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
129
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
130
130
  .to_return(status: 200, body: '{"test": "morphology/parts-of-speech"}', headers: {})
131
131
  end
132
132
  it 'test morphology parts of speech' do
@@ -147,7 +147,7 @@ describe RosetteAPI do
147
147
  'User-Agent' => @user_agent,
148
148
  'X-Rosetteapi-Key' => '0123456789',
149
149
  'X-Rosetteapi-Binding' => 'ruby',
150
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
150
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
151
151
  .to_return(status: 200, body: '{"test": "morphology/lemmas"}', headers: {})
152
152
  end
153
153
  it 'test morphology lemmas' do
@@ -168,7 +168,7 @@ describe RosetteAPI do
168
168
  'User-Agent' => @user_agent,
169
169
  'X-Rosetteapi-Key' => '0123456789',
170
170
  'X-Rosetteapi-Binding' => 'ruby',
171
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
171
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
172
172
  .to_return(status: 200, body: '{"test": "entities"}', headers: {})
173
173
  end
174
174
  it 'test entities' do
@@ -190,7 +190,7 @@ describe RosetteAPI do
190
190
  'User-Agent' => @user_agent,
191
191
  'X-Rosetteapi-Key' => '0123456789',
192
192
  'X-Rosetteapi-Binding' => 'ruby',
193
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
193
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
194
194
  .to_return(status: 200, body: '{"test": "entities"}', headers: {})
195
195
  end
196
196
  it 'test entities without qids' do
@@ -221,7 +221,7 @@ describe RosetteAPI do
221
221
  'User-Agent' => @user_agent,
222
222
  'X-Rosetteapi-Key' => '0123456789',
223
223
  'X-Rosetteapi-Binding' => 'ruby',
224
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
224
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
225
225
  .to_return(status: 200, body: '{"test": "categories"}', headers: {})
226
226
  end
227
227
  it 'test categories' do
@@ -242,7 +242,7 @@ describe RosetteAPI do
242
242
  'User-Agent' => @user_agent,
243
243
  'X-Rosetteapi-Key' => '0123456789',
244
244
  'X-Rosetteapi-Binding' => 'ruby',
245
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
245
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
246
246
  .to_return(status: 200, body: '{"test": "relationships"}', headers: {})
247
247
  end
248
248
  it 'test relationships' do
@@ -264,7 +264,7 @@ describe RosetteAPI do
264
264
  'User-Agent' => @user_agent,
265
265
  'X-Rosetteapi-Key' => '0123456789',
266
266
  'X-Rosetteapi-Binding' => 'ruby',
267
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
267
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
268
268
  .to_return(status: 200, body: '{"test": "name-translation"}', headers: {})
269
269
  end
270
270
  it 'test name translation' do
@@ -291,7 +291,7 @@ describe RosetteAPI do
291
291
  'User-Agent' => @user_agent,
292
292
  'X-Rosetteapi-Key' => '0123456789',
293
293
  'X-Rosetteapi-Binding' => 'ruby',
294
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
294
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
295
295
  .to_return(status: 200, body: '{"test": "name-similarity"}', headers: {})
296
296
  end
297
297
  it 'test name similarity' do
@@ -329,7 +329,7 @@ describe RosetteAPI do
329
329
  'User-Agent' => @user_agent,
330
330
  'X-Rosetteapi-Key' => '0123456789',
331
331
  'X-Rosetteapi-Binding' => 'ruby',
332
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
332
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
333
333
  .to_return(status: 200, body: '{"test": "name-deduplication"}', headers: {})
334
334
 
335
335
  nothresh_json = { names: names.map(&:load_param) }.to_json
@@ -342,7 +342,7 @@ describe RosetteAPI do
342
342
  'User-Agent' => @user_agent,
343
343
  'X-Rosetteapi-Key' => '0123456789',
344
344
  'X-Rosetteapi-Binding' => 'ruby',
345
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
345
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
346
346
  .to_return(status: 200, body: '{"test": "name-deduplication"}', headers: {})
347
347
  end
348
348
  it 'test name deduplication' do
@@ -393,7 +393,7 @@ describe RosetteAPI do
393
393
  'User-Agent' => @user_agent,
394
394
  'X-Rosetteapi-Key' => '0123456789',
395
395
  'X-Rosetteapi-Binding' => 'ruby',
396
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
396
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
397
397
  .to_return(status: 200, body: '{"test": "transliteration"}', headers: {})
398
398
  end
399
399
  it 'test transliteration' do
@@ -426,7 +426,7 @@ describe RosetteAPI do
426
426
  'User-Agent' => @user_agent,
427
427
  'X-Rosetteapi-Key' => '0123456789',
428
428
  'X-Rosetteapi-Binding' => 'ruby',
429
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
429
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
430
430
  .to_return(status: 200, body: '{"test": "tokens"}', headers: {})
431
431
  end
432
432
  it 'test tokens' do
@@ -447,7 +447,7 @@ describe RosetteAPI do
447
447
  'User-Agent' => @user_agent,
448
448
  'X-Rosetteapi-Key' => '0123456789',
449
449
  'X-Rosetteapi-Binding' => 'ruby',
450
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
450
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
451
451
  .to_return(status: 200, body: '{"test": "topics"}', headers: {})
452
452
  end
453
453
  it 'test topics' do
@@ -468,7 +468,7 @@ describe RosetteAPI do
468
468
  'User-Agent' => @user_agent,
469
469
  'X-Rosetteapi-Key' => '0123456789',
470
470
  'X-Rosetteapi-Binding' => 'ruby',
471
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
471
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
472
472
  .to_return(status: 200, body: '{"test": "sentences"}', headers: {})
473
473
  end
474
474
  it 'test sentences' do
@@ -519,7 +519,7 @@ describe RosetteAPI do
519
519
  'User-Agent' => @user_agent,
520
520
  'X-Rosetteapi-Key' => '0123456789',
521
521
  'X-Rosetteapi-Binding' => 'ruby',
522
- 'X-Rosetteapi-Binding-Version' => '1.9.2',
522
+ 'X-Rosetteapi-Binding-Version' => '1.12.1',
523
523
  'X-RosetteApi-App' => 'ruby-app' })
524
524
  .to_return(status: 200, body: '{"test": "language"}', headers: {})
525
525
  end
@@ -546,9 +546,9 @@ describe RosetteAPI do
546
546
  end
547
547
  end
548
548
 
549
- describe '.get_text_embedding' do
549
+ describe '.get_similar_terms' do
550
550
  before do
551
- stub_request(:post, 'https://api.rosette.com/rest/v1/text-embedding')
551
+ stub_request(:post, 'https://api.rosette.com/rest/v1/semantics/similar')
552
552
  .with(body: @json,
553
553
  headers: { 'Accept' => 'application/json',
554
554
  'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
@@ -556,13 +556,33 @@ describe RosetteAPI do
556
556
  'User-Agent' => @user_agent,
557
557
  'X-Rosetteapi-Key' => '0123456789',
558
558
  'X-Rosetteapi-Binding' => 'ruby',
559
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
559
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
560
560
  .to_return(status: 200, body: '{"test": "language"}', headers: {})
561
561
  end
562
- it 'test text_embedding' do
562
+ it 'test similar_terms' do
563
+ params = DocumentParameters.new(content: @content, options: { "resultLanguages" => [ "spa", "deu", "jpn" ] })
564
+ response = RosetteAPI.new('0123456789').get_similar_terms(params)
565
+ expect(response).instance_of? Hash
566
+ end
567
+ end
568
+
569
+ describe '.get_semantic_vectors' do
570
+ before do
571
+ stub_request(:post, 'https://api.rosette.com/rest/v1/semantics/vector')
572
+ .with(body: @json,
573
+ headers: { 'Accept' => 'application/json',
574
+ 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
575
+ 'Content-Type' => 'application/json',
576
+ 'User-Agent' => @user_agent,
577
+ 'X-Rosetteapi-Key' => '0123456789',
578
+ 'X-Rosetteapi-Binding' => 'ruby',
579
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
580
+ .to_return(status: 200, body: '{"test": "language"}', headers: {})
581
+ end
582
+ it 'test semantic_vectors' do
563
583
  params = DocumentParameters.new
564
584
  params.content = @content
565
- response = RosetteAPI.new('0123456789').get_text_embedding(params)
585
+ response = RosetteAPI.new('0123456789').get_semantic_vectors(params)
566
586
  expect(response).instance_of? Hash
567
587
  end
568
588
  end
@@ -577,7 +597,7 @@ describe RosetteAPI do
577
597
  'User-Agent' => @user_agent,
578
598
  'X-Rosetteapi-Key' => '0123456789',
579
599
  'X-Rosetteapi-Binding' => 'ruby',
580
- 'X-Rosetteapi-Binding-Version' => '1.9.2' })
600
+ 'X-Rosetteapi-Binding-Version' => '1.12.1' })
581
601
  .to_return(status: 200, body: '{"test": "language"}', headers: {})
582
602
  end
583
603
  it 'test syntax_dependencies' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rosette_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 1.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Basis Technology Corp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-14 00:00:00.000000000 Z
11
+ date: 2019-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubysl-securerandom
@@ -62,8 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  requirements: []
65
- rubyforge_project:
66
- rubygems_version: 2.7.3
65
+ rubygems_version: 3.0.1
67
66
  signing_key:
68
67
  specification_version: 2
69
68
  summary: Rosette API gem that supports multilingual text-analytics.