OOV JSON syntax

OOV uses a dictionary of terms and their pronunciations. The dictionary is submitted with each request that uses OOV. The dictionary must include the vocab key for OOV terms or contextual phrases that include those terms, and may include the dict key for mapping OOV to their approximate pronunciations (sound-outs). Sound-outs are optional but should improve performance for made-up words, or when the relationship between a word's spelling and its pronunciation is otherwise unusual.

For example, the following JSON object literal defines approximate pronunciations for Voci, V-Blaze, and V-Cloud.

{ "vocab" : ["Voci Technologies", "V-Blaze transcription engine", "V-Cloud interface"],
  "dict" : { "Voci" : ["vo chee","woe chee","vo see","woe see","vo sigh","woe sigh"],
             "V-Blaze" : "vee blaze",
	     "V-Cloud" : "vee cloud"}
}

Download a copy of the file used in this example: example_oov.json

KeyValueDescriptionExample

vocab

string or list of strings

Defines OOV terms, and contextual phrases in which OOV terms are likely to occur

"vocab" : ["Voci Technologies", "V-Blaze transcription engine", "V-Cloud interface"]

dict

string or list of strings

Defines OOV terms and their approximate pronunciations

"dict" : { "Voci" : ["vo chee","woe chee","vo see","woe see","vo sigh","woe sigh"],
             "V-Blaze" : "vee blaze",
             "V-Cloud" : "vee cloud"}

[INTERNAL ONLY] OOV tuning options

These options may be used to tune OOV performance and results. They may be used with any of the OOV dictionary specification options. To use with a list format, pre-pend the . operator to the key, assign it a value with =, and include it as a list item.

KeyValueDescriptionExample

effort

integer 0, 1, or 2

Specifies the level of correction to perform on OOV transcripts.

Resolves issues with dropped words in transcript output by running the transcription job twice, with and without OOV enabled, then splicing the results together. This results in (much) more accurate results with increasing resource costs depending on effort value.

  • effort=0 detects OOV words well but potentially adds more inaccuracy to the transcript

  • effort=1 (default) improves accuracy of OOV transcript

  • effort=2 may improve accuracy further in rare cases

"effort" : 0

.effort=0

boost

float between -1.0 and 1.0; recommended range between -0.5 and 0.5

Modifies the weight given to the request's OOV terms at runtime.

This option is the best starting point when tuning OOV transcription output. Try different values to identify the threshold at which errors do and do not occur.

"boost" : 0.3

.boost=0.3

adjust

float between -1.0 and 1.0 (default -0.7)

Internal development option used to tune OOV performance by changing the FST.

"adjust" : 0.2

.adjust=0.2

[INTERNAL ONLY] JSON list

The oov parameter accepts a JSON list of phrases, as in this example:

oov=["Elastix", "Quinnipiac University Polls", "InvisAlign"]

Include sound-outs with equal signs = and hyphenated phrases, as in this example:

oov=["Elastix", "Quinnipiac=quinn-a-pack University Polls", "InvisAlign=in-viz-align=in-vis-align"]

[INTERNAL ONLY] Comma-delineated string

The oov parameter accepts a comma-delineated string of phrases, as in this example:

oov="Elastix,Quinnipiac University Polls,InvisAlign"

Include sound-outs with equal signs = and hyphenated phrases, as in this example:

oov="Elastix,Quinnipiac=quinn-a-pack University Polls,InvisAlign=in-viz-align=in-vis-align"