Extending a speech recognition model

SpeechKit provides multiple ways to improve speech recognition:

Auto-tuning based on logged data

By default, SpeechKit does not save data provided by users. However, the most effective way to improve a speech recognition model is to train it on real user data.

To improve the quality of speech recognition, use model auto-tuning. It will enable you to save data provided in requests and use it for further training. Auto-tuning improves the recognition quality while you are using the model without any further data collecting actions on your part.

Auto-tuning is a good option under these conditions:

  • The current script used for work tasks fails to recognize some of the vocabulary.
  • The vocabulary for auto-tuning should be easy to discern by ear and to transcribe. For example, drug names are not suitable as these terms are very field-specific. To recognize such terms, use model fine-tuning.

To send data for auto-tuning, provide the x-data-logging-enabled: true header in your API requests. For an example with logging enabled, see Request headers for troubleshooting in Yandex SpeechKit. Then contact support to request model fine-tuning on the provided data.

Auto-tuning tips:

  • It will take a minimum of 10 hours of audio in Russian to achieve a difference in the quality of recognition. Recognition models for other languages may require more data. The recommended data volume is 50 hours or more.
  • Recognition model training takes about three months for Russian. During this period, the team will check and validate the data, add it to the training dataset, and train the model. For other languages, contact your account manager.

Using audio to improve quality

You can improve speech recognition by providing an audio file to the SpeechKit team. This method is similar to auto-tuning but uses your own audio instead of data provided in API requests. Provide it to the support team as a ZIP archive. You can also attach transcripts of the messages, but this is optional.

For the recommended data size, refer to the auto-tuning limitations.

Model fine-tuning

The basic speech recognition model is designed to work with the everyday vocabulary, but it may fail to recognize field-specific terms. With fine-tuning, you can train the model to recognize domain-specific terms from different fields:

  • Medicine: Diagnoses, biological terms, drug names.
  • Business: Company names.
  • Trade: Product ranges (jewelry, electronics, and so on).
  • Finance: Banking terms and names of banking products.

For tuning, you will need a list of terms (words or phrases) and at least three free-form text examples for each term.

Fine-tuning is only available for the Russian language.

Fine-tuning takes about two months after you provide the data archive to the support team.