(57)【要約】【課題】本発明はニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体を提供する。【解決手段】本発明の実施例によるニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体は、訓練されたニューラル機械翻訳モデルを利用して翻訳されたソースセンテンスの予測センテンスを取得し、得られた予測センテンスとターゲットセンテンスとにおけるNグラムのマッチング程度に基づいて、新しい平行コーパスを合成し、オリジナルのコーパスと追加された新しいコーパスを利用して、ニューラル機械翻訳モデルを訓練することにより、オリジナルのニューラル機械翻訳モデルにおいて十分に訓練されなかった部分の特徴が強化され、最終的に訓練して得られるニューラル機械翻訳モデルの翻訳性能が向上される。【選択図】図１
2020140709.tif 000002
【特許請求の範囲】
【請求項１】
ニューラル機械翻訳モデルの訓練方法であって、
第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練するステップと、
訓練された前記ニューラル機械翻訳モデルを用いて、第２平行コーパスにおけるソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを取得するステップと、
前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加するステップと、
前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練するステップと、を含むことを特徴とする方法。
【請求項２】
前記第１平行コーパスと前記第２平行コーパスとにおいては、同一のコーパスが存在しておらず、或いは
前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスであることを特徴とする請求項１に記載の方法。
【請求項３】
前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加するステップにおいて、
前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算し、ここで、Ｎは２以上であり、
前記第１の数が前記所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加することを特徴とする請求項１に記載の方法。
【請求項４】
前記所定閾値は、前記ＮグラムのＮの値、前記予測センテンスに含まれる単語の数である第２の数、及び前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定されることを特徴とする請求項３に記載の方法。
【請求項５】
前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同一のフォーマットに変換することを特徴とする請求項３に記載の方法。
【請求項６】
前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同一のフォーマットに変換することを特徴とする請求項３に記載の方法。
【請求項７】
ニューラル機械翻訳モデルの訓練装置であって、
第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練する第１訓練ユニットと、
訓練された前記ニューラル機械翻訳モデルを用いて、第２平行コーパスにおけるソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを取得する翻訳ユニットと、
前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加するコーパス追加ユニットと、
前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練する第２訓練ユニットと、を含むことを特徴とする装置。
【請求項８】
前記第１平行コーパスと前記第２平行コーパスとにおいては、同一のコーパスが存在しておらず、或いは
前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスであることを特徴とする請求項７に記載の装置。
【請求項９】
前記コーパス追加ユニットは、
前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算し、ここで、Ｎは２以上であり、
前記第１の数が前記所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加することを特徴とする請求項７に記載の装置。
【請求項１０】
前記所定閾値は、前記ＮグラムのＮの値、前記予測センテンスに含まれる単語の数である第２の数、及び前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定されることを特徴とする請求項９に記載の装置。
【請求項１１】
前記コーパス追加ユニットは、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同一のフォーマットに変換することを特徴とする請求項９に記載の装置。
【請求項１２】
前記コーパス追加ユニットは、前記ソースセンテンス及び前記ターゲットセンテンスを新規平行コーパスとして追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同一のフォーマットに変換することを特徴とする請求項９に記載の装置。
【請求項１３】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサに実行されると、請求項１〜６のいずれか一項に記載のニューラル機械翻訳モデルの訓練方法のステップが実現されることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自然言語処理(NLP、 Natural
Language Processing)におけるニューラル機械翻訳技術分野に関し、具体的にはニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体に関する。
【背景技術】
【０００２】
ニューラル機械翻訳(NMT、 Neural
Machine Translation)はニューラルネットワークを直接に用いてエンドツーエンド方式で翻訳モデリングを行う機械翻訳方法を指す。ディープランニング技術を利用して従来の統計機械翻訳におけるあるモジュールを完璧にする方法と異なり、ニューラル機械翻訳はシンプルで直観的な方法を用いて翻訳作業を実現する。まず、エンコーダ(Encoder)と呼ばれるニューラルネットワークを用いてソース言語センテンスを密集ベクトルに符号化し、次に、デコーダ(Decoder)と呼ばれるニューラルネットワークを用いて該ベクトルからターゲット言語センテンスを復号する。上記ニューラルネットワークモデルは一般的には「エンコーダ-デコーダ(Encoder-Decoder)」構造と呼ばれる。
【０００３】
従来技術は、機械翻訳品質を評価するために、二言語相互翻訳品質評価(BLEU、  Blingual Evaluation Understudy)アルゴリズムを使用することが多い。BLEUアルゴリズムの設計思想は機械翻訳の良否を判断する考え方と一致する。即ち、機械翻訳結果が専門的な人工翻訳の結果に近ければ近いほど、翻訳品質が良好である。Nグラム(N-gram)は統計言語モデルであり、該モデルは一つのセンテンスをN個の連続する単語から構成される単語列で表示することができる。コンテキストにおける隣接単語間の組み合わせ情報を利用してセンテンスの確率を計算することにより、この一つのセンテンスのロジックが順当か否かを判断する。BLEUアルゴリズムはN-gramのマッチングルールを用いる。それによって予測訳文と参照訳文とにおけるNグラム類似の占有率を計算し、さらに機械翻訳品質の評価指標を得ることができる。
【０００４】
現在のところ、一般的なNMTモデルは系列‐系列(seq2seq)モデル、畳み込み系列−系列(convS2S)モデルおよびtransformerモデルがある。これらの従来技術はニューラル機械モデル自体を改善することによって機械翻訳性能を向上させている。このため、従来のニューラル機械翻訳の翻訳性能をさらに向上させ、ソース言語とターゲット言語との間の翻訳をより正確に実現することは、当技術分野において早急に解決しようとする技術的課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例は上記の技術的な課題を鑑みて、ニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体を提供し、ニューラル機械翻訳の翻訳性能を向上させる。
【課題を解決するための手段】
【０００６】
上記技術的な問題を解決するために、本発明の実施例は、ニューラル機械翻訳モデルの訓練方法であって、第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練するステップと、訓練された前記ニューラル機械翻訳モデルを用いて、第２平行コーパスにおけるソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを取得するステップと、前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加するステップと、前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練するステップと、を含むことを特徴とする方法を提供する。
【０００７】
好ましくは、前記第１平行コーパスと前記第２平行コーパスとにおいては、同一のコーパスが存在しておらず、或いは前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスである。
【０００８】
好ましくは、前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加するステップにおいて、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算し、ここで、Ｎは２以上であり、前記第１の数が前記所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加する。
【０００９】
好ましくは、前記所定閾値は、前記ＮグラムのＮの値、前記予測センテンスに含まれる単語の数である第２の数、及び前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定される。
【００１０】
好ましくは、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同一のフォーマットに変換する。
【００１１】
好ましくは、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同一のフォーマットに変換する。
【００１２】
また、本発明の実施例は、ニューラル機械翻訳モデルの訓練装置であって、第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練する第１訓練ユニットと、訓練された前記ニューラル機械翻訳モデルを用いて、第２平行コーパスにおけるソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを取得する翻訳ユニットと、前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加するコーパス追加ユニットと、前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練する第２訓練ユニットと、を含むことを特徴とする装置を提供する。
【００１３】
好ましくは、前記第１平行コーパスと前記第２平行コーパスとにおいては、同一のコーパスが存在しておらず、或いは  前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスである。
【００１４】
好ましくは、前記コーパス追加ユニットは、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算し、ここで、Ｎは２以上であり、前記第１の数が前記所定閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加する。
【００１５】
好ましくは、前記所定閾値は、前記ＮグラムのＮの値、前記予測センテンスに含まれる単語の数である第２の数、及び前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定される。
【００１６】
好ましくは、前記コーパス追加ユニットは、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同一のフォーマットに変換する。
【００１７】
好ましくは、前記コーパス追加ユニットは、前記ソースセンテンス及び前記ターゲットセンテンスを新規平行コーパスとして追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同一のフォーマットに変換する。
【００１８】
また、本発明の実施例は、ニューラル機械翻訳モデルの訓練装置であって、メモリと、プロセッサと、前記メモリに記憶され前記プロセッサにより実行されるコンピュータプログラムと、を含み、前記コンピュータプログラムが前記プロセッサにより実行される時に、上記のニューラル機械翻訳モデルの訓練方法のステップが実現される訓練装置を提供する。
【００１９】
更に、本発明の実施例は、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサに実行されると、上記のニューラル機械翻訳モデルの訓練方法におけるステップが実現されることを特徴とするコンピュータ読み取り可能な記憶媒体を提供する。
【００２０】
従来技術に比べて、本発明の実施例により提供されるニューラル機械翻訳モデルの訓練方法、装置及び記憶媒体は、訓練されたニューラル機械翻訳モデルを利用して、翻訳されたソースセンテンスの予測センテンスを求め、その予測センテンスとターゲットセンテンスとのNグラムのマッチング程度に基づいて、新しい平行コーパスを合成し、オリジナルのコーパスと追加された新しいコーパスを利用して、ニューラル機械翻訳モデルを訓練することにより、オリジナルのニューラル機械翻訳モデルにおいて十分に訓練されなかった一部の特徴が強化され、最終的に訓練されたニューラル機械翻訳モデルの翻訳性能が向上される。
【図面の簡単な説明】
【００２１】
本発明の実施例の技術的解決手段をより明確に説明するために、以下では本発明の実施例の説明に必要な図面を簡単に説明し、明らかなように、以下の説明における図面は本発明のいくつかの実施例に過ぎず、当業者にとっては、創造的な労力を払うことなく、さらにこれら図面に基づいて他の図面を取得することができる。
【図１】図１は本発明の実施例にかかるニューラル機械翻訳モデルの訓練方法を示すフローチャートである。
【図２】図2は本発明の実施例にかかる訓練方法において追加平行コーパスを取得する一例を示す図である。
【図３】図3は本発明の実施例にかかるニューラル機械翻訳モデルの訓練装置の構造を概略的に示す図である。
【図４】図4は本発明の実施例にかかるニューラル機械翻訳モデルの訓練装置の他の構造を概略的に示す図である。
【発明を実施するための形態】
【００２２】
本発明が解決しようとする技術的問題、技術的解決手段及び利点をより明確にするために、以下では図面及び具体的な実施例を参照しながら詳細に説明する。以下の説明では、特定の構成および構成要素などの特定の詳細は、本発明の実施形態を完全に理解するのを助けるために提供される。したがって、本発明の範囲および精神から逸脱することなく、本明細書に記載される実施形態に様々な変更および修正を加えることができることが当業者には明らかであろう。また、公知の機能及び構成について、簡潔にするために、その説明を省略する。
【００２３】
本明細書全体を通して言及される「一つの実施例」または「一実施例」は、実施例に関連する特定の特徴、構造または特性が、本発明の少なくとも1つの実施例に含まれることを意味することが理解されるべきである。したがって、明細書全体を通して出現する「一つの実施例では」または「一実施例では」という用語は必ずしも同じ実施例を指すものではない。さらに、これらの特定の特徴、構造や特性は、任意で適切な方法で1つまたは複数の実施例に組み込むことができる。
【００２４】
本発明の様々な実施例において、以下の各プロセスの番号の大きさは実行順序の前後を意味するものではないと理解されるべきである。各プロセスの実行順序はその機能または固有な論理によって決定されるものであり、本発明の実施例にかかる実施プロセスを限定するものでもない。
【００２５】
図1は本発明の実施例より提供されるニューラル機械翻訳モデルの訓練方法を示すフローチャートである。該ニューラル機械翻訳モデルの訓練方法は訓練して得られたニューラル機械翻訳モデルの翻訳性能を向上させることができる。具体的には、前記ニューラル機械翻訳モデルは系列−系列(seq2seq)モデル、畳み込み系列−系列(convS2S)モデル又はtransformerモデルである。当然ながら、本発明の実施例はさらに他のタイプのニューラル機械翻訳モデルを適用することができる。本発明はこれを詳細に限定しない。
【００２６】
図1に示すように、本発明の実施例より提供されるニューラル機械翻訳モデルの訓練方法は以下を含む。
【００２７】
ステップ１０１で、第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練する。
【００２８】
ここで、ニューラル機械翻訳モデルを訓練するために必要な第１平行コーパスを予め取得する。平行コーパスには一般的にソースセンテンスコーパス及びターゲットセンテンスコーパスが含まれる。ソースセンテンスコーパスは複数のソース言語のソースセンテンスを含み、ターゲットセンテンスコーパスは複数のターゲット言語のターゲットセンテンスを含み。ソースセンテンス毎には当該ソースセンテンスに対応するターゲットセンテンスが存在し、両者は一つの平行コーパスを構成する。前記第１平行コーパスに基づき、ニューラル機械翻訳モデルを訓練することにより、訓練されたニューラル機械翻訳モデルが得られる。
【００２９】
ステップ１０２で、訓練により得られた前記ニューラル機械翻訳モデルを用いて、第２平行コーパスにおけるソースセンテンスを翻訳し、当該ソースセンテンスに対応する予測センテンスを得る。
【００３０】
ここで、ステップ１０１で訓練されたニューラル機械翻訳モデルを利用して、第２平行コーパス内のソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを得る。
【００３１】
具体的な実施形態として、前記第１平行コーパスは前記第２平行コーパスとにおいて同一のコーパスが存在しない平行コーパスであってもよい。例えば、
大量のオリジナルの平行コーパスを取得した後、本発明の実施例はこれらの平行コーパスを品質良否に基づいて第１平行コーパスと第２平行コーパスに分けることができる。ここで、前記第１平行コーパスの品質は前記第２平行コーパスの品質より優れている。次に、上記ステップ１０１において、第１平行コーパスを用いて訓練し、ニューラル機械翻訳モデルを得る;ステップ１０２において、ステップ１０１で得られたニューラル機械翻訳モデルを利用して、第２平行コーパスにおけるソースセンテンスを翻訳し、対応する予測センテンスを得る。
【００３２】
別の実施形態として、前記第２平行コーパスは前記第１平行コーパス内の一部又は全部のコーパスである。例えば、前記第２平行コーパスは前記第１平行コーパスと同じであり、この場合、ステップ１０２において、第１平行コーパスを用いて訓練して得られたニューラル機械翻訳モデルを用いて、該第１平行コーパスにおけるソースセンテンスを翻訳し、対応する予測センテンスを得る。また例えば、前記第２平行コーパスは前記第１平行コーパスにおける一部のコーパスのみを含み、すなわち前記第２平行コーパスは前記第１平行コーパスのサブセットである。この場合、ステップ１０２において、第１平行コーパスを用いて訓練して得られたニューラル機械翻訳モデルを用いて、前記第２平行コーパスにおけるソースセンテンスを翻訳し、対応する予測センテンスを得る。
【００３３】
ステップ１０３で、前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスのマッチング度を計算し、前記マッチング度が予め設定された閾値より低い場合、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する。
【００３４】
ここで、 本発明の実施例は、ソースセンテンスの翻訳から得られた予測センテンスを得た後、当該予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスのマッチング度を計算する。マッチング度が予め設定された閾値より低い場合、ステップ１０１で訓練されたニューラル機械翻訳モデルが該ソースセンテンスを良好に翻訳できなかったことを意味する。このため、本発明の実施例は、該ソースセンテンスとそれのターゲットセンテンスとが構成される新規平行コーパスを利用して後続する訓練をさらに行うことにより、ステップ１０１でオリジナルのニューラル機械翻訳モデルが十分に訓練されなかった部分の特徴を強化する。
【００３５】
本発明の実施例はNグラムを利用してマッチング度を計算する。具体的には、前記予測センテンスと前記ターゲットセンテンスとにおいてマッチングするNグラムの数である第１の数を計算する。前記Nは2以上である。Nグラムに関する概念について、従来技術の関連説明を参照することができる。通常、前記Nグラムは対応するセンテンスにおいてN個の連続する単語であってもよく、N個の連続する単語及び句読点であってもよい。これらの単語及び句読点はセンテンスの中で連続すればよく、紙面を節約するために、ここでは詳細な説明を省略する。そして、前記第１の数が予め設定された前記閾値より小さい場合には、前記ソースセンテンス及び前記ターゲットセンテンスは新しい平行コーパスとして新規平行コーパスに追加される。
【００３６】
本発明の実施例において、Nグラムはセンテンスにおける２個以上の連続単語から構成される単語列であってよい。具体的には、Nは２以上の整数であり、例えば、２、３又は４の値を取ることができる。当然ながら、他のより大きな数値であってもよい。好ましい実施形態として、BLEUアルゴリズムでは一般的に４タプルを用いて機械翻訳性能を評価するため、本発明の実施例ではNグラムは４タプルであることが好ましい。
【００３７】
図2に示すように、ソース言語を中国語、ターゲット言語は英語を例として、中国語の「
（外１）
2020140709.tif 000003
（我々にとって、知識は力である）」をソースセンテンスとし、「For us,
knowledge is power」をターゲットセンテンスとして、平行コーパスを構成する。仮に、ステップ１０１で得られたニューラル機械翻訳モデルを利用して上記ソースセンテンスを翻訳して、得られた予測センテンスは「We think knowledge is power」である。分かるように、上記ターゲットセンテンスと予測センテンスとにおいてマッチングする4タプルが存在しない。即ち、マッチングする4タプルの第１の数は0である。ここで、予め設定された閾値は1であるとする場合、第１の数は該閾値より小さい。このため、前記ソースセンテンス「
（外２）
2020140709.tif 000004
」と、前記ターゲットセンテンス「As for us,
knowledge is power」とを新しい平行コーパスとして新規平行コーパスに追加する。
【００３８】
マッチング度の計算を簡略化するために、新規平行コーパスを選定するための前記した予め設定された閾値を1に直接設定することができる。そうすることにより、ターゲットセンテンスと予測センテンスとにおいてマッチングするNグラムがない場合にのみ、前記ターゲットセンテンス及びそれに対応するソースセンテンスを選択して新規平行コーパスとする。
【００３９】
センテンスによって長さが異なる(センテンスに含まれる単語数が異なる)ことを考慮する場合に、本発明の実施例は、前記NグラムのNの値に加えて、前記予測センテンスに含まれる単語の数である第２の数、及び前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて、前記閾値を設定することができる。一般的に、
予め設定された前記閾値は、前記第２の数量又は第３の数量のいずれとも正比例関係にあり、前記Nの値と負比例関係にある。すなわち、前記第２の数又は第３の数が大きいほど、予め設定された前記閾値が大きく設定され、前記Nの値が大きいほど、予め設定された前記閾値が小さく設定される。これにより、マッチング度が比較的に低いターゲットセンテンスと予測センテンスをより正確に選定し、新規平行コーパスを生成することができる。
【００４０】
ところが、ニューラル機械モデルの訓練過程において単語分割アルゴリズムを使用する場合がある。前記単語分割アルゴリズムは特定の区切り記号対文を分割処理することにより、ソースセンテンス又はターゲットセンテンスのオリジナルフォーマットが変更される。このため、本発明の実施例はさらに、ステップ１０３で前記予測センテンスと前記ターゲットセンテンスとがマッチングするNグラムの第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同じフォーマットに変換することにより、正確なマッチング度の計算を容易になる。
【００４１】
例えば、図2において、モデル訓練においてバイトペアコーディング(BPE，Byte Pair Encoder)アルゴリズムを用いる。BPEは「@@」を区切り記号として用い、ステップ１０１で訓練して得られたニューラル機械翻訳モデルにより取得された予測センテンスに上記区切り記号が含まれる。図2に示すニューラル機械翻訳モデルにより出力された予測センテンスである「We think
know@@ledge
is power
」に対して、前記マッチング度の計算の前に、フォーマット変換を行い、予測センテンスをターゲットセンテンスと同じフォーマットに変換する。例えば、予測センテンスにおける区切り記号を削除し、該区切り記号の前後のサブワードを接続することにより、フォーマット変換後の予測センテンスとして「We think knowledge
is power」を得る。そして、フォーマットが同じである予測センテンスとターゲットセンテンスとで上記したマッチング度の計算を行う。
【００４２】
また、同様に、本発明の実施例は、前記ソースセンテンス及び前記ターゲットセンテンスを前記新規平行コーパスに追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同じフォーマットに変換し、そして、フォーマット変換されたターゲットセンテンスと前記ソースセンテンスを平行コーパスとして、前記新規平行コーパスに追加する。
【００４３】
例えば、図2に示すターゲットセンテンス「As for us, knowledge is power」の場合に、ソースセンテンスはBPE処理され、区切り記号「@@」を含む。例えば、図2に示す「
（外３）
2020140709.tif 000005
」である。そこで、ターゲットセンテンスに対してフォーマット変換を行い、ソースセンテンス同じフォーマットに変換する必要がある。例えば、BPEアルゴリズムを利用して、ターゲットセンテンスに対して分割処理を行い、フォーマット変換されたターゲットセンテンスとして「As for us,  know@@ledge
is power」を得る。そして、前記ソースセンテンス及びフォーマット変換されたターゲットセンテンスを新しい平行コーパスとして、新規平行コーパスに追加する。
【００４４】
ステップ１０４で、前記第１平行コーパス及び前記新規平行コーパスを利用して、ニューラル機械翻訳モデルを訓練する。
【００４５】
ここで、ステップ１０４において、本発明の実施例は、前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練することにより、オリジナルのニューラル機械翻訳モデルにおいて十分に訓練されていなかった部分の特徴が強化される。さらに、オリジナルコーパス及び新規コーパスを利用してニューラル機械翻訳モデルを訓練することにより、最終的に訓練されたニューラル機械翻訳モデルの翻訳性能が向上される。
【００４６】
以上の方法に基づき、本発明の実施例はさらに上記方法を実施する装置を提供する。図3に示すように、本発明の実施例にかかるニューラル機械翻訳モデルの訓練装置300は、以下のユニットを含む。
【００４７】
第１訓練ユニット３０１は、第１平行コーパスを利用して、ニューラル機械翻訳モデルを訓練する。
【００４８】
翻訳ユニット３０２は、訓練された前記ニューラル機械翻訳モデルを用いて、第２平行コーパス中のソースセンテンスを翻訳し、前記ソースセンテンスに対応する予測センテンスを求める。
【００４９】
コーパス追加ユニット３０３は、前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が予め設定された閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する。
【００５０】
第２訓練ユニット３０４は、前記第１平行コーパス及び前記新規平行コーパスを用いて、ニューラル機械翻訳モデルを訓練する。
【００５１】
本発明の実施例にかかるニューラル機械翻訳モデルの訓練装置300は、上記したユニットにより、訓練されたオリジナルのニューラル機械翻訳モデルを利用して、翻訳されたソースセンテンスの予測センテンスを求め、予測センテンスとターゲットセンテンスとのNグラムのマッチング度に基づいて、新規平行コーパスを合成し、さらにオリジナルコーパス及び新規平行コーパスを用いてニューラル機械翻訳モデルを訓練することにより、オリジナルのニューラル機械翻訳モデルにおいて十分に訓練されなかった部分の特徴が強化され、最終的に訓練されたニューラル機械翻訳モデルの翻訳性能が向上される。
【００５２】
好ましくは、前記第１平行コーパスと前記第２平行コーパスとにおいて、同一のコーパスが存在しないか、または、前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスである。
【００５３】
好ましくは、前記コーパス追加ユニット303は、さらに前記予測センテンスと前記ターゲットセンテンスとがマッチングするNグラムの数である第１の数を計算し、ここで、Nは2以上である;前記第１の数が予め設定された前記閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加する。
【００５４】
好ましくは、予め設定された前記閾値は、前記NグラムのNの値、前記予測センテンスに含まれる単語の数である第２の数、及び、前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定される。
【００５５】
好ましくは、前記コーパス追加ユニット303は、さらに前記予測センテンスと前記ターゲットセンテンスとがマッチングするNグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同じフォーマットに変換する。
【００５６】
好ましくは、前記コーパス追加ユニット303は、さらに前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同じフォーマットに変換する。
【００５７】
図4は本発明の実施例にかかるニューラル機械翻訳モデルの訓練装置のハードウェア構成を示すブロック図である。図4に示すように、該ニューラル機械翻訳モデルの訓練装置400は、プロセッサ402と、コンピュータプログラム指令が記憶されるメモリ404と、を含む。前記コンピュータプログラム指令が前記プロセッサ４０２によって実行されると、ニューラル機械翻訳モデルを訓練し;訓練された前記ニューラル機械翻訳モデルにより、第２平行コーパスのソースセンテンスを翻訳することにより、該ソースセンテンスに対応する予測センテンスを求め；前記予測センテンスと前記ソースセンテンスに対応するターゲットセンテンスとのマッチング度を計算し、前記マッチング度が予め設定された閾値より低い場合、前記ソースセンテンス及び前記ターゲットセンテンスを新規コーパスとして追加し;前記第１平行コーパス及び前記新規平行コーパスを利用してニューラル機械翻訳モデルを訓練するステップが実行される。
【００５８】
また、図4に示すように、該ニューラル機械翻訳モデルの訓練装置400はさらにネットワークインターフェース４０１、入力装置４０３、ハードディスク４０５、及び表示装置４０６を含む。
【００５９】
上記各インターフェースはバスアーキテクチャを介してそれぞれ各装置に接続される。バスアーキテクチャは任意の数の相互接続を含むことができるバスとブリッジである。具体的に、プロセッサ４０２に代表される1つ又は複数の中央処理器（CPU）と、メモリ４０４が代表される1つまたは複数のメモリの各種回路が接続される。また、バスアーキテクチャより、例えば外付け機器、レギュレータ―及び電力管理回路などの他の様々な回路が接続される。このように、バスアーキテクチャよりこれらの機器が通信可能に接続される。バスアーキテクチャは、データバス以外に、電源バス、制御バス及び状態信号バスを含む。これらは本発明分野の公知技術であり、本文において詳細な説明を省略する。
【００６０】
前記ネットワークインターフェース４０１は、ネットワーク(例えば、インターネットやLANなど)に接続され、ネットワークからソースセンテンスコーパス及びターゲットセンテンスコーパスを集め、ハードディスク４０５に記憶させるインターフェースである。
【００６１】
前記入力装置４０３はユーザより入力される各種指令を受け付け、プロセッサ４０２に送信して実行させる手段である。また、入力装置４０３はキーボードやクリック手段（例えば、マウス、トラックボール、タッチボード）等がある。
【００６２】
前記表示装置４０６はプロセッサ４０２が指令を実行した結果を表示する手段である。例えば、モデル訓練の進捗や翻訳するセンテンスの翻訳結果等を表示する。
【００６３】
前記メモリ４０４はオペレティングシステム（OS）実行に必要なプログラムとデータ、及びプロセッサ４０２の計算過程における中間結果等のデータを記憶するメモリである。
【００６４】
本発明の実施例にかかるメモリ４０４は揮発性メモリ又は非揮発性メモリ、もしくは揮発性と非揮発性の両方を含むメモリである。その中に、非揮発性メモリはROM、PROM、EPROM、EEPROM、フラッシュメモリである。揮発性メモリはRAMであり、外部キャッシュとして使用される。しかし、本明細書に記載される装置及び方法に用いったメモリ４０４はこれらのメモリに限定されず、他の適切なタイプのメモリでもよい。
【００６５】
一部の実施形態において、メモリ４０４に、実行可能なモジュール又はデータ構成若しくはこれらのサブモジュールや拡張モジュールであるオペレティングシステム（OS）４０４１及びアプリケーションプログラム（APP）４０４２が記憶される。
【００６６】
その中に、オペレティングシステム４０４１は、各種システムプログラム、例えばフレームワーク層、コアライブラリ層、駆動層を含み、様々な基幹業務やハードウェアベースのタスクを実現するために用いられる。アプリケーションプログラム442は各種アプリケーションプログラム、例えばウェブブラウザ―(Browser)等を含み、様々なアプリケーション業務を実現するためのものである。本実施例にかかる方法を実行するプログラムはアプリケーションプログラム４０４２に含む。
【００６７】
上記本発明の実施例にかかる方法は、プロセッサ402に適用され、またはプロセッサ402によって実現される。プロセッサ４０２は信号を処理する能力を持つ集積回路基板である。上記方法の各ステップはプロセッサ４０２におけるハードウェアである集積論理回路又はソフトウェア形式の指令によって実現される。上記プロセッサ４０２は汎用プロセッサ、デジタル信号処理装置(DSP)、専用集積回路(ASIC)、既製プログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理デバイス、ディスクリートハードウェア部品であり、本発明の実施例に開示される各方法、ステップ及び論理ボックスを実現又は実行可能なものである。汎用処理器はマイクロプロセッサ又は任意の一般処理器などである。本発明の実施例にかかる方法の各ステップは、ハードウェアであるデコーダにより実行されることで実現されてもよく、または、デコーダにお行けるハードウェアとソフトウェアとの組み合わせによって実現されても良い。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読出し専用メモリ、プログラマブル読出し専用メモリ、あるいは電気的消去可能なプログラマブルメモリ、レジスタなど、本分野で成熟した記憶媒体に記憶される。このソフトウェアが記憶される記憶媒体を備えるメモリ４０４から、プロセッサ４０２は情報を読み取り、ハードウェアに合わせて上記方法のステップを実現させる。
【００６８】
以上に説明した実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの組み合わせで実現される。その中に、ハードウェアの実現に関して、処理ユニットは一つまたは複数の専用集積回路(ASIC)、デジタル信号処理プロセッサ（DSP）、デジタル信号処理装置(DSPD)、プログラム可能論理回路 (PLD)、フィールドプログラマブルゲートアレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本発明の機能を実行する他の電子ユニット或はその組合せにより実現される。
【００６９】
また、ソフトウェアの実現に関しては、以上で説明した機能を実現するモジュール(たとえばプロセス、関数など)により上記技術が実現される。ソフトウェアコードは、メモリに保存され、プロセッサによって実行される。なお、メモリはプロセッサの内部または外部で実現される。
【００７０】
好ましくは、前記第１平行コーパスと前記第２平行コーパスとにおいて、同一のコーパスが存在しないか、または、前記第２平行コーパスは前記第１平行コーパスの一部または全部のコーパスである。
【００７１】
具体的に、前記コンピュータプログラムがプロセッサ４０２によって実行される時に、前記予測センテンスと前記ターゲットセンテンスとがマッチングするNグラムの数である第１の数を計算し、ここで、Nは2以上であり;前記第１の数が予め設定された前記閾値より小さい場合に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして前記新規平行コーパスに追加する、ステップは実現される。
【００７２】
好ましくは、予め設定された前記閾値は、前記NグラムのNの値、前記予測センテンスに含まれる単語の数である第２の数、及び、前記ターゲットセンテンスに含まれる単語の数である第３の数に基づいて設定される。
【００７３】
具体的に、前記コンピュータプログラムがプロセッサ４０２によって実行される時に、前記予測センテンスと前記ターゲットセンテンスとの間でマッチしたＮグラムの数である第１の数を計算する前に、前記予測センテンスを前記ターゲットセンテンスと同一のフォーマットに変換するステップが実現される。
【００７４】
具体的に、前記コンピュータプログラムがプロセッサ４０２によって実行される時に、前記ソースセンテンス及び前記ターゲットセンテンスを新しい平行コーパスとして新規平行コーパスに追加する前に、前記ターゲットセンテンスを前記ソースセンテンスと同一のフォーマットに変換するステップが実現される。
【００７５】
好ましくは、前記ニューラル機械翻訳モデルは、系列−系列(seq2seq)モデル、畳み込み系列−系列(convS2S)モデル又はtransformerモデルである。
【００７６】
本発明の技術分野の当業者は、以上で開示された実施例に記載された各例のユニットおよびアルゴリズムのステップが、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアとの組み合わせで実現されることが容易に想到される。これらの機能はハードウェアまたはソフトウェアのいずれかで実行することは、発明の特定的な適用や設計制約に依存する。当業者が特定の適用に応じた方法で上記の機能を実現させることができるが、本発明の範囲を超えるべきではない。
【００７７】
また、説明上便宜と簡潔性のため、上記のシステム、装置及びユニットの具体的な作業過程に関して、上記した実施例中の対応過程に参照することができることが、当業者とって明らかであるために、詳細な説明を省略する。
【００７８】
本願で提供される実施例において,理解すべきことは,開示された装置及び方法は,他の方式で実現されてもよいことである。例えば,以上に説明された装置実施例は概略的なものであり,例えば,前記ユニットの分割は,論理機能分割のみであり,実際に実現する時に別の分割方式を有することができ,例えば複数のユニット又は構成要素を組み合わせ又は集積することができ又はいくつかの特徴を無視することができ,又は実行しないことができる。また,表示又は議論された相互間の結合又は直接結合若しくは通信接続はいくつかのインターフェース,装置又はユニットの間接結合又は通信接続であってもよく,電気的であってもよく,機械的又は他の形式であってもよい。
【００７９】
分離部品として説明されたユニットは、物理的に別個であってもなくてもよい。ユニットとして表示される部品は、物理ユニットであってもよく又は物理ユニットでなくてもよく,すなわち一つの場所に位置してもよく,又は複数のネットワークユニットに分散されてもよい。実際のニーズに応じてその中の一部又は全部のユニットを選択して本発明の実施例の解決手段を実現することができる。
【００８０】
なお、本発明の実施例にかかる各機能的ユニットは、1つの処理ユニットに集約しても良く、物理的に単独でもよく、2つ以上で一つのユニットとして集約してもよい。
【００８１】
前記機能は、ソフトウェア機能ユニットの形で実現し、且つ、独立製品として販売または使用する場合に、コンピュータ読取り可能な記憶媒体に記憶することができる。この場合に、本発明の技術方案は本質的、または従来技術に貢献する部分若しくは前記技術方案の部分はソフトウェア製品の形で表現される。前記コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータ装置(パーソナルコンピュータ、サーバ、或はネットワークデバイスなど)により本発明の各実施例にかかる前記方法の全部或は一部のステップを実行させる複数の指令を含む。なお、前述の記憶媒体は、USBメモリ、リムーバブルディスク、ROM、RAM、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【００８２】
以上のように,本発明の具体的な実施形態に過ぎず,本発明の保護範囲はこれに限定されるものではなく,当業者が本発明に開示する技術範囲内で,容易に変更又は置換することができ,いずれも本発明の保護範囲内に含まれるべきである。従って,本発明の保護範囲は特許請求の保護範囲を基準とすべきである。
【図１】
2020140709.tif 000006
【図２】
2020140709.tif 000007
【図３】
2020140709.tif 000008
【図４】
2020140709.tif 000009