為什麼你要看這個網頁? 很可能是因為你在尋找可以合作的夥伴
所以你正在從奇一的網頁上到處看看,看能否找到什麼資訊,用以評估奇一是否適合合作
相較於一般公司將海量接案經驗列表在網站上,奇一認為挑選經典案例做詳細敘述,更能幫助你預想未來的合作樣態
有某個語言練習平台,需要 YouTube 影片的4T,作為練習題材,4T是指:
Time - 所有字幕出現的時間點
Text - 字幕中的文字
Translation - 字幕文字的中文解釋
TTS - 對應文字的MP3語音檔案
客戶希望將其既有的收集4T的流程變得更自動化,來降低收集4T的成本,加快收集4T的速度。
1.選好一個有字幕的YouTube影片
2.開始播放,在字幕出現的片段做暫停,平均每10秒會有一組字幕
3.用Line內建功能,將字幕區塊截圖做OCR (圖片轉文字),約需10秒
4.將OCR取得的文字輸入到資料庫,並手動輸入字幕出現時間,約需10秒
5.將OCR取得文字手動做google翻譯,並將翻譯結果輸入資料庫,約需5秒
6.將字幕做TTS(文字轉語音)慢速發音,且錄音存檔,約需15秒
重複上述步驟2~6,直到影片結束
根據以上數據估計,50小時的人力可處理影片長度: 10 小時
Line手動截圖,改為 - 可按快速鍵自動對字幕區截圖,時間1秒
Line手動OCR,改為 - 截圖後自動送OCR取得文字,時間5秒
字幕手動輸入資料庫,改為 - OCR結果自動送DB,時間0
字幕手動Google翻譯,改為 - OCR結果自動送翻譯API翻譯,翻譯結果自動進DB,時間2秒
手動TTS發音錄音,改為 - OCR結果自動送TTS API,產生語音檔案自動存檔,時間2秒
根據以上數據估計,50小時人力可處理影片長度,由
10 小時提升至
25小時
提升 150%
特別難的是在於,OCR的結果不會剛好是台詞內容,例如:
❗畫面中可能有許多不屬於台詞的文字,例如字幕後方剛好有車牌
❗部分純圖形也會被辨識成文字,例如手指比Yeah被辨識成V
❗字幕是堆疊式顯示,也就是新的台詞出現時,舊的台詞還在畫面上,造成OCR結果部分重複
❗以及其他各種雜七雜八狀況
而奇一根據各種狀況所優化出的演算法, 能把OCR結果重組成正確字幕,準確率在95%以上, 這不是每家廠商都能做到或至少願意挑戰的
(一)經過上次大幅降低成本後,剩下最大成本來自於:
「要取得10小時的影片的4T,至少要人力10小時看影片」
- 於是在上次改善完畢後,奇一開始主動更深入了解業務需求,
從需求面和技術面等各方面,探索降低這部分成本的可能性,
最後終於找到一個可在各方面取得平衡的做法
(二)客戶一直希望,除了字幕翻譯,最好還能有解說,例如片語、慣用說法等說明,
但是這些說明之前只能請人力做編輯,成本高昂。
- 在ChatGPT橫空出世後,奇一便開始探索利用AI解決此需求的可能性,
最終終於找到方式,讓AI可穩定回應可被系統採用的資訊
人工看影片,遇到有台詞時,暫停影片,對字幕一鍵截圖送OCR。
程式在每整秒初自動暫停影片,不管有無台詞,一律截圖,再由人工從這些截圖中,挑出有字幕的截圖送OCR。
請注意,關鍵是,我們根據視覺理論,設計了一個挑圖專用介面(如圖),可以讓找字幕的速度比看影片找字幕快10倍
10個小時的影片,找到「有字幕存在的片段」,所需時間,從10小時縮短為2小時
每次對字幕截圖後就送OCR,注意OCR是以次計費
將多個截圖拼合再一次一起送OCR
一、10小時影片所需OCR時間由5小時縮短為只需3分鐘
二、OCR費用的投報率較原先提高了300倍
先前,每個字幕都單獨送OCR,每次約需5秒才取得回應,雖是電腦自動執行,
但人力很難對5秒的等待時間作出有效利用,等於浪費5秒人力。
但是本次革新中,將3600個5秒組合成為一個連續18000秒的自動化執行,
這18000秒就完全幾乎不佔用人力
要給每個句子做詳細解釋,一個句子平均約需5分鐘,每10小時的影片有3600個句子,估計需18000分鐘,也就是300小時的人力
由生成式AI自動生成句子解釋,幾乎完全無需人力
10個小時的影片,句子詳解所需從300小時縮短為0小時
1.程式抓截圖
2.人工篩選截圖
3.篩選過的圖送OCR
4.人工檢查OCR結果並修正
5.產生翻譯與TTS →結束
以上只有步驟2和步驟4需人力,10小時的影片約需5小時人力處理
也就是50小時的人力,可以完成100小時影片的4T抓取
較原先的10小時提升了近
1000%
一、專為找字幕所設計的介面, 「很少有人會想到竟然還能這樣做」
二、單一字幕截圖的OCR結果,能高確率整理成正確文字,已有難度。 數百張字幕截圖拼合做OCR,且正確率要高,難度呈指數形增加, 「很少有廠商願意摸黑嘗試跨越」
三、影片播放控制用html、js、php,截圖用python,不同體系的交握,「很少廠商能做到精準、穩定、韌性」
能做到全自動無需人力嗎?
可以用AI和演算法輔助加速嗎?
新架構,收集影片截圖方式為,程式每秒自動暫停播放,等待截圖完畢,再繼續播放。
但是由於每次暫停後,要再繼續播放時,都會需要一個緩衝讀取時間,從0~3秒都有可能。
一個10小時的影片要截圖完畢,會有36000次的暫停後繼續播放,緩衝時間會非常長。
有什麼辦法可以更快嗎?
由人工選取個有字幕的截圖送OCR
由系統把所有截圖不論是否有字幕都送OCR, 再由OCR結果配合奇一開發的演算法,挑出有字幕的截圖
最初,要從10小時的影片中,找有字幕的片段,需10小時人力,後來在新架構中降低到2小時。
而在新架構再優化後,改善到完全不需人力,時間降到0小時
且還完全解決人工選圖偶爾有疏漏的問題。
OCR取得的字幕內容,需經過奇一演算,選出可能有錯的部分, 再人工手動修正後,才送資料庫,約需3小時。
大部分有錯誤的文字內容,都可以經由奇一設計的演算法與AI,重組出正確的文字。
人員只需檢查AI所給的文字是否正確,若正確就直接套用無需打字,
大大降低修正所需時間。
每10小時影片的OCR結果審查修正,所需時間從3小時, 縮短為1小時
用程式控制影片播放,每隔 1 秒就暫停截圖,截圖完成後再繼續播放, 但每次繼續播放時都需等待緩衝,造成大量時間在等待YouTube緩衝
對YouTube影片的字幕區塊錄影,再從影像檔案中擷取有字幕的截圖。 完全省去等待YouTube緩衝的時間。
先前方式,要從 10 小時的影片中,取得每秒截圖,需 30 小時。
改採錄影方式後,改善到只需 6 小時
在先前的新架構中,要取的YouTube影片4T,需要人力的部分在於
(1)人工篩選有字幕的截圖
(2)人工修正OCR結果結果有誤的文字
每10個時的影片
(1)原需時2小時,優化後降為0小時
(2)原需時3小時,優化後降為1小時
總時間從5小時降為
1小時
每50個小時人力所能處理的4T從10小時成長到500小時
總共提升了約5000%
從錄影檔案中抓圖,對一般程式設計者來說,不會是太困難的事情,
但是客戶的需求是,圖所對應的YT影片時間,必須是在整秒左右,例如:
符合需求的影片時間:27.05、28.03、29.07秒
不合需求的影片時間:27.56、28.33、29.73秒
而錄影時,YouTube可能會延遲、暫停做緩衝等...,所以錄影的時間, 和檔案內YouTube影片所播放到的時間,兩個時間不會匹配且之間無邏輯可循,例如:
錄影檔案錄到第600秒時,YouTube影片正播放到第587.35秒。
等錄影檔案錄到第614.53秒時,裡面的YouTube才播放到600秒。
而奇一的演算法,是真的做到,
能從錄影檔案中,找到指定的YouTube所播放到時間做截圖
能從錄影檔案中抓出指定的YouTube時間的畫面截圖,雖不能節省人力成本,但是大大縮短了取得原始截圖所需時間。
(1)OCR是需要費用的,利用OCR找有字幕的圖,
能否在成本、準確度、速度、穩定性之間取得平衡,需時間驗證
(2)而新架構中的「人工篩選介面」,已經獲得客戶高度肯定
(3)奇一是做到準確度高於人工篩選、費用壓低到每10小時的影片不到十元台幣、
且高速、穩定有韌性,才建議客戶採用的
對奇一來說,「系統的穩定與韌性,追求系統無錯亂崩潰的機會,
更要就算錯亂崩潰了也能救回來」,
一直是最基本原則。在這樣的基礎下,才會再去創新突破
OCR結果所呈現的錯誤的樣態,需要時間收集大量樣本做分析統計, 而有了足夠的樣態分析統計,才能夠給AI下達準確的指令, 且AI本身也具有不穩定性,需要配合奇一演算法去協調。 所以這部分也是奇一自行做到有一定穩定性以及效益,才建議客戶採用的。