如何在Google Speech API中显示单词级别的置信度得分

时间:2019-02-19 12:18:36

标签: node.js google-speech-api

我已将Google Speech API包含在Cloud Functions中。我想获得单词级别的置信度分数,因此将“ enableWordConfidence”设置为true。由于某种原因,该响应不会在单词级别上返回置信度得分。

我曾尝试使用de-DE和en-US作为languageCode,但是都没有用。 这是Google的官方文档,但是复制该代码并在云功能中运行它也没有返回单词级别的置信度。 https://cloud.google.com/speech-to-text/docs/word-confidence

代码如下:

const filePath = `gs://PATH_TO_AUDIO.flac`

const audio = {
    uri: filePath,
};

const config = {
    encoding: 'FLAC',
    sampleRateHertz: 16000,
    languageCode: languageCode,
    enableSpeakerDiarization: true,
    enableWordConfidence: true,
    useEnhanced: true,
    enableWordTimeOffsets: true,
    enableAutomaticPunctuation: true,
};

if(languageCode == 'en-US') {
    config.model = 'video'
}

const request = {
    audio: audio,
    config: config,
};

const client = new speech.SpeechClient();

return client
.longRunningRecognize(request)
.then(data => {
    const operation = data[0];

    return operation.promise();
}).then(data => {
    const response = data[0];

    if(response.results) {
        return storeSegmentInMeeting(response.results, noteId);
    } else {
        return null;
    }
}).catch(err => {
    return console.error('ERROR:', err);
});

我希望得到每个单词的置信度得分,所以有什么想法吗?

1 个答案:

答案 0 :(得分:1)

好吧,除非您切换到该库的“ V1P1BETA”版本,否则这可能行不通。它具有更多功能,包括单词级置信度。我建议您尝试一下。

我不知道你是否已经在做这个,所以我分享这个只是为了以防万一。

您需要:

const speech = require('@google-cloud/speech').v1p1beta1;