摘要:閑着沒事用多模態評測API做了一個測評英語口語的互動小游戲,居然成了一場10萬人參與的刷屏級活動。
上一期故事說到,我成為了公司技術委員會副主席,上任后的第一件事是建立了一個雲容器化的研發資料庫,把每個研發硬盤里那點“好東西”都復用出來。(詳情查看:《無法想象!大齡碼農的硬盤里有這么多寶藏》)
自此以后,老大交給我的擼代碼的活越來越少,讓我專心把技術委員會做起來。人一閑下來吧,就容易生事兒,這不么,閑着沒事做了一個互動小游戲,運營妹子從公眾號上推了張海報,居然成了一場10萬人參與的刷屏級活動。
咋回事呢?大概是7月25號,我看到一條新聞,北京2021年高考要增加英語口語考試。媽耶,這也太突然了,這不跟產品經理突然提需求、微博的運維趕上明星突然宣布結婚/分手一樣讓人猝不及防么。
很快,有孩子正上高中的家長都在朋友圈轉發了這條消息,這事的關注度這么高啊?總聽說運營擅長抓熱點,那我是不是也可以做點什么抓住這次熱點呢?
對於這個政策,家長和學生最關注最需要的是什么?考口語,首先得知道自己的口語水平怎么樣,知道短板在哪才能有針對性地補習提高。那就是說需要口語測評!
我想起之前在華為雲官網上看到過一個“多模態評測”API,能夠根據朗讀視頻數據和試題文本,給朗讀者的口語評測分數。我可以利用這個API做一個測評類的H5小游戲。
按照我的習慣,實現功能的過程會同步梳理成文檔,便於后浪們學習。
《多模態英語口語評測》
內容來源
多模態口語現在還在公測階段,所以我提前在華為雲上申請了公測,當天就公測通過了~(公測鏈接:https://activity.huaweicloud.com/AI_free0.html?ggw_hd )
步驟一:數據准備
l 支持的video類型包括avi/mp4/webm/mkv/flv等封裝格式,視頻清晰度不低於240p,幀率不低於25fps,大小限制在10M
l 支持語言:英式英語
l 評測模式:單詞評測、句子評測
l 需要把視頻轉化為對應的base64編碼上傳
轉化舉例(Python)
#!/usr/bin/env python # encoding: utf-8 import base64 def ToBase64(file, txt): with open(file, 'rb') as fileObj: image_data = fileObj.read() base64_data = base64.b64encode(image_data) fout = open(txt, 'w') fout.write(base64_data.decode()) fout.close() ToBase64("./test.wav",'2.txt') # 音頻文件轉換為base64
步驟二:構建請求
華為雲語音交互服務的通用請求方式如下圖所示。
備注:
l 多模態評測API目前處於公測階段,在華為-北京四可以調用,其Endpoint為“sis-ext.cn-north-4.myhuaweicloud.com”。
l 需要確認個人專有華為雲項目ID和Token(身份認證)
獲取了身份認證后,就可以填寫請求了。假設我現在有一個avi格式的文件,想用單詞模式去判斷口語質量,我要學習的口語是“sit down”。
請求示例是:
POST https://{endpoint}/v1/{project_id}/assessment/video Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "config":{ "video_format": "avi", "language": "en_gb", "mode": "word" }, "video_data": "/+MgxAAUeHpMAUkQAANhuRAC...", "ref_text": "sit down" }
步驟三:返回結果
{ "fluency": { "score": 75.02139, "rhythm": 50.042786, "cohesion": 100.0 }, "pronunciation": { "score": 36.817684, "gop": 36.817684 }, "score": 22.09061, "completeness": 0.0, "duration": 2.46, "words": [此后為音素、音標評價結果,其返回結果見下方]
從返回的結果可以看到:
(1)從流利度看:流利度評分75.02;連貫性是滿分;韻律弱一點,只有50.04分
(2)從發音看:我的發音質量綜合打分(score)是36.82分;發音好壞打分是36.82分
(3)最后的綜合評分:22.09分…
哎,還挺准確,我從小英語口語就差…
還能進行英語口語練習,從發音嘴型、發音效果糾正口語。通過具體的單一單詞、音素、音標打分,就能知道需要對哪個單詞、音標加強練習了。
以“sit”發音評測為例,反饋結果如下:
"words": [ { "fluency": { "score": 68.29714, "rhythm": 68.29714 }, "pronunciation": { "score": 24.714167, "gop": 24.714167 }, "out_of_vocabulary": false, "text": "sit", "text_original": "sit", "text_normalised": [ "sit" ], "score": 46.505653, "start_time": 1.03, "end_time": 1.06, "phonemes": [ { "fluency": { "score": 31.643274, "rhythm": 31.643274 }, "pronunciation": { "score": 16.471563, "gop": 16.471563 }, "start_time": 1.03, "end_time": 1.04, "arpa": "S", "ipa": "s" }, { "fluency": { "score": 87.00653, "rhythm": 87.00653 }, "pronunciation": { "score": 28.179922, "gop": 28.179922 }, "start_time": 1.04, "end_time": 1.05, "arpa": "IH", "ipa": "i" }, { "fluency": { "score": 86.241615, "rhythm": 86.241615 }, "pronunciation": { "score": 29.491013, "gop": 29.491013 }, "start_time": 1.05, "end_time": 1.06, "arpa": "T", "ipa": "t" } ] }, ], }
很快我就把小游戲做完了,以口語能力測評為核心玩法,加入了邀請好友再玩一次的分享引導機制,沒想到只是從公司公眾號上推了一下,朋友圈里居然刷了屏,上線3天,游戲人數就超過了10萬人!一次由研發主導的10W+刷屏活動就這樣誕生了,誰說研發不懂運營?
據了解,目前API Explorer平台已開放EI企業智能、計算、應用服務、網絡、軟件開發平台、視頻等70+雲服務,共上線2000+個API、6000+個錯誤碼。在前期試運行期間,華為雲API Explorer平台上的API接口也已被多家企業成功接入。
點擊查看詳情:《華為雲一站式API解決方案平台API Explorer上線》
華為雲API Explorer平台在未來幾個月會實現更多功能,比如支持SDK示例代碼、CLI等特性,同時也會開放更多的雲服務API接口,連接更多開發者實現創新、拓寬創新邊界。