我正在向预建模型添加一些特定于领域的单词,并且这些单词被正确识别,但它们没有按照我在转录中指定的大小写(使用音频+人工标签训练模型)
任何文档中都没有提及如何处理或如何准备训练数据,也没有提及使这成为可能所需的数据量。
如何使用 Azure 认知服务语音工作室指定单词应大写?
我正在向预建模型添加一些特定于领域的单词,并且这些单词被正确识别,但它们没有按照我在转录中指定的大小写(使用音频+人工标签训练模型)
任何文档中都没有提及如何处理或如何准备训练数据,也没有提及使这成为可能所需的数据量。
如何使用 Azure 认知服务语音工作室指定单词应大写?
结帐文本规范化选项。文本规范化是一种修改语音引擎规范化文本方式的能力。例如,当用户说“我想订购 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 引用您在应用程序中创建的资产。 发音评估参数设置EnableMiscue: true。您可能会在 REST 请求的查询字符串中包含参数:
参数:format (设置详细) 指定结果格式。可接受的值为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"
}
]
}
在使用语音数据进行训练时,(音频 + 人工标记的成绩单)在 pronunciation.txt 中添加您的特定领域的单词,如下所示。(如果你能具体分享你的话,我可以提供帮助)
参数:显示文本
经过大写、标点符号、反向文本规范化(将口语文本转换为更短的形式,例如“200”的 200 或“史密斯医生”的“Dr. Smith”)和亵渎掩蔽后的识别文本。仅在成功时呈现。使用详细格式时,为 NBest 列表中的每个结果提供 DisplayText 作为 Display。
NBest 列表中的对象可以包括:
参数:ITN
已识别文本的逆文本规范化(“规范”)形式,带有电话号码、数字、缩写(“doctor smith”到“dr smith”)和其他应用的转换。
参数:显示
已识别文本的显示形式,添加了标点符号和大小写。此参数与 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",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 500000,
"Duration" : 2700000
},
{
"Word" : "morning",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 5300000,
"Duration" : 900000
}
]
}
]
}
参考:Speech-to-text REST API v3.0, 评估和提高自定义语音准确性, 训练和部署自定义语音模型 和美国英语文本规范化