(57)【要約】【課題】本発明の実施例は、サブワード単位の分割方法、装置及びコンピュータ読み取り可能な記憶媒体を提供する。【解決手段】本発明の実施例に係るサブワード単位の分割方法は、単語分割後の入力文を基に、畳み込みニューラルネットワークの異なる長さの畳み込みフィルタによって入力文の特徴マップを取得し、さらには取得された複数の特徴マップの間で特徴マップフラグメントの組み合わせを行うことにより、入力文に対応するマップフラグメント組み合わせを取得し、そして特徴の明確さにより、これらのマップフラグメント組み合わせにおいて最適な単語分割の選択を行い、これにより最適な単語分割結果を取得する可能性を高め、さらにはニューラル機械翻訳の性能を高めることができる。【選択図】図１
2020064624.tif 000002
【特許請求の範囲】
【請求項１】
ニューラル機械翻訳に応用されるサブワード単位の分割方法であって、
単語分割処理後の入力文の単語表現行列を生成するステップと、
畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対して畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得するステップと、
前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得するステップと、
前記少なくとも一つのマップフラグメントの組み合わせから特徴が最も顕著な目標の組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得するステップと、を含むことを特徴とするサブワード単位の分割方法。
【請求項２】
前記単語分割処理後の入力文の単語表現行列を生成するステップは、
単語分割処理後の入力文を取得するステップであって、前記入力文は単語、及び隣接する単語間のスペース又は句読点を含む、ステップと、
単語分割処理後の入力文を文字レベルの文字表現に分割し、word2vecモデル又はランダム初期化モデルにより、訓練によって前記文字表現の単語表現行列を取得するステップであって、前記単語表現行列は単語埋め込み行列であり、且つ前記単語表現行列の長さは前記入力文における文字とスペースの数に等しい、ステップと、を含むことを特徴とする請求項１に記載のサブワード単位の分割方法。
【請求項３】
前記少なくとも一つの畳み込みフィルタの長さの値の範囲は、２から前記入力文における最も長い単語の長さまでの範囲であり、
前記畳み込みフィルタの幅は、全て前記単語埋め込み行列の幅と同じであり、
前記畳み込みフィルタのスライドステップは、全て１であることを特徴とする請求項２に記載のサブワード単位の分割方法。
【請求項４】
前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得するステップは、
走査アルゴリズムにより、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する全てのマップフラグメント組み合わせを取得するステップを含むことを特徴とする請求項１に記載のサブワード単位の分割方法。
【請求項５】
前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標の組み合わせを取得するステップは、
各マップフラグメント組み合わせに対応する行列について、行列における要素の合計値をそれぞれ計算し、合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標の組み合わせとするステップを含むことを特徴とする請求項１に記載のサブワード単位の分割方法。
【請求項６】
前記入力文のサブワード単位の分割結果を取得した後に、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得するステップをさらに含むことを特徴とする請求項５に記載のサブワード単位の分割方法。
【請求項７】
ニューラル機械翻訳に応用されるサブワード単位の分割装置であって、
単語分割処理後の入力文の単語表現行列の生成する単語表現生成ユニットと、
畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対して畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得する特徴マップ処理ユニットと、
前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメント組み合わせを取得するマップフラグメント組み合わせユニットと、
前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標の組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得する分割結果取得ユニットと、を含むことを特徴とするサブワード単位の分割装置。
【請求項８】
前記単語表現生成ユニットは、
単語分割処理後の入力文を取得する入力文取得ユニットであって、前記入力文は単語、及び隣接する単語間のスペース又は句読点を含む、入力文取得ユニットと、
単語分割処理後の入力文を文字レベルの文字表現に分割し、word2vecモデル又はランダム初期化モデルにより、訓練によって前記文字表現の単語表現行列を取得する単語表現行列取得ユニットであって、前記単語表現行列は単語埋め込み行列であり、且つ前記単語表現行列の長さは前記入力文における文字とスペースの数に等しい、単語表現行列取得ユニットと、を含むことを特徴とする請求項７に記載のサブワード単位の分割装置。
【請求項９】
前記少なくとも一つの畳み込みフィルタの長さの値の範囲は、２から前記入力文における最も長い単語の長さまでの範囲であり、
前記畳み込みフィルタの幅は、全て前記単語埋め込み行列の幅と同じであり、
前記畳み込みフィルタのスライドステップは、全て１であることを特徴とする請求項８に記載のサブワード単位の分割装置。
【請求項１０】
前記分割結果取得ユニットは、各マップフラグメント組み合わせに対応する行列について、行列における要素の合計値をそれぞれ計算し、合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標の組み合わせとすることを特徴とする請求項７に記載のサブワード単位の分割装置。
【請求項１１】
前記分割結果取得ユニットは、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得することを特徴とする請求項１０に記載のサブワード単位の分割装置。
【請求項１２】
Seq2Seqモデルを含むニューラル機械翻訳装置であって、
請求項７乃至１１のいずれかに記載のサブワード単位の分割装置を含み、
前記Seq2Seqモデルは、前記分割結果取得ユニットにより取得された前記入力文のサブワード単位の分割結果を取得し、前記入力文の翻訳結果を出力することを特徴とするニューラル機械翻訳装置。
【請求項１３】
メモリ、プロセッサ、及びメモリに格納され、且つプロセッサにより実行可能なコンピュータプログラムを含み、
前記コンピュータプログラムが前記プロセッサにより実行される場合、請求項１乃至６のいずれかに記載のサブワード単位の分割方法のステップを実現することを特徴とするサブワード単位の分割装置。
【請求項１４】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサにより実行される場合、請求項１乃至６のいずれかに記載のサブワード単位の分割方法のステップを実現することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理（NLP，Natural  Language  Processing）におけるニューラル機械翻訳技術分野に関し、さらに具体的には、サブワード単位の分割方法、装置、ニューラル機械翻訳装置及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００２】
単語分割技術はニューラル機械翻訳（NMT，Neural  Machine  Translation）の重要なデータ処理技術として、OOV（Out  of  Vocabulary、未定義語）と低頻度語（Rare  word）を正確に翻訳できない問題を解決することができる。その中で、OOVとは辞書にない単語を指し、低頻度語とは一部辞書にある単語で、トレーニング集合において現れる回数が少なすぎる単語を指し、通常トレーニングによりいい単語ベクトルを得ることができない。
【０００３】
従来の単語分割技術は、辞書と文法規則に基づく単語分割方法と、統計に基づく単語分割方法を含む。その中で、辞書と文法規則に基づく単語分割方法は、辞書マッチングと文法知識を応用して単語分割を行い、それはファイル内の文字列と辞書内の見出し語を逐一マッチングさせ、辞書からある文字列を見つけた場合、マッチングに成功して分割することができ、マッチングしない場合、分割することができないという原理に基づくものである。具体てきには、逐語トラバースメソッド、最大マッチング法、最小サブワード単位の分割方法などを含む。統計に基づく単語分割方法は、単語頻度統計に基づく単語分割方法の場合、単語頻度統計の方法を採用することにより、ファイルの中に現れた文字の統計頻度によって単語を構成するか否かを決定する。
【０００４】
発明者は、ニューラル機械翻訳に応用する場合、上記単語分割方法の単語分割結果と最適な単語分割結果に大きな違いがあることに気付いた。そのため、従来の単語分割結果をさらに処理し、最適な単語分割結果を得る可能性を高めるサブワード単位の分割方法が特に必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例で解決しようとする技術問題は、サブワード単位の分割方法、装置、ニューラル機械翻訳装置及びコンピュータ読み取り可能な記憶媒体を提供し、最適な単語分割結果を得る可能性を高めることである。
【課題を解決するための手段】
【０００６】
本発明の実施例では、ニューラル機械翻訳に応用されるサブワード単位の分割方法であって、単語分割処理後の入力文の単語表現行列を生成するステップと、畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得するステップと、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得するステップと、前記少なくとも一つのマップフラグメントの組み合わせから特徴が最も顕著な目標の組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得するステップと、を含むことを特徴とするサブワード単位の分割方法を提供する。
【０００７】
好ましいものとして、前記単語分割処理後の入力文の単語表現行列を生成するステップは、単語分割処理後の入力文を取得し、前記入力文が単語及び隣接する単語間のスペース又は句読点を含むステップと、単語分割処理後の入力文を文字レベルの文字表現に分割し、word2vecモデルあるいはランダム初期化モデルにより、訓練によって前記文字で表現する単語表現行列を取得し、前記単語表現行列は単語埋め込み行列で、且つ前記単語表現行列の長さは前記入力文における文字とスペースの数に等しいステップと、を含む。
【０００８】
好ましいものとして、前記少なくとも一つの畳み込みフィルタの長さの値の範囲が2から前記入力文における最も長い単語の長さまでで、前記畳み込みフィルタの幅はすべて前記単語埋め込み行列の幅と同じであり、且つ前記畳み込みフィルタのスライドステップがすべて１である。
【０００９】
好ましいものとして、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得する前記ステップは、走査アルゴリズムにより、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応するすべてのマップフラグメント組み合わせを取得するステップを含む。
【００１０】
好ましいものとして、前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標組み合わせを取得する前記ステップは、各マップフラグメント組み合わせに対応する行列に対し、行列における要素の合計値をそれぞれ計算し、さらに合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標組み合わせとするステップを含む。
【００１１】
好ましいものとして、前記入力文のサブワード単位の分割結果を取得してから、前記方法は、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得するステップをさらに含む。
【００１２】
また、本発明の実施例では、ニューラル機械翻訳におけるサブワード単位分割装置であって、単語分割処理後の入力文の単語表現行列の生成に用いられる単語表現生成ユニットと、畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得することに用いられる特徴マップ処理ユニットと、前記少なくとも一つの特徴マップにおける特徴マップフラグメントに対し組み合わせを行い、前記入力文に対応する少なくとも一つのマップフラグメント組み合わせを取得することに用いられるマップフラグメント組み合わせユニットと、前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得することに用いられる分割結果取得ユニットと、を含むことを特徴とするサブワード単位分割装置を提供する。
【００１３】
好ましいものとして、前記少なくとも一つの畳み込みフィルタの長さの値の範囲が2から前記入力文における最も長い単語の長さまでで、前記畳み込みフィルタの幅がすべて前記単語埋め込み行列の幅と同じであり、且つ前記畳み込みフィルタのスライドステップがすべて１である。
【００１４】
好ましいものとして、前記分割結果取得ユニットは、具体的には各マップフラグメント組み合わせに対応する行列に対し、行列における要素の合計値をそれぞれ計算し、さらに合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標組み合わせとすることに用いる。
【００１５】
好ましいものとして、前記分割結果取得ユニットは、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得することにも用いられる。
【００１６】
また、本発明の実施例では、Seq2Seqモデルを含むニューラル機械翻訳装置であって、前記のサブワード単位分割装置を含み、前記Seq2Seqモデルは、前記分割結果取得ユニットが取得した前記入力文のサブワード単位の分割結果を取得し、且つ前記入力文の翻訳結果を出力するのに用いられることを特徴とするニューラル機械翻訳装置を提供する。
【００１７】
また、本発明の実施例では、メモリ、プロセッサ及びメモリに格納され、且つプロセッサにより実行可能なコンピュータプログラムを含み、前記コンピュータプログラムが前記プロセッサにより実行される場合、前記のサブワード単位分割方法のステップを実現することを特徴とするサブワード単位分割装置を提供する。
【００１８】
また、本発明の実施例では、前記コンピュータ読み取り可能な記憶媒体にコンピュータプログラムが格納され、前記コンピュータプログラムがプロセッサにより実行される場合、前記のサブワード分割方法のステップを実現することを特徴とするコンピュータ読み取り可能な記憶媒体を提供する。
【発明の効果】
【００１９】
従来の技術に比べ、本発明の実施例が提供するサブワード単位の分割方法、装置及びコンピュータ読み取り可能な記憶媒体は、畳み込みニューラルネットワークの異なる長さの畳み込みフィルタによって、入力文の特徴マップを取得し、さらには取得した複数の特徴マップの間で特徴マップフラグメントの組み合わせを行うことにより、入力文に対応するマップフラグメント組み合わせを取得し、そして特徴の明確さによって、これらのマップフラグメント組み合わせから最適な単語分割の選択を行い、これにより最適な単語分割結果を得る可能性を高め、さらにはニューラル機械翻訳の性能を高めることができる。
【図面の簡単な説明】
【００２０】
本発明の実施例にかかる技術方案をより明確に説明するため、本発明に実施例を説明するのに必要な添付図面を簡単に紹介する。明らかに、以下に説明する図面は本発明の一部の実施例に過ぎない。本発明分野の当業者は、創造性労働を払わない前提で、これらの図面に基づいて他の図面を得ることができる。
【図１】本発明実施例のサブワード単位の分割方法のフローチャートである。
【図２】本発明実施例におけるサブワード単位の分割方法の応用例図である。
【図３】本発明実施例のサブワード単位分割装置の構造概略図である。
【図４】本発明実施例のニューラル機械翻訳装置の構造概略図である。
【図５】本発明実施例のサブワード単位分割装置の別の構造概略図である。
【発明を実施するための形態】
【００２１】
本発明が解決する技術問題、技術方案及び優れた点をより明確にするため、以下に図面と具体的な実施例を詳しく説明する。以下の説明では、具体的な配置とコンポーネントの特定の細部を提供することは、本発明の実施例を全面的に理解することに役立つ。したがって、本発明の範囲と主旨から逸脱することなく、ここで述べた実施例に対して様々な変更と改良が可能であることを、当業者にとって明白である。また、明瞭且つ簡潔にするため、既知の機能と構造の記述を省略する。
【００２２】
本明細書で言及した「一つ実施例」または「実施例」は、実施例に関連する特定の特徴、構造または特性が本発明の少なくとも一つの実施例に含まれることを意味する。したがって、本明細書のいたるところに出現する「一つの実施例で」または「実施例で」とは必ずしも同じ実施例を指すとは限らない。なお、これら特定の特徴、構造若しくは特性は任意に適当な方式で一つ或は複数の実施例で結合することができる。
【００２３】
本発明の種々の実施例において、以下の各プロセスの番号の大きさは実行順序の前後を意味するものではない。各プロセスの実行順序は、その機能と内在的論理に依存し、本発明実施例の実施過程に対していかなる限定も行われない。
【００２４】
本発明実施例に対する理解を助けるため、まず、本発明の実施例にかかわる可能性がある関連概念について簡単な説明を行う。
【００２５】
1）単語（word）、文字（character）及びサブワード（subword）
構文構造における単語の地位と役割からみた場合、単語は言語において独立して運用できる最小ユニットである。例えば、英語において、単語とは通常ワード（word）を指し、一つ又は複数の英語のアルファベットを含むことができる。このほか、英語の文表現において、単語と単語の間は通常スペース又は句読点を使用する。中国語においては、単語とは通常語句を指し、一つ又は複数の漢字を含むことができる。中国語の文表現において、単語と単語の間は境目がない。
【００２６】
文字：本文における文字とは通常英語のアルファベット、中国語の漢字、及び様々な句読点（例えば、読点、句点など）を指す。
【００２７】
サブワード（subword）は本文においてサブワード単位とも呼ばれ、文字と単語間のテキスト表現ユニットである。例えば、英単語「homework」の場合、この単語には8文字が含まれ、それぞれ「home」と「work」の2つのサブワード単位に分割することができ、またはそれぞれ「ho」、「me」と「work」の3つのサブワード単位に分割することもできる。中国語語句「生命探測儀（Life  detector/人命探査装置）」の場合、5つの文字が含まれ、それぞれ「生命」と「探測儀」の二つのサブワード単位に分割することができ、またはそれぞれ「生命」、「探測」と「儀」の三つのサブワード単位に分割することもできる。
【００２８】
図1を参照すると、本発明の実施例が提供するサブワード単位の分割方法はニューラル機械翻訳に適用し、具体的には英語、日本語、中国語などのソース言語の翻訳に応用することができ、図1に示すように、当該方法は次のステップS101〜S104を含む。
【００２９】
ステップS101：単語分割処理後の入力文の単語表現行列を生成する。
【００３０】
ここで、前記入力文は英語、中国語あるいは日本語などの言語のテキスト表現であることができる。S101において、単語分割処理後の入力文に対し処理を行い、入力文の単語表現行列を生成する。具体的には、前記単語分割処理は辞書と文法規則に基づく単語分割方法と、統計に基づく単語分割方法を採用することができ、本発明の実施例はこれについて詳しく限定しないものとする。
【００３１】
好ましくは、単語表現行列は単語埋め込み(word  embedding)行列であってもよい。上記S101においては、まず単語分割処理後の入力文を取得することができ、前記入力文は単語及び隣接する単語との間のスペース又は句読点を含む。
【００３２】
英語文については、通常隣接する単語の間にスペース又は句読点が存在し、そのため、直接単語分割処理後の入力文として処理を行うことができる。例えば、単語分割処理前の入力文が「I  love  NLP」であると仮定した場合、直接単語分割処理後の文とすることができ、その文は3つの単語を含み、それぞれ「I」、「love」と「NLP」で、隣接する単語の間にはスペースがある。中国語文については、様々な単語分割処理方式によって単語分割処理を行うことができ、単語分割処理後の入力文における隣接する単語の間に句読点がない場合、スペースを入れ、二つの単語の境界を分割することができる。例えば、単語分割処理前の入力文が「我喜歓自然言語処理（私は自然言語処理が好きだ）」であると仮定した場合、当該入力文の単語分割処理後のテキスト表現は「我  喜歓  自然言語処理」であることができ、その文は3つの単語を含み、それぞれ「我」、「喜歓」と「自然言語処理」で、隣接する単語の間にスペースを追加した。
【００３３】
そして、単語分割処理後の入力文を文字レベル（character-level）の文字表現に分割し、word2vecモデルあるいはランダム初期化モデルにより、訓練によって前記文字表現の単語表現行列を取得する。ここで、前記単語表現行列の長さ（length）は前記入力文における文字とスペースの数である。続けて上記「I  love  NLP」の例をみると、ここで得られた単語表現行列の長さは8文字と2スペースで、すなわち、長さは10である。
【００３４】
ステップS102：畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタによって、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得する。
【００３５】
ここで、本発明の実施例は畳み込みニューラルネットワークの畳み込みフィルタ（すなわち畳み込みカーネル）を利用し、異なる長さの畳み込みフィルタに基づき、入力文の異なる特徴マップ（feature  map）を取得することができる。好ましくは、前記複数の畳み込みフィルタの長さは2から最も長い単語の長さ（すなわち、長さが最も長い単語に含まれる文字の数）までであることができ、幅もS101で得られた単語埋め込み行列の幅と同じであることができ、且つ、前記畳み込みフィルタのスライドステップは1である。畳み込みフィルタの大きさはハイパーパラメータで、後続のニューラル機械翻訳モデルにおけるデコーダ（decoder）に依存する。続けて上記「I  love  NLP」の例をみると、ここで得られた最大の長さは「love」で、4文字が含まれているため、長さは2から４までであることができる。
【００３６】
上記S102において、本発明の実施例は各畳み込みフィルタによって、前記入力文の一つの特徴マップを取得することができ、当該特徴マップは入力文のテキスト特徴を反映している。複数の異なる長さの畳み込みフィルタを基に、前記入力文の複数の特徴マップを取得することができる。各特徴マップは複数の特徴マップフラグメントを含み、各特徴マップフラグメントは前記入力文における一部テキスト（文字とスペースを含む）に対応する。
【００３７】
ステップS103：前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得する。
【００３８】
S103において、具体的には動的計画（Dynamic  Programming）あるいはその他の走査アルゴリズムにより、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応するすべてのマップフラグメント組み合わせを取得し、各マップフラグメント組み合わせは一つあるいは複数の特徴マップにおける特徴マップフラグメントを含むことができる。前にも述べたように、各特徴マップフラグメントは前記入力文における一部テキストに対応する。前記入力文に対応するマップフラグメント組み合わせとは、当該マップフラグメント組み合わせにおけるすべての特徴マップフラグメントが対応する一部テキストを指し、前記入力文における位置はいずれもオーバーラップがなく、且つ、当該マップフラグメント組み合わせにおけるすべての特徴マップフラグメントが対応する一部テキストの組み合わせは、前記入力文と同じである。
【００３９】
ステップS104：前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標の組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得する。
【００４０】
前記入力文に対応する少なくとも一つのマップフラグメント組み合わせを取得してから、これらのマップフラグメント組み合わせから特徴が最も顕著なマップフラグメント組み合わせを一つ選択して目標組み合わせとすることができ、この場合、当該目標組み合わせにおける各特徴マップフラグメントが対応する一部テキストは、前記入力文のサブワード単位の分割結果の一つであり、当該分割結果は従来の単語分割結果に比べ、最適な単語分割結果にもっと近づけることができる。
【００４１】
具体的には、S104において、特徴が最も顕著なマップフラグメント組み合わせを選択する時、各マップフラグメント組み合わせに対応する行列に対し、行列における全ての要素の合計値をそれぞれ計算し、さらに合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標組み合わせとすることができる。
【００４２】
上記のステップによって、本発明の実施例は単語分割後の入力文を基に、さらに畳み込みニューラルネットワークの畳み込みフィルタによって、異なる単語の長さにおける特徴マップを取得し、さらには特徴マップフラグメントの組み合わせによって、様々な可能なサブワード単位の分割結果を取得することができ、最後にはその中から特徴が最も顕著な分割結果を選択して後続のニューラル機械翻訳装置の入力とし、単語分割結果を最適な単語分割結果にもっと近づけ、さらには後続のニューラル機械翻訳の性能を高めることができる。
【００４３】
好ましくは、本発明の実施例において、上記S104の後に、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得することができる。
【００４４】
上記内容に対する理解を助けるため、本発明の実施例は図2によって上記「I  love  NLP」の例示的な分割プロセスを示した。図2において、単語埋め込み行列201は単語分割処理後の入力文「I  love  NLP」の単語埋め込み行列を示し、単語埋め込み行列201の長さは10で、図2において10個の小さい四角の枠に対応し、その中で各小さい四角の枠は入力文を文字レベルの分割することにより取得した各文字あるいはスペースに対応する単語埋め込み行列を示し、理解を助けるため、各小さい四角の枠の中に当該単語埋め込み行列が対応する文字あるいはスペースを表示した。
【００４５】
入力文「I  love  NLP」において最も長い単語は「love」で、4文字が含まれているため、畳み込みフィルタの長さは2から４までである。図2に長さが2〜4の3種類の畳み込みフィルタを示した。その中で、畳み込みフィルタ202は長さが2の畳み込みフィルタで、畳み込みフィルタ203は長さが3の畳み込みフィルタで、畳み込みフィルタ204は長さが4の畳み込みフィルタである。上記畳み込みフィルタの幅は単語埋め込み行列の幅と同じで、畳み込みフィルタの大きさはエンコーダ（encoder）のリカレントニューラルネットワークモデル（RNN，Recurrent  Neural  Network）に依存し、畳み込みフィルタのステップは１で、すなわち、毎回1文字又はスペース移動する。
【００４６】
入力文「I  love  NLP」の単語埋め込み行列201を取得してから、上記畳み込みフィルタ202〜204によって、それぞれ単語埋め込み行列201に対し畳み込み処理を行い、前記入力文の3つの特徴マップを取得し、それぞれ特徴マップ205〜207とする。
【００４７】
具体的には、畳み込みフィルタ202により単語埋め込み行列201を畳み込み処理してから、入力文の特徴マップ205を取得し、特徴マップ205の長さは9で、9つの特徴マップフラグメントを含み、図2においては11〜19の合計9つの小さい四角の枠に対応する。その中で、各特徴マップフラグメントは入力文において連続する2文字（あるいは1文字と1スペース）に対応する単語埋め込み行列と畳み込みフィルタ202の畳み込み結果を示し、例えば、特徴マップフラグメント11は、「I+スペース」が対応する単語埋め込み行列と畳み込みフィルタ202の畳み込み結果を示し、特徴マップフラグメント16は「文字e+スペース」が対応する単語埋め込み行列と畳み込みフィルタ202の畳み込み結果を示す。
【００４８】
類似した状況として、畳み込みフィルタ203により単語埋め込み行列201を畳み込み処理してから、入力文の特徴マップ206を取得し、特徴マップ206の長さは8で、8つの特徴マップフラグメントを含み、図2においては21〜28の合計8つの小さい四角の枠に対応する。その中で、各特徴マップフラグメントは入力文において連続する3文字（あるいは2文字と1スペース）に対応する単語埋め込み行列と畳み込みフィルタ203の畳み込み結果を示し、例えば、特徴マップフラグメント23は、「lov」が対応する単語埋め込み行列と畳み込みフィルタ203の畳み込み結果を示し、特徴マップフラグメント28は「NLP」が対応する単語埋め込み行列と畳み込みフィルタ203の畳み込み結果を示す。
【００４９】
畳み込みフィルタ204により単語埋め込み行列201を畳み込み処理してから、入力文の特徴マップ207を取得し、特徴マップ207の長さは7で、7つの特徴マップフラグメントを含み、図2においては31〜37の合計7つの小さい四角の枠に対応する。その中で、各特徴マップフラグメントは入力文において4文字（あるいは3文字と1スペース）に対応する単語埋め込み行列と畳み込みフィルタ204の畳み込み結果を示し、例えば、特徴マップフラグメント33は、「love」が対応する単語埋め込み行列と畳み込みフィルタ204の畳み込み結果を示し、特徴マップフラグメント37は「スペース+NLP」が対応する単語埋め込み行列と畳み込みフィルタ204の畳み込み結果を示す。
【００５０】
入力文「I  love  NLP」の3つの特徴マップを取得してから、これらの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得することができる。例えば、特徴マップフラグメント11、23、16と28を組み合わせたマップフラグメント組み合わせ208は、その含まれた特徴マップフラグメントが対応するテキストはちょうど入力文「I  love  NLP」である。さらに例えば、特徴マップフラグメント11、33と37を組み合わせたマップフラグメント組み合わせ209は、その含まれた特徴マップフラグメントが対応するテキストもちょうど入力文「I  love  NLP」である。動的計画の方法により、前記入力文のすべてのマップフラグメント組み合わせを見つけることができる。それから、これらのマップフラグメント組み合わせから特徴が最も顕著なマップフラグメント組み合わせを選択し、当該マップフラグメント組み合わせ自体が一つの行列であり、例えば、行列の全ての要素に対し合計を求める方法により、合計値が最も大きい行列を見つけて目標組み合わせとし、単語分割の分割結果を取得することができる。さらには、上記目標組み合わせをseq2seqモデルにおけるエンコーダに入力し、ニューラル機械翻訳モデルにより入力文に対しソース言語から目標言語への翻訳を行い、前記入力文の目標言語における翻訳結果を取得することができる。
【００５１】
上記実施例が提供するサブワード単位の分割方法に基づき、本発明の実施例はまた、コンピュータ読み取り可能な記憶媒体を提供し、その中にはコンピュータプログラムが格納され、前記コンピュータプログラムがプロセッサにより実行される場合、上記任意方法の実施例におけるサブワード単位の分割方法の方法におけるステップを実現する。
【００５２】
以上の方法に基づき、本発明の実施例はまた上記方法を実施する装置を提供し、図3を参照すれば分かるように、本発明の実施例が提供するサブワード単位の分割装置302は、ニューラル機械翻訳において単語分割処理後の入力文に対するさらなるサブワード分割処理に応用することができ、図3に示すように、当該サブワード単位の分割装置302は、単語表現生成ユニット3021、特徴マップ処理ユニット3022、マップフラグメント組み合わせユニット3023、及び分割結果取得ユニット3024を含む。
【００５３】
単語表現生成ユニット3021は、単語分割処理後の入力文の単語表現行列を生成する。
【００５４】
特徴マップ処理ユニット3022は、畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得する。
【００５５】
マップフラグメント組み合わせユニット3023は、前記少なくとも一つの特徴マップにおける特徴マップフラグメントに対し組み合わせを行い、前記入力文に対応する少なくとも一つのマップフラグメント組み合わせを取得する。
【００５６】
分割結果取得ユニット3024は、前記少なくとも一つのマップフラグメント組み合わせにおいて特徴が最も顕著な目標組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得する。
【００５７】
好ましくは、前記単語表現生成ユニット3021は、具体的には単語分割処理後の入力文の取得に用いられ、前記入力文が単語及び隣接する単語間のスペースまたは句読点を含み、分割処理後の入力文を文字レベルの文字表現に分割し、word2vecモデルあるいはランダム初期化モデルにより、訓練によって前記文字表現の単語表現行列を取得し、前記単語表現行列は単語埋め込み行列で、且つ前記単語表現行列の長さは前記入力文における文字とスペースの数に等しい。
【００５８】
ここで、前記複数の畳み込みフィルタの長さの値の範囲は2から前記入力文において最も長い単語の長さまでで、前記畳み込みフィルタの幅は前記単語埋め込み行列の幅と同じであり、且つ前記畳み込みフィルタのスライドステップは１である。
【００５９】
好ましくは、前記マップフラグメント組み合わせユニット3023は、具体的には動的計画アルゴリズムにより、前記少なくとも一つの特徴マップにおける特徴マップフラグメントに対し組み合わせを行い、前記入力文に対応するすべてのマップフラグメント組み合わせを取得する。
【００６０】
好ましくは、前記分割結果取得ユニット3024は、具体的には各マップフラグメント組み合わせに対応する行列に対し、行列における要素の合計値をそれぞれ計算し、さらに合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標組み合わせとする。
【００６１】
好ましくは、前記分割結果取得ユニット3024は、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得することにも用いられる。
【００６２】
上記サブワード単位分割装置に基づき、本発明の実施例はまたニューラル機械翻訳装置300を提供し、図4に示すように、当該ニューラル機械翻訳装置300は単語分割装置301、サブワード単位の分割装置302及びSeq2Seqモデル303を含み、その中で、サブワード単位の分割装置302の具体的な構造は図3を参照することができる。Seq2Seqモデル303はまた具体的にエンコーダ3031とデコーダ3032を含む。
【００６３】
前記単語分割装置301は、入力文の受信に用いられ、入力文に対し単語分割処理を行ってからサブワード単位の分割装置302に出力する。
【００６４】
前記サブワード単位の分割装置302における単語表現生成ユニットは、単語分割装置301が送信した単語分割処理後の入力文の受信し、単語分割処理後の入力文の単語表現行列の生成に用いられる。
【００６５】
前記サブワード単位の分割装置302における特徴マップ処理ユニットは、畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタにより、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得することに用いられる。
【００６６】
前記サブワード単位の分割装置302におけるマップフラグメント組み合わせユニットは、前記少なくとも一つの特徴マップにおける特徴マップフラグメントに対し組み合わせを行い、前記入力文に対応する少なくとも一つのマップフラグメント組み合わせを取得することに用いられる。
【００６７】
前記サブワード単位の分割装置302における分割結果取得ユニットは、前記少なくとも一つのマップフラグメント組み合わせから特徴が最も顕著な目標組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得してSeq2Seqモデル303に入力することに用いられる。
【００６８】
前記Seq2Seqモデル303は、前記分割結果取得ユニットが取得した前記入力文のサブワード単位の分割結果を受信し、且つ前記入力文の翻訳結果を出力することに用いられる。
【００６９】
図5を参照すれば分かるように、本発明実施例はまたサブワード単位分割装置のハードウェア構造ブロック図を提供し、図5に示すように、当該サブワード単位の分割装置500は、プロセッサ502と、メモリ504を含み、コンピュータプログラムのコマンドは前記メモリ504に格納されている。
【００７０】
その中で、前記コンピュータプログラムコマンドが前記プロセッサにより実行される場合、前記プロセッサ502に、単語分割処理後の入力文の単語表現行列を生成するステップと、畳み込みニューラルネットワークの少なくとも一つの畳み込みフィルタを通じて、前記単語表現行列に対し畳み込み処理を行い、前記入力文の少なくとも一つの特徴マップを取得するステップと、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応する少なくとも一つのマップフラグメントの組み合わせを取得するステップと、前記少なくとも一つのマップフラグメントの組み合わせから特徴が最も顕著な目標の組み合わせを選択し、前記入力文のサブワード単位の分割結果を取得するステップと、を含むことを特徴とするサブワード単位の分割方法。
【００７１】
さらに、図5に示すように、当該サブワード単位の分割装置500はまた、ネットワークインターフェイス501、入力デバイス503、ハードディスク505とディスプレイ506を含む。
【００７２】
上記各インターフェイスとデバイスはバスアーキテクチャを通じて相互に接続することができる。バスアーキテクチャは任意の数を含む相互に接続するバスおよびブリッジであることができる。具体的にはプロセッサ502に代表される一つまたは複数の中央処理ユニット（CPU）及びメモリ504に代表される一つまたは複数のメモリの各種電気回路が互いに接続されている。バスアーキテクチャは例えば、周辺機器、電圧レギュレータやパワーマネジメント回路などの各種その他の電気回路をお互いに接続させることができる。バスアーキテクチャはこれらのコンポーネント間の接続通信を実現するのに用いられることを理解すべきである。バスアーキテクチャはデータバスの外、電源バス、制御バスとステータス信号バスを含み、これらは当分野では周知のことのため、本文では詳しく説明しないものとする。
【００７３】
前記ネットワークインターフェイス501は、ネットワーク（例えば、インターネット、イーサーネットなど）に接続することができ、ネットワークから情報を受信し、且つ受信した情報をハードディスク505に格納することができる。
【００７４】
前記入力デバイス503は、例えば、畳み込みフィルタの大きさに対する設定情報など、オペレータが入力したさまざまなコマンドを受信し、且つプロセッサ502に送信して実行させることができる。前記入力デバイス503はキーボード或いはクリックデバイス（例えば、マウス、トラックボール（trackball））、タッチパッド或いはタッチパネルなどを含むことができる。
【００７５】
前記ディスプレイ506は、プロセッサ502がコマンドを実行して取得した結果、例えば、サブワード単位分割結果などを表示することができる。
【００７６】
前記メモリ504は、オペレーションシステムの実行に必要なプログラムとデータ及びプロセッサ502の計算プロセスの中間結果などのデータの格納に用いる。
【００７７】
本発明の実施例において、メモリ504は揮発性メモリ或いは非揮発性メモリであることができ、或いは揮発性と非揮発性メモリの両者を含むことができることを理解すべきである。その中で、非揮発性メモリは読み取り専用メモリ（ROM）、プログラマブル読み取り専用メモリ（PROM）、消去可能プログラマブル読み取り専用メモリ（EPROM）、電気的消去可能プログラマブル読み取り専用メモリ（EEPROM）或いはフラッシュメモリであることができる。揮発性メモリはランダムアクセスメモリ（RM）であることができ、それを外部キャッシュに用いる。本文で記述した装置と方法のメモリ504は、限定される訳ではないが、これらおよびその他任意の適切なタイプのメモリを含むことが意図される。
【００７８】
一部の実施方式において、メモリ504は下記要素を格納し、モジュール或いはデータ構造を実行することができ、或いはそのサブセット、またはその拡張セットであるオペレーションシステム5041とアプリケーション5042を実行することができる。
【００７９】
その中で、オペレーティングシステム5041は、例えば、フレーム層、コアライブラリー層、ドライブ層など、さまざまなシステムプログラムを含み、さまざまな基本業務の実現やハードウェアベースのタスク処理に用いられる。アプリケーション5042は、例えば、ブラウザー(Browser)などさまざまなアプリケーションを含み、各種アプリケーション業務の実現に用いられる。本発明実施例の方法を実現するプログラムはアプリケーション5042に含まれることができる。
【００８０】
本発明の上記実施例に掲示した方法はプロセッサ502に応用することができ、或いはプロセッサ502により実現することができる。プロセッサ502は集積回路チップであることができ、信号処理能力を持っている。実現プロセスにおいて、上記方法の各ステップはプロセッサ502のハードウェアの集積論理回路或いはソフトウェアタイプのコマンドにより完成することができる。本発明の実施例に開示した各方法、ステップ及び論理ブロックは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)或いはその他のプログラマブル論理デバイス、離散ゲート或いはトランジスタ論理デバイス、離散ハードウェアコンポーネントであることができ、上記プロセッサ502によって実現または実行可能である。汎用プロセッサはマイクロプロセッサであることができ、或いは当該プロセッサは如何なる従来のプロセッサなどであることもできる。本発明の実施例に開示した方法を融合したステップは、直接ハードウェアデコードプロセッサで実行を完成するか、或いはデコードプロセッサのハードウェアとソフトウェアモジュールを組み合わせて実行を完成させることができる。ソフトウェアモジュールはランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラマブル読み取り専用メモリ或いは電気的消去可能プログラマブル読み取り専用メモリ、レジスタなど当技術分野で成熟した記憶媒体に位置することができる。当該メモリはメモリ504に位置し、プロセッサ502はメモリ504に格納された情報を読み取り、そのハードウェアと組み合わせて上記方法のステップを完成する。
【００８１】
以上に説明した実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの組み合わせで実現される。その中に、ハードウェアの実現に関して、処理ユニットは一つまたは複数の専用集積回路(ASIC)、デジタル信号処理プロセッサ（DSP）、デジタル信号プロセッサ(DSPD)、プログラム可能論理回路  (PLD)、フィールドプログラマブルゲートアレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本発明の機能を実行する他の電子ユニット或はその組合せにより実現される。
【００８２】
また、ソフトウェアの実現に関しては、以上で説明した機能を実現するモジュール(たとえばプロセス、関数など)により上記技術が実現される。ソフトウェアコードは、メモリに保存され、プロセッサによって実行される。なお、メモリはプロセッサの内部または外部で実現される。
【００８３】
具体的に、前記コンピュータプログラムがプロセッサ502によって実行されることにより、単語分割処理後の入力文を取得し、前記入力文が単語及び隣接する単語間のスペース又は句読点を含むステップと、単語分割処理後の入力文を文字レベルの文字表現に分割し、word2vecモデルあるいはランダム初期化モデルにより、訓練によって前記文字で表現する単語表現行列を取得し、前記単語表現行列は単語埋め込み行列で、且つ前記単語表現行列の長さは前記入力文における文字とスペースの数に等しいステップと、を実現することができる。
【００８４】
ここで、前記少なくとも一つの畳み込みフィルタの長さの値の範囲が2から前記入力文における最も長い単語の長さまでで、前記畳み込みフィルタの幅はすべて前記単語埋め込み行列の幅と同じであり、且つ前記畳み込みフィルタのスライドステップがすべて１である。
【００８５】
具体的に、前記コンピュータプログラムがプロセッサ502によって実行されることにより、動的なプログラミングアルゴリズムにより、前記少なくとも一つの特徴マップにおける特徴マップフラグメントを組み合わせ、前記入力文に対応するすべてのマップフラグメント組み合わせを取得するステップを実現することができる。
【００８６】
具体的に、前記コンピュータプログラムがプロセッサ502によって実行されることにより、各マップフラグメント組み合わせに対応する行列に対し、行列における要素の合計値をそれぞれ計算し、さらに合計値が最も大きい行列に対応するマップフラグメント組み合わせを特徴が最も顕著な目標組み合わせとするステップを実現することができる。
【００８７】
具体的に、前記コンピュータプログラムがプロセッサ502によって実行されることにより、前記合計値が最も大きい行列をニューラル機械翻訳装置におけるSeq2Seqモデルに入力し、前記入力文の翻訳結果を取得するステップを実現することができる。
【００８８】
本発明の技術分野に属する当業者は、以上で開示された実施例に記載された各例のユニットおよびアルゴリズムのステップが、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアとの組み合わせで実現されることが容易に想到する。これらの機能は、ハードウェアまたはソフトウェアのいずれかが実行することが、発明の特定的な適用や設計制約に依存する。当業者が特定の適用に応じた方法で上記の機能を実現させることができるが、本発明の範囲を超えるべきではない。
【００８９】
また、上記のシステム、装置及びユニットにおいて具体的な作業過程について、上記実施例で述べられた対応過程に参照して説明可能なことが明らかであるために、説明上簡潔且つ便宜を理由に、詳細な説明を省略する。
【００９０】
本発明の複数の実施例より開示された方法及び装置は別の形態でも実現可能であることは容易に想到される。例えば、上記記載された装置は模式的なものに過ぎない。例えば、前記したユニットの分割は論理的な機能の割り当ての一例に過ぎず、実際に実現の時に別の分割方式を採用しても良い。例えば、複数のユニットまたはモジュールを組み合わせるか、別のシステムに集約し、または、一部の機能を省略し、若しくは実行しなくてもよい。なお、上記表示または開示された相互的な接続または直接な接続若しくは通信可能な接続は、インターフェイスを介した接続である。装置やユニット同士の間接的な接続または通信可能な接続は、電気的または機械的もしくは他の形態の接続でよい。
【００９１】
前記分離部材として説明したユニットは物理的に分離してもしなくてもよい。ユニットとして表示する部材は物理的なユニットであってもでなくてもよい。即ち、同一の場所にしてよく、複数のネットワークユニット上に分散してもよい。実際の需要に応じてその中の一部または全部のユニットを選択して本発明の実施例の目的を実現する。
【００９２】
なお、本発明の実施例にかかる各機能的ユニットは、1つの処理ユニットに集約しても良く、物理的に単独でもよく、2つ以上で一つのユニットとして集約してもよい。
【００９３】
前記機能は、ソフトウェア機能ユニットの形で実現し、且つ、独立製品として販売または使用する場合に、コンピュータ読取り可能な記憶媒体に記憶することができる。この場合に、本発明の技術方案は本質的、または従来技術に貢献する部分若しくは前記技術方案の部分はソフトウェア製品の形で表現される。前記コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータ装置(パーソナルコンピュータ、サーバ、或はネットワークデバイスなど)に本発明の各実施例にかかる前記方法の全部或は一部のステップを実行させる複数の指令を含む。なお、前述の記憶媒体は、USBメモリ、リムーバブルディスク、ROM、RAM、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【００９４】
以上は本発明の具体的な実施形態ではあるが、本発明の保護範囲を限定するものではない。本発明に開示される技術範囲内で、本技術分野に属する当業者が容易に想到される変化または置換は、本発明の保護範囲内に含めるべきである。したがって、本発明の保護範囲は権利要求の保護範囲を準じるべきである。
【図１】
2020064624.tif 000003
【図２】
2020064624.tif 000004
【図３】
2020064624.tif 000005
【図４】
2020064624.tif 000006
【図５】
2020064624.tif 000007