ASR文本审核说明

全文窗口模式

异步点播审核支持两种文本审核模式,在控制台对应的音频审核策略中配置。查询结果时仍使用异步结果查询接口,无需增加请求参数或改变签名方式。

模式 文本审核方式 返回说明
分段模式(默认) 按 ASR 返回的原始文本片段分别审核,保持原有逻辑。 audioSpams、audioText 及原有结果处理方式不变。
全文窗口模式 将所有 ASR 转写片段按时间顺序合并为完整文本,再以每个最多 500 字符、相邻重叠约 100 字符的窗口进行审核,不再将这些 ASR 文本片段逐段重复送审。 audioText 返回合并后的完整转写文本;文本命中映射回原始 ASR 片段,仍通过 audioSpams 返回。

窗口长度以 UTF-16 单元计数,不拆开 emoji 等字符的代理对。窗口可能根据句子边界调整,相邻窗口保留上下文。长文本会分为多个窗口,不能将窗口审核理解为无限长度的全文一次性语义审核。此模式仅适用于异步点播,不改变同步点播或直播审核。

违规结果与原始音频片段的对应关系

全文窗口是送审单位,不是响应中的音频片段单位。audioSpams[].text 保留命中关联的原始 ASR 片段文本,startTime、endTime 保留该片段的原始起止时间,单位为秒;不使用窗口字符位置按比例推算词级时间。声纹等非文本检测结果仍沿用原有返回方式,映射后的文本结果也继续经过原有审核策略处理。

命中情况 audioSpams 返回规则
同一处违规词被重叠窗口重复命中 合并相同全文位置、关键词及标签的重复命中,不因窗口重叠重复返回相同片段。相同词在全文不同位置出现,仍保留各位置的候选命中。
多个违规词落在同一原始 ASR 片段 汇总到同一条文本 spam,通过 tags、subTags 及 wordList 保留相关命中信息,不按窗口数或词数拆成多条 spam。
一个违规表达跨越多个原始 ASR 片段 将命中关联到所有涉及的片段,每条 spam 保留各自的原文和起止时间。某一片段可能只包含完整命中词的一部分,这不表示它单独包含完整违规表达。

**定位精度:**文本审核下游没有提供精确命中偏移时,会在来源窗口内保留关键词的所有候选位置;不能据此认定某一次出现是唯一实际命中。语义命中没有明确关键词、或关键词无法匹配原始文本时,会关联该审核窗口覆盖的音频片段,不能视为精确到某个词的音频定位。

跨片段命中的响应示例

假设 ASR 在 32~38 秒识别出“前文包含示例违规”,在 38~43 秒识别出“表达以及后续内容。”。合并后命中“示例违规表达”,结果关联到这两个原始片段。以下只展示 audioSpams,示例词和分类用于说明响应格式,实际以审核结果为准。

{
  "audioSpams": [
    {
      "startTime": 32.0,
      "endTime": 38.0,
      "text": "前文包含示例违规",
      "tags": [
        {
          "tag": 160,
          "level": 2,
          "subTags": [
            {
              "subTag": 160001,
              "wordList": [
                "示例违规表达"
              ]
            }
          ]
        }
      ]
    },
    {
      "startTime": 38.0,
      "endTime": 43.0,
      "text": "表达以及后续内容。",
      "tags": [
        {
          "tag": 160,
          "level": 2,
          "subTags": [
            {
              "subTag": 160001,
              "wordList": [
                "示例违规表达"
              ]
            }
          ]
        }
      ]
    }
  ]
}

审核未完成时如何处理

业务接入仍按既有 code、result、audioSpams 处理最终结果。窗口和片段映射的详细诊断仅用于服务内部日志,不作为对外响应字段返回。

如全文窗口审核失败或没有可审核的转写文本,响应会以 code=1、errorCode=-1 提示失败,并保留已有风险信息。此时不应将未命中部分视为已审核通过,应重试或转人工复核。