ibm_watson 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,7 +46,7 @@ require_relative "./watson_service"
46
46
  module IBMWatson
47
47
  ##
48
48
  # The Personality Insights V3 service.
49
- class PersonalityInsightsV3
49
+ class PersonalityInsightsV3 < WatsonService
50
50
  include Concurrent::Async
51
51
  ##
52
52
  # @!method initialize(args)
@@ -87,7 +87,6 @@ module IBMWatson
87
87
  # 'https://iam.ng.bluemix.net/identity/token'.
88
88
  def initialize(args = {})
89
89
  @__async_initialized__ = false
90
- super()
91
90
  defaults = {}
92
91
  defaults[:version] = nil
93
92
  defaults[:url] = "https://gateway.watsonplatform.net/personality-insights/api"
@@ -97,84 +96,11 @@ module IBMWatson
97
96
  defaults[:iam_access_token] = nil
98
97
  defaults[:iam_url] = nil
99
98
  args = defaults.merge(args)
100
- @watson_service = WatsonService.new(
101
- vcap_services_name: "personality_insights",
102
- url: args[:url],
103
- username: args[:username],
104
- password: args[:password],
105
- iam_apikey: args[:iam_apikey],
106
- iam_access_token: args[:iam_access_token],
107
- iam_url: args[:iam_url],
108
- use_vcap_services: true
109
- )
99
+ args[:vcap_services_name] = "personality_insights"
100
+ super
110
101
  @version = args[:version]
111
102
  end
112
103
 
113
- # :nocov:
114
- def add_default_headers(headers: {})
115
- @watson_service.add_default_headers(headers: headers)
116
- end
117
-
118
- def _iam_access_token(iam_access_token:)
119
- @watson_service._iam_access_token(iam_access_token: iam_access_token)
120
- end
121
-
122
- def _iam_apikey(iam_apikey:)
123
- @watson_service._iam_apikey(iam_apikey: iam_apikey)
124
- end
125
-
126
- # @return [DetailedResponse]
127
- def request(args)
128
- @watson_service.request(args)
129
- end
130
-
131
- # @note Chainable
132
- # @param headers [Hash] Custom headers to be sent with the request
133
- # @return [self]
134
- def headers(headers)
135
- @watson_service.headers(headers)
136
- self
137
- end
138
-
139
- def password=(password)
140
- @watson_service.password = password
141
- end
142
-
143
- def password
144
- @watson_service.password
145
- end
146
-
147
- def username=(username)
148
- @watson_service.username = username
149
- end
150
-
151
- def username
152
- @watson_service.username
153
- end
154
-
155
- def url=(url)
156
- @watson_service.url = url
157
- end
158
-
159
- def url
160
- @watson_service.url
161
- end
162
-
163
- # @!method configure_http_client(proxy: {}, timeout: {})
164
- # Sets the http client config, currently works with timeout and proxies
165
- # @param proxy [Hash] The hash of proxy configurations
166
- # @option proxy address [String] The address of the proxy
167
- # @option proxy port [Integer] The port of the proxy
168
- # @option proxy username [String] The username of the proxy, if authentication is needed
169
- # @option proxy password [String] The password of the proxy, if authentication is needed
170
- # @option proxy headers [Hash] The headers to be used with the proxy
171
- # @param timeout [Hash] The hash for configuring timeouts. `per_operation` has priority over `global`
172
- # @option timeout per_operation [Hash] Timeouts per operation. Requires `read`, `write`, `connect`
173
- # @option timeout global [Integer] Upper bound on total request time
174
- def configure_http_client(proxy: {}, timeout: {})
175
- @watson_service.configure_http_client(proxy: proxy, timeout: timeout)
176
- end
177
- # :nocov:
178
104
  #########################
179
105
  # Methods
180
106
  #########################
@@ -243,7 +169,9 @@ module IBMWatson
243
169
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
244
170
  def profile(content:, content_type:, accept: nil, content_language: nil, accept_language: nil, raw_scores: nil, csv_headers: nil, consumption_preferences: nil)
245
171
  raise ArgumentError("content must be provided") if content.nil?
172
+
246
173
  raise ArgumentError("content_type must be provided") if content_type.nil?
