开发者社区 问答 正文

Paraformer语音识别-中文-通用,将手机号、身份证号码都识别为大写中文如何转为阿拉伯数字

Paraformer语音识别-中文-通用-16k-离线-large-长音频版,将手机号、身份证号码都识别为大写中文数字,如何将音频中的数字转为阿拉伯数字。1697439058007.jpg

展开
收起
东海鱼 2023-10-16 14:52:33 264 分享 版权
阿里云 AI 助理回答

要将音频中的数字从大写中文数字转换为阿拉伯数字,您需要在使用Paraformer语音识别模型时,开启**逆文本正则化(ITN, Inverse Text Normalization)**功能。以下是具体的操作步骤和配置方法:


1. 确认使用的模型支持ITN功能

根据知识库信息,只有v2系列模型(如paraformer-realtime-v2)支持逆文本正则化功能。因此,请确保您使用的是支持该功能的模型。


2. 启用ITN功能

在调用Paraformer语音识别API时,您需要通过参数配置来启用ITN功能。以下是具体的参数设置方法:

Python SDK 示例

from dashscope.audio.asr import RecognitionParam

# 创建参数配置对象
param = RecognitionParam.builder() \
    .model("paraformer-realtime-v2") \  # 确保使用支持ITN的模型
    .format("pcm") \  # 音频格式,根据实际音频选择
    .sample_rate(16000) \  # 音频采样率,需与音频一致
    .parameter("inverse_text_normalization_enabled", True) \  # 开启ITN功能
    .build()

Java SDK 示例

import com.alibaba.dashscope.audio.asr.RecognitionParam;

// 创建参数配置对象
RecognitionParam param = RecognitionParam.builder()
    .model("paraformer-realtime-v2") // 确保使用支持ITN的模型
    .format("pcm") // 音频格式,根据实际音频选择
    .sampleRate(16000) // 音频采样率,需与音频一致
    .parameters(Map.of(
        "inverse_text_normalization_enabled", true // 开启ITN功能
    ))
    .build();

3. 发送音频进行识别

在完成参数配置后,按照以下步骤发送音频流或文件进行识别:

  1. 实时音频流:通过WebSocket API发送实时音频流,确保音频为单声道,并以100ms为单位分段发送。
  2. 录音文件:如果使用录音文件识别,请确保文件格式为支持的格式(如wavmp3等),并通过URL方式上传文件。

4. 验证识别结果

开启ITN功能后,识别结果中的中文数字(如“壹佰贰拾叁”)将被自动转换为阿拉伯数字(如“123”)。请检查返回的识别结果是否符合预期。


重要提醒

  • ITN功能仅支持v2系列模型,如paraformer-realtime-v2paraformer-v2。如果您当前使用的模型不支持该功能,请升级到支持的模型版本。
  • 如果识别结果中仍有部分数字未正确转换,请检查是否启用了热词定制功能,并确保热词权重设置合理。

通过以上步骤,您可以成功将音频中的中文数字转换为阿拉伯数字。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答