第一次製作 Google 客製機器翻譯引擎就上手
最近機器翻譯、AI、機器學習的議題還是非常火熱。機器翻譯方面,今年我比較關注的幾個大咖包括:
Google Cloud AI 底下的 Google Translate: https://cloud.google.com/translate/?hl=zh-tw
Amazon sagemaker 底下的 Amazon Translate:
https://aws.amazon.com/tw/translate/
IBM Watson 底下的 IBM Watson Translator:
https://www.ibm.com/watson/services/language-translator/
微軟的 Microsoft Translator:
https://www.microsoft.com/en-us/translator/business/
機器翻譯這個這事呢,經常內行人自嗨,外行人看熱鬧。許多人就算想了解,也是經常不得其門而入(真的不是人人都會寫程式啊!!!)
於是乎~為了推動AI普及化,要連不懂ML技術的人都能自己製作一個企業級AI應用。Google 今年(2018)夏天推出了AutoML Translate 。
雖說 AutoML Translate 可以自動辨識你的資料集的特徵,不用寫程式,任何人可以建立機器學習模型。但使用者對於程式語言、SDK、語言資料還是要有一定程度的瞭解,不然還是鴨子聽雷,有聽沒懂。
如果說你蠻了解程式語言、SDK和語言資料,那可以按照以下谷歌的教學一步步走。
不想在UI上做建立引擎前的準備,AutoML 目前可以用 python, java, nodejs來處理。以下環境準備拿 python 為例:
- 安裝python 2 & 3 及 pip
- 安裝 Google Cloud Client Libraries (安裝之後基本上就可以利用此 Libraries 進行專案設定)
- 安裝 Google cloud SDK 中的 gcloud (安裝之後才能方便在GCP上做各種設定、開發) [google 教學步驟4]
如果你一點概念都沒有,但又想玩機器翻譯引擎怎辦?那就看以下說明吧!
建立引擎前的準備:
- 建立Google 帳號
- 進入Google Cloud Platform (GCP) console 中的 manage source 建立一個新project [google 教學步驟1]
- 確認專案啟用計費功能 (綁信用卡,首次使用 GCP 的用戶 Google 頭一個月會送 USD 300 美元)[google 教學步驟2]
- 開啟 AutoML Translation APIs (這樣以後才方便在各種工具平台使用製作的機器翻譯引擎) [google 教學步驟3]
- 在專案下建立 service account (依照 Google Group上的回覆目前 AutoML 因安全因素尚未支援 API key 所以只先用 service account 的 key ) [google 教學步驟5]
- 設定 GOOGLE_APPLICATION_CREDENTIALS 變數 [google 教學步驟6]
- 將步驟5建立的 service account 新增到 GCP 中的 IAM 管理員,並設定角色為 AutoML 編輯者 [google 教學步驟7]
- 新增 “custom-vision@appspot.gserviceaccount.com” 到 GCP 中的 IAM 管理員,並設定角色為儲存空間=>storage管理員 (讓 service account 能存取 GCP 專案的資源) [google 教學步驟8]
- 設定 PROJECT_ID 及 REGION_NAME 變數(目前 AutoML 的 Region_NAME 需設定為 “us-central1”) [google 教學步驟10]
- 建立 Google Cloud Storage bucket。名稱:PROJECT_ID-vcm。預設儲存空間級別: regional。位置:us-central1。(這是之後要語言資料的地方,類似 GCP 內的 google drive)[google 教學步驟11]
建立 AutoML Translate 的機器翻譯引擎!!!
note: 利用程式語言的人可以按照 google 教學步驟繼續走。
- 透過 AutoML Translate UI 進入前面設定的 AutoML Translate 專案
- 建立 Dataset
- 上傳語言資料 (目前格式支援 .tmx 及 .tsv。語言資料整理跟準備請看google的說明。不過google專業畢竟不是在整理語料跟處理tmx,處理語料的注意事項可參考這篇文)
- 訓練&評估 ( AutoML 的訓練費用是 USD 76/小時,前兩小時免費,第三小時開始收費,之後引擎調用的話是 USD 80/100萬元。評估是採 BLEU ,簡單來說就是越高分越好)
- 評估結果ok就可以開始用啦~~
到這邊還是覺得很複雜?如果是這樣…那還是乖乖付錢用商用引擎吧 (又或者找我諮詢?這或許又是一個新的服務項目XD)
至於 AutoML Translate 的自製引擎有沒有比 Google Translate 或者其他家MT好,還有待時間檢驗。但可以預期的是以客製化/企業用機器翻譯引擎為主要服務業務的公司,現在應該蠻緊張的XD