@dpaul Thanks for the question. Can you please add more details about the usecase that you are trying.
Here is link to the document for Custom Keyword. Currently Custom keyword models, and the resulting .table files, can only be created in Speech Studio. You cannot create custom keywords from the SDK or with REST calls.
If you use the Speech SDK, it is true that at the moment the KeywordRecognizer object can only support one model file (one keyword), but there is likely a way to workaround it. What programming language will you be using? You can try creating multiple KeywordRecognizer objects, each one created with a different keyword model. Then when one of them "fires" (a keyword was recognized), you can get the audio stream from the result of that keyword recognizer, and feed that audio stream to a new SpeechRecognizer.
We don't have a sample showing how to do that. But assuming C#, it will be a combination of a few KeywordRecognizers with audio extracted from the result as shown in this short sample "KeywordRecognizer()" , together with a sample showing how to do speech recognition from and input audio stream. For example " RecognitionWithPushAudioStreamAsync()".
The key phrase extraction feature can evaluate unstructured text, and for each document, return a list of key phrases.