(57)【要約】【課題】  言語処理方法及び装置を提供する。【解決手段】  ニューラルネットワークを用いた言語処理装置は、ニューラルネットワーク基盤のエンコーダを用いてソース文章から文脈情報を取得し、ニューラルネットワーク基盤のメインデコーダを用いて文脈情報からプレフィックストークンを生成する。プレフィックストークンが予め設定された条件を満足する場合、言語処理装置は、スキップモデルを用いてプレフィックストークンに続く２以上の連続するトークンを含むトークンシーケンスを生成し、プレフィックストークン及びトークンシーケンスが結合されたターゲット文章を出力する。【選択図】      図１
2019102067.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ、ＮＮ）を用いた言語処理方法において、
ニューラルネットワーク基盤のエンコーダを用いてソース文章から文脈情報を取得するステップと、
ニューラルネットワーク基盤のメインデコーダを用いて、前記文脈情報からプレフィックストークンを生成するステップと、
前記プレフィックストークンが予め設定された条件を満足する場合、スキップモデルを用いて前記プレフィックストークンに続く２以上の連続するトークンを含むトークンシーケンスを生成するステップと、
前記プレフィックストークン及び前記トークンシーケンスが結合されたターゲット文章を出力するステップと、
を含む、言語処理方法。
【請求項２】
前記プレフィックストークン及び前記トークンシーケンスを前記メインデコーダに入力し、１つ以上のトークンが前記トークンシーケンスに続く結果を連続的に生成するステップをさらに含む、請求項１に記載の言語処理方法。
【請求項３】
前記メインデコーダは、トークンを連続的に生成する、請求項１又は２に記載の言語処理方法。
【請求項４】
前記予め設定された条件を満足する前記プレフィックストークンに基づいて、前記スキップモデルによる前記トークンシーケンスの生成によって前記メインデコーダは前記文脈情報を復号化する、請求項３に記載の言語処理方法。
【請求項５】
前記プレフィックストークンが予め設定された条件を満足しない場合、前記メインデコーダを用いて前記プレフィックストークンに続くトークンを生成するステップをさらに含む、請求項１ないし４のうちの何れか一項に記載の言語処理方法。
【請求項６】
前記スキップモデルは、複数の単語を綴り順に整列した辞典を含む、請求項１ないし５のうちの何れか一項に記載の言語処理方法。
【請求項７】
前記条件は、前記トークンシーケンスが前記プレフィックストークンに続く確率が閾値以上である条件を含む、請求項６に記載の言語処理方法。
【請求項８】
前記スキップモデルは、ニューラルネットワーク基盤のサブデコーダを含む、請求項１ないし７のうちの何れか一項に記載の言語処理方法。
【請求項９】
前記条件は、前記トークンシーケンスを生成する難易度が閾値以下である条件を含む、請求項８に記載の言語処理方法。
【請求項１０】
前記プレフィックストークンを生成するステップは、予め設定された個数のビームノードごとにプレフィックストークンを生成し、
前記トークンシーケンスを生成するステップは、前記予め設定された個数のビームノードごとに前記スキップモデルを用いて前記トークンシーケンスを生成する、請求項１ないし９のうちの何れか一項に記載の言語処理方法。
【請求項１１】
前記ターゲット文章を出力するステップは、前記ビームノードごとに取得された前記プレフィックストークン及び前記トークンシーケンスを含む候補文章のうちターゲット文章を決定する、請求項１０に記載の言語処理方法。
【請求項１２】
前記メインデコーダは第１隠れノードと第２隠れノードを含み、前記第１隠れノードは、前記プレフィックストークンが入力されて前記スキップモデルを用いて前記トークンシーケンスを生成し、前記第２隠れノードは、前記プレフィックストークンと前記トークンシーケンスが入力される、請求項１ないし１１のうちの何れか一項に記載の言語処理方法。
【請求項１３】
前記サブデコーダは第３隠れノードと第４隠れノードを含み、前記第３隠れノードは、前記プレフィックストークンが入力されて前記トークンシーケンスを生成し、前記第４隠れノードは、前記プレフィックストークンと前記トークンシーケンスが入力される、請求項８に記載の言語処理方法。
【請求項１４】
前記トークンは文字、単語、又は文章を含む、請求項１ないし１３のうちの何れか一項に記載の言語処理方法。
【請求項１５】
前記ターゲット文章は、前記ソース文章の翻訳結果に対応する、請求項１ないし１４のうちの何れか一項に記載の言語処理方法。
【請求項１６】
前記ターゲット文章は、前記ソース文章に対応する自然語生成の結果である、請求項１ないし５のうちの何れか一項に記載の言語処理方法。
【請求項１７】
請求項１ないし１６のうち何れか一項に記載の言語処理方法を言語処理装置のコンピュータに実行させるコンピュータプログラム。
【請求項１８】
少なくとも１つのプロセッサと、
ニューラルネットワーク基盤のエンコーダと、
ニューラルネットワーク基盤のメインデコーダと、
２以上の連続するトークンを含むトークンシーケンスを生成するスキップモデルと、を含み、
前記プロセッサは、
前記エンコーダを用いてソース文章から文脈情報を生成し、
前記メインデコーダを用いて前記文脈情報からプレフィックストークンを生成し、
前記プレフィックストークンが予め設定された条件を満足する場合、スキップモデルを用いて前記プレフィックストークンに続く前記トークンシーケンスを生成し、
前記プレフィックストークン及び前記トークンシーケンスが結合されたターゲット文章を出力する言語処理装置。
【請求項１９】
前記プロセッサは、前記プレフィックストークンが予め設定された条件を満足しない場合、前記メインデコーダを用いて前記プレフィックストークンに続くトークンを生成する、請求項１８に記載の言語処理装置。
【請求項２０】
前記スキップモデルは、複数の単語を綴り順に整列した辞典を含む、請求項１８又は１９に記載の言語処理装置。
【請求項２１】
前記スキップモデルは、ニューラルネットワーク基盤のサブデコーダを含む、請求項１８ないし２０のうち何れか一項に記載の言語処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の説明は自動的に入力言語を処理する技術に関する。
【背景技術】
【０００２】
ニューラルネットワーク（人工神経網とも称される）は、連結線に接続された複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣するソフトウェア又はハードウェアで具現された認識モデルである。ここで、ハードウェアは、ニューロモーフィック・チップ（ｎｅｕｒｏｍｏｒｐｈｉｃ  ｃｈｉｐ）を含む。ニューロモーフィック・チップは、神経網の演算のために必要な回路で構成されたチップを意味する。
【０００３】
前述した背景技術は、発明者が本発明の導出過程で保有又は習得したものを含む可能性があり、必ずしも本発明の出願前に一般の公衆に公開された公知技術であるとは限らない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、自動的に入力言語を処理する技術を提供することにある。
【課題を解決するための手段】
【０００５】
一実施形態に係るニューラルネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ、ＮＮ）を用いた言語処理方法は、ニューラルネットワーク基盤のエンコーダを用いてソース文章から文脈情報を取得するステップと、ニューラルネットワーク基盤のメインデコーダを用いて、前記文脈情報からプレフィックストークンを生成するステップと、前記プレフィックストークンが予め設定された条件を満足する場合、スキップモデルを用いて前記プレフィックストークンに続く２以上の連続するトークンを含むトークンシーケンスを生成するステップと、前記プレフィックストークン及び前記トークンシーケンスが結合されたターゲット文章を出力するステップとを含む。
【０００６】
前記プレフィックストークンが予め設定された条件を満足しない場合、前記メインデコーダを用いて前記プレフィックストークンに続くトークンを生成するステップをさらに含み得る。
【０００７】
前記スキップモデルは、複数の単語を綴り順に整列した辞典を含み得る。
【０００８】
前記条件は、前記トークンシーケンスが前記プレフィックストークンに続く確率が閾値以上である条件を含み得る。
【０００９】
前記スキップモデルは、ニューラルネットワーク基盤のサブデコーダを含み得る。
【００１０】
前記条件は、前記トークンシーケンスを生成する難易度が閾値以下である条件を含み得る。
【００１１】
前記プレフィックストークンを生成するステップは、予め設定された個数のビームノードごとにプレフィックストークンを生成し、前記トークンシーケンスを生成するステップは、前記予め設定された個数のビームノードごとに前記スキップモデルを用いて前記トークンシーケンスを生成し得る。
【００１２】
前記ターゲット文章を出力するステップは、前記ビームノードごとに取得された前記プレフィックストークン及び前記トークンシーケンスを含む候補文章のうちターゲット文章を決定し得る。
【００１３】
前記メインデコーダは第１隠れノードと第２隠れノードを含み、前記第１隠れノードは、前記プレフィックストークンが入力されて前記スキップモデルを用いて前記トークンシーケンスを生成し、前記第２隠れノードは、前記プレフィックストークンと前記トークンシーケンスが入力され得る。
【００１４】
前記サブデコーダは第３隠れノードと第４隠れノードを含み、前記第３隠れノードは、前記プレフィックストークンが入力されて前記トークンシーケンスを生成し、前記第４隠れノードは、前記プレフィックストークンと前記トークンシーケンスが入力され得る。
【００１５】
前記トークンは文字、単語、又は文章を含み得る。前記ターゲット文章は、前記ソース文章の翻訳結果に対応し得る。前記ターゲット文章は、前記ソース文章に対応する自然語生成の結果であり得る。
【００１６】
前記言語処理方法は、前記プレフィックストークン及び前記トークンシーケンスを前記メインデコーダに入力し、１つ以上のトークンが前記トークンシーケンスに続く結果を連続的に生成するステップをさらに含み得る。
【００１７】
前記言語処理方法は、前記メインデコーダは、トークンを連続的に生成し得る。
【００１８】
前記言語処理方法は、前記予め設定された条件を満足する前記プレフィックストークンに基づいて、前記スキップモデルによる前記トークンシーケンスの生成によって前記メインデコーダは前記文脈情報を復号化し得る。
【００１９】
非一時的なコンピュータで読み出し可能な格納媒体は、コンピューティングハードウェアが前記方法を実行するようにする命令を格納し得る。
【００２０】
一実施形態に係る言語処理装置は、少なくとも１つのプロセッサと、ニューラルネットワーク基盤のエンコーダと、ニューラルネットワーク基盤のメインデコーダと、２以上の連続するトークンを含むトークンシーケンスを生成するスキップモデルと、を含み、前記プロセッサは、前記エンコーダを用いてソース文章から文脈情報を生成し、前記メインデコーダを用いて前記文脈情報からプレフィックストークンを生成し、前記プレフィックストークンが予め設定された条件を満足する場合、スキップモデルを用いて前記プレフィックストークンに続く前記トークンシーケンスを生成し、前記プレフィックストークン及び前記トークンシーケンスが結合されたターゲット文章を出力する。
【００２１】
メインデコーダを用いてプレフィックストークンを生成し、プレフィックストークンが予め設定された条件を満足するごとに前記過程が繰り返し行われてもよい。
【００２２】
前記プロセッサは、前記プレフィックストークンが予め設定された条件を満足しない場合、前記メインデコーダを用いて前記プレフィックストークンに続くトークンを生成し得る。
【００２３】
前記スキップモデルは、複数の単語を綴り順に整列した辞典を含み得る。
【００２４】
前記スキップモデルは、ニューラルネットワーク基盤のサブデコーダを含み得る。
【発明の効果】
【００２５】
本発明によると、自動的に入力言語を処理する技術を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】一実施形態に係る言語処理のためのシステムの全体的な構成を示す図である。
【図２】一実施形態に係る言語処理方法を示すフローチャートである。
【図３Ａ】循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図３Ｂ】非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図４】一実施形態に係るスキップモデルと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図５】他の実施形態に係るスキップモデルと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図６Ａ】一実施形態に係るビームサーチアルゴリズムと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図６Ｂ】一実施形態に係るビームサーチアルゴリズムと共に辞典のスキップモデル及び非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【図６Ｃ】一実施形態に係るビームサーチアルゴリズムを用いた言語処理結果を示す図である。
【図７】一実施形態に係る言語処理装置の細部構成を示す図である。
【発明を実施するための形態】
【００２７】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更されてもよい。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【００２８】
第１又は第２などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００２９】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００３０】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００３１】
以下、実施形態を添付の図面を参照して詳説する。添付図面を参照して説明することにおいて、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、これに関する重複説明は省略することにする。
【００３２】
図１は、一実施形態に係る言語処理のためのシステムの全体的な構成を示す図である。
【００３３】
一実施形態によれば、言語処理装置１００は、スキップモデルと非循環型（又は非再帰型）ニューラルネットワーク（ｎｏｎ−ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ、ＮＮ）を用いてソース文章１０１をターゲット文章１０３に変換する。言語処理装置１００は、非循環型ニューラルネットワークとスキップモデルを用いて、複数のトークンを一度に復号化することにより処理時間を短縮し得る。言語処理装置１００は、シーケンス−ツー−シーケンス（ｓｅｑｕｅｎｃｅ−ｔｏ−ｓｅｑｕｅｎｃｅ）方式の言語処理で復号化の回数を減らすことができる。言語処理過程は、学習過程に区別されて推定過程を含む。
【００３４】
一例として、言語処理装置１００は機械翻訳を行ってもよい。言語処理装置１００は、翻訳機能が必要な全ての機器に適用される。学習コーパスを介して学習された言語処理装置１００は、ソース文章をターゲット文章に自動翻訳する。例えば、スマートフォン１１１を用いて入力された「大切に育ててくれたお母さん」のようなテキストデータ１０１は、言語処理装置１００によってターゲット文章１０３に翻訳される。例えば、マイク１１３を通して入力された「大切に育ててくれたお母さん」のような音声データ１０１は、言語処理装置１００を介してターゲット文章１０３に翻訳される。ここで、ターゲット文章はソース文章の翻訳結果に対応する。
【００３５】
異なる一例として、言語処理装置１００は、自然語生成を行ってもよい。例えば、言語処理装置１００は、チャットシステム又は質問返答システムに適用される。学習コーパスを介して学習された言語処理装置１００は、チャットシステムからソース文章に対応するターゲット文章を生成し得る。図１を参照すると、言語処理装置１００は、コンピュータ１１５を用いて入力されたソース文章１０１の「大切に育ててくれたお母さん」に対応して「ありがとうございます」１０５というチャット結果を出力する。ここで、ターゲット文章は、ソース文章に対する応答である。
【００３６】
ニューラルネットワークでは、生物学的なニューロンの機能を単純化した人工ニューロンが利用され、人工ニューロンは、接続加重値を有する連結線により相互接続される。接続加重値は、連結線が有する特定の値として接続強度と称される。ニューラルネットワークは、人工ニューロンを介して人の認知作用や学習過程を行うことができる。人工ニューロンは、ノードと称される。
【００３７】
ニューラルネットワークは、複数のレイヤを含んでいる。レイヤは層と称される。例えば、ニューラルネットワークは、入力レイヤ、隠れレイヤ、出力レイヤを含む。入力レイヤは、学習を行うための入力を受信して隠れレイヤに伝達し、出力レイヤは、隠れレイヤのノードから受信した信号に基づいてニューラルネットワークの出力を生成する。隠れレイヤは、入力レイヤと出力レイヤとの間に位置して、入力レイヤを介して伝達された学習データを正しく予測するための値に変化させ得る。入力レイヤと隠れレイヤに含まれたノードは、接続加重値を有する連結線を介して接続され、隠れレイヤと出力レイヤに含まれたノードでも接続加重値を有する連結線を介して接続される。入力レイヤ、隠れレイヤ、及び出力レイヤは複数のノードを含み得る。
【００３８】
ニューラルネットワークは、複数の隠れレイヤを含む。複数の隠れレイヤを含む神経網は、ディープニューラルネットワークと称される。ディープニューラルネットワークを学習させることは、ディープラーニング（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）と称される。隠れレイヤに含まれたノードは、隠れノードと称される。
【００３９】
互いに異なる時間区間で隠れノード間に再帰的な接続のあるニューラルネットワークは、循環型ニューラルネットワークと称される。循環型ニューラルネットワークは、回帰神経網とも称される。循環型ニューラルネットワークで以前時間区間における隠れノードの隠れステートは、現在時間区間における隠れノードに伝達される。ここで、各時間区間は、各トークンが処理された順序に対応する。
【００４０】
互いに異なる時間区間で隠れノードの間に再帰的な接続がないニューラルネットワークは、非循環型ニューラルネットワークと称される。非循環型ニューラルネットワークは、非回帰神経網と称される。非循環型ニューラルネットワークで以前時間区間における隠れノードの隠れステートは、現在時間区間における隠れノードに伝達されない。
【００４１】
シーケンス−ツー−シーケンス方式は、シーケンシャルデータをシーケンシャルデータに変換する言語処理方式を意味する。シーケンシャルデータは、時間性ないし順序を有するデータである。一例として、シーケンシャルデータは音声データ又は文字データを含んでもよい。
【００４２】
一実施形態によれば、言語処理装置１００は、エンコーダを用いてシーケンシャルデータであるソース文章を文脈情報に変換する。エンコーダは、ニューラルネットワークである。エンコーダは、非循環型ニューラルネットワークである。文脈情報はコンテキストと称される。ソース文章がシーケンシャルデータであるため、文脈情報もシーケンシャルデータになる。文脈情報は、各トークンの確率を含むベクトルである。ここで、トークンは、文字、単語又は文章などのようにソース文章を区分する単位を称する。
【００４３】
循環型ニューラルネットワークの場合、シーケンシャルデータは、各トークンが順次符号化される。循環型ニューラルネットワークは、学習過程で入力文章のトークンそれぞれを連続して処理する。循環型ニューラルネットワークは、学習過程で入力文章のトークンそれぞれを連続して符号化又は復号化する。
【００４４】
一方、非循環型ニューラルネットワークの場合、符号化の過程でシーケンシャルデータに含まれる複数のトークンは一度に符号化される。非循環型ニューラルネットワークは、学習過程又は推定過程で複数のトークンを一度に符号化し得る。推定過程は推論過程と称される。学習過程で、非循環型ニューラルネットワークは、文脈情報からターゲット文章に含まれた複数のトークンを一度に復号化し得る。非循環型ニューラルネットワークは、循環型ニューラルネットワークに比べてより速い速度で学習過程を行うことができる。非循環型ニューラルネットワークは、循環型ニューラルネットワークに比べてより速い速度で推定過程の符号化を行うことができる。
【００４５】
一実施形態によれば、言語処理装置１００は、デコーダを用いてシーケンシャルデータである文脈情報をターゲット文章に変換する。デコーダは、ニューラルネットワークであり得る。デコーダは、非循環型ニューラルネットワークであってもよい。学習過程とは異なり、推定過程の復号化では、ターゲット文章を構成しているトークンが予め知られていないため、各トークンに対して復号化は順次進行されなければならない。
【００４６】
一実施形態によれば、言語処理装置１００は、スキップモデルを用いてバルク復号化を行うことで処理速度を増加させ得る。言語処理装置１００は、非循環型ニューラルネットワークとスキップモデルを用いて複数のトークンを一度に復号化し得る。ここで、一度に符号化すること、或いは一度に復号化することは、並列的に符号化すること、或いは並列的に復号化することと称される。複数のトークンを一度に復号化することはバルク復号化と称される。
【００４７】
言語処理装置１００は、スキップモデルを用いて現在まで復号化された１つ以上のトークンに基づいて正解である確率の高いトークンシーケンスを生成する。トークンシーケンスは、２以上のトークンを含む。言語処理装置１００は、スキップモデルを用いて２以上のトークンを含むトークンシーケンスを一度に生成することで、処理速度を増加させることができる。
【００４８】
一実施形態によれば、スキップモデルはターゲット言語に整列した辞典（又は辞書）を含む。この場合、スキップモデルは、ターゲット言語の学習コーパスを参考して生成されてもよい。他の実施形態によれば、スキップモデルは、ニューラルネットワークであってもよい。ニューラルネットワークであるスキップモデルは、サブデコーダと称される。この場合、スキップモデルは、ソース言語とターゲット言語の対で構成された学習コーパスに基づいて学習され得る。
【００４９】
言語処理装置１００は、スキップモデルを用いて現在まで生成されたｋ個のトークンに基づいて以後のｎ個のトークンを閾値以上の確率に推定し得る。言語処理装置１００は、数式（１）によりバルク復号化を行う。
Ｐｒ（ｔｘ，ｔｘ＋１，．．．ｔｘ＋ｎ｜ｔｘ−ｋ，．．．ｔｘ−１）≧Ｐｔｈ  （１）
【００５０】
数式（１）を参照すると、現在まで生成されたトークンシーケンスがｔｘ−ｋ，．．．ｔｘ−１である場合、以後のトークンシーケンスがｔｘ，ｔｘ＋１，．．．ｔｘ＋ｎである確率がＰｔｈ以上である場合、言語処理装置１００は、ｔｘ，ｔｘ＋１，．．．ｔｘ＋ｎをトークンシーケンスとして生成する。ここで、現在まで生成されたトークンシーケンスは、単語又は文章の先部である必要がなく、順序に関わらない。推定されるトークンシーケンスは、単語又は文章の後部である必要がなく、順序に関わらない。
【００５１】
機械翻訳の場合、言語処理装置１００は、辞典のスキップモデルを用いることによって辞典に存在しない誤った翻訳結果を出力する問題を解消することができる。辞典には正しい単語が格納されているため、言語処理装置１００は、辞典のスキップモデルを用いることで各トークンごとに復号化された結果が正書法に間違う問題を防止する。
【００５２】
学習過程の場合、言語処理過程とは異なり、デコーダは、非循環型ニューラルネットワークである場合、文脈情報を並列的にターゲット文章に変換する。学習装置は、言語処理装置１００のエンコーダ及びデコーダが学習ソース文章に対して学習ターゲット文章に変換される確率が最大化される方向に言語処理装置１００を学習させ得る。
【００５３】
スキップモデルが辞典である場合、言語処理装置１００は、ターゲット言語の学習データで学習される。学習データは学習コーパスを含む。スキップモデルがニューラルネットワークである場合、言語処理装置１００は、学習ソース文章及びターゲット言語の学習ターゲット文章の対で構成された並列コーパスを用いて学習され得る。
【００５４】
図２は、一実施形態に係る言語処理方法を示すフローチャートである。
【００５５】
一実施形態によれば、言語処理装置１００は、非循環型ニューラルネットワーク基盤のエンコーダを用いてソース文章の情報を流暢に表現する文脈情報を生成し、文脈情報から非循環型ニューラルネットワーク基盤のデコーダ及びスキップモデルを用いてターゲット文章を生成する。
【００５６】
一実施形態によれば、ステップＳ２０１において、言語処理装置１００は、ニューラルネットワーク基盤のエンコーダを用いてソース文章から文脈情報を取得する。言語処理装置１００は、エンコーダを用いてソース文章をベクトル形態の文脈情報に変換する。ベクトルは、ソース文章の各トークンに対応する確率値で構成する。ソース文章がシーケンシャルデータであるため、文脈情報もシーケンシャルデータであり得る。
【００５７】
一実施形態によれば、ステップＳ２０２において、言語処理装置１００は、ニューラルネットワーク基盤のメインデコーダを用いて文脈情報からプレフィックストークンを生成する。ここで、プレフィックストークンは、以後に続くトークンと区別するための用語として現在トークンに称する。言語処理装置１００は、文脈情報の各確率値を順次復号化する。プレフィックストークンは、現在の復号化された確率値から選択されたトークンを示す。
【００５８】
一実施形態によれば、言語処理装置１００は、予め設定された条件に基づいてスキップモデルを用いてバルク復号化を行うか否かを判断する。言語処理装置１００は、デコーダを用いて生成された未完成のターゲット文章に対して、スキップモデルを用いてバルク復号化を行うことができるかを判断する。
【００５９】
予め設定された条件は、スキップモデルの形態によって変わり得る。例えば、スキップモデルが辞典である場合、予め設定された条件は、プレフィックストークンに続く２以上の連続するトークンを含むトークンシーケンスの確率が閾値以上である条件を意味する。例えば、スキップモデルがニューラルネットワークである場合、予め設定された条件は、トークンシーケンスを生成する難易度が閾値以下である条件を意味する。
【００６０】
一実施形態によれば、ステップＳ２０３において、プレフィックストークンが予め設定された条件を満足する場合、言語処理装置１００は、スキップモデルを用いてプレフィックストークンに続く２以上の連続するトークンを含んでいるトークンシーケンスを生成する。バルク復号化が可能な場合、言語処理装置１００は、未完成のターゲット文章に続く複数のトークンを一度に生成し、未完成のターゲット文章と生成された複数のトークンの結合された結果をデコーダに伝達する。言語処理装置１００は、トークンシーケンスを一度に生成することでトークンごとに復号化を行う負担を緩和し得る。
【００６１】
一実施形態によれば、ステップＳ２０４において、言語処理装置１００は、プレフィックストークン及びトークンシーケンスが結合されたターゲット文章を出力する。言語処理装置１００は、トークンシーケンスを生成するとき、ターゲット言語のコーパスに基づいて生成されたスキップモデルを用いて生成することで、各トークンごとに復号化を行う場合よりも高い正確度を有するターゲット文章を出力できる。
【００６２】
他の実施形態によれば、プレフィックストークンが予め設定された条件を満足しない場合、言語処理装置１００は、メインデコーダを用いてプレフィックストークンに続くトークンを生成する。この場合、スキップモデルのない非循環型ニューラルネットワークのみで構成されたデコーダのような結果が出力され得る。
【００６３】
ステップＳ２０１〜ステップＳ２０４の過程は、例えば＜Ｅｎｄ＞のように文章の終わりを示すトークンが生成されるまで反復される。
【００６４】
図３Ａは、循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【００６５】
図３Ａを参照すると、循環型ニューラルネットワーク基盤のエンコーダ３０１は、「Ｉ  ｌｏｖｅ  ｙｏｕ」のようなシーケンシャルデータであるソース文章３１１が入力されてもよい。エンコーダ３０１は、ソース文章３１１から文脈情報３１３を生成する。エンコーダ３０１は、循環型ニューラルネットワークであるため、各隠れノードの隠れステートは、次の隠れノードの入力に伝達されなければならない。したがって、符号化過程は、「Ｉ  ｌｏｖｅ  ｙｏｕ」の各トークンごとに順次実行される。ここで、文脈情報は、ソース文章の情報を示すベクトルであってもよく、トークンの単位は単語であると仮定されている。
【００６６】
循環型ネットワーク基盤のデコーダ３０３は、文脈情報３１３から「私は君を愛している」のようなターゲット文章３１５を生成する。デコーダ３０３は、循環型ニューラルネットワークであるため、各隠れノードの隠れステートは、次の隠れノードの入力に伝達されなければならない。したがって、復号化過程は、文脈情報３１３の各トークンごとに順次実行される。したがって、復号化過程は、各トークンごとに順次実行される。
【００６７】
開始トークンである＜ｓｔａｒｔ＞が最初の隠れノードに入力される場合、最初の隠れノードの隠れステートが更新され、「私は」が生成される。２番目の隠れノードに「私は」と最初の隠れノードの隠れステートが入力されて「君を」が生成される。３番目の隠れノードに「君を」と２番目の隠れノードの隠れステートが入力されて「愛している」が生成される。４番目の隠れノードに「愛している」と３番目の隠れノードの隠れステートが入力されて「。」が生成される。５番目の隠れノードに「。」と４番目の隠れノードの隠れステートが入力されて終了を示す＜Ｅｎｄ＞が生成される。
【００６８】
図３Ｂは、非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【００６９】
図３Ｂを参照すると、非循環型ニューラルネットワーク基盤のエンコーダ３２１は、「Ｉ  ｌｏｖｅ  ｙｏｕ」のようなシーケンシャルデータであるソース文章３３１が入力されてもよい。エンコーダ３２１は、ソース文章３３１から文脈情報３３３を生成する。エンコーダ３２１は、非循環型ニューラルネットワークであるため、各隠れノードの隠れステートは次の隠れノードの入力に伝達されない。したがって、符号化過程は「Ｉ  ｌｏｖｅ  ｙｏｕ」の各トークンごとに順次実行される必要がなく、ソース文章３３１に対して一度に実行されてよい。
【００７０】
非循環型ネットワーク基盤のデコーダ３２３は、文脈情報３３３から「私は君を愛している。」のようなターゲット文章３３５を生成する。ターゲット文章の各トークンは、予め知られている状態ではないため、復号化過程は、文脈情報３３３の各トークンごとに順次実行される。ただし、循環型ネットワーク基盤のデコーダとは異なり、各トークンは累積して各トークンに対応する隠れノードに入力される。
【００７１】
開始トークンである＜ｓｔａｒｔ＞が最初の隠れノードに入力される場合、最初の隠れノードの隠れステートが更新されて「私は」が生成される。２番目の隠れノードに＜ｓｔａｒｔ＞及び「私は」が入力されて「君を」が生成される。３番目の隠れノードに＜ｓｔａｒｔ＞、「私は」及び「君を」が入力されて「愛している」が生成される。４番目の隠れノードに＜ｓｔａｒｔ＞、「私は」、「君を」及び「愛している」が入力されて「。」が生成される。５番目の隠れノードに＜ｓｔａｒｔ＞、「私は」、「君を」、「愛している」及び「。」が入力され、終了を示す＜Ｅｎｄ＞が生成される。
【００７２】
図４は、一実施形態に係るスキップモデルと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【００７３】
図４を参照すると、スキップモデルは辞典４４５であってもよい。スキップモデルは、複数の単語を綴り順に整列した辞典４４５を含む。予め含まれた各単語は、次の単語と比較するとき差異のある文字の個数と共に格納される。例えば、表１を参照すると、整列した単語の順序がｎｕｒｓｅ、ｎｕｒｔｕｒｅ及びｎｕｒｚｈａｎである場合、ｎｕｒｓｅは自身を基準としてｎｕｒｔｕｒｅと２文字だけ差異があり、ｎｕｒｔｕｒｅは自身を基準としてｎｕｒｚｈａｎと４文字だけ差異がある。
【００７４】
【表１】
2019102067.tif 000003
【００７５】
言語処理装置１００は「ｎｕｒｔ」というプレフィックストークンを有する単語４４５が「ｎｕｒｔｕｒｅ」であって、唯一であること（即ち、（Ｐｒ（ｕ，ｒ，ｅ｜ｎ，ｕ，ｒ，ｔ）＝１であること）を、辞典に含まれた単語の数のログ時間の複雑度に基づいて把握することができる。
【００７６】
非循環型ニューラルネットワーク基盤のエンコーダ４４１は、「大切に育ててくれたお母さん」のようなシーケンシャルデータであるソース文章４５１が入力されてもい。エンコーダ４４１は、ソース文章４５１から文脈情報４５３を生成する。エンコーダ４４１は、非循環型ニューラルネットワークであるため、各隠れノードの隠れステートは次の隠れノードの入力に伝達されない。したがって、符号化過程は「大切に育ててくれたお母さん」の各トークンごとに順次実行される必要がなく、ソース文章４５１に対して一度に実行される。
【００７７】
非循環型ネットワーク基盤のメインデコーダ４４３は、文脈情報４５３から「ｎｕｒｔｕｒｅ  ａｎｄ．．．」のようなターゲット文章４５５を生成する。ターゲット文章の各トークンは、予め知られた状態ではないため、復号化過程は、文脈情報４５３の各トークンごとに順次実行される。ただし、循環型ネットワーク基盤のデコーダとは異なり、各トークンは累積して各トークンに対応する隠れノードに入力される。
【００７８】
一実施形態によれば、言語処理装置１００は、予め設定された条件に基づいてスキップモデルを用いてバルク復号化４５７を行うか否かを判断する。言語処理装置１００は、メインデコーダ４４３から生成されたトークンを再びメインデコーダ４４３に入力する前に、スキップモデル４４５内に生成されたトークンの次に生成される確率が閾値以上であるトークンシーケンスがあるか否かを、生成されたプレフィックストークンに基づいて確認できる。
【００７９】
ここで、条件は、トークンシーケンス（ｕ，ｒ，ｅ）がプレフィックストークン（ｎ，ｕ，ｒ，ｔ）に続く確率が閾値以上である条件を含む。図４を参照すれば、閾値は１であってもよい。この場合に、条件が満足されるものはプレフィックストークンが（ｎ，ｕ，ｒ，ｔ）に決定された場合に続くトークンシーケンスは（ｕ，ｒ，ｅ）として唯一であることを意味する。ここで、トークンは一文字の単位である。
【００８０】
開始トークンである＜ｓｔａｒｔ＞が最初の隠れノードに入力される場合に「ｎ」が生成される。２番目の隠れノードに＜ｓｔａｒｔ＞及び「ｎ」が入力されて「ｕ」が生成される。３番目の隠れノードに＜ｓｔａｒｔ＞、「ｎ」及び「ｕ」が入力されて「ｒ」が生成される。４番目の隠れノードに＜ｓｔａｒｔ＞、「ｎ」、「ｕ」及び「ｒ」が入力されて「ｔ」が生成される。各隠れノードにトークンが入力される前に、言語処理装置１００は、辞典４４５から閾値以上の確率に対応するトークンシーケンスが存在するかを確認する。ここで、ｎ番目の隠れノードという表現は、ｎ番目のトークンが処理される隠れノードを意味する。１つの隠れノードが繰り返し使用されてもよい。
【００８１】
プレフィックストークン（ｎ，ｕ，ｒ，ｔ）に対応する「ｎｕｒｔｕｒｅ」の確率が閾値以上である場合、５番目の隠れノードの代わりに、スキップモデル４４５は、プレフィックストークン（ｎ，ｕ，ｒ，ｔ）が入力されてトークンシーケンス（ｕ，ｒ，ｅ）を一度に生成し得る。メインデコーダ４４３は、ｔ、ｕ、ｒ及びｅの順にトークンを順次生成することなく、ｔを生成した後スキップモデル４４５が生成したｕ、ｒ及びｅを入力として使用する。このような過程により、メインデコーダ４４３は、ｕ、ｒ及びｅに対する３回の復号化過程を省略してターゲット文章４５５を生成することができる。
【００８２】
上記のように復号化過程が減少されると共に、翻訳の正確度を向上させる効果がある。各文字単位で復号化が実行されるならば、１文字でも間違う場合にその正確度は低下する。例えば、「ｎｕｒｔｕｒｅ」の代わりに「ｎｕｒｔｕｘｅ」が生成されてしまうかもしれない。一実施形態に係る言語処理装置１００は、スキップモデルを用いて「ｎｕｒｔｕｒｅ」を直ちに生成するため「ｎｕｒｔｕｘｅ」のようなエラーが発生することなく、より高い正確度を達成することができる。
【００８３】
図５は、他の実施形態に係るスキップモデルと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【００８４】
一実施形態によれば、スキップモデルはニューラルネットワーク基盤のサブデコーダ５０５を含む。言語処理装置１００は、トークンシーケンスを生成する難易度が閾値以下であることを条件として、メインデコーダより速くトークンシーケンスを生成できるサブデコーダ５０５を用いてトークンシーケンスを一度に生成し得る。
【００８５】
非循環型ニューラルネットワーク基盤のエンコーダ５１１は、「大切に育ててくれたお母さん」のようなシーケンシャルデータであるソース文章５０１が入力されてもよい。エンコーダ５１１は、ソース文章５０１から文脈情報５１３を生成する。エンコーダ５１１は、非循環型ニューラルネットワークであるため、各隠れノードの隠れステートは次の隠れノードの入力に伝達されない。したがって、符号化過程は、「大切に育ててくれたお母さん」の各トークンごとに順次実行される必要がなく、ソース文章５０１に対して一度に実行される。
【００８６】
非循環型ネットワーク基盤のメインデコーダ５０３は、文脈情報５１３から「ｎｕｒｔｕｒｅ  ａｎｄ．．．」のようなターゲット文章５１５を生成する。ターゲット文章の各トークンは、予め知られた状態ではないため、復号化過程は文脈情報５１３の各トークンごとに順次実行される。
【００８７】
他の実施形態によれば、言語処理装置１００は、予め設定された条件に基づいてスキップモデルを用いてバルク復号化を行うか否かを判断する。言語処理装置１００は、メインデコーダ５１５から生成されたトークンを再びメインデコーダ５１５に入力する前に生成されたプレフィックストークンに基づいて、生成の難易度が閾値以下の次に生成されるトークンシーケンスがあるか否かを確認する。
【００８８】
開始トークンである＜ｓｔａｒｔ＞が最初の隠れノードに入力される場合、「ｎ」が生成される。一例として、言語処理装置１００は、生成されたトークン「ｎ」を再びメインデコーダ５１５に入力する前に「ｎ」に続いて生成されるトークンシーケンスの生成の難易度が閾値以下であることを確認する。メインデコーダ５１５の２番目の隠れノードに＜ｓｔａｒｔ＞及び「ｎ」を入力する代わりに、言語処理装置１００は、サブデコーダ５０５を用いて復号化を行ってもよい。サブデコーダ５０５は、メインデコーダ５１５に比べてターゲット文章を生成する速度がさらにはやい。
【００８９】
サブデコーダ５０５の最初の隠れノードに「ｎ」が入力されて「ｕ」が生成される。２番目の隠れノードに「ｎ」及び「ｕ」が入力されて「ｒ」が生成される。３番目の隠れノードに「ｎ」、「ｕ」及び「ｒ」が入力されて「ｔ」が生成される。４番目の隠れノードに「ｎ」、「ｕ」、「ｒ」及び「ｔ」が入力されて「ｕ」が生成される。５番目の隠れノードに「ｎ」、「ｕ」、「ｒ」、「ｔ」及び「ｕ」が入力されて「ｒ」が生成される。６番目の隠れノードに「ｎ」、「ｕ」、「ｒ」、「ｔ」、「ｕ」及び「ｒ」が入力されて「ｅ」が生成される。サブデコーダ５０５は、トークンシーケンス５１７の「ｎｕｒｔｕｒｅ」をメインデコーダ５０３よりもはやく生成し得る。
【００９０】
「ｎｕｒｔｕｒｅ」は、メインデコーダ５０３に入力される。言語処理装置１００は、生成されたトークンシーケンス「ｎｕｒｔｕｒｅ」をメインデコーダ５０３に入力する前に、「ｎｕｒｔｕｒｅ」に続いて生成されるトークンシーケンスの生成の難易度が閾値よりも大きいかを確認する。サブデコーダ５０５の代わりに、メインデコーダ５０３は「ａ」を生成する。
【００９１】
言語処理装置１００は、生成されたトークンシーケンス「ｎｕｒｔｕｒｅ  ａ」をメインデコーダ５１５に入力する前に、「ｎｕｒｔｕｒｅ  ａ」に後続き生成されるトークンシーケンスの生成の難易度が閾値以下であることを確認できる。言語処理装置１００は、サブデコーダ５０５を用いて復号化を行うことができる。
【００９２】
サブデコーダ５０５の最初の隠れノードに「ａ」が入力されて「ｎ」が生成される。２番目の隠れノードに「ａ」及び「ｎ」が入力されて「ｄ」が生成される。サブデコーダ５０５は、トークンシーケンス５１９の「ａｎｄ」をメインデコーダ５０３より速やかに生成する。このような過程により、言語処理装置１００はトークンシーケンス５１５を生成し得る。
【００９３】
図６Ａは、一実施形態に係るビームサーチアルゴリズムと共に非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【００９４】
言語処理装置１００は、複数のビームを保持しながら各ビームごとに言語処理過程を行う。言語処理装置１００は、複数の言語処理過程を向上させることで候補文章の多様性を高め、正確度の高いターゲット文章を生成し得る。
【００９５】
一実施形態によれば、言語処理装置１００は、予め設定された個数のビームノードごとにプレフィックストークンを生成し、ビームノードごとにスキップモデルを用いてトークンシーケンスを生成する。一実施形態によれば、言語処理装置１００は、ビームノードごとに取得されたプレフィックストークン及びトークンシーケンスを含む候補文章のうちターゲット文章を決定する。
【００９６】
例えば、言語処理装置１００は、ソース文章６１１の「貴下の職務発明が出願されたことをお知らせします。」をエンコーダ６０１に入力する。エンコーダ６０１は、ソース文章６１１の情報を示すベクトルである［−１．４２４、０．２３４、…、１．５２３、−０．０２３４５］を文脈情報６１３として生成する。
【００９７】
例えば、メインデコーダ６０３は、２つのビーム６１５，６１７のそれぞれに対して文脈情報６１３が入力されて各ビームごとに複数の候補文章を生成する。言語処理装置１００は、一定の回数ごとにビーム６１５，６１７で生成された複数の未完成の候補文章それぞれの確率を算出し、確率が最も高い２つの候補文章を選択し、２つのビームそれぞれに割り当てる。言語処理装置１００は、各ビームごとに選択された候補文章に続くトークンが結合された複数の候補文章を生成し得る。言語処理装置１００は、最終ターゲット文章を出力するまで、このような過程を繰り返すことができる。
【００９８】
メインデコーダ６０３は、各ビームごとにトークンごとに予め設定された条件を満足するかを判断する。スキップモデルが辞典である場合、予め設定された条件は、プレフィックストークンがｙ１，．．．，ｙｔ−１である場合、トークンシーケンスがｙｔである確率がＸ以上である条件である。ビーム６１７で「Ｗｅ  ｉｎｆｏｒｍ  ｙ」がプレフィックストークンである場合に、トークンシーケンスが「ｙｏｕ」である確率がＸ以上である場合に、ｙｏｕが一度に生成され得る。
【００９９】
図６Ｂは、一実施形態に係るビームサーチアルゴリズムと共に辞典のスキップモデル及び非循環型ニューラルネットワークを用いた言語処理過程を示す図である。
【０１００】
言語処理装置１００は、エンコーダ６２１を用いてソース文章６３１である「大切に育ててくれたお母さん」が入力されてもよい。エンコーダ６２１は、ソース文章６３１を文脈情報６３３に変換する。
【０１０１】
言語処理装置１００は、２つのビーム６２３，６２５それぞれに対して言語処理過程を行う。言語処理装置１００は、２つのビームそれぞれに対して文脈情報６３３から候補文章６３５，６３７を生成する。言語処理装置１００は、スキップモデルを用いて候補文章６３５，６３７を生成する時間を短縮し得る。
【０１０２】
例えば、言語処理装置１００は、ビーム１（６２３）でプレフィックストークンがｎ、ｕ、ｒである場合、後に続くトークンシーケンスがｓ、ｅである確率である０．６が設定された閾値０．０９以上である条件を満足しているため、トークンシーケンスを一度に生成し得る。言語処理装置１００は、ビーム２（６２５）でプレフィックストークンがｎ、ｕ、ｒである場合、後に続くトークンシーケンスがｔ、ｕ、ｒ、ｅである確率である０．１が閾値０．０９以上である条件を満足しているため、トークンシーケンスを一度に生成し得る。
【０１０３】
言語処理装置１００は、辞典６４１を用いて「ｎｕｒｓｅ」の最初の２つのトークンの確率が０．２，０．４であることが分かる。言語処理装置１００は、辞典６４１を用いて「ｎｕｒｔｕｒｅ」の最初の２つのトークンの確率が０．０３，０．０６であることが分かる。もし、１つのビームでのみ言語処理の過程が実行されれば、「ｎｕｒｓｅ」の最初の２つのトークンの確率が高いことから「ｎｕｒｓｅ」のみが候補文章として生成されるのであろう。
【０１０４】
しかし、言語処理装置１００は、ビームテーブル６４３を用いて２以上のビームを保持しながら言語処理過程を行ってもよい。言語処理装置１００は、「ｎｕｒｓｅ」と「ｎｕｒｔｕｒｅ」をそれぞれのビームに保持しながら言語処理過程を行ってもよい。言語処理装置１００は、最終的に「ｎｕｒｓｅ」の確率が０．０２であり、「ｎｕｒｔｕｒｅ」の確率が０．７２であることが分かる。もし、３つのビームが存在すれば、言語処理装置１００は「ｎｕｒｔ」の確率が０．６３であることが分かる。
【０１０５】
言語処理装置１００は、「ｎｕｒｔｕｒｅ」の最終確率が最も高いことが分かる。このように、言語処理装置１００は、複数の言語処理過程を向上させることで正解である確率がより高いターゲット文章を生成することができる。
【０１０６】
図６Ｃは、一実施形態に係るビームサーチアルゴリズムを用いた言語処理結果を示す図である。
【０１０７】
図６Ｃを参照すると、言語処理装置１００は、未完成の候補文章を複数保持することにより最終的に最も確率の高い候補文章をターゲット文章として決定し得る。
【０１０８】
例えば、ソース文章６５０の「大切に育ててくれたお母さん」に対する文脈情報がデコーダに入力される場合、４つのビームそれぞれに対して復号化過程が行われる。最初のトークンテーブル６５１でトークン「Ｎ」が最も高い確率である０．７８を有するものの、４つのビームが保持されることから、確率が高い上位４つのＮ、Ｒ、Ｇ及びＹがトークンテーブル６５１に格納される。その後、４番目のトークンテーブル６５３で未完成の候補文章である「Ｒａｉｓ」が最も高い確率である０．７４を有する。
【０１０９】
もし、４番目のトークンテーブル６５３に対して１つのビームが保持される場合、５番目のトークンテーブル６５７のように「Ｒａｉｓ」のみがプレフィックストークンとして用いられる。一方、４つのビームが全て保持される場合、５番目のトークンテーブル６５５のように「Ｒａｉｓ」、「Ｎｕｒｔ」、「Ｇｒｏｗ」及び「Ｙｏｕ  Ｍ」が全てプレフィックストークンとして用いてられる。
【０１１０】
最終的な確率を考慮するとき、５番目のトークンテーブル６５５で最も高い確率は０．８５であって、「Ｎｕｒｔｕｒｅ」が生成される。一方、５番目のトークンテーブル６５７によると、最も高い確率は０．７４で「Ｒａｉｓｅ」が生成される。トークンテーブルに様々な（互いに類似しない）表現を有するほど、最終的に高い正確度のターゲット文章を生成する可能性が高くなるため、このように、一実施形態に係る言語処理装置１００は、ビームサーチアルゴリズムを用いることにより、正確なターゲット文章を出力することができる。
【０１１１】
図７は、一実施形態に係る言語処理装置の細部構成を示す図である。
【０１１２】
一実施形態によれば、言語処理装置７００は、少なくとも１つのプロセッサ７０１、ニューラルネットワーク基盤のエンコーダ７０３、ニューラルネットワーク基盤のメインデコーダ７０５、及び２以上の連続するトークンを含むトークンシーケンスを生成するスキップモデル７０７を含む。言語処理装置７００は、Ｉ／Ｏインターフェース７０９をさらに含んでもよい。エンコーダ７０３及びメインデコーダ７０５は、非循環型ニューラルネットワークであってもよい。
【０１１３】
プロセッサ７０１は、エンコーダ７０３を用いてソース文章から文脈情報を生成する。エンコーダ７０３が非循環型ニューラルネットワークである場合、プロセッサ７０１は、ソース文章を並列的に符号化して文脈情報を生成し得る。
【０１１４】
プロセッサ７０１は、メインデコーダ７０５を用いて文脈情報からプレフィックストークンを生成する。メインデコーダ７０５が非循環型ニューラルネットワークであっても、ターゲット文章が予め知られていないため、各トークンは順次生成される。
【０１１５】
プロセッサ７０１は、プレフィックストークンが予め設定された条件を満足する場合、スキップモデル７０７を用いてプレフィックストークンに続くトークンシーケンスを生成する。スキップモデル７０７は、複数の単語を綴り順に整列した辞典を含む。スキップモデル７０７は、ニューラルネットワーク基盤のサブデコーダを含む。複数のトークンを含むトークンシーケンスが一度に生成されることにより復号化の回数が減少し得る。プロセッサ７０１は、プレフィックストークン及びトークンシーケンスが結合されたターゲット文章を出力する。
【０１１６】
プロセッサ７０１は、プレフィックストークンが予め設定された条件を満足しない場合、メインデコーダ７０５を用いてプレフィックストークンに続くトークンを生成する。この場合、スキップモデル７０７がない場合の非循環型ニューラルネットワーク基盤のデコーダにより復号化されるような結果が生成される。
【０１１７】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１１８】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１１９】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＹＩＪＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１２０】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されるし、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【図１】
2019102067.tif 000004
【図２】
2019102067.tif 000005
【図３Ａ】
2019102067.tif 000006
【図３Ｂ】
2019102067.tif 000007
【図４】
2019102067.tif 000008
【図５】
2019102067.tif 000009
【図６Ａ】
2019102067.tif 000010
【図６Ｂ】
2019102067.tif 000011
【図６Ｃ】
2019102067.tif 000012
【図７】
2019102067.tif 000013