本文介紹如何通過作業流 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 中文網!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266249.html
標籤:其他
