简单三步,通过工作流(ASW)进行音频提取关键字操作
本文介绍如何通过工作流 ASW 编排语音识别 AI 服务,将一段离线录音文件进行文字识别后,将输出的识别字段进行关键字提取。
工作原理
- 异步调用语音识别 (ASR) 能力进行离线语音文字识别,并采用轮询 check 方式等待语音识别任务执行结束。
- 将语音识别的结果传递给关键字提取任务,输出语音中的关键字。
前提条件
- 开通 腾讯云语音识别(ASR)服务。
- 开通 腾讯云自然语言处理(NLP)服务。
- 操作账号拥有【创建角色】和【绑定策略到角色】的权限,或在账号已经有了某个角色可以调用 ASR 和 NLP 服务。更多参考 运行角色。
操作步骤
创建状态机
- 登录 应用与编排服务流控制台。
- 在状态机页面,单击【新建】,进入创建工作流页面中,进行状态机编排。
- 在【使用代码创建】>【可视化编辑】页面中,单击【公有云算法】,选择【录音文件识别-请求生成】、【录音文件识别-结果查询】、【自然语言-关键词提取】拖拽至可视化窗口中。
- 在右侧的弹框中,分别给节点命名为“语音识别请求”、“获取语音识别结果”、“关键字提取”。单击【代码】区域的【刷新】,可以看到【代码】中生成代码如下:
{
"Comment": "",
"StartAt": "语音识别请求",
"States": {
"语音识别请求": {
"Type": "Task",
"Comment": "https://cloud.tencent.com/document/api/271/35498",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:asr:generalASR",
"Next": "获取语音识别结果"
},
"获取语音识别结果": {
"Type": "Task",
"Comment": "https://cloud.tencent.com/document/api/271/35498",
"Resource": "qrn:qcs:asw:ap-guangzhou:1223456789:sdk:json:qcloud:asr:checkASR",
"Next": "关键字提取"
},
"关键字提取": {
"Type": "Task",
"Comment": "https://cloud.tencent.com/document/api/271/35498",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:nlp:KeywordsExtraction",
"End": true
}
}
}
说明:Resource 字段格式为
qrn:qcs:asw:{服务所在区域}:{Appid}:sdk:json:qcloud:{服务名称}:{组件名称}
。更多详情参考 Task 节点。
- 由于工作流中的三个 Task 节点调用了不同云产品服务能力,这些能力都是相关 API 的封装,因此需要传递一些必要的参数,根据 API 文档参考:
{
"Comment": "",
"StartAt": "语音识别请求",
"States": {
"语音识别请求": {
"Type": "Task",
"Comment": "发送语音识别请求",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:asr:generalASR",
"Parameters":{
"EngineModelType":"16k_zh",
"ChannelNum":1,
"ResTextFormat":0,
"SourceType":0,
"Url.$":"$.Url"
},
"OutputPath":"$.Response.Data",
"Next": "获取语音识别结果"
},
"获取语音识别结果": {
"Type": "Task",
"Comment": "获取语音识别结果",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:asr:checkASR",
"Parameters":{"TaskId.$":"$.TaskId"},
"Next": "关键字提取"
},
"关键字提取": {
"Type": "Task",
"Comment": "关键词提取任务",
"Parameters":{
"Text.$":"$.Response.Data.Result",
"Num":10
},
"End": true,
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:nlp:KeywordsExtraction"
}
}
}
说明:Task 中定义的 Resource 对应为云服务 API 接口的调用封装,Parameters 为调用时的传参。更多详情参考 状态机语言。
- 单击右上角【下一步】,进入保存界面,输入状态机名称,运行角色选择【使用已有角色】或【新建角色】,类型选择【快速】,单击右上角【完成】,在状态机列表页可以看到创建好的状态机。
说明:使用已有角色需要先创建角色,并给角色授权相关策略,操作详情参考 运行角色。
运行状态机
状态机创建完成后,您可以在登录后的主页面查看创建好的状态机。
-
单击需要运行的状态机的【名称】,进入状态机。
-
您可以在界面中看到状态机的基本信息。单击【工作流执行】下的【开始执行】
-
在弹出的“输入”窗口中,以 JSON 格式输入状态机需要的输入内容。例如:
{
"Url":"https://chaoshi-123456789cos.ap-guangzhou.myqcloud.com/storage/asr/16k.wav"
}
说明:Url 中的链接必须公网可以访问
-
单击【确定】,完成状态执行后,可以在详情页查看执行结果:
-
滑动至页面最下方,在【执行历史记录】条目下,您可以查看子节点的运行情况。
申请试用 ASW
ASW 目前处于公测阶段,公测阶段免费提供服务。欢迎提出产品改进建议,反馈采纳后即可获得腾讯萌新短鹅公仔!
立即申请公测,我们将会在 3 个工作日内完成审批,并通过短信和站内信通知您,感谢您的支持。
One More Thing
立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 serverless/start
欢迎访问:Serverless 中文网!