When using Deepgram’s API, you have access to our Keywords and Search features, which are named similarly, but work in very different ways.
If you are using one of our Nova-3 Models, you should use keyterm prompting instead of keywords.
Keywords are words that you would like Deepgram to pay more attention to, so it can transcribe those words more accurately. If you send a list of keywords with your request to the Deepgram API, Deepgram can better understand the context of what it is transcribing because it can train itself to better identify those words.
Search also expects you to add a word or list of words to your request to the Deepgram API. But in this case, Deepgram looks for these words in the transcription, returning a response that includes the start time and end time of any matching words it identifies.
To really understand when to use Keywords and when to use Search, let’s explore some possible scenarios.
Your company employs people in a customer service role, and they are required to say at the start of every phone call, “This call is being recorded.” To ensure compliance, you want to check that they are actually saying this phrase.
In this scenario, you can use Search to find phrases that match “This call is being recorded.” Deepgram’s AI will do its best to find phrases that match and will return a list of possible matches with a confidence rating.
Once you receive your results, you should analyze the data and decide for yourself which confidence rating is more likely to return an accurate match. As you practice and gain experience, you will start to see a pattern forming between confidence numbers and accurate matches.
Your company is participating in litigation, and as part of the eDiscovery phase, you are tasked with producing electronic documents (including audio and video) that are relevant to the case.
In this situation, instead of searching for a single word or phrase, you would search for language that suggests that conversation in an audio or video file is relevant to your court case. So you would use Search to point you to valuable sections of your audio.
Since Deepgram’s Search feature returns a confidence level in the response rather than just being a yes/no check, you can analyze its results to identify a combination of words and phrases that might help you find more nuanced relevant language.
You are planning an important demo for the upcoming week, and you want to use Deepgram’s speech-to-text API, but you haven’t trained a language model yet. The demo is crucial to your business, so you want to give an added boost to Deepgram’s transcription technology to improve accuracy for certain words.
In this scenario, you can use Keywords to get a more accurate transcription without training a custom model, which would be a more powerful option. To improve the transcription, you would include a list of keywords that are more difficult for Automatic Speech Recognition (ASR) to recognize (such as jargon, names, and scientific words) in the query parameters of your request to Deepgram.
Using the Keywords feature requires practice and thoughtful implementation. The best approach is to benchmark the transcription results without any keywords, and then add words one by one to notice the effect. Until you get a feel for how the Keywords feature works with your chosen use case models and unique language context, you may find that providing keywords seems to have no effect or even lower the quality of the transcription.
This is because:
Some other behaviors that can affect performance of the Keywords feature:
Some other possible scenarios for the Search feature include:
Some other possible scenarios for the Keywords feature include: