问题描述
我正在向预建模型添加一些特定领域的词,这些词被正确识别,但它们没有按照我在转录中指定的大写(使用音频 + 人工标记训练模型)
任何文档中都没有提及如何处理或如何准备训练数据,也没有提及实现此目的所需的数据量。
如何使用 Azure Cognitive Service Speech Studio 指定单词应大写?
解决方法
结帐文本规范化选项。文本规范化是一种修改语音引擎如何规范化文本的能力。例如,当用户说:“我要订购 2 个 4 片鸡块”。它可以被识别为“两个四件”(默认)或“2 个四件”(逆向文本规范化,或 ITN)。
以下规范化规则会自动应用于转录:
- 使用小写字母。
- 删除单词中除撇号外的所有标点符号。
- 将数字扩展为文字/口语形式,例如美元金额。
要选择不同的文本规范化选项,您需要修改您的集成代码,如下所示:
renderWebChat({
directLine: createDirectLine({
secret: 'YOUR_DIRECT_LINE_SECRET'
}),language: 'en-US',webSpeechPonyfillFactory: await createCognitiveServicesSpeechServicesPonyfillFactory({
credentials: {
region: 'YOUR_REGION',subscriptionKey: 'YOUR_SUBSCRIPTION_KEY'
},textNormalization: 'itn'
})
},document.getElementById('webchat'));
支持的文本规范化选项有“display”(默认)、“itn”、“lexical”和“maskeditn”。
在 Speech Studio 中创建项目后,请使用 REST API 引用您在应用程序中创建的资产。 Pronunciation assessment parameters 设置 EnableMiscue: true。以及您可能包含在 REST 请求的查询字符串中的参数:
参数:格式(设置详细)
指定结果格式。可接受的值为 simple
和 detailed
。简单的结果包括 RecognitionStatus
、DisplayText
、Offset
和 Duration
。 详细响应包括四种不同的显示文本表示。默认设置为 simple
。
详细识别的典型响应:(服务还需要音频数据,此示例中未包含该数据。)
{
"RecognitionStatus": "Success","Offset": "1236645672289","Duration": "1236645672289","NBest": [
{
"Confidence": 0.9052885,"Display": "What's the weather like?","ITN": "what's the weather like","Lexical": "what's the weather like","MaskedITN": "what's the weather like"
},{
"Confidence": 0.92459863,"Display": "what is the weather like","ITN": "what is the weather like","Lexical": "what is the weather like","MaskedITN": "what is the weather like"
}
]
}
在使用语音数据进行训练时,(音频 + 人工标记的成绩单)在发音.txt 中添加您的域特定词,如下所示。 (如果您能具体分享您的话,我可以提供帮助)
响应参数结果以 JSON 形式提供。您可以参考的一些字段是:
参数:DisplayText
大写、标点符号、逆向文本规范化后的识别文本(将口语文本转换为更短的形式,例如“200”表示“200”或“史密斯医生”表示“史密斯博士”),和亵渎掩饰。仅在成功时呈现。使用详细格式时,在 NBest 列表中为每个结果提供 DisplayText 作为 Display。
NBest 列表中的对象可以包括:
参数:ITN
已识别文本的逆向文本规范化(“规范”)形式,包含电话号码、数字、缩写(“史密斯医生”到“史密斯医生”)和其他应用转换。
参数:显示
已识别文本的显示形式,添加了标点符号和大小写。该参数与format设置为simple时提供的DisplayText相同。
通过发音评估获得认可的典型反应:
{
"RecognitionStatus": "Success","Offset": "400000","Duration": "11000000","NBest": [
{
"Confidence" : "0.87","Lexical" : "good morning","ITN" : "good morning","MaskedITN" : "good morning","Display" : "Good morning.","PronScore" : 84.4,"AccuracyScore" : 100.0,"FluencyScore" : 74.0,"CompletenessScore" : 100.0,"Words": [
{
"Word" : "Good","ErrorType" : "None","Offset" : 500000,"Duration" : 2700000
},{
"Word" : "morning","Offset" : 5300000,"Duration" : 900000
}
]
}
]
}
参考:Speech-to-text REST API v3.0、Evaluate and improve Custom Speech accuracy、Train and deploy a Custom Speech model 和 Text normalization for US English