線上文本翻譯能力新增14個直譯模型,打造以中文為軸心語言的翻譯系統

来源:https://www.cnblogs.com/hmscore/archive/2023/02/28/17164393.html
-Advertisement-
Play Games

經濟全球化的今天,人們在工作和生活中經常會與外語打交道。相較傳播性較廣的英語而言,其他語種的識別和閱讀對大多數人來說是一件難事,此時就需要藉助語言翻譯軟體來幫助理解。 華為 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集成

線上文本翻譯能力集成

  1. 請參見雲端鑒權信息使用須知,設置您應用的鑒權信息。

  2. 創建線上文本翻譯器。可以通過文本翻譯器自定義參數類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);
  1. 可通過下麵的方法查詢線上翻譯所支持的語種。

非同步方法示例代碼:

MLTranslateLanguage.getCloudAllLanguages().addOnSuccessListener(
    new OnSuccessListener<Set<String>>() {
        @Override
        public void onSuccess(Set<String> result) {
            // 成功獲取線上翻譯所支持的語種。
    }
});

同步方法示例代碼:

try {
    Set<String> result = MLTranslateLanguage.syncGetCloudAllLanguages();
    // 成功獲取線上翻譯所支持的語種。
} catch (MLException e) {
    // 獲取線上翻譯所支持的語種出現異常。
}
  1. 進行線上文本翻譯(錯誤碼信息可參見:機器學習服務錯誤碼)。

非同步方法示例代碼:

// 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();
}
  1. 翻譯完成後,釋放資源。
if (mlRemoteTranslator!= null) {
    mlRemoteTranslator.stop();
}

瞭解更多詳情>>

訪問華為開發者聯盟官網
獲取開髮指導文檔
華為移動服務開源倉庫地址:GitHubGitee

關註我們,第一時間瞭解 HMS Core 最新技術資訊~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 該引擎繼承於MergeTree,併在數據塊合併演算法中添加了摺疊行的邏輯。CollapsingMergeTree會非同步的刪除(摺疊)這些除了特定列Sign有1和-1的值以外,其餘所有欄位的值都相等的成對的行。沒有成對的行會被保留。因此,該引擎可以顯著的降低存儲量並提高SELECT查詢效率。 簡單來說就 ...
  • 轉載於:(140條消息) 如何管理oralce口令文件和參數文件_oracle 口令文件_夢想家DBA匠人的博客-CSDN博客口令文件審核 Step 1: 使用root賬號將 oracle dba的許可權移除 [root@oracle-db-19c ~]# su - oracle[oracle@ora ...
  • 前言 Redis 提供了 2 個不同形式的持久化方式: RDB(Redis DataBase) AOF(Append Of File) RDB 在指定的時間間隔內將記憶體中的數據集快照寫入磁碟, 也就是行話講的 Snapshot 快照,它恢復時是將快照文件直接讀到記憶體里。 備份是如何執行的 Redis ...
  • 約束 約束是作用於表中欄位上的規則,用於限制存儲在表中的數據,保證資料庫中數據的正確、有效和完整。 一. 常用的約束 約束作用於表中的欄位,可以在創建表或修改表的時候添加約束。 AUTO_INCREMENT 約束關鍵字 自動增長:用於比如每次新添加一行數據,id就+1。 如果自增和主鍵一起使用時,插 ...
  • 連接查詢用於多表關聯查詢,連接方式不同,查詢重點不同。 內連接 作用:查詢多表之間交集部分數據 關鍵詞:inner join 可簡寫為:join,即 inner join = join 圖示: 左外連接 作用:表 A 左連接表 B,以左表 A 為主查詢,關聯查詢表 B,查詢左表 A 所有數據,以及表 ...
  • sqlite3資料庫是一個小型的資料庫,當數據量不大,要求不是特別高的時候,是個不錯的選擇。 在Linux上移植和使用也非常的方便。 本示例是在硬體全志r528 .linux5.4 上驗證的。 移植操作: 1、源碼下載 去官網進行下載源碼SQLite Download Page,根據自己的選取選擇不 ...
  • 摘要:GaussDB目前採用的FIFO調度機制,該調度機制無法滿足用戶的網路隔離需求和QoS需求,同時FIFO調度可能帶來比較嚴重的抖動。 本文分享自華為雲社區《【玩轉PB級數倉GaussDB(DWS)】GaussDB(DWS)網路調度與隔離管控能力》,作者:門前一棵葡萄樹 。 一、常見的調度演算法 ...
  • 最近工作中需要部署一套資料庫服務到內網伺服器上,藉此機會,我重新整理了postgresql資料庫的搭建及入門使用方法 1、安裝方式(兩種選一種) a、第一種方式 sudo yum install -y https://download.postgresql.org/pub/repos/yum/rep ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...