使用自定义模型的 Azure Speech to Text 单词大写

问题描述

我正在向预建模型添加一些特定领域的词,这些词被正确识别,但它们没有按照我在转录中指定的大写(使用音频 + 人工标记训练模型)

任何文档中都没有提及如何处理或如何准备训练数据,也没有提及实现此目的所需的数据量。

如何使用 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 请求的查询字符串中的参数:

参数:格式(设置详细) 指定结果格式。可接受的值为 simpledetailed。简单的结果包括 RecognitionStatusDisplayTextOffsetDuration详细响应包括四种不同的显示文本表示。默认设置为 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 中添加您的域特定词,如下所示。 (如果您能具体分享您的话,我可以提供帮助)

enter image description here

enter image description here

响应参数结果以 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.0Evaluate and improve Custom Speech accuracyTrain and deploy a Custom Speech modelText normalization for US English