我使用IBM Speech to Text。结果是好的,但我想知道为什么他们不按最高置信度排序。是否有一个参数返回这个排序,这样我就可以选择第一个选项?最好的做法是只在也找到传递的关键字时返回结果。
max_alternatives
参数默认为1,但当显式指定该参数时,也会返回多个备选项。
我目前正在手动排序响应,我不需要代码示例来完成此操作。
JSON的例子:
"result": {
"result_index": 0,
"results": [
{
"final": true,
"alternatives": [
{
"transcript": "lu00f6schen es tut echte betroffen ",
"confidence": 0.71
}
],
"keywords_result": {}
},
{
"final": true,
"alternatives": [
{
"transcript": "sie spu00fcren dass eine u00e4ra zu ende ",
"confidence": 0.91
}
],
"keywords_result": {}
},
{
"final": true,
"alternatives": [
{
"transcript": "auto fahre eins zwei drei vier ",
"confidence": 0.95
}
],
"keywords_result": {
"auto": [
{
"start_time": 6.31,
"end_time": 7.19,
"confidence": 0.99,
"normalized_text": "auto"
}
]
}
}
]
},
...
问题是end_of_phrase_silence_time
。当检测到默认的0.8沉默周期时,语音将被分割成一个额外的短语。所以我看到的不是一个不同的识别结果,而是前面提到的录音中已经存在的短语。参见参数end_of_phrase_silence_time