174
+
247
175
  headers = {
248
176
  "Content-Type" => content_type,
249
177
  "Accept" => accept,
@@ -17,40 +17,34 @@
17
17
  # The IBM&reg; Speech to Text service provides an API that uses IBM's speech-recognition
18
18
  # capabilities to produce transcripts of spoken audio. The service can transcribe speech
19
19
  # from various languages and audio formats. It addition to basic transcription, the
20
- # service can produce detailed information about many aspects of the audio. For most
21
- # languages, the service supports two sampling rates, broadband and narrowband. It returns
22
- # all JSON response content in the UTF-8 character set. For more information about the
23
- # service, see the [IBM&reg; Cloud
20
+ # service can produce detailed information about many different aspects of the audio. For
21
+ # most languages, the service supports two sampling rates, broadband and narrowband. It
22
+ # returns all JSON response content in the UTF-8 character set.
23
+ #
24
+ # For more information about the service, see the [IBM&reg; Cloud
24
25
  # documentation](https://console.bluemix.net/docs/services/speech-to-text/index.html).
25
26
  #
26
27
  # ### API usage guidelines
27
28
  # * **Audio formats:** The service accepts audio in many formats (MIME types). See [Audio
28
29
  # formats](https://console.bluemix.net/docs/services/speech-to-text/audio-formats.html).
29
- # * **HTTP interfaces:** The service provides three HTTP interfaces for speech
30
- # recognition. The sessionless interface includes a single synchronous method. The
31
- # session-based interface includes multiple synchronous methods for maintaining a long,
32
- # multi-turn exchange with the service. And the asynchronous interface provides multiple
33
- # methods that use registered callbacks and polling for non-blocking recognition. See [The
34
- # HTTP REST interface](https://console.bluemix.net/docs/services/speech-to-text/http.html)
35
- # and [The asynchronous HTTP
30
+ # * **HTTP interfaces:** The service provides two HTTP Representational State Transfer
31
+ # (REST) interfaces for speech recognition. The basic interface includes a single
32
+ # synchronous method. The asynchronous interface provides multiple methods that use
33
+ # registered callbacks and polling for non-blocking recognition. See [The HTTP
34
+ # interface](https://console.bluemix.net/docs/services/speech-to-text/http.html) and [The
35
+ # asynchronous HTTP
36
36
  # interface](https://console.bluemix.net/docs/services/speech-to-text/async.html).
37
- #
38
- # **Important:** The session-based interface is deprecated as of August 8, 2018, and
39
- # will be removed from service on September 7, 2018. Use the sessionless, asynchronous, or
40
- # WebSocket interface instead. For more information, see the August 8 service update in
41
- # the [Release
42
- # notes](https://console.bluemix.net/docs/services/speech-to-text/release-notes.html#August2018).
43
37
  # * **WebSocket interface:** The service also offers a WebSocket interface for speech
44
38
  # recognition. The WebSocket interface provides a full-duplex, low-latency communication
45
39
  # channel. Clients send requests and audio to the service and receive results over a
46
40
  # single connection in an asynchronous fashion. See [The WebSocket
47
41
  # interface](https://console.bluemix.net/docs/services/speech-to-text/websockets.html).
48
- # * **Customization:** Use language model customization to expand the vocabulary of a base
49
- # model with domain-specific terminology. Use acoustic model customization to adapt a base
50
- # model for the acoustic characteristics of your audio. Language model customization is
51
- # generally available for production use by most supported languages; acoustic model
52
- # customization is beta functionality that is available for all supported languages. See
53
- # [The customization
42
+ # * **Customization:** The service offers two customization interfaces. Use language model
43
+ # customization to expand the vocabulary of a base model with domain-specific terminology.
44
+ # Use acoustic model customization to adapt a base model for the acoustic characteristics
45
+ # of your audio. Language model customization is generally available for production use by
46
+ # most supported languages; acoustic model customization is beta functionality that is
47
+ # available for all supported languages. See [The customization
54
48
  # interface](https://console.bluemix.net/docs/services/speech-to-text/custom.html).
55
49
  # * **Customization IDs:** Many methods accept a customization ID to identify a custom
56
50
  # language or custom acoustic model. Customization IDs are Globally Unique Identifiers
@@ -84,7 +78,7 @@ require_relative "./watson_service"
84
78
  module IBMWatson
85
79
  ##
86
80
  # The Speech to Text V1 service.
87
- class SpeechToTextV1
81
+ class SpeechToTextV1 < WatsonService
88
82
  include Concurrent::Async
89
83
  ##
90
84
  # @!method initialize(args)
@@ -115,7 +109,6 @@ module IBMWatson
115
109
  # 'https://iam.ng.bluemix.net/identity/token'.
116
110
  def initialize(args = {})
117
111
  @__async_initialized__ = false
118
- super()
119
112
  defaults = {}
120
113
  defaults[:url] = "https://stream.watsonplatform.net/speech-to-text/api"
121
114
  defaults[:username] = nil
@@ -124,83 +117,10 @@ module IBMWatson
124
117
  defaults[:iam_access_token] = nil
125
118
  defaults[:iam_url] = nil
126
119
  args = defaults.merge(args)
127
- @watson_service = WatsonService.new(
128
- vcap_services_name: "speech_to_text",
129
- url: args[:url],
130
- username: args[:username],
131
- password: args[:password],
132
- iam_apikey: args[:iam_apikey],
133
- iam_access_token: args[:iam_access_token],
134
- iam_url: args[:iam_url],
135
- use_vcap_services: true
136
- )
137
- end
138
-
139
- # :nocov:
140
- def add_default_headers(headers: {})
141
- @watson_service.add_default_headers(headers: headers)
142
- end
143
-
144
- def _iam_access_token(iam_access_token:)
145
- @watson_service._iam_access_token(iam_access_token: iam_access_token)
146
- end
147
-
148
- def _iam_apikey(iam_apikey:)
149
- @watson_service._iam_apikey(iam_apikey: iam_apikey)
150
- end
151
-
152
- # @return [DetailedResponse]
153
- def request(args)
154
- @watson_service.request(args)
155
- end
156
-
157
- # @note Chainable
158
- # @param headers [Hash] Custom headers to be sent with the request
159
- # @return [self]
160
- def headers(headers)
161
- @watson_service.headers(headers)
162
- self
163
- end
164
-
165
- def password=(password)
166
- @watson_service.password = password
167
- end
168
-
169
- def password
170
- @watson_service.password
171
- end
172
-
173
- def username=(username)
174
- @watson_service.username = username
175
- end
176
-
177
- def username
178
- @watson_service.username
120
+ args[:vcap_services_name] = "speech_to_text"
121
+ super
179
122
  end
180
123
 
181
- def url=(url)
182
- @watson_service.url = url
183
- end
184
-
185
- def url
186
- @watson_service.url
187
- end
188
-
189
- # @!method configure_http_client(proxy: {}, timeout: {})
190
- # Sets the http client config, currently works with timeout and proxies
191
- # @param proxy [Hash] The hash of proxy configurations
192
- # @option proxy address [String] The address of the proxy
193
- # @option proxy port [Integer] The port of the proxy
194
- # @option proxy username [String] The username of the proxy, if authentication is needed
195
- # @option proxy password [String] The password of the proxy, if authentication is needed
196
- # @option proxy headers [Hash] The headers to be used with the proxy
197
- # @param timeout [Hash] The hash for configuring timeouts. `per_operation` has priority over `global`
198
- # @option timeout per_operation [Hash] Timeouts per operation. Requires `read`, `write`, `connect`
199
- # @option timeout global [Integer] Upper bound on total request time
200
- def configure_http_client(proxy: {}, timeout: {})
201
- @watson_service.configure_http_client(proxy: proxy, timeout: timeout)
202
- end
203
- # :nocov:
204
124
  #########################
205
125
  # Models
206
126
  #########################
@@ -236,6 +156,7 @@ module IBMWatson
236
156
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
237
157
  def get_model(model_id:)
238
158
  raise ArgumentError("model_id must be provided") if model_id.nil?
159
+
239
160
  headers = {
240
161
  }
241
162
  method_url = "/v1/models/%s" % [ERB::Util.url_encode(model_id)]
@@ -248,27 +169,27 @@ module IBMWatson
248
169
  response
249
170
  end
250
171
  #########################
251
- # Sessionless
172
+ # Synchronous
252
173
  #########################
253
174
 
254
175
  ##
255
176
  # @!method recognize(audio:, content_type:, model: nil, customization_id: nil, acoustic_customization_id: nil, base_model_version: nil, customization_weight: nil, inactivity_timeout: nil, keywords: nil, keywords_threshold: nil, max_alternatives: nil, word_alternatives_threshold: nil, word_confidence: nil, timestamps: nil, profanity_filter: nil, smart_formatting: nil, speaker_labels: nil)
256
177
  # Recognize audio.
257
- # Sends audio and returns transcription results for a sessionless recognition
258
- # request. Returns only the final results; to enable interim results, use
259
- # session-based requests or the WebSocket API. The service imposes a data size limit
260
- # of 100 MB. It automatically detects the endianness of the incoming audio and, for
261
- # audio that includes multiple channels, downmixes the audio to one-channel mono
262
- # during transcoding. (For the `audio/l16` format, you can specify the endianness.)
178
+ # Sends audio and returns transcription results for a recognition request. Returns
179
+ # only the final results; to enable interim results, use the WebSocket API. The
180
+ # service imposes a data size limit of 100 MB. It automatically detects the
181
+ # endianness of the incoming audio and, for audio that includes multiple channels,
182
+ # downmixes the audio to one-channel mono during transcoding. (For the `audio/l16`
183
+ # format, you can specify the endianness.)
263
184
  #
264
185
  # ### Streaming mode
265
186
  #
266
187
  # For requests to transcribe live audio as it becomes available, you must set the
267
188
  # `Transfer-Encoding` header to `chunked` to use streaming mode. In streaming mode,
268
189
  # the server closes the connection (status code 408) if the service receives no data
269
- # chunk for 30 seconds and the service has no audio to transcribe for 30 seconds.
270
- # The server also closes the connection (status code 400) if no speech is detected
271
- # for `inactivity_timeout` seconds of audio (not processing time); use the
190
+ # chunk for 30 seconds and it has no audio to transcribe for 30 seconds. The server
191
+ # also closes the connection (status code 400) if no speech is detected for
192
+ # `inactivity_timeout` seconds of audio (not processing time); use the
272
193
  # `inactivity_timeout` parameter to change the default of 30 seconds.
273
194
  #
274
195
  # ### Audio formats (content types)
@@ -307,38 +228,32 @@ module IBMWatson
307
228
  # limit imposed by most HTTP servers and proxies. You can encounter this limit, for
308
229
  # example, if you want to spot a very large number of keywords.
309
230
  #
310
- # For information about submitting a multipart request, see [Submitting multipart
311
- # requests as form
312
- # data](https://console.bluemix.net/docs/services/speech-to-text/http.html#HTTP-multi).
231
+ # For information about submitting a multipart request, see [Making a multipart HTTP
232
+ # request](https://console.bluemix.net/docs/services/speech-to-text/http.html#HTTP-multi).
313
233
  # @param audio [String] The audio to transcribe in the format specified by the `Content-Type` header.
314
234
  # @param content_type [String] The type of the input.
315
- # @param model [String] The identifier of the model that is to be used for the recognition request or, for
316
- # the **Create a session** method, with the new session.
235
+ # @param model [String] The identifier of the model that is to be used for the recognition request.
317
236
  # @param customization_id [String] The customization ID (GUID) of a custom language model that is to be used with the
318
- # recognition request or, for the **Create a session** method, with the new session.
319
- # The base model of the specified custom language model must match the model
320
- # specified with the `model` parameter. You must make the request with service
321
- # credentials created for the instance of the service that owns the custom model. By
322
- # default, no custom language model is used.
237
+ # recognition request. The base model of the specified custom language model must
238
+ # match the model specified with the `model` parameter. You must make the request
239
+ # with service credentials created for the instance of the service that owns the
240
+ # custom model. By default, no custom language model is used.
323
241
  # @param acoustic_customization_id [String] The customization ID (GUID) of a custom acoustic model that is to be used with the
324
- # recognition request or, for the **Create a session** method, with the new session.
325
- # The base model of the specified custom acoustic model must match the model
326
- # specified with the `model` parameter. You must make the request with service
327
- # credentials created for the instance of the service that owns the custom model. By
328
- # default, no custom acoustic model is used.
242
+ # recognition request. The base model of the specified custom acoustic model must
243
+ # match the model specified with the `model` parameter. You must make the request
244
+ # with service credentials created for the instance of the service that owns the
245
+ # custom model. By default, no custom acoustic model is used.
329
246
  # @param base_model_version [String] The version of the specified base model that is to be used with recognition
330
- # request or, for the **Create a session** method, with the new session. Multiple
331
- # versions of a base model can exist when a model is updated for internal
332
- # improvements. The parameter is intended primarily for use with custom models that
333
- # have been upgraded for a new base model. The default value depends on whether the
334
- # parameter is used with or without a custom model. For more information, see [Base
335
- # model
247
+ # request. Multiple versions of a base model can exist when a model is updated for
248
+ # internal improvements. The parameter is intended primarily for use with custom
249
+ # models that have been upgraded for a new base model. The default value depends on
250
+ # whether the parameter is used with or without a custom model. For more
251
+ # information, see [Base model
336
252
  # version](https://console.bluemix.net/docs/services/speech-to-text/input.html#version).
337
253
  # @param customization_weight [Float] If you specify the customization ID (GUID) of a custom language model with the
338
- # recognition request or, for sessions, with the **Create a session** method, the
339
- # customization weight tells the service how much weight to give to words from the
340
- # custom language model compared to those from the base model for the current
341
- # request.
254
+ # recognition request, the customization weight tells the service how much weight to
255
+ # give to words from the custom language model compared to those from the base model
256
+ # for the current request.
342
257
  #
343
258
  # Specify a value between 0.0 and 1.0. Unless a different customization weight was
344
259
  # specified for the custom model when it was trained, the default value is 0.3. A
@@ -397,7 +312,9 @@ module IBMWatson
397
312
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
398
313
  def recognize(audio:, content_type:, model: nil, customization_id: nil, acoustic_customization_id: nil, base_model_version: nil, customization_weight: nil, inactivity_timeout: nil, keywords: nil, keywords_threshold: nil, max_alternatives: nil, word_alternatives_threshold: nil, word_confidence: nil, timestamps: nil, profanity_filter: nil, smart_formatting: nil, speaker_labels: nil)
399
314
  raise ArgumentError("audio must be provided") if audio.nil?
315
+
400
316
  raise ArgumentError("content_type must be provided") if content_type.nil?
317
+
401
318
  headers = {
402
319
  "Content-Type" => content_type
403
320
  }
@@ -480,16 +397,17 @@ module IBMWatson
480
397
  raise ArgumentError("Audio must be provided") if audio.nil? && !chunk_data
481
398
  raise ArgumentError("Recognize callback must be provided") if recognize_callback.nil?
482
399
  raise TypeError("Callback is not a derived class of RecognizeCallback") unless recognize_callback.is_a?(IBMWatson::RecognizeCallback)
400
+
483
401
  require_relative("./websocket/speech_to_text_websocket_listener.rb")
484
402
  headers = {}
485
- headers = @watson_service.conn.default_options.headers.to_hash unless @watson_service.conn.default_options.headers.to_hash.empty?
486
- if !@watson_service.token_manager.nil?
487
- access_token = @watson_service.token_manager._token
403
+ headers = conn.default_options.headers.to_hash unless conn.default_options.headers.to_hash.empty?
404
+ if !token_manager.nil?
405
+ access_token = token_manager.token
488
406
  headers["Authorization"] = "Bearer #{access_token}"
489
- elsif !@watson_service.username.nil? && !@watson_service.password.nil?
490
- headers["Authorization"] = "Basic " + Base64.strict_encode64("#{@watson_service.username}:#{@watson_service.password}")
407
+ elsif !username.nil? && !password.nil?
408
+ headers["Authorization"] = "Basic " + Base64.strict_encode64("#{username}:#{password}")
491
409
  end
492
- url = @watson_service.url.gsub("https:", "wss:")
410
+ url = @url.gsub("https:", "wss:")
493
411
  params = {
494
412
  "model" => model,
495
413
  "customization_id" => customization_id,
@@ -618,6 +536,7 @@ module IBMWatson
618
536
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
619
537
  def register_callback(callback_url:, user_secret: nil)
620
538
  raise ArgumentError("callback_url must be provided") if callback_url.nil?
539
+
621
540
  headers = {
622
541
  }
623
542
  params = {
@@ -645,6 +564,7 @@ module IBMWatson
645
564
  # @return [nil]
646
565
  def unregister_callback(callback_url:)
647
566
  raise ArgumentError("callback_url must be provided") if callback_url.nil?
567
+
648
568
  headers = {
649
569
  }
650
570
  params = {
@@ -726,8 +646,7 @@ module IBMWatson
726
646
  # formats](https://console.bluemix.net/docs/services/speech-to-text/audio-formats.html).
727
647
  # @param audio [String] The audio to transcribe in the format specified by the `Content-Type` header.
728
648
  # @param content_type [String] The type of the input.
729
- # @param model [String] The identifier of the model that is to be used for the recognition request or, for
730
- # the **Create a session** method, with the new session.
649
+ # @param model [String] The identifier of the model that is to be used for the recognition request.
731
650
  # @param callback_url [String] A URL to which callback notifications are to be sent. The URL must already be
732
651
  # successfully white-listed by using the **Register a callback** method. You can
733
652
  # include the same callback URL with any number of job creation requests. Omit the
@@ -747,10 +666,12 @@ module IBMWatson
747
666
  # * `recognitions.failed` generates a callback notification if the service
748
667
  # experiences an error while processing the job.
749
668
  #
750
- # Omit the parameter to subscribe to the default events: `recognitions.started`,
751
- # `recognitions.completed`, and `recognitions.failed`. The `recognitions.completed`
752
- # and `recognitions.completed_with_results` events are incompatible; you can specify
753
- # only of the two events. If the job does not include a callback URL, omit the
669
+ # The `recognitions.completed` and `recognitions.completed_with_results` events are
670
+ # incompatible. You can specify only of the two events.
671
+ #
672
+ # If the job includes a callback URL, omit the parameter to subscribe to the default
673
+ # events: `recognitions.started`, `recognitions.completed`, and
674
+ # `recognitions.failed`. If the job does not include a callback URL, omit the
754
675
  # parameter.
755
676
  # @param user_token [String] If the job includes a callback URL, a user-specified string that the service is to
756
677
  # include with each callback notification for the job; the token allows the user to
@@ -761,30 +682,26 @@ module IBMWatson
761
682
  # this time. Omit the parameter to use a time to live of one week. The parameter is
762
683
  # valid with or without a callback URL.
763
684
  # @param customization_id [String] The customization ID (GUID) of a custom language model that is to be used with the
764
- # recognition request or, for the **Create a session** method, with the new session.
765
- # The base model of the specified custom language model must match the model
766
- # specified with the `model` parameter. You must make the request with service
767
- # credentials created for the instance of the service that owns the custom model. By
768
- # default, no custom language model is used.
685
+ # recognition request. The base model of the specified custom language model must
686
+ # match the model specified with the `model` parameter. You must make the request
687
+ # with service credentials created for the instance of the service that owns the
688
+ # custom model. By default, no custom language model is used.
769
689
  # @param acoustic_customization_id [String] The customization ID (GUID) of a custom acoustic model that is to be used with the
770
- # recognition request or, for the **Create a session** method, with the new session.
771
- # The base model of the specified custom acoustic model must match the model
772
- # specified with the `model` parameter. You must make the request with service
773
- # credentials created for the instance of the service that owns the custom model. By
774
- # default, no custom acoustic model is used.
690
+ # recognition request. The base model of the specified custom acoustic model must
691
+ # match the model specified with the `model` parameter. You must make the request
692
+ # with service credentials created for the instance of the service that owns the
693
+ # custom model. By default, no custom acoustic model is used.
775
694
  # @param base_model_version [String] The version of the specified base model that is to be used with recognition
776
- # request or, for the **Create a session** method, with the new session. Multiple
777
- # versions of a base model can exist when a model is updated for internal
778
- # improvements. The parameter is intended primarily for use with custom models that
779
- # have been upgraded for a new base model. The default value depends on whether the
780
- # parameter is used with or without a custom model. For more information, see [Base
781
- # model
695
+ # request. Multiple versions of a base model can exist when a model is updated for
696
+ # internal improvements. The parameter is intended primarily for use with custom
697
+ # models that have been upgraded for a new base model. The default value depends on
698
+ # whether the parameter is used with or without a custom model. For more
699
+ # information, see [Base model
782
700
  # version](https://console.bluemix.net/docs/services/speech-to-text/input.html#version).
783
701
  # @param customization_weight [Float] If you specify the customization ID (GUID) of a custom language model with the
784
- # recognition request or, for sessions, with the **Create a session** method, the
785
- # customization weight tells the service how much weight to give to words from the
786
- # custom language model compared to those from the base model for the current
787
- # request.
702
+ # recognition request, the customization weight tells the service how much weight to
703
+ # give to words from the custom language model compared to those from the base model
704
+ # for the current request.
788
705
  #
789
706
  # Specify a value between 0.0 and 1.0. Unless a different customization weight was
790
707
  # specified for the custom model when it was trained, the default value is 0.3. A
@@ -843,7 +760,9 @@ module IBMWatson
843
760
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
844
761
  def create_job(audio:, content_type:, model: nil, callback_url: nil, events: nil, user_token: nil, results_ttl: nil, customization_id: nil, acoustic_customization_id: nil, base_model_version: nil, customization_weight: nil, inactivity_timeout: nil, keywords: nil, keywords_threshold: nil, max_alternatives: nil, word_alternatives_threshold: nil, word_confidence: nil, timestamps: nil, profanity_filter: nil, smart_formatting: nil, speaker_labels: nil)
845
762
  raise ArgumentError("audio must be provided") if audio.nil?
763
+
846
764
  raise ArgumentError("content_type must be provided") if content_type.nil?
765
+
847
766
  headers = {
848
767
  "Content-Type" => content_type
849
768
  }
@@ -923,6 +842,7 @@ module IBMWatson
923
842
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
924
843
  def check_job(id:)
925
844
  raise ArgumentError("id must be provided") if id.nil?
845
+
926
846
  headers = {
927
847
  }
928
848
  method_url = "/v1/recognitions/%s" % [ERB::Util.url_encode(id)]
@@ -947,6 +867,7 @@ module IBMWatson
947
867
  # @return [nil]
948
868
  def delete_job(id:)
949
869
  raise ArgumentError("id must be provided") if id.nil?
870
+
950
871
  headers = {
951
872
  }
952
873
  method_url = "/v1/recognitions/%s" % [ERB::Util.url_encode(id)]
@@ -996,7 +917,9 @@ module IBMWatson
996
917
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
997
918
  def create_language_model(name:, base_model_name:, dialect: nil, description: nil)
998
919
  raise ArgumentError("name must be provided") if name.nil?
920
+
999
921
  raise ArgumentError("base_model_name must be provided") if base_model_name.nil?
922
+
1000
923
  headers = {
1001
924
  }
1002
925
  data = {
@@ -1056,6 +979,7 @@ module IBMWatson
1056
979
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1057
980
  def get_language_model(customization_id:)
1058
981
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
982
+
1059
983
  headers = {
1060
984
  }
1061
985
  method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
@@ -1081,6 +1005,7 @@ module IBMWatson
1081
1005
  # @return [nil]
1082
1006
  def delete_language_model(customization_id:)
1083
1007
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1008
+
1084
1009
  headers = {
1085
1010
  }
1086
1011
  method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
@@ -1148,6 +1073,7 @@ module IBMWatson
1148
1073
  # @return [nil]
1149
1074
  def train_language_model(customization_id:, word_type_to_add: nil, customization_weight: nil)
1150
1075
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1076
+
1151
1077
  headers = {
1152
1078
  }
1153
1079
  params = {
@@ -1179,6 +1105,7 @@ module IBMWatson
1179
1105
  # @return [nil]
1180
1106
  def reset_language_model(customization_id:)
1181
1107
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1108
+
1182
1109
  headers = {
1183
1110
  }
1184
1111
  method_url = "/v1/customizations/%s/reset" % [ERB::Util.url_encode(customization_id)]
@@ -1218,6 +1145,7 @@ module IBMWatson
1218
1145
  # @return [nil]
1219
1146
  def upgrade_language_model(customization_id:)
1220
1147
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1148
+
1221
1149
  headers = {
1222
1150
  }
1223
1151
  method_url = "/v1/customizations/%s/upgrade_model" % [ERB::Util.url_encode(customization_id)]
@@ -1246,6 +1174,7 @@ module IBMWatson
1246
1174
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1247
1175
  def list_corpora(customization_id:)
1248
1176
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1177
+
1249
1178
  headers = {
1250
1179
  }
1251
1180
  method_url = "/v1/customizations/%s/corpora" % [ERB::Util.url_encode(customization_id)]
@@ -1322,8 +1251,11 @@ module IBMWatson
1322
1251
  # @return [nil]
1323
1252
  def add_corpus(customization_id:, corpus_name:, corpus_file:, allow_overwrite: nil, corpus_filename: nil)
1324
1253
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1254
+
1325
1255
  raise ArgumentError("corpus_name must be provided") if corpus_name.nil?
1256
+
1326
1257
  raise ArgumentError("corpus_file must be provided") if corpus_file.nil?
1258
+
1327
1259
  headers = {
1328
1260
  }
1329
1261
  params = {
@@ -1369,7 +1301,9 @@ module IBMWatson
1369
1301
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1370
1302
  def get_corpus(customization_id:, corpus_name:)
1371
1303
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1304
+
1372
1305
  raise ArgumentError("corpus_name must be provided") if corpus_name.nil?
1306
+
1373
1307
  headers = {
1374
1308
  }
1375
1309
  method_url = "/v1/customizations/%s/corpora/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(corpus_name)]
@@ -1402,7 +1336,9 @@ module IBMWatson
1402
1336
  # @return [nil]
1403
1337
  def delete_corpus(customization_id:, corpus_name:)
1404
1338
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1339
+
1405
1340
  raise ArgumentError("corpus_name must be provided") if corpus_name.nil?
1341
+
1406
1342
  headers = {
1407
1343
  }
1408
1344
  method_url = "/v1/customizations/%s/corpora/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(corpus_name)]
@@ -1445,6 +1381,7 @@ module IBMWatson
1445
1381
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1446
1382
  def list_words(customization_id:, word_type: nil, sort: nil)
1447
1383
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1384
+
1448
1385
  headers = {
1449
1386
  }
1450
1387
  params = {
@@ -1525,7 +1462,9 @@ module IBMWatson
1525
1462
  # @return [nil]
1526
1463
  def add_words(customization_id:, words:)
1527
1464
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1465
+
1528
1466
  raise ArgumentError("words must be provided") if words.nil?
1467
+
1529
1468
  headers = {
1530
1469
  }
1531
1470
  data = {
@@ -1592,21 +1531,25 @@ module IBMWatson
1592
1531
  # Omit this field for the **Add a custom word** method.
1593
1532
  # @param sounds_like [Array[String]] An array of sounds-like pronunciations for the custom word. Specify how words that
1594
1533
  # are difficult to pronounce, foreign words, acronyms, and so on can be pronounced
1595
- # by users. For a word that is not in the service's base vocabulary, omit the
1596
- # parameter to have the service automatically generate a sounds-like pronunciation
1597
- # for the word. For a word that is in the service's base vocabulary, use the
1598
- # parameter to specify additional pronunciations for the word. You cannot override
1599
- # the default pronunciation of a word; pronunciations you add augment the
1600
- # pronunciation from the base vocabulary. A word can have at most five sounds-like
1601
- # pronunciations, and a pronunciation can include at most 40 characters not
1602
- # including spaces.
1534
+ # by users.
1535
+ # * For a word that is not in the service's base vocabulary, omit the parameter to
1536
+ # have the service automatically generate a sounds-like pronunciation for the word.
1537
+ # * For a word that is in the service's base vocabulary, use the parameter to
1538
+ # specify additional pronunciations for the word. You cannot override the default
1539
+ # pronunciation of a word; pronunciations you add augment the pronunciation from the
1540
+ # base vocabulary.
1541
+ #
1542
+ # A word can have at most five sounds-like pronunciations. A pronunciation can
1543
+ # include at most 40 characters not including spaces.
1603
1544
  # @param display_as [String] An alternative spelling for the custom word when it appears in a transcript. Use
1604
1545
  # the parameter when you want the word to have a spelling that is different from its
1605
1546
  # usual representation or from its spelling in corpora training data.
1606
1547
  # @return [nil]
1607
1548
  def add_word(customization_id:, word_name:, word: nil, sounds_like: nil, display_as: nil)
1608
1549
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1550
+
1609
1551
  raise ArgumentError("word_name must be provided") if word_name.nil?
1552
+
1610
1553
  headers = {
1611
1554
  }
1612
1555
  data = {
@@ -1640,7 +1583,9 @@ module IBMWatson
1640
1583
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1641
1584
  def get_word(customization_id:, word_name:)
1642
1585
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1586
+
1643
1587
  raise ArgumentError("word_name must be provided") if word_name.nil?
1588
+
1644
1589
  headers = {
1645
1590
  }
1646
1591
  method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word_name)]
@@ -1672,7 +1617,9 @@ module IBMWatson
1672
1617
  # @return [nil]
1673
1618
  def delete_word(customization_id:, word_name:)
1674
1619
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1620
+
1675
1621
  raise ArgumentError("word_name must be provided") if word_name.nil?
1622
+
1676
1623
  headers = {
1677
1624
  }
1678
1625
  method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word_name)]
@@ -1710,7 +1657,9 @@ module IBMWatson
1710
1657
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1711
1658
  def create_acoustic_model(name:, base_model_name:, description: nil)
1712
1659
  raise ArgumentError("name must be provided") if name.nil?
1660
+
1713
1661
  raise ArgumentError("base_model_name must be provided") if base_model_name.nil?
1662
+
1714
1663
  headers = {
1715
1664
  }
1716
1665
  data = {
@@ -1769,6 +1718,7 @@ module IBMWatson
1769
1718
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1770
1719
  def get_acoustic_model(customization_id:)
1771
1720
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1721
+
1772
1722
  headers = {
1773
1723
  }
1774
1724
  method_url = "/v1/acoustic_customizations/%s" % [ERB::Util.url_encode(customization_id)]
@@ -1794,6 +1744,7 @@ module IBMWatson
1794
1744
  # @return [nil]
1795
1745
  def delete_acoustic_model(customization_id:)
1796
1746
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1747
+
1797
1748
  headers = {
1798
1749
  }
1799
1750
  method_url = "/v1/acoustic_customizations/%s" % [ERB::Util.url_encode(customization_id)]
@@ -1858,6 +1809,7 @@ module IBMWatson
1858
1809
  # @return [nil]
1859
1810
  def train_acoustic_model(customization_id:, custom_language_model_id: nil)
1860
1811
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1812
+
1861
1813
  headers = {
1862
1814
  }
1863
1815
  params = {
@@ -1888,6 +1840,7 @@ module IBMWatson
1888
1840
  # @return [nil]
1889
1841
  def reset_acoustic_model(customization_id:)
1890
1842
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1843
+
1891
1844
  headers = {
1892
1845
  }
1893
1846
  method_url = "/v1/acoustic_customizations/%s/reset" % [ERB::Util.url_encode(customization_id)]
@@ -1937,6 +1890,7 @@ module IBMWatson
1937
1890
  # @return [nil]
1938
1891
  def upgrade_acoustic_model(customization_id:, custom_language_model_id: nil)
1939
1892
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1893
+
1940
1894
  headers = {
1941
1895
  }
1942
1896
  params = {
@@ -1971,6 +1925,7 @@ module IBMWatson
1971
1925
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
1972
1926
  def list_audio(customization_id:)
1973
1927
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
1928
+
1974
1929
  headers = {
1975
1930
  }
1976
1931
  method_url = "/v1/acoustic_customizations/%s/audio" % [ERB::Util.url_encode(customization_id)]
@@ -2090,9 +2045,13 @@ module IBMWatson
2090
2045
  # @return [nil]
2091
2046
  def add_audio(customization_id:, audio_name:, audio_resource:, content_type:, contained_content_type: nil, allow_overwrite: nil)
2092
2047
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
2048
+
2093
2049
  raise ArgumentError("audio_name must be provided") if audio_name.nil?
2050
+
2094
2051
  raise ArgumentError("audio_resource must be provided") if audio_resource.nil?
2052
+
2095
2053
  raise ArgumentError("content_type must be provided") if content_type.nil?
2054
+
2096
2055
  headers = {
2097
2056
  "Content-Type" => content_type,
2098
2057
  "Contained-Content-Type" => contained_content_type
@@ -2145,7 +2104,9 @@ module IBMWatson
2145
2104
  # @return [DetailedResponse] A `DetailedResponse` object representing the response.
2146
2105
  def get_audio(customization_id:, audio_name:)
2147
2106
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
2107
+
2148
2108
  raise ArgumentError("audio_name must be provided") if audio_name.nil?
2109
+
2149
2110
  headers = {
2150
2111
  }
2151
2112
  method_url = "/v1/acoustic_customizations/%s/audio/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(audio_name)]
@@ -2177,7 +2138,9 @@ module IBMWatson
2177
2138
  # @return [nil]
2178
2139
  def delete_audio(customization_id:, audio_name:)
2179
2140
  raise ArgumentError("customization_id must be provided") if customization_id.nil?
2141
+
2180
2142
  raise ArgumentError("audio_name must be provided") if audio_name.nil?
2143
+
2181
2144
  headers = {
2182
2145
  }
2183
2146
  method_url = "/v1/acoustic_customizations/%s/audio/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(audio_name)]
@@ -2210,6 +2173,7 @@ module IBMWatson
2210
2173
  # @return [nil]
2211
2174
  def delete_user_data(customer_id:)
2212
2175
  raise ArgumentError("customer_id must be provided") if customer_id.nil?
2176
+
2213
2177
  headers = {
2214
2178
  }
2215
2179
  params = {