我已将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);
});
我希望得到每个单词的置信度得分,所以有什么想法吗?
答案 0 :(得分:1)
好吧,除非您切换到该库的“ V1P1BETA”版本,否则这可能行不通。它具有更多功能,包括单词级置信度。我建议您尝试一下。
我不知道你是否已经在做这个,所以我分享这个只是为了以防万一。
您需要:
const speech = require('@google-cloud/speech').v1p1beta1;