(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-18
(45)【発行日】2024-03-27
(54)【発明の名称】翻訳方法、装置、電子機器及びコンピュータプログラム
(51)【国際特許分類】
G06F 40/44 20200101AFI20240319BHJP
【FI】
G06F40/44
(21)【出願番号】P 2022539180
(86)(22)【出願日】2021-05-07
(86)【国際出願番号】 CN2021091997
(87)【国際公開番号】W WO2021238604
(87)【国際公開日】2021-12-02
【審査請求日】2022-06-30
(31)【優先権主張番号】202010450957.1
(32)【優先日】2020-05-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ラン,チウ
(72)【発明者】
【氏名】リン,ヤンカイ
(72)【発明者】
【氏名】リー,ペン
(72)【発明者】
【氏名】ジョウ,ジエ
【審査官】長 由紀子
(56)【参考文献】
【文献】中国特許出願公開第102467498(CN,A)
【文献】中国特許出願公開第105912533(CN,A)
【文献】中国特許出願公開第110334360(CN,A)
【文献】特開2015-069359(JP,A)
【文献】米国特許出願公開第2017/0031901(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
(57)【特許請求の範囲】
【請求項1】
電子機器により実行される翻訳方法であって、
翻訳対象文句を取得するステップと、
翻訳モデルを用いて、予め設定された数に基づき、前記翻訳対象文句を区分し、前記予め設定された数のサブ文句を獲得するステップと、
前記翻訳モデルを用いて、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するステップと、
各サブ文句に対応する翻訳結果を融合させ、前記翻訳対象文句に対応するターゲット翻訳文句を獲得するステップと
、を含
み、
前記翻訳モデルは、各トレーニングサンプルを用いてトレーニングを行うことによって獲得され、
前記トレーニングサンプルにはサンプルの翻訳対象文句と前記サンプルの翻訳対象文句に対応するサンプル翻訳文句とが含まれ、前記サンプル翻訳文句にはサンプルサブ文句数に応じて前記サンプル翻訳文句を区分して獲得された各サブサンプル文句が含まれ、各サブサンプル文句にタグが付帯されており、前記タグは、前記サブサンプル文句に対応するサンプルの翻訳対象文句の翻訳タグ結果を特徴づけており、
いずれか一つのトレーニングサンプルに対して、該トレーニングサンプルにおける各サブサンプル文句のサンプル長さを決定する際に、
離散型確率分布、前記サンプル翻訳文句の文句の長さ、前記サンプルサブ文句数及び分割方式に基づき、前記分割方式に対応する選択概率を決定し、
前記分割方式に対応する選択概率と前記サンプル翻訳文句の文句の長さに基づき、各サブサンプル文句のサンプル長さを決定する、ことを特徴とする翻訳方法。
【請求項2】
各サブ文句のうちの少なくとも二つのサブ文句に対応する文句の長さは異なり、前記文句の長さは、該当するサブ文句に含まれる単語の数を特徴づけている、請求項1に記載の方法。
【請求項3】
各サブ文句
のうちの第一の設定割合
に対応する数の第一のサブ文句の文句の長さを第一の長さに設置するステップと、各サブ文句
のうちの第二の設定割合
に対応する数の第二のサブ文句の文句の長さを第二の長さに設置するステップとをさらに含み、
前記第一の設定割合と前記第二の設定割合の和は、1である、請求項2に記載の方法。
【請求項4】
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得する前記ステップは、
候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得するステップを含む、請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記候補翻訳単語セットには翻訳終了識別子が含まれ、前記方法は、
いずれか一つのサブ文句に対して、
前記候補翻訳単語セットから該サブ文句における各単語に対応する候補翻訳単語を決定し、
前記候補翻訳単語が前記翻訳終了識別子である場合、該サブ文句に対する翻訳を終了し、翻訳終了時に翻訳済みの前記候補翻訳単語の数に基づき、該サブ文句に対応する文句の長さを決定す
ることをさらに含む、請求項4に記載の方法。
【請求項6】
前記候補翻訳単語セットには翻訳開始識別子と翻訳終了識別子とが含まれ、
候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得する前記ステップは、
いずれか一つのサブ文句に対して、前記候補翻訳単語セットから該サブ文句における各翻訳対象単語に対応する候補翻訳単語を決定するステップと、
前記候補翻訳単語が前記翻訳開始識別子である場合、
前記翻訳開始識別子の直後の候補翻訳単語から該サブ文句に対する翻訳を開始するステップと、
前記候補翻訳単語が前記翻訳開始識別子でなく、且つ前記翻訳終了識別子でない場合、前記候補翻訳単語が前記翻訳終了識別子
となるまで
該サブ文句における各単語を一つずつ翻訳するように該サブ文句を翻訳し続け、
前記候補翻訳単語が前記翻訳終了識別子である場合、該サブ文句に対する翻訳を終了し、該サブ文句に対応する翻訳結果を獲得するステップと、を含む、請求項4に記載の方法。
【請求項7】
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得する前記ステップは、
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する初歩的な翻訳結果を獲得するステップと、
各初歩的な翻訳結果のうちのいずれか一つの初歩的な翻訳結果に翻訳エラーがある場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行い、修正後の初歩的な翻訳結果と他の未修正の初歩的な翻訳結果に基づき、各サブ文句に対応する翻訳結果を獲得するステップと、を含む、請求項1から3のいずれか1項に記載の方法。
【請求項8】
前記翻訳エラーは、漏れ単語又は重複翻訳単語のうちの少なくとも一つを含み、前記方法は、
いずれか一つのサブ文句に対して、該サブ文句に対応する初歩的な翻訳結果における各単語に基づき、該サブ文句に前記翻訳エラーがあるか否かを決定するステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記翻訳エラーは、漏れ単語又は重複翻訳単語のうちの少なくとも一つを含み、前記方法は、
各サブ文句のうちのいずれか二つの隣接するサブ文句に対して、前記二つの隣接するサブ文句のうちの一番目のサブ文句に対応する初歩的な翻訳結果における最後の単語と前記二つの隣接するサブ文句のうちの二番目のサブ文句に対応する初歩的な翻訳結果における一番目の単語に基づき、前記二つの隣接するサブ文句に前記翻訳エラーがあるか否かを決定するステップをさらに含む、請求項7に記載の方法。
【請求項10】
前記翻訳エラーが漏れ単語を含む場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行う前記ステップは、
前記漏れ単語を翻訳するステップを含む、請求項7に記載の方法。
【請求項11】
前記翻訳エラーが重複翻訳単語を含む場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行う前記ステップは、
前記翻訳エラーがある初歩的な翻訳結果から、前記重複翻訳単語を削除するステップを含む、請求項7に記載の方法。
【請求項12】
各サブ文句に対応する翻訳結果は、候補翻訳単語セットから決定されたものであり、前記候補翻訳単語セットには削除識別子が含まれ、前記削除識別子は、対応するサブ文句の翻訳結果が重複翻訳単語であることを標識するために用いられ、
前記翻訳エラーがある初歩的な翻訳結果から、前記重複翻訳単語を削除する前記ステップは、
前記翻訳エラーがある初歩的な翻訳結果から、前記削除識別子に対応する重複翻訳単語を削除するステップを含む、請求項11に記載の方法。
【請求項13】
各トレーニングサンプルに基づき、初期ニューラルネットワークモデルの損失関数が収束されるまで前記初期ニューラルネットワークモデルをトレーニングし、トレーニング終了時の初期ニューラルネットワークモデルを前記翻訳モデルとすることとによって
、前記翻訳モデルを獲得す
る、請求項
1に記載の方法。
【請求項14】
いずれか一つのトレーニングサンプルは、前記トレーニングサンプルに、重複翻訳単語を含むサンプル翻訳文句がさらに含まれ、前記方法は、
前記サンプル翻訳文句を前記サンプルサブ文句数よりも小さい第一の数のサブ文句に分割すること、
前記第一の数のサブ文句のうちの少なくとも一つのサブ文句を、前記重複翻訳単語として決定すること、
前記重複翻訳単語を前記サンプル翻訳文句に插入し、前記重複翻訳単語を含むサンプル翻訳文句を獲得することによって前記重複翻訳単語を含むサンプル翻訳文句を決定することをさらに含む、請求項
13に記載の方法。
【請求項15】
翻訳装置であって、
翻訳対象文句を取得するための翻訳対象文句取得モジュールと、
翻訳モデルを用いて、予め設定された数に基づき、前記翻訳対象文句を区分し、前記予め設定された数のサブ文句を獲得するためのサブ文句決定モジュールと、
前記翻訳モデルを用いて、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するための翻訳モジュールと、
各サブ文句に対応する翻訳結果を融合させ、前記翻訳対象文句に対応するターゲット翻訳文句を獲得するためのターゲット翻訳文句決定モジュールと、を含
み、
前記翻訳モデルは、各トレーニングサンプルを用いてトレーニングを行うことによって獲得され、
前記トレーニングサンプルにはサンプルの翻訳対象文句と前記サンプルの翻訳対象文句に対応するサンプル翻訳文句とが含まれ、前記サンプル翻訳文句にはサンプルサブ文句数に応じて前記サンプル翻訳文句を区分して獲得された各サブサンプル文句が含まれ、各サブサンプル文句にタグが付帯されており、前記タグは、前記サブサンプル文句に対応するサンプルの翻訳対象文句の翻訳タグ結果を特徴づけており、
いずれか一つのトレーニングサンプルに対して、該トレーニングサンプルにおける各サブサンプル文句のサンプル長さを決定する際に、
離散型確率分布、前記サンプル翻訳文句の文句の長さ、前記サンプルサブ文句数及び分割方式に基づき、前記分割方式に対応する選択概率を決定し、
前記分割方式に対応する選択概率と前記サンプル翻訳文句の文句の長さに基づき、各サブサンプル文句のサンプル長さを決定する、ことを特徴とする翻訳装置。
【請求項16】
メモリとプロセッサとを含む電子機器であって、
前記メモリには、コンピュータプログラムが記憶されており、
前記プロセッサは、前記コンピュータプログラムを実行して請求項1から
14のいずれか1項に記載の方法を実現する、ことを特徴とする電子機器。
【請求項17】
コンピュータプログラムであって、前記コンピュータプログラムがプロセッサにより実行されると、請求項1から
14のいずれか1項に記載の方法を実現する、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2020年05月25日に中国特許庁に提出され、出願番号が202010450957.1であり、出願の名称が「翻訳方法、装置、電子機器及びコンピュータ可読記憶媒体」である中国特許出願の優先権を主張する。
【0002】
[技術分野]
本出願は、言語翻訳処理技術分野に関し、具体的には、本出願は、翻訳方法、装置、電子機器及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
従来の技術では、通常、自己回帰NMT(neural machine translation、ニューラルマシン翻訳)技術を採用して翻訳対象文句を翻訳し、即ち翻訳対象文句の各単語を一単語ずつ翻訳し、このような翻訳方法は、翻訳速度が遅い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本出願の実施例の主な目的は、翻訳方法、装置、電子機器及びコンピュータ記憶媒体を提供することであり、本出願の実施例の方案によって、文句翻訳の品質を向上させ、ユーザ体験を向上させることができる。
【課題を解決するための手段】
【0005】
一方、本出願の実施例は、電子機器により実行される翻訳方法を提供した。該方法は、
翻訳対象文句を取得するステップと、
予め設定された数に基づき、前記翻訳対象文句を区分し、前記予め設定された数のサブ文句を獲得するステップと、
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するステップと、
意味に基づいて各サブ文句に対応する翻訳結果を融合させ、前記翻訳対象文句に対応するターゲット翻訳文句を獲得するステップと、を含む。
【0006】
もう一方、本出願は、翻訳装置を提供した。該装置は、
翻訳対象文句を取得するための翻訳対象文句取得モジュールと、
予め設定された数に基づき、前記翻訳対象文句を区分し、前記予め設定された数のサブ文句を獲得するためのサブ文句決定モジュールと、
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するための翻訳モジュールと、
意味に基づいて各サブ文句に対応する翻訳結果を融合させ、前記翻訳対象文句に対応するターゲット翻訳文句を獲得するためのターゲット翻訳文句決定モジュールと、を含む。
【0007】
もう一方、本出願の実施例は、プロセッサとメモリとを含む電子機器を提供した。メモリには、可読命令が記憶されており、可読命令がプロセッサによってローディングされて実行される時、上記翻訳方法を実現する。
【0008】
もう一方、本出願の実施例は、コンピュータ可読記憶媒体を提供した。記憶媒体には、可読命令が記憶されており、可読命令がプロセッサによってローディングされて実行される時、上記翻訳方法を実現する。
【0009】
もう一方、本出願の実施例は、コンピュータプログラム製品又はコンピュータプログラムを提供した。このコンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、このコンピュータ命令は、コンピュータ可読記憶媒体に記憶されている。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体からこのコンピュータ命令を読み取り、プロセッサは、このコンピュータ命令を実行し、このコンピュータ機器に上記翻訳方法を実行させる。
【図面の簡単な説明】
【0010】
本出願の実施例における技術案をより明瞭に説明するために、以下、本出願の実施例の説明に使用される図面を簡単に説明する。
【
図1A】本出願の実施例の技術案を適用することができる例示的なシステムアーキテクチャの概略図を示した。
【
図1B】本出願の実施例による翻訳方法のフロー概略図を示した。
【
図2】本出願の実施例による翻訳モデルのトレーニングフロー概略図を示した。
【
図3】本出願の実施例による重複翻訳単語を含むサンプル翻訳文句概略図を示した。
【
図4】本出願の実施例による翻訳装置の構造概略図を示した。
【
図5】本出願の実施例による電子機器の構造概略図を示した。
【発明を実施するための形態】
【0011】
本出願の発明目的、特徴、利点をより明確且つ分かりやすくするために、以下は、本出願の実施例における図面を参照しながら、本出願の実施例における技術案を明瞭且つ完全に記述する。明らかに、記述された実施例は、ただ本出願の一部の実施例に過ぎず、全ての実施例ではない。本出願における実施例に基づき、当業者が創造的な作業をせずに獲得された全ての他の実施例は、いずれも本出願の保護範囲に属する。
【0012】
以下、本出願の実施例を詳細に記述し、該実施例の例は、図面に示されており、ここで、最初から最後まで同じ又は類似する符号は、同じ又は類似する素子、又は同じ又は類似する機能を有する素子を示す。以下、図面を参照して記述される実施例は、例示的であり、本出願の解釈にのみ用いられ、本出願を制限しない。
【0013】
当業者が理解できるように、特に宣言しない限り、ここで使用されている単数形式「一」、「一つ」及び「該」は、複数の形式を含んでもよい。さらに理解できることは、本出願の明細書において使用される用語である「含む」とは、特徴、整数、ステップ、操作、素子及び/又はコンポーネントが存在しているが、一つ又は複数の他の特徴、整数、ステップ、操作、素子、コンポーネント及び/又はそれらのグループが存在し、又は追加することは除外されない。理解すべきことは、素子が別の素子に「接続」又は「結合」されると呼ばれる時、それは、他の素子に直接接続又は結合されてもよく、又は中間素子が存在してもよい。なお、ここに使用されている「接続」又は「結合」は、無線接続又は無線結合を含んでもよい。ここに使用されている用語である「及び/又は」は、一つ又は複数の関連するリスト項目の全て又はいずれか一つのユニットと全ての組み合わせを含む。
【0014】
人工知能(Artificial Intelligence、AI)は、デジタルコンピュータ又はデジタルコンピュータにより制御される機械シミュレーションを利用して、人の知能を延長し拡張し、環境を感知して、知識を取得し、且つ知識を使用して最適な結果を獲得する理論、方法、技術及び応用システムである。言い換えれば、人工知能は、コンピュータ科学の一つの総合技術であり、知能の実質を理解し、人間の知能に似ている方法で反応できる新たな知能機械を生産することを意図している。人工知能とは、様々な知能機械の設計原理と実現方法を研究し、機械に感知、推理と意思決定の機能を有させるものである。
【0015】
人工知能技術は、一つの総合学科であり、関連する分野が広く、ハードウェアレベルの技術もあれば、ソフトウェアレベルの技術もある。人工知能基礎技術は、一般的には、例えば、センサ、専用人工知能チップ、クラウドコンピューティング、分散記憶、ビッグデータ処理技術、操作/インタラクションシステム、メカトロニクスなどの技術を含む。人工知能ソフトウェア技術は主に、コンピュータビジョン技術、ボイス処理技術、自然言語処理技術及び機械学習/深層学習などのいくつかの方向を含む。
【0016】
ここで、機械学習(Machine Learning、ML)は、概率論、統計学、近似論、凸解析、アルゴリズム複雑度理論などの複数の学科に関する多分野交差学科である。コンピュータがどのように人類の学習行為をシミュレートするか、又は実現するかを研究して、新しい知識又は技能を取得し、既存の知識構造を再組織して自体の性能を絶えずに改善させる。機械学習は、人工知能の中核であり、コンピュータに知能を有させる根本的な道であり、その応用は、人工知能の各分野に及んでいる。機械学習と深層学習は、通常、人工ニューラルネットワーク、信頼ネットワーク、強化学習、移行学習、帰納学習、対抗学習などの技術を含む。
【0017】
人工知能技術の研究と進歩に伴い、人工知能技術は、複数の分野で、例えばよく見られる知能ホーム、知能ウェアラブルデバイス、仮想アシスタント、知能スピーカー、知能マーケティング、無人運転、自動運転、ドローン、ロボット、知能医療、知能カスタマーサービスなどで研究と応用を展開し、技術の発展に伴い、人工知能技術は、より多くの分野で応用され、ますます重要な価値を発揮すると信じている。
【0018】
以下、具体的な実施例を用いて、本出願の技術案及び本出願の技術案が上記技術課題をどのように解决するかを詳細に説明する。以下のこのいくつの具体的な実施例は、互いに結び付けられてもよく、同じ又は類似する概念又は過程に対し、ある実施例では、これ以上説明しない可能性がある。以下、図面を参照しながら、本出願の実施例を記述する。
【0019】
本出願の実行主体は、任意の電子機器であってもよく、サーバであってもよく、ユーザ端末などであってもよく、本出願の方案は、機械翻訳のアプリケーションシナリオ、例えば、オンライン翻訳、特に翻訳速度が要求されるアプリケーションシナリオに適用され、本出願の方案を採用して、翻訳速度に対するユーザの需要を満たすことができる。
【0020】
図1Aは、本出願の実施例の技術案を適用することができる例示的なシステムアーキテクチャの概略図を示した。
図1Aに示すように、翻訳システム100は、サーバ101と、ネットワーク102と、端末104とユーザ105とを含む。端末104には翻訳装置103が取り付けされ、ユーザ105は、翻訳装置103を起動して、且つ翻訳装置103に翻訳対象文句を入力し、端末104は、翻訳対象文句をサーバ101に送信して翻訳するようにする。
【0021】
本出願の実施例による方法に基づき、サーバ101は、翻訳対象文句を取得し、予め設定された数に基づき、前記翻訳対象文句を区分し、前記予め設定された数のサブ文句を獲得して、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得して、及び、各サブ文句に対応する翻訳結果を融合させ、各翻訳が完了した単語の意味を前記翻訳対象文句における各単語の意味に対応させ、前記翻訳対象文句に対応するターゲット翻訳文句を獲得する。
【0022】
そして、サーバ101は、ターゲット翻訳文句を端末104に返信し、ユーザ105に表示させる。
【0023】
このように、複数のサブ文句に対して並列処理を実行すると同時に翻訳し、そして、一つのターゲット翻訳文句として最終的に融合させることができ、それによって翻訳の速度を向上させた。
【0024】
図1Bは、本出願の実施例による翻訳方法のフロー概略図を示した。図に示すように、本出願は、サーバ、例えば
図1Aにおけるサーバ101が実行主体であることを例にして説明し、該方法は、ステップS110からステップS140を含んでもよい。
【0025】
ステップS110:翻訳対象文句を取得する。
【0026】
ここで、翻訳対象文句は、ユーザが翻訳プラットフォームにアップロードした文句であってもよく、指定されるデータベースから選択した文句であってもよく、本出願の実施例では、翻訳対象文句の具体的な出所を限定しない。翻訳対象文句は、任意の言語種類の言語、例えば、中国語、英語などであってもよく、本出願の実施例では、翻訳対象文句の言語種類を限定しない。
【0027】
翻訳対象文句は、文字であってもよく、ボイスであってもよく、又はボイスを指定される言語種類の言語に従って翻訳したテキストであってもよく、翻訳対象文句は、すでに翻訳された文句であってもよく、本出願の実施例では、翻訳対象文句の具体的な表現形式を限定しない。
【0028】
実際の応用では、取得された翻訳対象の情報がテキスト又は段落である場合、翻訳対象テキスト又は翻訳対象の段落に対して文句区切りを行い、各文句区切りを翻訳対象文句としてもよい。
【0029】
ステップS120:予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を獲得する。
【0030】
ステップS130:各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得する。
【0031】
ここで、予め設定された数は、実際の需要、例えば翻訳速度要求に応じて設置されてもよく、要求される翻訳速度が比較的に速い場合、予め設定された数を大きく設置してもよく、要求される翻訳速度が比較的に遅い場合、予め設定された数を小さく設置してもよい。
【0032】
ここで、各サブ文句に対応する内容は、翻訳対象文句における少なくとも二つの単語であり、一例として、翻訳対象文句が12個の単語を含む場合、予め設定された数は、3であり、各サブ文句に対応する文句の長さが同じであり、即ち含まれる単語の数が同じである場合、各サブ文句に対応する含まれる単語の数は、4であり、即ち、翻訳対象文句における4個の単語ごとに一つのサブ文句に区分され、3つのサブ文句を獲得することであり、翻訳対象文句を翻訳する時、この3つのサブ文句に対応する一番目の単語から並行して翻訳を開始し、この3つのサブ文句にそれぞれ含まれる4個の単語に対応する翻訳結果を獲得してもよい。
【0033】
本出願の一つの好ましい方案では、各サブ文句のうちの少なくとも二つのサブ文句に含まれる単語の数は、同じであってもよく、異なってもよい。このように、翻訳対象文句に含まれる単語の数とサブ文句数が整数に比例しない場合にも、翻訳対象文句を合理的に区分することができる。
【0034】
ステップS140:意味に基づいて各サブ文句に対応する翻訳結果を融合させ、翻訳対象文句に対応するターゲット翻訳文句を獲得する。
【0035】
ここで、各サブ文句に対応する翻訳結果を決定した後、各サブ文句に対応する翻訳結果を融合させ、翻訳結果における各翻訳が完了した単語の意味を翻訳対象文句における各単語の意味に対応させ、該翻訳対象文句に対応するターゲット翻訳文句を獲得する。
【0036】
実際の応用では、各サブ文句に対応する翻訳結果を融合させる時、各翻訳結果における各単語の意味に従って融合させて、融合後の文句が表した意味が翻訳対象文句が表した意味に一致するように確保することができる。
【0037】
本出願の方案では、翻訳対象文句を翻訳する時、予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を獲得して、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得することができ、本出願の方案に基づき、各サブ文句が翻訳対象文句における少なくとも二つの単語を含むため、各サブ文句を翻訳する時、即ち、翻訳対象文句における少なくとも二つの単語を並列に翻訳することができ、翻訳対象文句を一単語ずつ翻訳するのではないので、翻訳文句に対応するターゲット翻訳文句を獲得する過程で、翻訳速度を速めることができる。
【0038】
本出願の方案では、翻訳対象文句に対し、まず、翻訳対象文句をエンコーダによってコーディングし、該翻訳対象文句に対応するコーディング情報を得て、そして予め設置されるサブ文句数に基づき、各サブ文句に対応するコーディング情報を翻訳して、翻訳対象文句のターゲット翻訳文句を獲得することができる。
【0039】
本出願の好ましい方案では、各サブ文句のうちの少なくとも二つのサブ文句の文句の長さが異なり、即ち、各サブ文句のうちの少なくとも二つのサブ文句に含まれる単語の数が異なる場合、ここで、
予め設定された数と翻訳対象文句の文句の長さに基づき、各サブ文句における第一の設定割合を満たす第一のサブ文句の文句の長さを第一の長さに設置し、各サブ文句における第二の設定割合を満たす第二のサブ文句の文句の長さを第二の長さに設置することによって各サブ文句に対応する文句の長さを決定してもよい。
【0040】
ここで、第一の設定割合と第二の設定割合の和は、1である。
【0041】
ここで、第一の設定割合と第二の設定割合は、実際の需要に応じて設置されてもよく、第一の設定割合と第二の設定割合は、同じであってもよく、異なってもよい。第一の設定割合と第二の設定割合の和が1であることは、第一の設定割合の各サブ文句の数と第二の設定割合の各サブ文句の数の和が予め設置されたサブ文句数に等しいことを示す。
【0042】
第一の設定割合と第二の設定割合の設置は、翻訳対象文句に含まれる単語の数に関連しなくてもよく、即ち、翻訳対象文句がいくつかの単語を含んでも、いずれも予め設置されたサブ文句数、第一の設定割合、第二の設定割合に応じて翻訳対象文句に対してサブ文句を生成する。
【0043】
第一の長さは、第二の長さと異なり、第一の長さは、各第一のサブ文句に対応する文句の長さを特徴づけており、各第一のサブ文句に含まれる単語の数は、同じである。同様に、第二の長さは、各第二のサブ文句に対応する文句の長さを特徴づけており、各第二のサブ文句に含まれる単語の数は、同じである。
【0044】
理解できるように、予め設置されたサブ文句数、第一の設定割合、第二の設定割合に基づき、翻訳対象文句に対してサブ文句区分を生成する。翻訳対象文句に含まれる単語の数が各第一のサブ文句に対応する単語の数と各第二のサブ文句に対応する単語の数の和に等しくない場合、翻訳対象文句に対してサブ文句区分を生成する時、文句の長さを満たさないサブ文句に特定の識別子で埋め込んでもよく、該特定の識別子は、翻訳時に翻訳される必要がない。
【0045】
実際の応用では、各サブ文句に対応する翻訳対象文句は、連続しており、即ち、前のサブ文句の最後の単語と次のサブ文句の一番目の単語とは連続している。
【0046】
本出願の好ましい方案では、いずれか一つのサブ文句に対して、自己回帰NMT技術に基づいて該サブ文句を翻訳し、即ち一単語ずつ翻訳してもよい。自己回帰NMT方式を採用して翻訳し、ここで、各単語に対応する翻訳結果は、いずれもこの前に翻訳した単語の翻訳結果に基づいて翻訳されて、各単語間の連続性を確保する。
【0047】
一例として、例えば、予め配置されたサブ文句数が4であり、第一の設定割合が0.25であり、第二の設定割合が0.75であり、翻訳対象文句に含まれる単語の数が13である場合、0.25*4=1個のサブ文句に対応する文句の長さを第一の長さに設置し、0.75*4=3個のサブ文句に対応する文句の長さを第二の長さに設置する。このように、この13個の単語では、そのうちの4個の単語を一セグメントに区分し、第一の長さは、4個の単語であり、各残り単語のうちの3個の単語ごとに1セグメントとして区分して、合計で3つのサブ文句に区分し、第二の長さは、3個の単語である。
【0048】
上記例では、翻訳対象文句に含まれる単語の数が12又は15である場合、第一の長さ又は第二の長さを満たさないサブ文句に特定の識別子を埋め込んで、埋め込んだ後のサブ文句に対応する翻訳対象文句の長さが第一の長さ又は第二の長さを満たすようにし、例えば、12個の単語を含む翻訳対象文句に対し、最後の一つのサブ文句に一つの特定の識別子を埋め込んで、埋め込む後のサブ文句が3個の単語を含むようにすることができる。
【0049】
本出願の好ましい方案では、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するステップは、
候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得するステップを含む。
【0050】
ここで、候補翻訳単語セットには様々な単語に対応する候補翻訳単語が含まれ、一単語は、少なくとも一つの候補翻訳単語に対応してもよく、該候補翻訳単語は、異なる言語種類の単語であってもよい。翻訳対象文句を翻訳する時、各サブ文句に対応する各単語を翻訳して、各サブ文句に対応する翻訳結果を得てもよい。
【0051】
実際の応用では、一つの翻訳対象単語が少なくとも二つの候補翻訳単語に対応する場合、この少なくとも二つの候補翻訳単語の概率を決定することによって、そのうちの概率が最大の候補翻訳単語を該翻訳単語のターゲット翻訳単語としてもよい。
【0052】
実際の応用では、各翻訳対象単語に対応する候補翻訳単語は、一つのサブセットに対応してもよく、即ち、候補翻訳単語セットには各翻訳対象単語に対応するサブセットが含まれる。
【0053】
本出願の好ましい方案では、候補翻訳単語セットには翻訳終了識別子が含まれ、いずれか一つのサブ文句に対して、該サブ文句に対応する文句の長さは、
候補翻訳単語セットから該サブ文句における各単語に対応する候補翻訳単語を決定し、
決定された各候補翻訳単語と翻訳終了識別子に基づき、該サブ文句に対応する文句の長さを決定することによって決定されたものである。
【0054】
ここで、本出願の方案では、各サブ文句に対応する文句の長さは、予め配置されてもよいが、翻訳過程において、複数のセグメントに対応する翻訳対象文句を同時に翻訳する時、翻訳エラー(重複翻訳単語と漏れ単語)が現れやすいことを考慮して、翻訳過程において、各サブ文句に対応する各候補翻訳単語と翻訳終了識別子に基づき、各サブ文句に対応する文句の長さを決定し、翻訳エラーの発生を回避することができる。
【0055】
また、各サブ文句に対応する文句の長さが該セグメントに対応する翻訳速度に正比例する場合、各サブ文句に対応する文句の長さは、翻訳対象文句の翻訳速度に直接的に影響を与え、各サブ文句を翻訳する時、異なる長さの単語に対応する情報量が異なり、翻訳速度も異なる可能性があり、そのため、翻訳速度の問題と翻訳精度の問題を考慮して、各サブ文句に対応する文句の長さを決定する時、文句の長さを動的に決定する方式を採用してもよく、具体的な決定方式は、以下の通りである。
【0056】
候補翻訳単語セットに翻訳終了識別子を補填し、各サブ文句を翻訳する時、該翻訳対象文句におけるいずれか一つの翻訳対象単語に対し、候補翻訳単語セットから該翻訳対象単語に対応する候補翻訳単語を決定し、該候補翻訳単語が翻訳終了識別子である場合、該サブ文句に対する翻訳を停止し、それと同時に該サブ文句に対応する文句の長さを獲得する。該候補翻訳単語が翻訳終了識別子でない場合、候補翻訳単語が翻訳終了識別子であるまで該サブ文句を翻訳し続け、該サブ文句に対応する文句の長さを決定する。該文句の長さは、即ち翻訳終了時に対応する翻訳対象単語及び該翻訳対象単語の前の翻訳対象単語に対応する文句の長さである。上述した文句の長さを動的に決定する方式によって、各サブ文句を翻訳する時、各サブ文句に対応する文句の長さを動的に決定して、翻訳速度をさらに向上させることができる。
【0057】
ここで、翻訳終了識別子は、文字列を設定することによって表されてもよく、本出願の方案では、翻訳終了識別子の具体的な表現形式を限定しない。一例として、該翻訳終了識別子は、EOSであってもよい。
【0058】
本出願の好ましい方案では、候補翻訳単語セットには翻訳開始識別子と翻訳終了識別子とが含まれ、
候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得するステップは、
いずれか一つのサブ文句に対して、候補翻訳単語セットから該サブ文句における各翻訳対象単語に対応する候補翻訳単語を決定するステップと、
候補翻訳単語が翻訳開始識別子である場合、該サブ文句に対する翻訳を開始するステップと、
候補翻訳単語が翻訳開始識別子でなく、且つ翻訳終了識別子でない場合、候補翻訳単語が翻訳終了識別子であるまで該サブ文句を翻訳し続け、該サブ文句に対する翻訳を終了し、該サブ文句に対応する翻訳結果を獲得するステップと、を含む。
【0059】
ここで、各サブ文句を翻訳する時、いずれか一つのサブ文句に対して、該サブ文句に対応する翻訳開始識別子に基づいて該サブ文句に対する翻訳をいつ開始するかを判断し、該サブ文句に対応する翻訳終了識別子に基づいて該サブ文句に対する翻訳をいつ終了するかを判断することができる。具体的に、一つのサブ文句を翻訳する時、該サブ文句における各単語を一つずつ翻訳し、そのうちの一単語に対して、該単語の候補翻訳単語を決定することができ、該候補翻訳単語が翻訳開始識別子である場合、該サブ文句に対する翻訳を開始する。該候補翻訳単語が翻訳開始識別子でなく、翻訳終了識別子でもない場合、候補翻訳単語が翻訳終了識別子であるまで該単語の後の単語を翻訳し続け、該サブ文句に対する翻訳を終了し、該サブ文句に対応する翻訳結果を獲得する。
【0060】
本出願の好ましい方案では、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するステップは、
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する初歩的な翻訳結果を獲得するステップと、
各初歩的な翻訳結果のうちのいずれか一つの初歩的な翻訳結果に翻訳エラーがある場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行い、修正後の初歩的な翻訳結果と他の未修正の初歩的な翻訳結果に基づき、各サブ文句に対応する翻訳結果を獲得するステップとを含む。
【0061】
各初歩的な翻訳結果にいずれも翻訳エラーがない場合、各初歩的な翻訳結果を各サブ文句に対応する翻訳結果とする。
【0062】
ここで、翻訳過程において、翻訳エラーがある可能性がある。例えば、重複翻訳の単語があるか、又は翻訳対象文句に翻訳されない単語、即ち翻訳が漏れている単語がある。この場合、各サブ文句に対応する翻訳結果を決定する前に、初歩的な翻訳結果における翻訳エラーを修正して、翻訳結果の精度を確保する必要がある。
【0063】
具体的に、いずれか一つのサブ文句を翻訳する時、まず、該サブ文句の初歩的な翻訳結果を決定して、該初歩的な翻訳結果に翻訳エラーがある場合、該初歩的な翻訳結果を修正し、修正後の初歩的な翻訳結果を該サブ文句に対応する翻訳結果とする。該初歩的な翻訳結果に翻訳エラーがない場合、該初歩的な翻訳結果を該サブ文句に対応する翻訳結果とする。
【0064】
本出願の好ましい方案では、翻訳エラーは、漏れ単語又は重複翻訳単語のうちの少なくとも一つを含み、該方法は、
いずれか一つのサブ文句に対して、該サブ文句に対応する初歩的な翻訳結果における各単語に基づき、該サブ文句に翻訳エラーがあるか否かを決定するステップ、
及び/又は、
各サブ文句のうちのいずれか二つの隣接するサブ文句に対して、前記二つの隣接するサブ文句のうちの一番目のサブ文句に対応する初歩的な翻訳結果における最後の単語と前記二つの隣接するサブ文句のうちの二番目のサブ文句に対応する初歩的な翻訳結果における一番目の単語に基づき、前記二つの隣接するサブ文句に前記翻訳エラーがあるか否かを決定するステップをさらに含む。
【0065】
翻訳エラーが漏れ単語を含む場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行うステップは、
漏れ単語を翻訳するステップを含み、
翻訳エラーが重複翻訳単語を含む場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行うステップは、
翻訳エラーがある初歩的な翻訳結果から、重複翻訳単語を削除するステップを含む。
【0066】
ここで、上記初歩的な翻訳結果に翻訳エラーがあるか否かをどのように決定するかについては、一つのサブ文句に対応する初歩的な翻訳結果における各単語に基づいて該初歩的な翻訳結果に翻訳エラーがあるか否か、即ち、該サブ文句に重複翻訳単語及び/又は漏れ単語があるか否かを決定することができる。
【0067】
二つの隣接するサブ文句間の単語の連続性を考慮して、該二つのサブ文句にそれぞれ対応する初歩的な翻訳結果に基づき、この二つの初歩的な翻訳結果に翻訳エラーがあるか否かを決定することもできる。例えば、二つのサブ文句のうちの前の一つのサブ文句に対応する初歩的な翻訳結果における最後の単語は、後の一つのサブ文句に対応する初歩的な翻訳結果における一番目の単語に接続されていない場合、即ち、この二つの初歩的な翻訳結果に漏れ単語、即ち翻訳されていない単語が存在する。又は、二つのサブ文句のうちの前の一つのサブ文句に対応する初歩的な翻訳結果における最後の単語は、後の一つのサブ文句に対応する初歩的な翻訳結果における一番目の単語との間に同じ単語である場合、即ち、重複翻訳単語が存在する。
【0068】
漏れ単語が存在する場合、漏れ単語を翻訳し、該漏れ単語を含む対応する翻訳単語を獲得することによって、該翻訳エラーに対する修正を実現させる。重複翻訳単語が存在する場合、該重複翻訳単語を削除して、該翻訳エラーに対する修正を実現させる。
【0069】
本出願の好ましい方案では、各サブ文句に対応する翻訳結果は、候補翻訳単語セットから決定されたものであり、候補翻訳単語セットには、削除識別子がさらに含まれ、削除識別子は、対応するサブ文句の翻訳結果が重複翻訳単語であることを標識するために用いられる。
【0070】
翻訳エラーがある初歩的な翻訳結果から、重複翻訳単語を削除するステップは、
翻訳エラーがある初歩的な翻訳結果から、削除識別子に対応する重複翻訳単語を削除するステップを含む。
【0071】
ここで、翻訳エラーが重複翻訳単語である場合、該翻訳エラーを修正するには、対応するサブ文句の翻訳結果が重複翻訳単語であることを標識するための削除識別子に基づいてもよく、即ち、あるサブ文句に対応する初歩的な翻訳結果に削除識別子が存在する場合、該サブ文句に対応する初歩的な翻訳結果が重複していることを意味し、さらに、該削除識別子に基づき、該識別子に対応する該サブ文句の初歩的な翻訳結果(一つのサブ文句に対応する初歩的な翻訳結果)を削除して、該サブ文句に対応する翻訳エラーに対する修正を実現させることができる。
【0072】
ここで、削除識別子は、文字列を設定することによって表されてもよく、本出願の方案では、削除識別子の具体的な表現形式を限定しない。一例として、該削除識別子は、DELであってもよい。
【0073】
理解できるように、各サブ文句を翻訳する過程で、候補翻訳単語が該削除識別子である場合、同様に該サブ文句に対応する翻訳対象文句に対する翻訳を停止することができ、それによって翻訳時間を節約することができる。
【0074】
本出願の好ましい方案では、予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を獲得して、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得することは、翻訳モデルによって得たものである。
【0075】
ここで、翻訳モデルは、
各トレーニングサンプルを取得し、前記トレーニングサンプルにはサンプルの翻訳対象文句と前記サンプルの翻訳対象文句に対応するサンプル翻訳文句とが含まれ、前記サンプル翻訳文句にはサンプルサブ文句数に応じて前記サンプル翻訳文句を区分して獲得された各サブサンプル文句が含まれ、各サブサンプル文句にタグが付帯されており、前記タグは、前記サブサンプル文句に対応するサンプルの翻訳対象文句の翻訳タグ結果を特徴づけていること、
各トレーニングサンプルに基づき、初期ニューラルネットワークモデルの損失関数が収束されるまで前記初期ニューラルネットワークモデルをトレーニングし、トレーニング終了時の初期ニューラルネットワークモデルを前記翻訳モデルとすることによってトレーニングして獲得されたものである。
【0076】
ここで、ニューラルネットワーク(Neural Network、NN)は、動物のニューラルネットワークの行為特徴を模倣し、分散並列情報処理を行うアルゴリズム数学モデルである。このようなネットワークは、システムの複雑さに依存し、内部の大量のノード間の相互接続の関係を調整することによって、情報処理の目的に達する。
【0077】
初期ニューラルネットワークモデルの出力は、サンプルの翻訳対象文句に対応する各サブ文句の翻訳予測結果であり、損失関数の値は、サンプルの翻訳対象文句に対応する翻訳タグ結果と翻訳予測結果との間の相違を特徴づけている。
【0078】
ここで、一つのトレーニングサンプルには一つのサンプルの翻訳対象文句と該サンプルの翻訳対象文句に対応するサンプル翻訳文句(該サンプルの翻訳対象文句に対応するターゲット翻訳文句)が含まれ、サンプルサブ文句数に基づいて該サンプル翻訳文句を区分し、該サンプル翻訳文句に対応する各サブサンプル文句を獲得する。
【0079】
各サブサンプル文句にタグが付帯されており、該タグは、サブサンプル文句に対応するサンプルの翻訳対象文句の翻訳タグ結果を特徴づけており、翻訳タグ結果は、該サブサンプル文句に対応する正確な翻訳文句を特徴づけている。該タグは、人工の方式によって表記されてもよく、該タグは、文字列、文字、数字などであってもよく、本出願では、タグの具体的な表現形式を限定しない。
【0080】
本出願の方案では、翻訳モデルの入力は、各トレーニングサンプルであり、出力は、トレーニングサンプルのサンプルの翻訳対象文句に対応する各サブ文句の翻訳予測結果、即ち該サンプルの翻訳対象文句における各サブサンプル文句の翻訳予測結果である。
【0081】
トレーニングされた翻訳モデルが翻訳対象文句を迅速に翻訳することができるだけでなく、翻訳対象文句を正確に翻訳することができ、即ち、翻訳して得たターゲット翻訳文句に翻訳エラーがないように、該翻訳モデルをトレーニングする時、翻訳エラーを含むトレーニングサンプルをトレーニングサンプルとすることができ、翻訳エラーを含む該トレーニングサンプルに基づいてトレーニングされた翻訳モデルに基づき、翻訳結果における翻訳エラーを修正し、正確な翻訳結果を獲得することができる。
【0082】
一例として、
図2に示される翻訳モデルトレーニング概略図では、デコーダ(decoder)により生成されたセグメント(segment)2における一番目の単語が「of」である場合、デコーダはセグメント1を予測する時、EOS前に、一つの「lots」をさらに生成して欠落単語(漏れ単語)エラーから回復(修正)する必要があるだけである。逆に、生成されたセグメント2の一番目の単語が「are」である場合、モデルは、セグメント1を予測する時、一つの単語(即ち「are」を生成しない)を少なく生成して、それによって重複翻訳単語のエラーを修正する必要があるだけである。
【0083】
本出願の好ましい方案では、いずれか一つのトレーニングサンプルは、トレーニングサンプルに、重複翻訳単語を含むサンプル翻訳文句がさらに含まれ、重複翻訳単語を含むサンプル翻訳文句は、
サンプル翻訳文句をサンプルサブ文句数よりも小さい第一の数のサブ文句に分割すること、
第一の数のサブ文句のうちの少なくとも一つのサブ文句を対応し、重複翻訳単語として決定すること、
重複翻訳単語をサンプル翻訳文句に插入し、重複翻訳単語を含むサンプル翻訳文句を獲得することによって決定されて得られたものである。
【0084】
ここで、重複翻訳単語を含むトレーニングサンプルを獲得するために、サンプル翻訳文句を第一の数のサブ文句に分割し、この第一の数のサブ文句において、そのうちの少なくとも一つのサブ文句を重複翻訳単語として選択し、該重複翻訳単語をサンプル翻訳文句に插入して、サンプル翻訳文句が依然としてサンプルサブ文句数のサブ文句を含むようにして、重複翻訳単語を含むサンプル翻訳文句をさらに獲得することができる。
【0085】
一例として、サンプルサブ文句数は、Kであり、サンプル翻訳文句をK-1個(第一の数)のサブ文句、それぞれS
1、S
2・・・、S
K-1に分割し、このK-1(第一の数)個のサブ文句から一つのサブ文句をランダムに選択し、該サブ文句、又は、該サブ文句におけるm個(mが該サブ文句に含まれる単語の数よりも小さくない)の単語をコピーする。そして、コピーした後の該単語に一つの削除識別子DELを追加して、重複翻訳単語を得て、
【数1】
と示され、該重複翻訳単語をS
1、S
2・・・、S
K-1のうちのいずれか一つであるS
iの右側に插入し、最終的にK個のセグメント、それぞれ
【数2】
を獲得する。
【0086】
具体的な例は、以下の通りである。
図3に示される重複翻訳単語を含むサンプル翻訳文句、異なる階調に対応する単語は、異なるセグメントに対応する。該例では、K=4、m=2(コピーされた単語の個数が2つであり)であり、ここで、サンプル翻訳文句(Target Sentence)は、「there are lots of farmers doing this today」であり、重複翻訳単語は、「lots of」であり、重複翻訳単語を含むサンプル翻訳文句(+Pseudo Redundant Segment)は、「there are lots of farmers lots of DEL doing this today」である。
【0087】
本出願の好ましい方案では、モデルに重複翻訳単語の削除を習得させる一つの方法は、トレーニングサンプルに重複翻訳単語を追加することである。しかし、トレーニングサンプルに重複翻訳単語を追加すると、モデルは、まず一つの重複翻訳単語を生成し、それから、削除することが必要な行為であると勘違いし、これは、本出願の方法が望むものではない。そのため、本出願の方案では、一定の概率qに従って一つのトレーニングサンプルのサンプル翻訳文句に重複翻訳単語を追加するか否かをランダムに決定する。
【0088】
本出願の好ましい方案では、いずれか一つのトレーニングサンプルは、トレーニングサンプルにおける各サブサンプル文句のサンプル長さは、
離散型確率分布、サンプル翻訳文句の文句の長さ、サンプルサブ文句数及び分割方式に基づき、分割方式に対応する選択概率を決定することであって、ランダム分割方式と均一等分分割方式の二種類の分割方式があってもよいこと、
分割方式に対応する選択概率とサンプル翻訳文句の文句の長さに基づき、各サブサンプル文句のサンプル長さを決定することによって決定されたものである。
【0089】
ここで、モデルをトレーニングする過程で、各サブ文句における最大の文句の長さは、翻訳速度に正比例し、トレーニングする時に、各トレーニングサンプルのサンプル翻訳文句を等長(同じサンプル長さ)のセグメントに分割してモデルが予測過程で等長のセグメントを生成するように激励すべきであり、もう一方、モデルは、トレーニングフェーズでマルチモードに関連するエラー(重複翻訳単語と漏れ単語)に接触して、モデルがこのようなエラーから回復する能力を拡張し、即ち、翻訳結果における翻訳エラーを修正すべきであり、それによって、ランダムの方式を採用して各サブ文句に対応する文句の長さを決定してもよく、即ち、各サブ文句に対応する文句の長さは、異なってもよい。
【0090】
これにより、翻訳速度とエラーから回復する能力のバランスを取るために、どのようにサンプル翻訳文句を分割するか、各サブ文句に対応する文句の長さを決定するか、即ち、どのセグメントに対応するサンプル翻訳文句の文句の長さが第一の長さであるか、どのセグメントに対応するサンプル翻訳文句の文句の長さが第二の長さであるかを考慮する必要がある。
【0091】
本出願の方案では、離散型確率分布は、バーヌリー分布であってもよく、バーヌリー分布によって二つの異なる分割方式に対応する選択概率を決定する。
【0092】
本出願の方案では、一例として、モデルトレーニング過程で、以下の方式によってトレーニングサンプルにおけるサンプル翻訳文句を均一に等分して分割するか、それともランダムに分割するかを決定する。式は、
【数3】
の通りである。
【0093】
ここで、Tは、サンプル翻訳文句の長さであり、Bernoulli(p)は、パラメータがpであるバーヌリー分布を示し、rは、分割したインデックスセット、即ちランダム分割方式と均一等分分割方式の二種類の分割方式を示す。ここで、
【数4】
RAND(m、n)は、区間[1、n]内にm個の重複していない整数をランダムにサプリングすることを示す。ここで、nは、Tであり、mは、K-1であり、s=0である場合、対応する分割方式が均一等分方式であることを示し、s=1である場合、対応する分割方式がランダム分割であることを示し、pは、選択概率である。
【0094】
Pが比較的に大きい値である場合、トレーニングしたモデルは、より良いエラー回復能力を有し、それに対し、pが比較的に小さい値である場合、長さが近いセグメントを生成するようにモデルを激励することができ、即ち、翻訳速度は、より速いことである。両者のバランスを取るために、本出願は、トレーニング過程で、pを1から0に徐々に下げて、選択概率pによってランダム分割方式と均一等分分割方式にそれぞれ対応する比重を決定し、翻訳速度とエラー回復能力のバランスが比較的に良く取られるようにする。
【0095】
予め指定されたサンプル長さに基づくことなく、上記方式によって各サブ文句に対応するサンプル長さを動的に決定することで、モデルの翻訳能力をより強くすることができる。
【0096】
実際の応用では、トレーニングで得た選択概率に基づき、どの分割方式で文句の長さを決定するかを選択することができ、一例として、選択概率(1-p)で均一等分分割方式を選択し、選択概率pでランダム分割方式を選択し、予め設置されたサブ文句数に従って、翻訳対象文句を分割することができる。
【0097】
一例として、上記の選択概率を決定した後、即ち、概率1-pで均一等分分割方式を選択し、概率pでランダム分割方式を選択してサンプル翻訳文句を分割することが決定されており、該示例では、一つのトレーニングサンプルにおけるサンプル翻訳文句は、yであり、サブ文句数Kに基づき、該サンプル翻訳文句yを複数のサブ文句セグメント、それぞれS1、S2・・・、SKに分け、予め設置されたサブ文句数Kと翻訳終了識別子に基づき、各セグメントに対応するサンプル長さLを動的に決定することができ、具体的には、以下の通りである。
【0098】
例えば、一つのサブサンプル文句は、S
iであり、該S
iにおけるt番目の単語に対応する翻訳結果が候補翻訳単語セットVにおけるどの単語である可能性が一番大きいかは、以下の式によって決定されてもよい。
【数5】
【0099】
ここで、
【数6】
は、S
iにおけるt番目の単語に対応する翻訳結果において可能性が一番大きい単語であり、候補翻訳単語セットには削除識別子と翻訳終了識別子とが含まれる。
【0100】
【数7】
には、以下の三つの可能性がある。
(1)
【数8】
が完全でなく、S
iにおいて対応する翻訳対象単語がまだ完全に翻訳されていなく、該セグメント生成過程が継続され、即ち、該S
iに対応するサンプルの翻訳対象文句を翻訳し続けることを示す。
(2)
【数9】
が完全であり、S
iにおいて対応する翻訳対象単語が全て翻訳されており、該セグメント生成過程が停止され、即ち、S
iに対応するサンプルの翻訳対象文句に対する翻訳を終了することを示す。
(3)
【数10】
が冗長であり、該セグメントが削除されるべきであり、該セグメントの生成過程が停止されるべきであり、該セグメントが削除される以上、該セグメントに対応するサンプルの翻訳対象文句を翻訳する必要がないことを示す。
【0101】
全てのセグメントの生成が停止されると、翻訳過程全体は、停止される。各セグメントに対応するサンプルの翻訳対象文句の文句の長さLを決定する。
【0102】
図2及び以下の具体的な例に基づいて、本出願の翻訳モデルのトレーニング過程を詳細に記述し、具体的な方案は、以下の通りである。
【0103】
図2に示される翻訳モデルトレーニング概略図を参照し、該例では、一つのトレーニングサンプルにおけるサンプル翻訳文句は、yであり、サブ文句数は、Kであり、サブ文句数Kに基づき、該サンプル翻訳文句yを複数のサブ文句セグメント、それぞれS
1、S
2・・・、S
Kに分け、記述を簡単にするために、該例では、各サブ文句に対応する文句の長さは、同じであり、いずれもLと表記される。
【0104】
各トレーニングサンプルに基づき、初期ニューラルネットワークモデルをトレーニングし、初期ニューラルネットワークモデルは、
【数11】
という概率式によって示されてもよい。
【0105】
該式では、xは、サンプルの翻訳対象文句であり、
【数12】
は、i番目のセグメントのt番目の単語を示し、
【数13】
は、i番目のセグメントのt番目の前の翻訳結果を示す。
【0106】
該例では、サンプルの翻訳対象文句は、
図2に示されるドイツ語である「es gibt……Ansatz」であり、該初期ニューラルネットワークモデルにはエンコーダ(Encoder)とデコーダ(Decoder)とが含まれ、まず、該サンプルの翻訳対象文句をエンコーダに入力し、そして、エンコーダの出力をデコーダの入力として、この例では、Kは、4であり、各サブ文句は、それぞれセグメント1、セグメント2、セグメント3、セグメント4である。該例では、セグメント1に対応する文句の長さLは、2であり、セグメント2に対応する文句の長さLは、3であり、セグメント3に対応する文句の長さLは、2であり、セグメント4に対応する文句の長さLは、3である。翻訳開始識別子は、BOSであり、翻訳終了識別子は、EOSであり、削除識別子は、DELである。
【0107】
各サブサンプル文句を同時に翻訳する時、各サブ文句に対応する文句に対して、一単語ずつ翻訳し、翻訳する時、候補翻訳単語セットVから各サブ文句における一番目の単語の候補翻訳単語を決定し、該候補翻訳単語が翻訳開始識別子である場合、各サブサンプル文句の一番目の単語を同時に翻訳し、セグメント1における一番目の単語に対応する翻訳結果は、「there」であり、セグメント2における一番目の単語に対応する翻訳結果は、「lots」であり、セグメント3における一番目の単語に対応する翻訳結果は、「a」であり、セグメント4における一番目の単語に対応する翻訳結果は、「doing」である。
【0108】
各サブサンプル文句における一番目の単語を翻訳した後、
図2に示される各サブ文句における太い線枠に示される内容のように、各太い線枠に対応する内容は、翻訳されていた。これにより、各太い線枠に対応する内容に基づき、後続の翻訳過程で、各隣接する二つのサブ文句間の翻訳の正確性を確保し、翻訳エラーが現れないようにすることができる。各サブサンプル文句における一番目の単語を翻訳した後、候補翻訳単語セットに基づいて各サブ文句にそれぞれ対応する二番目の単語を翻訳し続け、該二番目の単語に対応する候補翻訳単語が翻訳終了識別子EOSである場合、該セグメントサンプル文句に対する翻訳を終了する。
【0109】
図2に示されるように、各サブサンプル文句には、いずれも翻訳開始識別子と翻訳終了識別子とが含まれており、翻訳開始識別子に基づいていつ翻訳を開始するかを判断し、翻訳終了識別子に基づいていつ翻訳を終了するかを判断する。
【0110】
翻訳過程において、翻訳終了識別子に基づいて各サブ文句に対応するサンプルの翻訳対象文句をそれぞれ翻訳してもよく、具体的には、以下の通りである。
【0111】
一つのセグメント、例えば、サブサンプル文句S
iに対し、該S
iにおいてt番目の単語に対応する翻訳結果が候補翻訳単語セットVにおけるどの単語である可能性が一番大きいかは、
【数14】
という式によって決定されてもよい。
【0112】
ここで、
【数15】
は、S
iにおけるt番目の単語に対応する翻訳結果において可能性が一番大きい単語であり、候補翻訳単語セットには削除識別子と翻訳終了識別子とが含まれる。
【0113】
【数16】
には、以下の三種類の可能性がある。
(1)
【数17】
が完全でなく、S
iにおいて対応する翻訳対象単語がまだ完全に翻訳されていなく、該セグメント生成過程が継続され、即ち該S
iに対応するサンプルの翻訳対象文句を翻訳し続けることを示す。
(2)
【数18】
が完全であり、S
iにおいて対応する翻訳対象単語が全て翻訳されており、該セグメント生成過程が停止され、即ち、S
iに対応するサンプルの翻訳対象文句に対する翻訳を終了することを示す。
(3)
【数19】
が冗長であり、該セグメントが削除されるべきであり、該セグメントの生成過程が停止されるべきであり、該セグメントが削除される以上、該セグメントに対応するサンプルの翻訳対象文句を翻訳する必要がないことを示す。
【0114】
全てのセグメントの生成が停止されると、翻訳過程全体は、停止される。
【0115】
翻訳過程全体が停止された後、得た各サブ文句に対応する初期翻訳結果には、削除識別子DELが含まれる場合、該サブ文句に対応する初期翻訳結果が重複翻訳結果であることを示し、該重複翻訳結果を削除してもよい。
【0116】
削除した後、サンプルの翻訳対象文句に対応する翻訳予測結果、
図2に示される「there are lots of farmers doing this today」を獲得することができる。そして、翻訳予測結果と該サンプルの翻訳対象文句に対応する翻訳タグ結果に基づき、初期ニューラルネットワークモデルの損失関数が収束されるか否かを決定し、該損失関数が収束された時、トレーニングを終了し、トレーニング終了時の初期ニューラルネットワークモデルを翻訳モデルとする。
【0117】
図1Bに示される方法と同じ原理に基づき、本出願の実施例はさらに、翻訳装置20を提供した。
図4に示すように、該翻訳装置20は、翻訳対象文句取得モジュール210、サブ文句決定モジュール220、翻訳モジュール230、ターゲット翻訳文句決定モジュール240を含んでもよく、ここで、
翻訳対象文句取得モジュール210は、翻訳対象文句を取得するために用いられ、
サブ文句決定モジュール220は、予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を獲得するために用いられ、
翻訳モジュール230は、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得するために用いられ、
ターゲット翻訳文句決定モジュール240は、意味に基づいて各サブ文句に対応する翻訳結果を融合させ、翻訳対象文句に対応するターゲット翻訳文句を獲得するために用いられる。
【0118】
本出願の方案では、翻訳対象文句を翻訳する時、予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を獲得して、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得することができ、本出願の方案に基づき、各サブ文句が翻訳対象文句における少なくとも二つの単語を含むため、各サブ文句を翻訳する時、即ち、翻訳対象文句における少なくとも二つの単語を並列に翻訳することができ、翻訳対象文句を一単語ずつ翻訳するのではないので、翻訳文句に対応するターゲット翻訳文句を獲得する過程で、翻訳速度を速めることができる。
【0119】
好ましくは、各サブ文句のうちの少なくとも二つのサブ文句に対応する文句の長さは異なり、文句の長さは、該当するサブ文句に含まれる単語の数を特徴づけている。
【0120】
好ましくは、該装置は、
予め設定された数と翻訳対象文句の文句の長さに基づき、各サブ文句における第一の設定割合を満たす第一のサブ文句の文句の長さを第一の長さに設置し、各サブ文句における第二の設定割合を満たす第二のサブ文句の文句の長さを第二の長さに設置することをさらに含み、
ここで、第一の設定割合と第二の設定割合の和は、1である。
【0121】
好ましくは、翻訳モジュール230は、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得する時、具体的には、
候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得するために用いられる。
【0122】
好ましくは、候補翻訳単語セットには翻訳終了識別子が含まれ、いずれか一つのサブ文句に対して、該サブ文句に対応する文句の長さは、
候補翻訳単語セットから該サブ文句における各単語に対応する候補翻訳単語を決定すること、
決定した各候補翻訳単語と翻訳終了識別子に基づき、該サブ文句に対応する文句の長さを決定することによって決定されたものである。
【0123】
好ましくは、候補翻訳単語セットには翻訳開始識別子と翻訳終了識別子とが含まれる。
【0124】
翻訳モジュール230は、候補翻訳単語セットから各サブ文句に対応する翻訳結果を獲得する時、具体的には、
いずれか一つのサブ文句に対して、候補翻訳単語セットから該サブ文句における各翻訳対象単語に対応する候補翻訳単語を決定すること、
候補翻訳単語が翻訳開始識別子である場合、該サブ文句に対する翻訳を開始すること、
候補翻訳単語が翻訳開始識別子でなく、且つ翻訳終了識別子でない場合、候補翻訳単語が翻訳終了識別子であるまで該サブ文句を翻訳し続け、該サブ文句に対する翻訳を終了し、該サブ文句に対応する翻訳結果を獲得することに用いられる。
【0125】
好ましくは、翻訳モジュール230は、各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得する時、具体的には、
各サブ文句をそれぞれ翻訳し、各サブ文句に対応する初歩的な翻訳結果を獲得すること、
各初歩的な翻訳結果のうちのいずれか一つの初歩的な翻訳結果に翻訳エラーがある場合、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行い、修正後の初歩的な翻訳結果と他の未修正の初歩的な翻訳結果に基づき、各サブ文句に対応する翻訳結果を獲得することに用いられる。
【0126】
好ましくは、翻訳エラーは、漏れ単語又は重複翻訳単語のうちの少なくとも一つを含み、該装置は、翻訳エラー決定モジュールをさらに含む。
【0127】
翻訳エラー決定モジュールは、いずれか一つのサブ文句に対して、該サブ文句に対応する初歩的な翻訳結果における各単語に基づき、該サブ文句に翻訳エラーがあるか否かを決定するために用いられ、
及び/又は、
翻訳エラー決定モジュールは、各サブ文句のうちのいずれか二つの隣接するサブ文句に対して、前記二つの隣接するサブ文句のうちの一番目のサブ文句に対応する初歩的な翻訳結果における最後の単語と前記二つの隣接するサブ文句のうちの二番目のサブ文句に対応する初歩的な翻訳結果における一番目の単語に基づき、前記二つの隣接するサブ文句に前記翻訳エラーがあるか否かを決定するために用いられる。
【0128】
翻訳エラーが漏れ単語を含む場合、サブ文句翻訳モジュール220は、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行う時、具体的には、漏れ単語を翻訳するために用いられる。
【0129】
翻訳エラーが重複翻訳単語を含む場合、サブ文句翻訳モジュール220は、翻訳エラーがある初歩的な翻訳結果に対してエラー修正を行う時、具体的には、
翻訳エラーがある初歩的な翻訳結果から、重複翻訳単語を削除するために用いられる。
【0130】
好ましくは、各サブ文句に対応する翻訳結果は、候補翻訳単語セットから決定されたものであり、候補翻訳単語セットには、削除識別子がさらに含まれ、削除識別子は、対応するサブ文句の翻訳結果が重複翻訳単語であることを標識するために用いられる。
【0131】
翻訳モジュール230は、翻訳エラーがある初歩的な翻訳結果から、重複翻訳単語を削除する時、具体的には、
翻訳エラーがある初歩的な翻訳結果から、削除識別子に対応する重複翻訳単語を削除するために用いられる。
【0132】
好ましくは、予め設定された数に基づき、翻訳対象文句を区分し、予め設定された数のサブ文句を得て、及び各サブ文句をそれぞれ翻訳し、各サブ文句に対応する翻訳結果を獲得することは、翻訳モデルによって得たものである。
【0133】
該装置は、翻訳モデルをトレーニングするためのモデルトレーニングモジュールをさらに含み、ここで、翻訳モデルは、
各トレーニングサンプルを取得し、前記トレーニングサンプルにはサンプルの翻訳対象文句と前記サンプルの翻訳対象文句に対応するサンプル翻訳文句とが含まれ、前記サンプル翻訳文句にはサンプルサブ文句数に応じて前記サンプル翻訳文句を区分して得た各サブサンプル文句が含まれ、各サブサンプル文句にタグが付帯されており、前記タグは、前記サブサンプル文句に対応するサンプルの翻訳対象文句の翻訳タグ結果を特徴づけていること、
各トレーニングサンプルに基づき、初期ニューラルネットワークモデルの損失関数が収束されるまで前記初期ニューラルネットワークモデルをトレーニングし、トレーニング終了時の初期ニューラルネットワークモデルを前記翻訳モデルとすることによってトレーニングして得たものである。
【0134】
好ましくは、いずれか一つのトレーニングサンプルは、トレーニングサンプルにおける各サブサンプル文句のサンプル長さは、
離散型確率分布、前記サンプル翻訳文句の文句の長さ、前記サンプルサブ文句数と分割方式に基づき、前記分割方式に対応する選択概率を決定すること、
前記分割方式に対応する選択概率と前記サンプル翻訳文句の文句の長さに基づき、各サブサンプル文句のサンプル長さを決定することによって決定されたものである。
【0135】
好ましくは、いずれか一つのトレーニングサンプルは、トレーニングサンプルには、重複翻訳単語を含むサンプル翻訳文句がさらに含まれ、重複翻訳単語を含むサンプル翻訳文句は、
サンプル翻訳文句をサンプルサブ文句数よりも小さい第一の数のサブ文句に分割すること、
第一の数のサブ文句のうちの少なくとも一つのサブ文句を、重複翻訳単語として決定すること、
重複翻訳単語をサンプル翻訳文句に插入し、重複翻訳単語を含むサンプル翻訳文句を獲得することによって決定されて得られたものである。
【0136】
本出願の実施例による翻訳装置が本出願の実施例における翻訳方法を実行可能な装置であるため、本出願の実施例による翻訳方法に基づき、当業者は、本出願の実施例の翻訳装置の具体的な実施の形態及びその様々な変化形式を知ることができ、そのため、ここでは、該翻訳装置がどのように本出願の実施例における翻訳方法を実現するかについては、さらに詳細に紹介しない。当業者が本出願の実施例における翻訳方法によって採用される翻訳装置を実施すれば、いずれも本出願が保護しようとする範囲に属するものとする。
【0137】
本出願の実施例による翻訳方法と翻訳装置と同じである原理に基づき、本出願の実施例はさらに、電子機器を提供した。該電子機器は、プロセッサとメモリとを含んでもよい。ここで、メモリには、可読命令が記憶されており、可読命令がプロセッサによってローディングされて実行される時、本出願のいずれか一つの実施例に示す方法を実現させることができる。
【0138】
一例として、
図5は、本出願の実施例の方案に適用される電子機器4000の構造概略図を示した。
図5に示されるように、該電子機器4000は、プロセッサ4001とメモリ4003とを含んでもよい。ここで、プロセッサ4001は、メモリ4003に接続され、例えば、バス4002によって接続される。好ましくは、電子機器4000は、送受信器4004をさらに含んでもよい。なお、実際の応用では、送受信器4004は、一つに限定されず、該電子機器4000の構造は、本出願の実施例に対する限定を構成しない。
【0139】
プロセッサ4001は、CPU(Central Processing Unit、中央プロセッサ)、汎用プロセッサ、DSP(Digital Signal Processor、データ信号プロセッサ)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア部品又はその任意の組み合わせであってもよい。それは、本出願の開示内容を結びつけて記述されている様々な例示的な論理ブロック、モジュールと回路を実現させるか、又は実行させることができる。プロセッサ4001は、計算機能を実現する組み合わせであってもよく、例えば、一つ又は複数のマイクロプロセッサの組み合わせ、DSPとマイクロプロセッサの組み合わせなどを含む。
【0140】
バス4002は、上記コンポーネント間で情報を伝送する一つの経路を含んでもよい。バス4002は、PCI(Peripheral Component Interconnect、外付け部品相互接続仕様)バス又はEISA(Extended Industry Standard Architecture、拡張業界標準アーキテクチャ)バスなどであってもよい。バス4002は、アドレスバス、データバス、制御バスなどに分けてもよい。表示を容易にするために、
図5には、一本の太い線のみで示されるが、一本のバス又は一種類のタイプのバスのみあることが示されていない。
【0141】
メモリ4003は、ROM(Read Only Memory、リードオンリーメモリ)又は静的情報と命令を記憶可能な他のタイプの静的記憶機器、RAM(Random Access Memory、ランダムアクセスメモリ)又は情報と命令を記憶可能な他のタイプの動的記憶機器であってもよく、EEPROM(Electrically Erasable Programmable Read Only Memory、電気的消去可能プログラマブルリードオンリーメモリ)、CD-ROM(Compact Disc Read Only Memory、リードオンリーディスク)又は他のディスク記憶、ディスク記憶(圧縮ディスク、エキサイティングディスク、ディスク、デジタル汎用ディスク、ブルーレイディスクなどを含み)、磁気ディスク記憶媒体又は他の磁記憶機器、又は命令又はデータ構造形式を有する望ましいプログラムコードを付帯又は記憶するために用いることができ、且つコンピュータによって記憶可能な任意の他の媒体であってもよく、しかしそれに限らない。
【0142】
メモリ4003は、本出願方案を実行するアプリケーションプログラムコードを記憶するために用いられ、且つプロセッサ4001によって実行される。プロセッサ4001は、メモリ4003に記憶されたアプリケーションプログラムコードを実行するために用いられ、前述したいずれか一つの方法の実施例に示される方案を実現させる。
【0143】
理解すべきことは、図面のフローチャートにおける各ステップが矢印の指示に従って順に表示されるが、これらのステップ、必ず矢印により指示される順序で順に実行されなければならない。本明細書に明確な説明がない限り、これらのステップの実行には、厳しい順序制限がなく、他の順序で実行されてもよい。そして、図面のフローチャートにおける少なくとも一部のステップは、複数のサブステップ又は複数のフェーズを含んでもよく、これらのサブステップ又はフェーズは、必ずしも同じ時点で実行が完了しているわけではなく、異なる時点で実行されてもよく、その実行順序は、必ずしも順次でなく、他のステップ又は他のステップのサブステップ又はフェーズの少なくとも一部と順番に又は交互に実行されてもよい。
【0144】
以上は、本出願の一部の実施の形態に過ぎず、指摘すべきなのは、当業者にとって、本出願の原理から逸脱しない前提で、若干の改良と修正を行ってもよく、これらの改良と修正は、いずれも本出願の保護範囲と見なすべきである。