經濟全球化的今天,人們在作業和生活中經常會與外語打交道,相較傳播性較廣的英語而言,其他語種的識別和閱讀對大多數人來說是一件難事,此時就需要借助語言翻譯軟體來幫助理解,
華為 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 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/545384.html
標籤:Android
