經濟全球化的今天,人們在工作和生活中經常會與外語打交道。相較傳播性較廣的英語而言,其他語種的識別和閱讀對大多數人來說是一件難事,此時就需要藉助語言翻譯軟體來幫助理解。 華為 HMS Core 機器學習服務(ML Kit)翻譯功能提供了多種翻譯模式,不僅可以滿足應用出行購物、網路社交等日常場景,還提供 ...
經濟全球化的今天,人們在工作和生活中經常會與外語打交道。相較傳播性較廣的英語而言,其他語種的識別和閱讀對大多數人來說是一件難事,此時就需要藉助語言翻譯軟體來幫助理解。
華為 HMS Core 機器學習服務(ML Kit)翻譯功能提供了多種翻譯模式,不僅可以滿足應用出行購物、網路社交等日常場景,還提供辦公文檔、視頻字幕等專業翻譯服務,滿足多種語言和場景應用。其中線上文本翻譯能力支持15國語種中文互譯,滿足郵件翻譯、語音翻譯、瀏覽器翻譯、同傳翻譯等場景。
當前主流的翻譯模式大都以語料資源較為豐富的英文作為中間語言進行“橋接”翻譯,但是經英文轉移後翻譯精度有所損失,且計算資源加倍執行效果降低。
基於此,HMS Core機器學習服務對線上文本翻譯能力進行升級,在原有的8國語言上又新增中意、中阿、中波、中荷、意中、阿中、波中、荷中 、中馬、中泰、中越、越中、泰中、馬中十四個直譯模型,支持TOP15語種中文互譯。相較於英文橋接翻譯,中文直譯模型可實現每秒併發300字元,端到端翻譯速度小於150ms,翻譯時延降低100%,翻譯速度更快;針對中文特色詞、俚語的翻譯結果更地道,翻譯質量更優。線上文本翻譯能力分批次打造可信中文直譯系統,確保中文和TOP語種的互譯效果優於友商,打造差異化競爭力,可以滿足中企出海或外企入華等對翻譯要求更高場景的需求。
產品優勢
個性化術語翻譯
用戶可自行提供術語以優化翻譯結果,華為術語翻譯引擎提供可定製的個性化術語翻譯能力。
中文為軸心的機器翻譯
支持TOP15語種中文互譯,讓翻譯時延更低,質量更優。在WMT 2021 國際機器翻譯大賽三角翻譯任務中,獲得俄到中翻譯第一名。
響應實時穩定
全流程毫秒級響應,譯文結果精準流暢。全球四大站點部署,助力品牌出海無憂。
多語言翻譯質量領先
依托先進的機器翻譯技術,結合各垂域大數據優勢,滿足用戶在多領域、多場景下的翻譯需求。在IWSLT 2020國際翻譯大賽中,獲得中到英字幕翻譯第一名。
開發步驟
開發準備
在進行開發之前,您需要完成必要的開發準備工作,同時請確保您的工程中已經配置HMS Core SDK的Maven倉地址,並且完成了本服務的SDK集成。
線上文本翻譯能力集成
-
請參見雲端鑒權信息使用須知,設置您應用的鑒權信息。
-
創建線上文本翻譯器。可以通過文本翻譯器自定義參數類MLRemoteTranslateSetting創建翻譯器。
// 使用自定義的參數配置創建文本翻譯器。
MLRemoteTranslateSetting setting = new MLRemoteTranslateSetting
.Factory()
// 設置源語言的編碼,使用ISO 639-1標準(中文繁體使用BCP-47標準)。此設置為可選項,如果不設置,將自動檢測語種進行翻譯。
.setSourceLangCode("zh")
// 設置目標語言的編碼,使用ISO 639-1標準(中文繁體使用BCP-47標準)。
.setTargetLangCode("en")
.create();
MLRemoteTranslator mlRemoteTranslator = MLTranslatorFactory.getInstance().getRemoteTranslator(setting);
- 可通過下麵的方法查詢線上翻譯所支持的語種。
非同步方法示例代碼:
MLTranslateLanguage.getCloudAllLanguages().addOnSuccessListener(
new OnSuccessListener<Set<String>>() {
@Override
public void onSuccess(Set<String> result) {
// 成功獲取線上翻譯所支持的語種。
}
});
同步方法示例代碼:
try {
Set<String> result = MLTranslateLanguage.syncGetCloudAllLanguages();
// 成功獲取線上翻譯所支持的語種。
} catch (MLException e) {
// 獲取線上翻譯所支持的語種出現異常。
}
- 進行線上文本翻譯(錯誤碼信息可參見:機器學習服務錯誤碼)。
非同步方法示例代碼:
// sourceText是待翻譯的文本,長度需小於5000個字元。
final Task<String> task = mlRemoteTranslator.asyncTranslate(sourceText);
task.addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String text) {
// 識別成功的處理邏輯。
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
// 識別失敗的處理邏輯。
try {
MLException mlException = (MLException)e;
// 獲取錯誤碼,開發者可以對錯誤碼進行處理,根據錯誤碼進行差異化的頁面提示。
int errorCode = mlException.getErrCode();
// 獲取報錯信息,開發者可以結合錯誤碼,快速定位問題。
String errorMessage = mlException.getMessage();
} catch (Exception error) {
// 轉換錯誤處理。
}
}
});
可選:同步方法示例代碼:
try {
String output = mlRemoteTranslator.syncTranslate(sourceText);
// 識別成功的處理邏輯。
} catch (MLException e) {
// 識別失敗的處理邏輯。
// 獲取錯誤碼,開發者可以對錯誤碼進行處理,根據錯誤碼進行差異化的頁面提示。
int errorCode = e.getErrCode();
// 獲取報錯信息,開發者可以結合錯誤碼,快速定位問題。
String errorMessage = mlException.getMessage();
}
- 翻譯完成後,釋放資源。
if (mlRemoteTranslator!= null) {
mlRemoteTranslator.stop();
}
瞭解更多詳情>>
訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHub、Gitee
關註我們,第一時間瞭解 HMS Core 最新技術資訊~