(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-12
(54)【発明の名称】文処理方法、文復号方法、装置、プログラム及び機器
(51)【国際特許分類】
G06F 40/44 20200101AFI20220104BHJP
G06F 40/56 20200101ALI20220104BHJP
G06F 16/36 20190101ALI20220104BHJP
G06N 20/00 20190101ALI20220104BHJP
【FI】
G06F40/44
G06F40/56
G06F16/36
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021516821
(86)(22)【出願日】2019-11-28
(85)【翻訳文提出日】2021-04-22
(86)【国際出願番号】 CN2019121420
(87)【国際公開番号】W WO2020108545
(87)【国際公開日】2020-06-04
(31)【優先権主張番号】201811444710.8
(32)【優先日】2018-11-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】モン,ファンドォン
(72)【発明者】
【氏名】ジャン,ジンチャオ
(72)【発明者】
【氏名】ジョウ,ジエ
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA03
5B091CA21
5B091EA01
5B175DA01
5B175FB04
5B175GB04
(57)【要約】
文処理方法、文復号方法、装置、プログラム及び機器であって、文処理方法は、カスケードされたn個の処理ノードを含む符号化モデルに用いられ、符号化対象のソース文に対して単語分割演算を行い、m個の単語を得るステップ(301)と、n個の処理ノードのうちのi番目の処理ノードを利用してm個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得するステップ(302)であって、該i-1番目の単語ベクトルがm個の単語のうちのi-1番目の単語の符号化ベクトルであるステップ(302)と、i番目の処理ノードにおける第1のユニットを利用してi番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得るステップ(303)と、m個の単語ベクトルが得られると、目標文または目標分類を決定するためための文ベクトルをm個の単語ベクトルに基づいて生成するステップ(304)と、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
文処理機器により実行される文処理方法であって、
カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードである、カスケードされたn個(n≧2)の処理ノードを含む符号化モデルに用いられ、
符号化対象のソース文に対して単語分割演算を行い、m個(m≦n)の単語を得るステップと、
前記n個の処理ノードのうちのi番目(i≦m)の処理ノードを利用して前記m個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得するステップであり、前記i-1番目の単語ベクトルは、前記m個の単語のうちのi-1番目の単語の符号化ベクトルである、ステップと、
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を前記少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得るステップと、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを前記m個の単語ベクトルに基づいて生成するステップと、を含む、
文処理方法。
【請求項2】
前記符号化モデルが単方向符号化モデルであり、かつ符号化方向が前から後ろへの方向である場合、
前記i番目の処理ノードは、前記n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノードであり、
前記i番目の単語は、前記m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語である、
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記符号化モデルが単方向符号化モデルであり、かつ、符号化方向が後ろから前への方向である場合、
前記i番目の処理ノードは、前記n個の処理ノードのうち、後ろから前への順でi番目の位置に配列された処理ノードであり、
前記i番目の単語は、前記m個の単語のうち、後ろから前への順でi番目の位置に配列された単語である、
ことを特徴とする、請求項1に記載の方法。
【請求項4】
前記符号化モデルが双方向符号化モデルであり、かつ、符号化方向が前から後ろへの方向及び後ろから前への方向を含む場合、m≦n/2であり、
前記i番目の処理ノードは、前記n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノードと、前記n個の処理ノードのうち、後ろから前への順でi番目の位置に配列された処理ノードとを含み、
前記i番目の単語は、前記m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語と、前記m個の単語のうち、後ろから前への順でi番目の位置に配列された単語とを含む、
ことを特徴とする、請求項1に記載の方法。
【請求項5】
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行うことは、
前記第1のユニットを利用して前記i-1番目の単語ベクトルと第1の差分に対して要素積演算を行い、第1の積を得るステップであり、
前記第1の差分は、所定の数値から前記第1のユニットの更新ゲートを引いた値に等しいものであり、
前記更新ゲートは、前記i番目の単語からの前記i番目の単語ベクトルと前記i-1番目の単語ベクトルからの前記i番目の単語ベクトルとの割合を判断するためのものである、ステップと、
前記第1のユニットを利用して前記i番目の単語に対して線形変換関数により線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、双曲線正接関数により前記i番目の単語及び前記i-1番目の単語ベクトルに対して非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得るステップであり、
前記線形変換ゲートは、前記候補活性化関数値が前記線形変換関数値を含むように制御するためのものである、ステップと、
前記第1のユニットを利用して前記更新ゲートと前記候補活性化関数値に対して要素積演算を行い、第3の積を得るステップと、
前記第1のユニットを利用して前記第1の積と前記第3の積とを加算し、前記i番目の演算結果を得るステップと、を含む、
ことを特徴とする、請求項1乃至4いずれか一項に記載の方法。
【請求項6】
カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードを含む復号モデルを利用して復号するステップ、をさらに含み、
復号ステップは、
前記文ベクトルと、j番目の時点で前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点で取得するステップと、
j番目の時点で前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成するステップと、
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得るステップと、
k個(j≦k)の単語が得られると、前記k個の単語に基づいて目標文を生成するステップと、を含む、
ことを特徴とする、請求項1乃至4いずれか一項に記載の方法。
【請求項7】
文処理機器により実行される文復号方法であって、
カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードを含む復号モデルに用いられ、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点で前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点で取得するステップと、
j番目の時点で前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成するステップと、
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得るステップと、
k個(j≦k)の単語が得られると、前記k個の単語に基づいて目標文を生成するステップと、を含む、
文復号方法。
【請求項8】
前記復号モデルは、第1のユニットを含むクエリノードであり、前記処理ノードに接続されたクエリノードをさらに含み、
前記j番目のクエリ状態を取得することは、
前記処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であり、前記j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、前記クエリノードにおける第1のユニットを利用して取得するステップと、
前記クエリノードにおける第1のユニットを利用して、前記j-1番目の復号状態及び前記j-1番目の単語に対して線形演算及び非線形演算を行い、前記j番目のクエリ状態を得るステップと、を含む、
ことを特徴とする、請求項7に記載の方法。
【請求項9】
前記復号モデルは、第1のユニット及び少なくとも1つの第2のユニットを含むクエリノードであり、前記処理ノードに接続されたクエリノードをさらに含み、
前記j番目のクエリ状態を取得することは、
前記処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であり、前記j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、前記クエリノードにおける第1のユニットを利用して取得するステップと、
前記クエリノードにおける第1のユニットを利用して、前記j-1番目の復号状態及び前記j-1番目の単語に対して線形演算及び非線形演算を行い、得られた中間演算結果を前記クエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、前記j番目のクエリ状態を得るステップと、を含む、
ことを特徴とする、請求項7に記載の方法。
【請求項10】
前記復号モデルは、第3のユニット及び少なくとも1つの第2のユニットを含むクエリノードであって、前記処理ノードに接続されたクエリノードをさらに含み、
前記j番目のクエリ状態を取得することは、
前記処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、前記j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、前記クエリノードにおける第3のユニットを利用して取得するステップと、
前記クエリノードにおける第3のユニットを利用して、前記j-1番目の復号状態及び前記j-1番目の単語に対して非線形演算を行い、得られた中間演算結果を前記クエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、前記j番目のクエリ状態を得るステップと、を含む、
ことを特徴とする、請求項7に記載の方法。
【請求項11】
前記復号モデルは、前記符号化モデル、前記クエリノード及び前記処理ノードの各々に接続されたアテンション演算ノードをさらに含み、
前記j番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成する前記ステップは、
前記アテンション演算ノードを利用して、前記文ベクトル及び前記j番目のクエリ状態に対してアテンション演算を行い、前記j番目のソース言語注目コンテキストを得るステップ、を含む、
ことを特徴とする、請求項8乃至10いずれか一項に記載の方法。
【請求項12】
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行うことは、
前記第1のユニットを利用して前記j番目のクエリ状態と第1の差分に対して要素積演算を行い、第1の積を得るステップであり、
前記第1の差分は、所定の数値から前記第1のユニットの更新ゲートを引いた値に等しいものであり、
前記更新ゲートは、前記j番目のソース言語注目コンテキストからの前記j番目のソース言語注目コンテキストベクトルと前記j番目のクエリ状態からの前記j番目のソース言語注目コンテキストベクトルとの割合を判断するためのものである、ステップと、
前記第1のユニットを利用して前記j番目のソース言語注目コンテキストに対して線形変換関数により線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、前記j番目のソース言語注目コンテキスト及び前記j番目のクエリ状態に対して双曲線正接関数により非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得るステップであり、
前記線形変換ゲートは、前記候補活性化関数値が前記線形変換関数値を含むように制御するためのものである、ステップと、
前記第1のユニットを利用して前記更新ゲートと前記候補活性化関数値に対して要素積演算を行い、第3の積を得るステップと、
前記第1のユニットを利用して前記第1の積と前記第3の積とを加算し、前記j番目の演算結果を得るステップと、を含む、
ことを特徴とする、請求項7に記載の方法。
【請求項13】
文処理装置であって、
カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードである、カスケードされたn個(n≧2)の処理ノードを含む符号化モデルに用いられ、
符号化対象のソース文に対して単語分割演算を行い、m個(m≦n)の単語を得る単語分割モジュールと、
前記n個の処理ノードのうちのi番目(i≦m)の処理ノードを利用して前記m個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得する取得モジュールであり、前記i-1番目の単語ベクトルは前記m個の単語のうちのi-1番目の単語の符号化ベクトルである、取得モジュールと、
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を前記少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得る演算モジュールと、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを前記m個の単語ベクトルに基づいて生成する生成モジュールと、を含む、
文処理装置。
【請求項14】
文復号装置であって、
カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む1つの処理ノードを含む復号モデルに用いられ、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点で前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点で取得する取得モジュールと、
j番目の時点で前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成する生成モジュールと、
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得る演算モジュールと、を含み、
前記生成モジュールは、さらに、k個(j≦k)の単語が得られると、前記k個の単語に基づいて目標文を生成する、
文復号装置。
【請求項15】
メモリ及びプロセッサを含む文処理機器であって、
前記メモリにはコンピュータ読み取り可能な命令及び符号化モデルが記憶されており、前記符号化モデルは、カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードである、カスケードされたn個(n≧2)の処理ノードを含み、
前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、
符号化対象のソース文に対して単語分割演算を行い、m個(m≦n)の単語を得るステップと、
前記n個の処理ノードのうちのi番目(i≦m)の処理ノードを利用して前記m個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得するステップであり、前記i-1番目の単語ベクトルは前記m個の単語のうちのi-1番目の単語の符号化ベクトルである、ステップと、
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を前記少なくとも1つの第2のユニットに出力して処理させて、i番目の単語ベクトルを得るステップと、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを前記m個の単語ベクトルに基づいて生成するステップと、
を前記プロセッサに実行させる、
文処理機器。
【請求項16】
メモリ及びプロセッサを含む文処理機器であって、
前記メモリにはコンピュータ読み取り可能な命令及び復号モデルが記憶されており、前記復号モデルは、カスケードされた第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードを含み、
前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点に前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とをj番目の時点に取得するステップと、
j番目の時点に前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを前記文ベクトル及び前記j番目のクエリ状態に基づいて生成するステップと、
前記処理ノードにおける第1のユニットを利用して、前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させて、j番目の単語を得るステップと、
k個(j≦k)の単語が得られると、前記k個の単語に基づいて目標文を生成するステップと、
を前記プロセッサに実行させる、
文処理機器。
【請求項17】
コンピュータ読み取り可能な命令を含むコンピュータプログラムであって、
前記コンピュータ読み取り可能な命令が1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに請求項1乃至6、7、12いずれか一項に記載の方法を実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年11月29日に中国特許庁に提出された、出願番号が201811444710.8であり、出願名称が「文符号化方法、文復号方法、装置、記憶媒体及び機器」である中国特許出願について優先権を主張し、その内容の全てが本願の一部として援用される。
【0002】
本願の実施例は、文処理分野に関し、特には、文処理方法、文復号方法、装置、プログラム、及び機器に関する。
【背景技術】
【0003】
コンピュータは、入力された文を処理して他の文を出力することができる。機械翻訳を例として、機械翻訳は、コンピュータにより自然言語の文を他の自然言語の文に翻訳する翻訳方式である。通常、機械翻訳とは、訓練された機械学習モデルにより文を翻訳することである。例えば、ユーザが中国語文の
を機械学習モデルに入力すると、該機械学習モデルは、英語文の「The housing prices continued to rise」を出力する。
【0004】
関連技術では、機械学習モデルは、符号化モデル及び復号モデルを含み、該符号化モデルは、入力された自然言語のソース文を文ベクトルに符号化し、該文ベクトルを復号モデルに出力し、該復号モデルは、該文ベクトルを他の自然言語の目標文に復号する。例示的には、符号化モデル及び復号モデルは、いずれもニューラルネットワークモデルで構成されたものである。現在、文処理モデルは、文処理を行う正確性が低い。
【発明の概要】
【課題を解決するための手段】
【0005】
本願に係る各実施例によれば、文処理方法、文復号方法、装置、プログラム、及び機器が提供される。
【0006】
1つの態様では、文処理機器により実行される文復号方法であって、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードである、カスケードされたn(n≧2)個の処理ノードを含む符号化モデルに用いられ、
符号化対象のソース文に対して単語分割演算を行い、m(m≦n)個の単語を得るステップと、
前記n個の処理ノードのうちのi(i≦m)番目の処理ノードを利用して前記m個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得するステップであって、前記i-1番目の単語ベクトルは前記m個の単語のうちのi-1番目の単語の符号化ベクトルであるステップと、
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を前記少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得るステップと、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを前記m個の単語ベクトルに基づいて生成するステップと、を含む、文処理方法が提供される。
【0007】
1つの態様では、文処理機器により実行される文復号方法であって、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む1つの処理ノードを含む復号モデルに用いられ、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点に前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とをj番目の時点に取得するステップと、
j番目の時点に前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成するステップと、
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得るステップと、
k(j≦k)個の単語が得られると、前記k個の単語に基づいて目標文を生成するステップと、を含む、文復号方法が提供される。
【0008】
1つの態様では、文処理装置であって、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードである、カスケードされたn(n≧2)個の処理ノードを含む符号化モデルに用いられ、
符号化対象のソース文に対して単語分割演算を行い、m(m≦n)個の単語を得る単語分割モジュールと、
前記n個の処理ノードのうちのi(i≦m)番目の処理ノードを利用して前記m個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得する取得モジュールであって、前記i-1番目の単語ベクトルは前記m個の単語のうちのi-1番目の単語の符号化ベクトルである取得モジュールと、
前記i番目の処理ノードにおける第1のユニットを利用して前記i番目の単語及び前記i-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を前記少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得る演算モジュールと、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを前記m個の単語ベクトルに基づいて生成する生成モジュールと、を含む、文処理装置が提供される。
【0009】
1つの態様では、文復号装置であって、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む1つの処理ノードを含む復号モデルに用いられ、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点に前記ソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とをj番目の時点に取得する取得モジュールと、
j番目の時点に前記ソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、前記文ベクトル及び前記j番目のクエリ状態に基づいて生成するための生成モジュールと、
前記処理ノードにおける第1のユニットを利用して前記j番目のクエリ状態及び前記j番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を前記処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得る演算モジュールと、を含み、
前記生成モジュールは、さらに、k(j≦k)個の単語が得られると、前記k個の単語に基づいて目標文を生成する、
文復号装置が提供される。
【0010】
1つの態様では、コンピュータ読み取り可能な命令が記憶されている1つまたは複数のプログラムであって、前記コンピュータ読み取り可能な命令が1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに上述の文処理方法を実行させるか、または、上述の文復号方法のうちの少なくとも1つの方法を実行させる、プログラムが提供される。
【0011】
1つの態様では、メモリ及びプロセッサを含む文処理機器であって、前記メモリにはコンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、前記プロセッサに上述の文処理方法を実行させるか、または、上述の文復号方法のうちの少なくとも1つの方法を実行させる、
文処理機器が提供される。
【0012】
本願の1つまたは複数の実施例の詳細は、以下の図面及び説明において提供される。明細書、図面、及び特許請求の範囲から本願の他の特徴、目的、及び利点が明らかになる。
【図面の簡単な説明】
【0013】
以下、本願の実施例の技術案をより明瞭に説明するために、実施例の説明において必要な図面を用いて簡単に説明するが、当然ながら、以下に記載する図面は、単なる本願の一部の実施例であり、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到し得る。
【
図1】一部の例示的な実施例に基づいて示される文処理システムの構成模式図である。
【
図2】本願の一部の実施例に係る符号化モデルの模式図である。
【
図3】本願の一部の実施例に係る文処理方法のフローチャートである。
【
図4】本願の一部の実施例に係る符号化モデルの模式図である。
【
図5】本願の一部の実施例に係る符号化モデルの模式図である。
【
図6】本願の一部の実施例に係る文処理方法のフローチャートである。
【
図7】本願の一部の実施例に係る文復号方法のフローチャートである。
【
図8】本願の一部の実施例に係る文復号方法のフローチャートである。
【
図9】本願の一部の実施例に係る復号モデルの模式図である。
【
図10】本願の一部の実施例に係る復号モデルの模式図である。
【
図11】本願の一部の実施例に係る復号モデルの模式図である。
【
図12】本願の一部の実施例に係る符号化モデル及び復号モデルの模式図である。
【
図13】本願の一部の実施例に係る文処理装置の構成のブロック図である。
【
図14】本願の一部の実施例に係る文復号装置の構成のブロック図である。
【
図15】本願他の実施例に係るサーバの構成のブロック図である。
【発明を実施するための形態】
【0014】
以下、本願の実施例の目的、技術案、及び利点をより明瞭にするために、図面を参照しながら本願の実施形態についてさらに詳細に説明する。
【0015】
人工知能(Artificial Intelligence、AI)は、デジタルコンピュータまたはデジタルコンピュータで制御されるマシンを利用して、人間の知能をシミュレート、延伸及び拡張し、環境を感知し、知識を取得し、知識で最適な結果を取得する理論、方法、技術、及び応用システムである。つまり、人工知能は、コンピュータ科学の統合技術であり、知能の実質を把握し、人間の知能に類似する方式で反応できる新たな知能マシンを生産することを目的としている。人工知能は、様々な知能マシンの設計原理及び実現方法を研究し、マシンの感知、推理、及び技術案に関わる機能を与える。
【0016】
人工知能技術は、統合学科であり、関連する分野が幅広く、ハードウェアに関わる技術もあり、ソフトウェアに関わる技術もある。人工知能の基礎技術は、一般的に、センサ、専用人工知能チップ、クラウドコンピューティング、分散型記憶、ビッグデータ処理技術、オペレーティング/インタラクティブシステム、メカトロニクスなどの技術を含む。人工知能ソフトウェア技術は、主に、コンピュータビジョン技術、音声処理技術、自然言語処理技術及び機械学習/深層学習などの複数の主要方向を含む。
【0017】
音声技術(Speech Technology)のキー技術は、自動音声認識技術(ASR)、音声合成技術(TTS)、及び声紋認識技術である。コンピュータが聞いたり、見たり、話したり、感じたりできるようにすることは、未来のヒューマンコンピュータインタラクションの発展方向であり、その中でも、音声が将来的に最も有望なヒューマンコンピュータインタラクション方式の1つとなっている。
【0018】
自然言語処理(Nature Language processing、NLP)は、コンピュータ科学分野と人工知能分野での重要な方向である。自然言語処理は、ヒトとコンピュータとが自然言語で効果的に通信することを実現できる様々な理論及び方法を研究するものである。自然言語処理は、言語学と、コンピュータ科学と、数学とを一体に統合する科学である。従って、この分野での研究は、自然言語、すなわち、人々が日常的に使用する言語に関わるため、言語学の研究と密接に関連している。自然言語処理技術は、通常、テキスト処理、セマンティクス理解、機械翻訳、ロボットQ&A、知識スペクトルなどの技術を含む。
【0019】
機械学習(Machine Learning、ML)は、複数の分野の交差学科であり、確率論、統計学、近似論、凸解析、アルゴリズム複雑度理論などの複数の学科に関する。コンピュータがどのように人間の学習行為をシミュレートまたは実現し、新たな知識またはスキルを取得し、従来の知識構造を改めて組織して性能を改善させるかを専門に学習する。機械学習は、人工知能のコアであり、コンピュータに知能を与える基本的な方法であり、人工知能の各分野に応用されている。機械学習及び深層学習は、通常、人工ニューラルネットワーク、信念ネットワーク、強化学習、転移学習、帰納学習、教示学習などの技術を含む。
【0020】
人工知能技術の研究及び進歩に伴って、人工知能技術は、通常のスマートホーム、スマートウェアラブルデバイス、仮想アシスタント、スマートスピーカー、スマートマーケティング、無人運転、自律運転、ドローン、ロボット、スマート医療、スマートカスタマーサービスなどの複数の分野において研究及び応用が展開されており、人工知能技術は、技術の発展に伴って、より多くの分野において応用され、ますます重要な価値を発揮する。
【0021】
本願の実施例に係る技術案は、人工知能の自然言語処理などの技術に関し、具体的には、以下の実施例にて説明する。
【0022】
以下、まず、本願に係る応用シーンについて説明する。
【0023】
本願は、主に2種類の応用シーンに関するものとして、第1種類の応用シーンでは機械学習モデルが文に基づいて文を生成し、第2種類の応用シーンでは機械学習モデルが文を分類する。以下、この2種類の応用シーンの各々について説明する。
【0024】
第1種類の応用シーンは、複数の応用シーンを含んでもよい。以下、機械翻訳、マンマシン対話、及びテキスト自動生成の3つの応用シーンを例として説明する。
【0025】
1)機械翻訳
機械翻訳とは、コンピュータにより1種の自然言語の文を他種の自然言語の文に翻訳する翻訳方式である。通常、該機械翻訳は、訓練された機械学習モデルにより文を翻訳することである。例示的には、大量の翻訳言語材料サンプルで機械学習モデルを訓練し、該翻訳言語材料サンプルが中国語言語材料と英語言語材料との複数組の対応関係を含み、各中国語言語材料が翻訳結果とされる英語言語材料に対応し、訓練完了後、ユーザは、中国語文
を該機械学習モデルに入力した後、英語訳文「The housing prices continued to rise」を出力する。
【0026】
以下、機械学習モデルの呼び出し方式に基づいて、機械翻訳の応用シーンについて例を挙げて説明する。
【0027】
第1種類は、機械学習モデルの入口がユーザから見えるものである。例えば、機械学習モデルの入口が入力ボックスである。
【0028】
1つの選択的な応用シーンで、機械学習モデルは、入力ボックスが提供されるアプリケーションプログラムに設けられる。ユーザは、文Aを翻訳すべき場合、該アプリケーションプログラムにおいて該入力ボックスを見つけ、該入力ボックスに機械学習モデルが翻訳対象のソース文とする文Aを入力することができる。文Aは、ユーザにより手動入力されるか、または、他のテキストからコピーされて得られたものであってよいが、本実施例では限定しない。
【0029】
1つの選択的な応用シーンでは、機械学習モデルは、対応するウェブページにおいて入力ボックスが提供されるサーバに設けられる。ユーザは、文Aを翻訳すべき場合、ブラウザを起動して該ウェブページを開き、該ウェブページにおいて該入力ボックスを見つけ、該入力ボックスに、サーバにおける機械学習モデルが翻訳対象のソース文とする文Aを入力し、ブラウザは、該文Aをサーバに送信することができる。文Aは、ユーザにより手動入力されるか、または、他のテキストからコピーされて得られたものであってよいが、本実施例では限定しない。
【0030】
第2種類は、機械学習モデルの入口は、ユーザから見えないものである。例えば、機械学習モデルは、あるアプリケーションプログラムに埋め込まれるか、または、あるアプリケーションプログラムにより呼び出し可能である。
【0031】
1つの選択的な応用シーンでは、ユーザが該アプリケーションプログラムを用いてテキストを閲覧する場合、該テキストにおける文Aを選択し、このとき、該アプリケーションプログラムは、該文Aに対する操作オプションを表示し、該操作オプションが翻訳オプションを含む場合、ユーザが該操作オプションをトリガーすると、該アプリケーションプログラムは、機械学習モデルを呼び出し、該文Aを該機械学習モデルに送信して翻訳させる。
【0032】
2)マンマシン対話
マンマシン対話とは、ユーザから入力される文にコンピュータにより応答する対話方式である。通常、該マンマシン対話は、訓練された機械学習モデルにより文に応答する。例示的には、同じ種類の自然言語または複数種類の自然文の複数組の対話を含む大量の対話サンプルで、機械学習モデルを訓練する。訓練完了後、ユーザは、文の「春節まであと何日あるか」を該機械学習モデルに入力すると、応答文の「春節まであと60日ある」が出力される。
【0033】
3)テキスト自動生成
テキスト自動生成とは、コンピュータにより1つの文に基づいて1つの文または1段落の文を編集するテキスト生成方式である。入力された文の文字数が出力された文の文字数より多ければ、入力された文に対してコンテンツ抽出を行ったものとして理解でき、要約抽出などの応用シーンに適用できる一方、入力された文の文字数が出力された文の文字数より少なければ、入力された文に対してコンテンツ拡張を行ったものとして理解でき、文の複写、文章生成などの応用シーンに適用できる。
【0034】
通常、該テキスト自動生成は、訓練された機械学習モデルによりテキストを生成することである。例示的には、ユーザが文の「今週末の花は送料無料」を該機械学習モデルに入力すると、花の販促に関わるテキストが出力される。
【0035】
第2種類の応用シーンは、複数の応用シーンを含むことができる。以下、感情分析、品詞分析及びエンティティ分析という3つの応用シーンを例として説明する。
【0036】
1)感情分析
感情分析とは、コンピュータにより文に基づいてユーザの感情を分析する分類方式であり、ここでいう感情は、悲しみ、喜びなどの意気、憂鬱、倦怠などの気持ち、無関心、疎外などの対人姿勢、好き、嫌いなどの態度などを含むことができるが、本実施例では限定しない。
【0037】
通常、該感情分析は、訓練された機械学習モデルにより文を分析する。例示的には、大量の感情分析サンプルで機械学習モデルを訓練し、感情分析サンプルは、文と感情との複数組の対応関係を含み、各文が1種の感情に対応する。訓練完了後、ユーザが文の「私はとても楽しい」を該機械学習モデルに入力すると、「楽しい」の分類結果を出力する。
【0038】
2)品詞分析
品詞分析とは、コンピュータにより文中の単語の品詞を分析する分類方式であり、ここでいう品詞は、動詞、名詞、形容詞、前置詞、副詞などを含むことができるが、本実施例では限定しない。
【0039】
通常、該品詞分析は、訓練された機械学習モデルにより文を分析することである。例示的には、大量の品詞分析サンプルで機械学習モデルを訓練し、該品詞分析サンプルは、文と品詞との複数組の対応関係を含み、各文中の1つの単語が1つの品詞に対応する。訓練完了後、ユーザが文の「私はとても楽しい」を該機械学習モデルに入力すると、「私」の属する名詞分類、「とても」の属する副詞分類、「楽しい」の属する形容詞分類の分類結果が出力される。
【0040】
3)命名エンティティ分析
エンティティ分析とは、コンピュータにより文中の命名エンティティを抽出する分類方式であり、ここでいう命名エンティティは、人名、地名、組織などを含むことができる。
【0041】
通常、該命名エンティティ分析は、訓練された機械学習モデルにより文を分析することである。例示的には、大量の命名エンティティ分析サンプルで機械学習モデルを訓練し、該命名エンティティ分析サンプルは、文と命名エンティティとの複数組の対応関係を含み、各文中の1つの命名エンティティが1つの命名エンティティに対応する。訓練完了後、ユーザが文の「私は会社にいる」を該機械学習モデルに入力すると、「会社」の分類結果が出力される。
【0042】
なお、上記応用シーンは、例示的なものに過ぎず、実際の操作では、機械学習モデルにより文の符号化及び復号を実現する応用シーンは、いずれも、本願の実施例に係る方法を使用することができ、本願の実施例は、これについて限定しない。
【0043】
次に、本願に係る名詞について簡単に説明する
一部の実施例では、上記機械学習モデルは、ニューラルネットワークモデル、サポートベクターマシン(Support Vector Machine、SVM)、決定木(Decision Tree、DT)などのモデルとして実現され得るが、、本願の実施例では、これについて限定しない。本願の実施例では、該機械学習モデルがRNN(Recurrent Neural Network、再帰型ニューラルネットワーク)モデルであることを例として説明する。
【0044】
符号化モデルとは、自然言語の文を文ベクトルに符号化するモデルである。文ベクトルは、文中の各単語に対応する1つの単語ベクトルで構成され、該単語ベクトルが1つの単語のその文でのベクトルを表す。後で単語ベクトルの生成方式について説明し、ここでは説明を省略する。
【0045】
例示的には、中国語文の
は
、
及び
の3つの単語を含み、
が単語ベクトル1に対応し、
が単語ベクトル2に対応し、
が単語ベクトル3に対応し、得られた文ベクトルは、[単語ベクトル1,単語ベクトル2,単語ベクトル3]となる。
【0046】
なお、文を文ベクトルに符号化する前、該文に対して単語分割演算を行うことで、少なくとも2つの単語を得る必要があり、本実施例は、単語分割演算について限定しない。ここでいう単語は、文に対して単語分割を行うことで得られるものとして、文字、ワード、サブワードなどであってよいが、本実施例では限定しない。サブワードは、ワードを基に単語分割を行って得られるものである。例えば、ワードの「北京大学」を「北京」及び「大学」の2つのサブワードに分割する。
【0047】
復号モデルとは、1つの文ベクトルを1種の自然言語の文に復号するモデルである。復号モデルが文ベクトルを1回復号するたびに1つの単語を得るとともに、得られたすべての単語を1つの文として構成する。
【0048】
例示的には、文ベクトルが[単語ベクトル1,単語ベクトル2,単語ベクトル3]である場合、復号モデルは、該文ベクトルに対して1回目の復号を行い、単語の「The」を得てから、該文ベクトルに対して2回目の復号を行い、単語「housing」を得ることになり、このように、該文ベクトルに対して6回目の復号を行い、単語「rise」を得るまで繰り返し、得られた6個の単語を文の「The housing prices continued to rise」として構成する。
【0049】
なお、本願の実施例は、端末で実現されてもよく、サーバで実現されてもよく、さらに、端末及びサーバの両方で実現されてもよい。
図1に示すように、端末11は、ソース文を生成してサーバ12に送信し、サーバ12は、該ソース文を処理した後、処理結果を端末11に送信して表示させる。好ましくは、端末11とサーバ12とは、通信ネットワークを介して接続され、該通信ネットワークは、有線ネットワークであってもよく、無線ネットワークであってよいが、本願の実施例では、これについて限定しない。
【0050】
例示的には、サーバ12には、機械翻訳用の機械学習モデルが記憶され、ユーザが翻訳すべきソース文の
を端末11に入力すると、端末11は、該ソース文をサーバ12に送信し、サーバ12は、該ソース文を機械学習モデルにより翻訳して目標文を得るとともに、該目標文を端末11に送信して表示させる。
【0051】
本願での機械学習モデルは、符号化モデル及び復号モデルを含む。以下、まず符号化モデルの構造について説明する。
図2を参照すると、該符号化モデルは、カスケードされたn個の処理ノード201を含み、処理ノード201は、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含み、第1のユニットは1番目の第2のユニットにカスケードされてよく、処理ノード201は、複数の第1のユニットを含んでもよく、最後の1つの第1のユニットが1番目の第2のユニットにカスケードされてもよい。
図2において、影付きブロックで第1のユニットを表し、空白ブロックで第2のユニットを表し、各処理ノード201は、順に、第1のユニット、第2のユニット、…、第2のユニットを含む。ただし、n≧2である。
【0052】
1つの選択的な実施形態では、第1のユニットは、非線形演算能力及び線形演算能力を有するGRUであり、例えばL-GRUであるか、または、GRUに対して他の線形変換改良を行って得られたGRUであり、第2のユニットは、T-GRUである。以下、GRU、L-GRU、及びT-GRUの各々について説明する。
【0053】
1)GRU(Gate Recurrent Unit、ゲート付き回帰型ユニット):
i番目の時点でのGRUの出力の演算式は、以下の通りである。
【0054】
【数1】
ただし、z
iはGRUの更新ゲートであり、演算式はZ
i=σ(W
xzx
i+W
hzh
i-1)であり、x
iはi番目の時点でのGRUの入力であり、h
i-1はi-1番目の時点でのGRUの出力であり、σは活性化関数であり、「(・)」は要素積演算の記号であり、h
~
iは候補活性化関数であり、演算式は
【数2】
であり、tanhは双曲線正接関数であり、r
iはGRUのリセットゲートであり、演算式はr
i=σ(W
xrx
i+W
hrh
i-1)であり、W
xz、W
hz、W
xh、W
hh、W
xr、及びW
hrは、訓練して得られるGRUの重みである。
【0055】
更新ゲートziは、xiからのhiとhi-1からのhiとの割合を判断するためのものである。更新ゲートziの数値が大きいほど、hi-1からの割合が大きくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が小さくなることを表す。
【0056】
リセットゲートriは、xiからのh~
iとhi-1からのh~
iとの割合を判断するためのものである。リセットゲートriの数値が大きいほど、hi-1からの割合が小さくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が大きくなることを表す。
【0057】
2)T-GRU(Transition GRU、変換ゲート付き回帰型ユニット):
T-GRUは、機械学習モデルにおける第1層に出現することがないため、T-GRUには入力されるxiが存在しない。
【0058】
i番目の時点でのT-GRUの出力の演算式は、以下の通りである。
【0059】
【数3】
ただし、z
iはT-GRUの更新ゲートであり、演算式はZ
i=σ(W
hzh
i-1)であり、h
i-1はi-1番目の時点でのT-GRUの出力であり、σは活性化関数であり、「(・)」は要素積演算の記号であり、h
~
iは候補活性化関数であり、演算式は
【数4】
であり、tanhは双曲線正接関数であり、r
iはT-GRUのリセットゲートであり、演算式はr
i=σ(W
hzh
i-1)であり、W
hz、W
hh、及びW
hrは、訓練して得られるT-GRUの重みである。
【0060】
更新ゲートziは、hi-1からのhiの割合を判断するためのものである。更新ゲートziの数値が大きいほど、hi-1からの割合が大きくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が小さくなることを表す。
【0061】
リセットゲートriは、hi-1からのh~
iの割合を判断するためのものである。リセットゲートriの数値が大きいほど、hi-1からの割合が小さくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が大きくなることを表す。
【0062】
3)L-GRU(Linear Transformation enhanced GRU、線型変換強化型ゲート付き回帰型ユニット):
i番目の時点でのL-GRUの出力の演算式は、以下の通りである。
【0063】
【数5】
ただし、z
iはL-GRUの更新ゲートであり、演算式はZ
i=σ(W
xzx
i+W
hzh
i-1)であり、x
iはi番目の時点でのL-GRUの入力であり、h
i-1はi-1番目の時点でのL-GRUの出力であり、σは活性化関数であり、「(・)」は要素積演算の記号であり、h
~
iは候補活性化関数であり、演算式は
【数6】
であり、tanhは双曲線正接関数であり、r
iはL-GRUのリセットゲートであり、演算式はr
i=σ(W
xrx
i+W
hrh
i-1)であり、Hは線形変換関数であり、演算式はH(x
i)=W
xx
iであり、l
iはL-GRUの線形変換ゲートであり、演算式はI
i=σ(W
xlx
i+W
hlh
i-1)であり、W
xz、W
hz、W
xh、W
hh、W
xr、W
hr、W
x、W
xi及びW
h1は、訓練して得られるL-GRUの重みである。
【0064】
更新ゲートziは、xiからのhiとhi-1からのhiとの割合を判断するためのものである。更新ゲートziの数値が大きいほど、hi-1からの割合が大きくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が小さくなることを表す。
【0065】
リセットゲートriは、xiからのh~
iとhi-1からのh~
iとの割合を判断するためのものである。リセットゲートriの数値が大きいほど、hi-1からの割合が小さくなることを表し、更新ゲートziの数値が小さいほど、hi-1からの割合が大きくなることを表す。
【0066】
線形変換ゲートliは、候補活性化関数値が線形変換関数値を含むように制御するためのものである。つまり、線形変換ゲートliは、候補活性化関数値を強化し、候補活性化関数値がある程度でxiに対する線形変換結果を含むようにするためのものである。
【0067】
以下、符号化モデルの構造を理解したうえで、符号化モデルを利用して文を符号化する方法について説明する。
【0068】
図3を参照すると、本願の一部の実施例に係る文処理方法のフローチャートが示され、該文処理方法は、以下のステップ301~304を含む。
【0069】
ステップ301において、符号化対象のソース文に対して単語分割演算を行い、m個の単語を得る。
【0070】
ソース文とは、1種の自然言語に対応する文である。ソース文は、ユーザから入力されるものであってもよく、ユーザがテキストから選択するものであってもよい。
【0071】
本実施例の方法が機械翻訳の応用シーンに適用されることを例にすると、好ましくは、ソース文は、ユーザから入力される翻訳対象の文であり、好ましくは、該ソース文は、ユーザがテキストを閲覧するときに選択して生成されるものであってもよく、例えば、ユーザが文章を閲覧するときに、
の文字コンテンツを選択し、翻訳オプションを選択すると、該選択された文字コンテンツがソース文となる。
【0072】
符号化モデルは、ソース文を得ると、該ソース文に対して単語分割演算を行うことができ、本実施例は、単語分割演算の演算方式について限定しない。
【0073】
本実施例では、ソース文中の各単語が1つの処理ノードに対応するため、単語分割して得られた単語の数mを機械学習モデルにおける処理ノードの数n以下、すなわち、m≦nにする必要がある。
【0074】
符号化モデルは、m個の単語が得られると、ステップ302及び303を実行することができ、1つの単語ベクトルを得ると、iをi+1に更新し、続いてステップ302及び303を実行して次の単語ベクトルを得る。このように、iをmに更新してm番目の単語ベクトルを得るまで繰り返してから、ステップ304を実行する。
【0075】
ステップ302において、n個の処理ノードのうちのi番目の処理ノードを利用してm個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得する。該i-1番目の単語ベクトルは、m個の単語のうちのi-1番目の単語の符号化ベクトルである。
【0076】
符号化モデルは、m個の単語が得られると、各単語のソース文での位置に基づいて、該m個の単語をソートする。例えば、ソース文が
であれば、ソートされた3つの単語は
、
及び
となる。
【0077】
i-1番目の単語ベクトルは、m個の単語のうちの最初のi-2個の単語に基づいて生成されるが、i-1番目の単語の符号化ベクトルを表す。例えば、
図2におけるh
1は、1番目の単語に基づいて生成され、1番目の単語ベクトルを表し、h
2は、第1及び2個の単語に基づいて生成され、2番目の単語ベクトルを表す。
【0078】
ステップ303において、i番目の処理ノードにおける第1のユニットを利用して、i番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得る。
【0079】
第1のユニットがL-GRUであり、第2のユニットがT-GRUであることを例として、符号化モデルが各時点に1つの単語ベクトルを得るプロセスについて説明する。本実施例では、処理ノードがデータを受信してからデータを出力するまでの時間は、1つの時点と呼ばれ、1つの時間ステップとも呼ばれる。
【0080】
1番目の時点において、1番目の処理ノードにおけるL-GRUは、ソース文中の1番目の単語x1を受信し、演算式に基づいてx1に対して線形演算及び非線形演算を行ってから、該1番目の処理ノードにおける1番目のT-GRUに出力して、該1番目のT-GRUは、受信したデータを演算式に基づいて処理してから、該1番目の処理ノードにおける2番目のT-GRUに出力する。このように、該1番目の処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、h1を得るまで繰り返す。ここで、h1は、x1に対応する単語ベクトルである。
【0081】
2番目の時点において、2番目の処理ノードにおけるL-GRUは、ソース文中の2番目の単語x2及び1番目の処理ノードで得られたh1を受信し、演算式に基づいてx1及びh1に対して線形演算及び非線形演算を行ってから、該2番目の処理ノードにおける1番目のT-GRUに出力し、該1番目のT-GRUは、受信したデータを演算式に基づいて処理してから、該2番目の処理ノードにおける2番目のT-GRUに出力する。このように、該2番目の処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、h2を得るまで繰り返す。ここで、h2は、x2に対応する単語ベクトルである。
【0082】
このようにして、n番目の処理ノードは、hmを得ることができる。
【0083】
なお、処理ノードにおけるT-GRUの数は、予め設定されてもよい。通常、T-GRUの数と文処理精度とは、正の相関関係であり、すなわち、T-GRUの数が大きいほど、文処理精度が高くなる。しかし、T-GRUの数の増加とともに、精度の増加幅が徐々に減少するが、機械学習モデルの複雑性が徐々に増大するため、文の処理効率が低下してしまう。従って、文処理精度及び効率に対するユーザのニーズに応じて、T-GRUの数を設定することができる。
【0084】
ステップ304において、m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルをm個の単語ベクトルに基づいて生成する。
【0085】
符号化モデルがm個の単語ベクトルを得ると、各単語ベクトルに対応する単語のソース文での位置に基づいて、該m個の単語ベクトルをソートする。例えば、
が単語ベクトル1に対応し、
が単語ベクトル2に対応し、
が単語ベクトル3に対応すれば、得られた文ベクトルが[単語ベクトル1,単語ベクトル2,単語ベクトル3]となる。文ベクトルを得ると、復号モデルを利用して文ベクトルを復号し、目標文または目標分類を得ることができる。
【0086】
本実施例の方法が第1種類の応用シーンに適用される場合、文ベクトルは、復号モデルが1種の自然言語の文に対応する目標文を生成するためのものである。ここで、本実施例の方法が機械翻訳の応用シーンに適用される場合、ソース文に対応する自然言語と目標文に対応する自然言語とは異なるものである。例えば、ソース文に対応する自然言語が中国語で、目標文に対応する自然言語が英語であり、あるいは、ソース文に対応する自然言語がフランス語で、目標文に対応する自然言語が英語であり、あるいは、ソース文に対応する自然言語が英語で、目標文に対応する自然言語が中国語である。本実施例の方法がマンマシン対話またはテキスト自動生成の応用シーンに適用される場合、ソース文に対応する自然言語と目標文に対応する自然言語とは、同じであってもよく、または、異なってもよい。
【0087】
本実施例の方法が第2種類の応用シーンに適用される場合、文ベクトルは、目標分類を決定するためのものである。ここで、本実施例の方法が感情分析の応用シーンに適用される場合、目標分類は感情分類である。本実施例の方法が品詞分析の応用シーンに適用される場合、目標分類は品詞分類である。本実施例の方法が命名エンティティ分析の応用シーンに適用される場合、目標分類は命名エンティティ分類である。
【0088】
本願の実施例に係る文処理方法を用いると、処理ノードにおける第1のユニットがi番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行うことができ、すなわち、コンテキストに基づいて現在の単語の単語ベクトルを決定することができるため、より正確な単語ベクトルを抽出することができる。さらに、機械学習モデルが文を処理する際、訓練して得られた重みに依存する必要があるが、訓練するにはバックプロパゲーションアルゴリズムに関わる必要があり、すなわち、訓練データの出力ルートの逆方向に沿って出力と参照結果との誤差を伝送することで、該誤差に基づいて重みを補正する。しかし、逆伝播の場合、機械学習モデルにおける誤差の勾配が消えるまで指数関数的に低下し、機械学習モデルにおける前の方の重み更新が遅くなり、後の方の重みの更新が速くなるため、訓練して得られた重みが不正確になり、文処理精度が低くなってしまう。そこで、符号化モデルを訓練して該符号化モデルの重みを得る際、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、符号化モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0089】
一部の実施例では、さらに符号化モデルの符号化方向に基づいて符号化モデルの種類を設定することができる。以下、そのうちの3種類の符号化モデルについて説明する。
【0090】
1.符号化方向が前から後ろへの単方向符号化モデルである場合
図2を参照すると、
図2において左から右への方向で前から後ろへの符号化方向を表し、影付きブロックはL-GRUを表し、空白ブロックはT-GRUを表す。このとき、i番目の処理ノードは、n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノード201であり、i番目の単語は、m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語である。
【0091】
例えば、符号化モデルで得られたm個の単語が
、
及び
であれば、左から右への方向での1番目の処理ノード201で処理される1番目の単語は
であり、2番目の処理ノード201で処理される2番目の単語は
であり、3番目の処理ノード201で処理される3番目の単語が
である。
【0092】
2.符号化方向が後ろから前への単方向符号化モデルである場合
図4を参照すると、
図4において右から左への方向で後ろから前への符号化方向を表し、影付きブロックはL-GRUを表し、空白ブロックはT-GRUを表す。このとき、i番目の処理ノードは、n個の処理ノードのうち、後ろから前への順でi番目の位置に配列された処理ノード401であり、i番目の単語は、m個の単語のうち、後ろから前への順でi番目の位置に配列された単語である。
【0093】
例えば、符号化モデルで得られたm個の単語が
、
、及び
であれば、右から左への方向での1番目の処理ノード401で処理される1番目の単語は
であり、2番目の処理ノード401で処理される2番目の単語は
であり、3番目の処理ノード401で処理される3番目の単語は
である。
【0094】
3.符号化方向が前から後ろへの方向及び後ろから前への方向を含む双方向符号化モデルである場合
図5を参照すると、
図5において左から右への方向で前から後ろへの符号化方向を表し、右から左への方向で後ろから前への符号化方向を表し、影付きブロックはL-GRUを表し、空白ブロックはT-GRUを表す。このとき、i番目の処理ノードは、n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノード501と、後ろから前への順でi番目の位置に配列された処理ノード502とを含み、i番目の単語は、m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語と、後ろから前への順でi番目の位置に配列された単語とを含む。
【0095】
例えば、符号化モデルで得られたm個の単語が
、
、及び
であれば、左から右への方向での1番目の処理ノード501で処理される1番目の単語は
であり、2番目の処理ノード501で処理される2番目の単語は
であり、3番目の処理ノード501で処理される3番目の単語は
である一方、右から左への方向での1番目の処理ノード502で処理される1番目の単語は
であり、2番目の処理ノード502で処理される2番目の単語は
であり、3番目の処理ノード502で処理される3番目の単語は
である。
【0096】
図6を参照すると、本願の他の実施例に係る文処理方法のフローチャートが示される。該文処理方法は、以下のステップ601~608を含む。
【0097】
ステップ601において、符号化対象のソース文に対して単語分割演算を行い、m個の単語を得る。
【0098】
m個の単語が得られると、符号化モデルは、ステップ602~607を実行し、1つの単語ベクトルが得られると、iをi+1に更新し、続いてステップ602~607を実行して次の単語ベクトルを得る。このように、iをmに更新してm番目の単語ベクトルが得られるまで、ステップ608を実行する。
【0099】
ステップ602において、n個の処理ノードのうちのi番目の処理ノードを利用してm個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得する。i-1番目の単語ベクトルは、m個の単語のうちのi-1番目の単語の符号化ベクトルである。
【0100】
ステップ603において、第1のユニットを利用してi-1番目の単語ベクトルと第1の差分に対して要素積演算を行い、第1の積を得る。
【0101】
第1の差分は、所定の数値から第1のユニットの更新ゲートを引いた値に等しいものであり、所定の数値は1であってもよく、他の数値であってもよいが、本実施例では限定しない。
【0102】
更新ゲートは、i番目の単語からのi番目の単語ベクトルとi-1番目の単語ベクトルからのi番目の単語ベクトルとの割合を判断するためのものである。更新ゲートの演算式については、詳しくは、L-GRUに関する説明を参照し、ここでは説明を省略する。
【0103】
ステップ604において、第1のユニットを利用して線形変換関数によりi番目の単語に対して線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、双曲線正接関数によりi番目の単語及びi-1番目の単語ベクトルに対して非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得る。
【0104】
線形変換ゲートは、候補活性化関数値が線形変換関数値を含むように制御するためのものである。線形変換ゲートの演算式については、詳しくは、L-GRUに関する説明を参照し、ここでは説明を省略する。
【0105】
ステップ605において、第1のユニットを利用して更新ゲートと候補活性化関数値に対して要素積演算を行い、第3の積を得る。
【0106】
ステップ606において、第1のユニットを利用して第1の積と第3の積とを加算し、i番目の演算結果を得る。
【0107】
なお、ステップ603~606でのデータ処理過程は、1つの処理ノードでのL-GRUが演算式に基づいてデータを処理する過程であり、詳しくは、上記のL-GRUの演算式を参照し、ここでは説明を省略する。
【0108】
処理ノードの深さをls、すなわち、処理ノードにおけるL-GRUとT-GRUとの数の和をlsとすると、i番目の演算結果は、以下の通りである。
【0109】
h→
i,0=L-GRU(xi,h→
i-1,ls)
ステップ607において、得られたi番目の演算結果を、i番目の処理ノードにおける第1のユニットを利用して少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得る。
【0110】
i番目の処理ノードにおけるL-GRUは、得られたi番目の演算結果を該i番目の処理ノードにおける1番目のT-GRUに出力し、該i番目の処理ノードにおける1番目のT-GRUは、受信したデータを処理してから、該i番目の処理ノードにおける2番目のT-GRUに出力する。このように、該i番目の処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、i番目の単語ベクトルを得るまで繰り返す。ここで、i番目の単語ベクトルは、i番目の単語に対応する単語ベクトルである。
【0111】
処理ノードの深さをlsとすると、k番目のT-GRUの出力は、以下の通りである。
【0112】
h→
i,k=T-GRUk(h→
i,k-1)
ここで、1≦k≦lsである。
【0113】
符号化モデルが単方向符号化モデルであり、符号化方向が前から後ろへの方向である場合、i番目の単語ベクトルはh→
i,lsであり、符号化モデルが単方向符号化モデルであり、符号化方向が後ろから前への方向である場合、i番目の単語ベクトルはh←
i,lsであり、符号化モデルが双方向符号化モデルであり、符号化方向が前から後ろへの方向及び後ろから前への方向を含む場合、i番目の単語ベクトルは[h→
i,ls,h←
i,ls]である。ただし、h→
i≡h→
i,1sである。
【0114】
ステップ608において、m個の単語ベクトルが得られると、m個の単語ベクトルに基づいて、目標文を生成するための文ベクトルを生成し、該目標文と該ソース文とは異なる自然言語に対応する。
【0115】
以上のように、本願の実施例に係る文処理方法は、処理ノードにおける第1のユニットがi番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行うことができるため、符号化モデルを訓練して該符号化モデルの重みを得る際、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、符号化モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0116】
図7を参照すると、本願の一部の実施例に係る文復号方法のフローチャートが示されており、該復号モデルは、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む1つの処理ノードを含む。第1のユニットは、非線形演算能力及び線形演算能力を有するGRUであり、例えば、上述のL-GRUであるか、または、GRUに対して他の線形変換改良を行って得られたGRUであり、第2のユニットはT-GRUである。該文復号方法は、以下のステップ701~704を含む。
【0117】
ステップ701において、符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点にソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点に取得する。
【0118】
文ベクトルは、
図2~6に示す符号化モデルによりソース文に基づいて生成されたものであってよく、または、他の符号化モデルがソース文に基づいて生成されたものであってもよいが、本実施例では限定しない。ソース文とは、1種の自然言語に対応する文である。
【0119】
クエリ状態は、現在の時点に符号化された履歴状態であり、ソース文をクエリして、次の時点のソース文のうち、符号化される可能性が最も高い部分を取得するためのものである。該部分は、文字、単語、フレーズ、不連続的な断片などであってもよいが、本実施例では限定しない。
【0120】
ステップ702において、j番目の時点にソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを、文ベクトル及びj番目のクエリ状態に基づいて生成する。
【0121】
復号モデルは、アテンション演算を利用して、文ベクトル及びj番目のクエリ状態に対してj番目のソース言語注目コンテキストを生成することができる。該ソース言語注目コンテキストは、現在の時点にソース文のうち、符号化される可能性が最も高い部分であり、詳しくは後述する。
【0122】
ステップ703において、処理ノードにおける第1のユニットを利用してj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得る。
【0123】
第1のユニットがL-GRUであり、第2のユニットがT-GRUである場合、処理ノードにおけるL-GRUは、上述した演算式に基づいてj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を該処理ノードにおける1番目のT-GRUに出力し、該処理ノードにおける1番目のT-GRUは、受信したデータを処理してから、該処理ノードにおける2番目のT-GRUに出力する。このように、該処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、j番目の単語を得るまで繰り返す。ここで、j番目の単語は、目標文において前から後ろへの順でj番目の位置に配列された単語である。
【0124】
なお、j≦kとすると、復号モデルは、ステップ701~703を実行することができ、1つの単語が得られると、jをj+1に更新し、続いてステップ701~703を実行して次の単語を得る。このように、jをkに更新してk番目の単語を得るまで繰り返してから、ステップ704を実行する。
【0125】
ステップ704において、k個の単語が得られると、k個の単語に基づいて目標文を生成する。該目標文とソース文とは異なる自然言語に対応する。
【0126】
復号モデルは、k個の単語が得られると、各単語の生成順に従って、該k個の単語をソートし、目標文を得る。例えば、復号モデルで得られた1番目の単語が「The」であり、2番目の単語が「housing」であり、3番目の単語が「prices」であり、4番目の単語が「continued」であり、5番目の単語が「to」であり、6番目の単語が「rise」である場合、目標文は「The housing prices continued to rise」である。
【0127】
本実施例の方法が機械翻訳の応用シーンに適用されるとき、ソース文に対応する自然言語と目標文に対応する自然言語とは、異なるものである。例えば、ソース文に対応する自然言語が中国語であり、目標文に対応する自然言語が英語であるか、または、ソース文に対応する自然言語がフランス語であり、目標文に対応する自然言語が英語であるか、または、ソース文に対応する自然言語が英語であり、目標文に対応する自然言語が中国語である。
【0128】
本実施例の方法がマンマシン対話またはテキスト自動生成の応用シーンに適用されるとき、ソース文に対応する自然言語と目標文に対応する自然言語とは、同じであってもよく、異なってもよいが、本実施例では限定しない。
【0129】
上記のように、本願の実施例に係る文復号方法は、処理ノードにおける第1のユニットがj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行うことができるため、復号モデルを訓練して該復号モデルの重みを得る際、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、復号モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0130】
図8を参照すると、本願の一部の実施例に係る文復号方法のフローチャートが示され、該復号モデルは、1つの処理ノードを含み、当然ながら、複数の処理ノードを含んでもよく、各処理ノードは、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含んでもよい。第1のユニットは、非線形演算能力及び線形演算能力を有するGRUであり、例えば、上述のL-GRUであるか、または、GRUに対して他の線形変換改良を行って得られたGRUであり、第2のユニットはT-GRUである。該文復号方法は、以下のステップ801~808を含む。
【0131】
ステップ801において、符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点にソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点に取得する。
【0132】
一部の実施例では、復号モデルは、処理ノードに接続されたクエリノードを介してj番目のクエリ状態を取得することができる。以下、クエリノードの3つの実施形態について説明する。
【0133】
第1の実施形態において、クエリノードは、1つの第1のユニット及び少なくとも1つの第2のユニットを含み、j番目のクエリ状態を取得するステップは、処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第1のユニットを利用して取得するステップと、クエリノードにおける第1のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、得られた中間演算結果をクエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目のクエリ状態を得るステップと、を含む。
【0134】
第1のユニットがL-GRUであり、第2のユニットがT-GRUである場合、
図9を参照すると、
図9において影付きブロックでL-GRUを表し、空白ブロックでT-GRUを表し、破線ブロック901で処理ノードを表し、破線ブロック902でクエリノードを表している。
【0135】
処理ノードにおけるL-GRUは、上述した演算式に基づいてj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、得られた中間演算結果を該処理ノードにおける1番目のT-GRUに出力し、該処理ノードにおける1番目のT-GRUは、受信したデータを処理してから、該処理ノードにおける2番目のT-GRUに出力する。このように、該処理ノードにおける最後のT-GRUが受信したデータを演算式に基づいて処理して、j番目のクエリ状態を得るまで繰り返す。
【0136】
クエリノードの深さをlq、処理ノードの深さをld、すなわち、クエリノードにおけるL-GRUとT-GRUとの数の和をlq、処理ノードにおけるL-GRUとT-GRUとの数の和をldとすると、中間演算結果は、Sj,0=L-GRU(yj-1,sj-1,lq+ld+1)であり、k番目のT-GRUの演算結果は、Sj,k=T-GRUk(sj,k-1)であり、1≦k≦lqである。ただし、Sは復号状態を表し、yは目標構造における単語を表す。
【0137】
クエリノードが1つのGRUを含む場合に比べると、本願では、クエリノードの深さを増加させ、すなわち、クエリノードにおいてT-GRUを増加させることにより、復号モデルの学習能力を向上させるだけではなく、GRUをL-GRUに改定することにより、復号モデルの重みの精度を向上させ、文処理精度を向上させる。
【0138】
第2の実施形態において、クエリノードは、1つの第1のユニットを含み、j番目のクエリ状態を取得するステップは、処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第1のユニットを利用して取得するステップと、クエリノードにおける第1のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、j番目のクエリ状態を得るステップと、を含む。
【0139】
第1のユニットがL-GRUである場合、
図10を参照すると、
図10において影付きブロックでL-GRUを表し、空白ブロックでT-GRUを表し、破線ブロック901で処理ノードを表し、破線ブロック902でクエリノードを表している。
【0140】
処理ノードにおけるL-GRUは、上述した演算式に基づいてj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、直接j番目のクエリ状態を得ることができる。
【0141】
クエリノードが1つのGRUを含む場合に比べると、本願では、GRUをL-GRUに改定することにより、復号モデルの重みの精度を向上させ、文処理精度を向上させる。
【0142】
第3の実施形態において、クエリノードは、1つの第3のユニット及び少なくとも1つの第2のユニットを含み、j番目のクエリ状態を取得するステップは、処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第3のユニットを利用して取得するステップと、クエリノードにおける第3のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して非線形演算を行い、得られた中間演算結果をクエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目のクエリ状態を得るステップと、を含む。
【0143】
第3のユニットがGRUであり、第2のユニットがT-GRUである場合、
図11を参照すると、
図11において黒いブロックでGRUを表し、空白ブロックでT-GRUを表し、破線ブロック901で処理ノードを表し、破線ブロック902でクエリノードを表す。
【0144】
処理ノードにおけるGRUは、上述した演算式に基づいてj-1番目の復号状態及びj-1番目の単語に対して非線形演算を行い、得られた中間演算結果を該処理ノードにおける1番目のT-GRUに出力し、該処理ノードにおける1番目のT-GRUは、受信したデータを処理してから、該処理ノードにおける2番目のT-GRUに出力する。このように、該処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、j番目のクエリ状態を得るまで繰り返す。
【0145】
クエリノードが1つのGRUを含む場合に比べると、本願ではクエリノードの深さを増加させ、すなわち、クエリノードにおいてT-GRUを追加することにより、復号モデルの学習能力を向上させる。
【0146】
ステップ802において、復号モデルがアテンション演算ノードをさらに含む場合、アテンション演算ノードを利用して文ベクトル及びj番目のクエリ状態に対してアテンション演算を行い、j番目の時点にソース文のうちの符号化された部分であるj番目のソース言語注目コンテキストを得る。
【0147】
アテンション演算ノードは、符号化モデル、クエリノード及び処理ノードの各々に接続され、詳しくは
図9~11を参照すると、
図9~11において破線ブロック903でアテンション演算ノードを表している。
【0148】
一部の実施例では、本願でのアテンション演算ノードは、マルチヘッドアテンション演算モデルであってもよく、従来のアテンション演算モデル、ローカル及びグローバルアテンションモデルなどの他のアテンションモデルであってもよいが、本実施例では限定しない。
【0149】
マルチヘッドアテンション演算モデルを例にすると、j番目のソース言語注目コンテキストは、以下の通りである。
【0150】
cj=Multihead-Attention(C,vj,lq)
ただし、Cは文ベクトルであり、vはクエリ状態である。
【0151】
ステップ803において、第1のユニットを利用してj番目のクエリ状態と第1の差分に対して要素積演算を行い、第1の積を得る。第1の差分は、所定の数値から第1のユニットの更新ゲートを引いた値に等しい。
【0152】
第1の差分は、所定の数値から第1のユニットの更新ゲートを引いた値に等しいものであり、所定の数値は、1であってもよく、他の数値であってもよいが、本実施例では限定しない。
【0153】
更新ゲートは、j番目のソース言語注目コンテキストからのj番目のソース言語注目コンテキストベクトルと、j番目のクエリ状態からのj番目のソース言語注目コンテキストベクトルとの割合を判断するためのものである。更新ゲートの演算式については、詳しくは、L-GRUでの説明を参照し、ここでは説明を省略する。
【0154】
ステップ804において、第1のユニットを利用して線形変換関数によりj番目のソース言語注目コンテキストに対して線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、双曲線正接関数によりj番目のソース言語注目コンテキスト及びj番目のクエリ状態に対して非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得る。
【0155】
線形変換ゲートは、候補活性化関数値が線形変換関数値を含むように制御するためのものである。線形変換ゲートの演算式については、詳しくは、L-GRUでの説明を参照し、ここでは説明を省略する。
【0156】
ステップ805において、第1のユニットを利用して更新ゲートと候補活性化関数値に対して要素積演算を行い、第3の積を得る。
【0157】
ステップ806において、第1のユニットを利用して第1の積と第3の積とを加算し、j番目の演算結果を得る。
【0158】
なお、ステップ803~807でのデータ処理過程は、処理ノードにおけるL-GRUが演算式に基づいてデータを処理する過程であり、単に以下の式として示され得るが、その説明は省略する。
【0159】
Sj,lq+1=L-GRU(cj,vj,ld)
ただし、cはソース言語注目コンテキストであり、vはクエリ状態である。
【0160】
ステップ807において、得られたj番目の演算結果を処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得る。
【0161】
処理ノードにおけるL-GRUは、得られたj番目の演算結果を該処理ノードにおける1番目のT-GRUに出力し、該処理ノードにおける1番目のT-GRUは、受信したデータを処理してから、該処理ノードにおける2番目のT-GRUに出力する。このように、該処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、j番目の単語を得るまで繰り返す。ここで、j番目の単語は、目標文において前から後ろへの順でj番目の位置に配列された単語である。
【0162】
式で示すと、T-GRUの出力は、Sj,lq+p=T-GRU(vj,lq+P-1)であり、2≦P≦ld+1である。
【0163】
なお、第1には、復号モデルは、j番目の復号状態を生成した後、さらにj-1番目の単語、j番目の復号状態、j番目のソース言語注目コンテキストを取得し、上記3つのデータに基づいて出力ベクトルojを演算し、演算式は、oj=tanh(Wy
°yj-1+Ws
°sj+Wc
°cj)であり、Wy°、Ws°、及びWc°は、訓練して得られる復号モデルの重みとして、sj≡sj,lq+ld+1である。復号モデルは、softmaxにより該出力ベクトルojを取得し、演算式yj=softmax(Woj+b)に基づいて、j番目の単語が単語テーブルにおける各単語である確率を演算し、最大確率に対応する単語をj番目の単語とする。単語表は、復号モデルにおいて予め設定されたものである。
【0164】
なお、第2には、j≦kとすると、復号モデルは、ステップ801~807を実行することができ、1つの単語が得られると、jをj+1に更新し、続いてステップ801~807を実行して次の単語を得る。このように、jをkに更新してk番目の単語を得るまで繰り返してから、ステップ808を実行する。以下、復号モデルが各時点に1つの単語を得るプロセスについて説明する。本実施例では、クエリノードがデータを受信してからsoftmax(正規化関数)がデータを出力するまでの時間は、1つの時点と呼ばれ、1つの時間ステップとも呼ばれる。
【0165】
1番目の時点において、クエリノードは、初期のクエリ状態及び単語を取得し、演算式に基づいて初期のクエリ状態及び単語を処理して1番目のクエリ状態v1を取得し、アテンション演算ノードは、文ベクトル及びv1を取得し、演算式に基づいて該文ベクトル及びv1を処理して1番目のソース言語注目コンテキストc1を取得し、処理ノードにおけるL-GRUは、v1及びc1を取得し、演算式に基づいて該v1及びc1に対して線形演算及び非線形演算を行ってから、該処理ノードにおける1番目のT-GRUに出力し、該処理ノードにおける1番目のT-GRUは、受信したデータを演算式に基づいて処理してから該処理ノードにおける2番目のT-GRUに出力する。このように、該処理ノードにおける最後の1つのT-GRUが受信したデータを演算式に基づいて処理して、1番目の復号状態s1を得るまで繰り返し、sofrmaxは、c1及びs1を取得し、演算式に基づいてc1及びs1を処理して1番目の単語y1を得る。
【0166】
2番目の時点において、クエリノードは、v1及びy1を取得し、演算式に基づいて該v1及びy1を処理して2番目のクエリ状態v2を得る。後続の処理プロセスは、1番目の時点の処理プロセスと同様であり、最終的に2番目の単語y2を得る。
【0167】
このように繰り返して、復号モデルは、k番目の単語ykを得ることができ、最終的に得られる文は、y1y2...yi...ykである。
【0168】
ステップ808において、k個の単語が得られると、k個の単語に基づいて目標文を生成する。
【0169】
復号モデルは、k個の単語が得られると、各単語の生成順に従って該k個の単語をソートし、目標文を得る。例えば、復号モデルで得られた第I個の単語が「The」であり、2番目の単語が「housing」であり、3番目の単語が「prices」であり、4番目の単語が「continued」であり、5番目の単語が「to」であり、6番目の単語が「rise」である場合、目標文は「The housing prices continued to riseである。
【0170】
本実施例の方法が機械翻訳の応用シーンに適用されると、ソース文に対応する自然言語と目標文に対応する自然言語とは、異なるものである。例えば、ソース文に対応する自然言語が中国語であり、目標文に対応する自然言語が英語であるか、または、ソース文に対応する自然言語がフランス語であり、目標文に対応する自然言語が英語であるか、もしくは、ソース文に対応する自然言語が英語であり、目標文に対応する自然言語が中国語である。本実施例の方法がマンマシン対話またはテキスト自動生成の応用シーンに適用されると、ソース文に対応する自然言語と目標文に対応する自然言語とは、同じであってもよく、異なってもよいが、本実施例では限定しない。
【0171】
上記のように、本願の実施例に係る文復号方法は、処理ノードにおける第1のユニットがj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行うことができるため、復号モデルを訓練して該復号モデルの重みを得る際に、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、復号モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0172】
クエリノードが1つのGRUを含む場合に比べると、本願では、クエリノードの深さを増加させている。クエリノードの深さを増加させることは、クエリノードにおいてT-GRUを追加することにより、復号モデルの学習能力を向上させること、及び、GRUをL-GRUに改定することにより、復号モデルの重みの精度を向上させ、文処理精度を向上させることのうちの少なくとも1つで実現することができる。
【0173】
なお、本願では、双曲線正接関数により、データに対して非線形演算を行って、機械学習モデルの学習能力を確保するとともに、さらに線形変換関数により、データに対して線形演算を行う。このようにして、バックプロパゲーションの誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、符号化モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0174】
一部の実施例において、本願は、さらに、上記符号化モデルと復号モデルとを組合せて、符号化及び復号能力を有する機械学習モデルを取得し、すなわち、
図2、4及び5におけるいずれかの符号化モデルを
図9~11におけるいずれかの復号モデルと組合せることができる。
図12を参照すると、
図12において符号化モデルが双方向符号化モデルであり、かつ復号モデルにおけるクエリ装置が1つの第1のユニット及び少なくとも1つの第2のユニットを含むことを例として説明する。
【0175】
依然として、ソース文が
であり、かつ該機械学習モデルが機械翻訳の応用シーンに適用されることを例にすると、
図12に示す機械学習モデルにおける符号化モデルは、まず、ソース文に対して単語分割を行い、
、
、及び
の3つの単語を得るとともに、前から後ろへの符号化方向に従って、それぞれ前の方の3つの処理ノードを利用してこれらの3つの単語を処理し、
に対応する単語ベクトル1、
に対応する単語ベクトル2、
に対応する単語ベクトル3を順に得るとともに、後ろから前への符号化方向に従って、それぞれ後の方の3つの処理ノードを利用してこれらの3つの単語を処理し、
に対応する単語ベクトル4、
に対応する単語ベクトル5、
に対応する単語ベクトル6を順に得ることになり、得られた文ベクトルは[単語ベクトル1単語ベクトル6、単語ベクトル2単語ベクトル5、単語ベクトル3単語ベクトル4]であり、該文ベクトルを復号モデルに出力する。
【0176】
復号モデルは、上記復号方法を利用して該文ベクトルを復号し、1回目の復号のときに単語「The」を、2回目の復号のときに単語「housing」を、3回目の復号のときに単語「prices」を、4回目の復号のときに単語「continued」を、5回目の復号のときに単語「to」を、6回目の復号のときに単語「rise」を得ると、目標文は「The housing prices continued to rise」である。
【0177】
機械学習モデルが上記符号化モデル及び復号モデルを含む場合には、符号化モデルの処理ノードにおけるT-GRUの数と、復号モデルの処理ノードにおけるT-GRUの数と、復号モデルのクエリノードにおけるT-GRUの数とは、同じであってよく、または、異なってもよい。
【0178】
以下、上記3種のノードにおけるT-GRUの数が同じであり、そのT-GRUの数がそれぞれ1及び4であることを例として、機械翻訳のBLEU指標を評価し、関連する評価データを、以下の表1に示す。BLEU指標は、機械翻訳効果を評価するためのものとして、BLEU指標が高いほど、機械翻訳の効果が良好である。
【0179】
【表1】
表1において、BLEU指標の括弧内には、基準とされる機械学習モデルに対する本願の機械学習モデルの増加値が記載され、通常、増加値が1を超えると、機械翻訳の効果が顕著に向上すると考えられる。よって、本願は、機械翻訳の効果を顕著に向上させることができる。
【0180】
以下、上記3種のノードがいずれもGRU+1T-GRU、またはL-GRU+1T-GRU、もしくは、GRU+4T-GRUまたはL-GRU+4T-GRUであることを例として、機械翻訳のBLEU指標を評価し、関連する評価データは、以下の表2に示す。
【0181】
【表2】
表2におけるBLEU指標を分析してわかるように、
1)3つのノードがいずれもL-GRU+1T-GRUである場合は、3つのノードがいずれもGRU+1T-GRUである場合に比べると、BLEU指標が44.41-43.63=0.78増加し、3つのノードがいずれもL-GRU+4T-GRUである場合は3つのノードがいずれもGRU+4T-GRUである場合に比べると、BLEU指標が45.04-44.16=0.88増加する。従って、ノードにおけるGRUをL-GRUに改定することで、機械翻訳の精度を向上させることができる。
【0182】
2)3つのノードがいずれもGRU+1T-GRUである場合は、3つのノードがいずれもGRU+4T-GRUである場合に比べて、BLEU指標が44.16-43.63=0.53増加し、3つのノードがいずれもL-GRU+1T-GRUである場合は、3つのノードがいずれもL-GRU+4T-GRUである場合に比べると、BLEU指標が45.04-44.41=0.63増加する。従って、ノードにおけるT-GRUの数を増加することで、機械翻訳の精度を向上させることができる。
【0183】
以下、上記3種のノードをL-GRU+4T-GRU及びGRUのうちの1つとし、機械翻訳のBLEU指標を評価し、関連する評価データを、以下の表3に示す。
は対応するノードがL-GRU+4T-GRUであることを表し、×は対応するノードがGRUであることを表す。
【0184】
【表3】
表3におけるBLEU指標から分かるように、機械学習モデルにおける3つのノードがいずれもL-GRU+4T-GRUである場合、BLEU指標が最も高い。従って、3つのノードがいずれもL-GRU+4T-GRUである場合、機械学習モデルの機械翻訳効果が最も良好である。
【0185】
なお、本願の各実施例での各ステップは、必ずステップ番号によって指示される順番で順に実行されるとは限らない。本明細書で特に明記されていない限り、これらのステップの実行順は、厳密に制限されておらず、他の順番で実行されてもよい。さらに、各実施例の少なくとも一部のステップは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同じ時点に実行されるとは限らず、異なる時点で実行されてもよく、これらのサブステップまたは段階の実行順は、必ずしも順に実行されるとは限らず、他のステップまたは他のステップのサブステップまたは段階の少なくとも一部と、順に、または、交互に実行されてもよい。
【0186】
図13を参照すると、符号化モデルに用いられる本願の一部の実施例に係る文処理装置の構成ブロック図が示され、該符号化モデルは、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む処理ノードであって、カスケードされたn個(n≧2)の処理ノードを含む。該文処理装置は、
符号化対象のソース文に対して単語分割演算を行い、m個(m≦n)の単語を得る、単語分割モジュール1310と、
n個の処理ノードのうちのi番目(i≦m)の処理ノードを利用してm個の単語のうちのi番目の単語を取得し、i-1番目の処理ノードで得られたi-1番目の単語ベクトルを取得する取得モジュールであって、i-1番目の単語ベクトルはm個の単語のうちのi-1番目の単語の符号化ベクトルである、取得モジュール1320と、
i番目の処理ノードにおける第1のユニットを利用してi番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行い、得られたi番目の演算結果を少なくとも1つの第2のユニットに出力して処理させ、i番目の単語ベクトルを得る演算モジュール1330と、
m個の単語ベクトルが得られると、目標文または目標分類を決定するための文ベクトルを、m個の単語ベクトルに基づいて生成する生成モジュール1340と、を含む。
【0187】
1つの選択的な実施形態では、符号化モデルが単方向符号化モデルであり、かつ符号化方向が前から後ろへの方向である場合、
i番目の処理ノードは、n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノードであり、
i番目の単語は、m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語である。
【0188】
1つの選択的な実施形態では、符号化モデルが単方向符号化モデルであり、かつ、符号化方向が後ろから前への方向である場合、
i番目の処理ノードは、n個の処理ノードのうち、後ろから前への順でi番目の位置に配列された処理ノードであり、
i番目の単語は、m個の単語のうち、後ろから前への順でi番目の位置に配列された単語である。
【0189】
1つの選択的な実施形態では、符号化モデルが双方向符号化モデルであり、かつ符号化方向が前から後ろへの方向及び後ろから前への方向である場合、m≦n/2であり、
i番目の処理ノードは、n個の処理ノードのうち、前から後ろへの順でi番目の位置に配列された処理ノードと、n個の処理ノードのうち、後ろから前への順でi番目の位置に配列された処理ノードとを含み、
i番目の単語は、m個の単語のうち、前から後ろへの順でi番目の位置に配列された単語と、m個の単語のうち、後ろから前への順でi番目の位置に配列された単語とを含む。
【0190】
1つの選択的な実施形態では、演算モジュール1330は、さらに、
第1のユニットを利用してi-1番目の単語ベクトルと第1の差分に対して要素積演算を行い、第1の積を得る(第1の差分は、所定の数値から第1のユニットの更新ゲートを引いた値に等しいものであり、更新ゲートは、i番目の単語からのi番目の単語ベクトルと、i-1番目の単語ベクトルからのi番目の単語ベクトルとの割合を判断するためのものである)。
第1のユニットを利用して線形変換関数によりi番目の単語に対して線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、双曲線正接関数によりi番目の単語及びi-1番目の単語ベクトルに対して非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得る(線形変換ゲートは、候補活性化関数値が線形変換関数値を含むように制御するためのものである)。
第1のユニットを利用して更新ゲートと候補活性化関数値に対して要素積演算を行い、第3の積を得る。
第1のユニットを利用して第1の積と第3の積とを加算し、i番目の演算結果を得る。
【0191】
以上のように、本願の実施例に係る文処理装置は、処理ノードにおける第1のユニットがi番目の単語及びi-1番目の単語ベクトルに対して線形演算及び非線形演算を行うことができるため、符号化モデルを訓練して該符号化モデルの重みを得る際、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、符号化モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0192】
図14を参照すると、本願の他の実施例に係る文復号装置の構成ブロック図が示されており、カスケードされた1つの第1のユニット及び少なくとも1つの第2のユニットを含む、1つの処理ノードを含む復号モデルに用いられる。該文復号装置は、
符号化モデルが符号化対象のソース文を符号化して得られた文ベクトルと、j番目の時点でソース文のうちの符号化された部分をクエリするためのj番目のクエリ状態とを、j番目の時点で取得する取得モジュール1410と、
j番目の時点でソース文のうちの符号化された部分を指示するためのj番目のソース言語注目コンテキストを、文ベクトル及びj番目のクエリ状態に基づいて生成する生成モジュール1420と、
処理ノードにおける第1のユニットを利用してj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行い、得られたj番目の演算結果を処理ノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目の単語を得る演算モジュール1430と、を含み、
生成モジュール1420は、さらに、k個の単語が得られると、k個の単語に基づいて目標文を生成する。
【0193】
1つの選択的な実施形態において、復号モデルは、1つの第1のユニットを含むクエリノードであって、処理ノードに接続されたクエリノードをさらに含み、
取得モジュール1410は、さらに、
処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第1のユニットを利用して取得し、
クエリノードにおける第1のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、j番目のクエリ状態を得る。
【0194】
1つの選択的な実施形態において、復号モデルは、1つの第1のユニット及び少なくとも1つの第2のユニットを含むクエリノードであって、処理ノードに接続されたクエリノードをさらに含み、
取得モジュール1410は、さらに、
処理ノードがj-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第1のユニットを利用して取得し、
クエリノードにおける第1のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して線形演算及び非線形演算を行い、得られた中間演算結果をクエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目のクエリ状態を得る。
【0195】
1つの選択的な実施形態において、復号モデルは、1つの第3のユニット及び少なくとも1つの第2のユニットを含むクエリノードであって、処理ノードに接続されたクエリノードをさらに含み、
取得モジュール1410は、さらに、
j-1番目の演算結果に基づいて得られたj-1番目の復号状態であって、j-1番目の単語を決定するためのj-1番目の復号状態と、j-1番目の単語とを、クエリノードにおける第3のユニットを利用して取得し、
クエリノードにおける第3のユニットを利用してj-1番目の復号状態及びj-1番目の単語に対して非線形演算を行い、得られた中間演算結果をクエリノードにおける少なくとも1つの第2のユニットに出力して処理させ、j番目のクエリ状態を得る。
【0196】
1つの選択的な実施形態において、復号モデルは、符号化モデル、クエリノード及び処理ノードの各々に接続されたアテンション演算ノードをさらに含み、
生成モジュール1420は、さらに、
アテンション演算ノードを利用して文ベクトル及びj番目のクエリ状態に対してアテンション演算を行い、j番目のソース言語注目コンテキストを得る。
【0197】
1つの選択的な実施形態において、演算モジュール1430は、さらに、
第1のユニットを利用してj番目のクエリ状態と第1の差分に対して要素積演算を行い、第1の積を得る(第1の差分は、所定の数値から第1のユニットの更新ゲートを引いた値に等しいものであり、更新ゲートは、j番目のソース言語注目コンテキストからのj番目のソース言語注目コンテキストベクトルと、j番目のクエリ状態からのj番目のソース言語注目コンテキストベクトルとの割合を判断するためのものである)。
第1のユニットを利用して線形変換関数によりj番目のソース言語注目コンテキストに対して線形変換を行い、得られた線形変換関数値と線形変換ゲートに対して要素積演算を行い、第2の積を得るとともに、双曲線正接関数によりj番目のソース言語注目コンテキスト及びj番目のクエリ状態に対して非線形変換を行い、得られた双曲線正接関数値と第2の積とを加算し、候補活性化関数値を得る(線形変換ゲートは、候補活性化関数値が線形変換関数値を含むように制御するためのものである)。
第1のユニットを利用して更新ゲートと候補活性化関数値に対して要素積演算を行い、第3の積を得る。
第1のユニットを利用して第1の積と第3の積とを加算し、j番目の演算結果を得る。
【0198】
以上のように、本願の実施例に係る文復号装置は、処理ノードにおける第1のユニットがj番目のクエリ状態及びj番目のソース言語注目コンテキストに対して線形演算及び非線形演算を行うことができるため、復号モデルを訓練して該復号モデルの重みを得る際、該第1のユニットは訓練データに対しても線形演算及び非線形演算を行って出力する。このようにして、出力と参照結果との誤差を逆伝播する際、該誤差は線形演算部分及び非線形演算部分の誤差を含んでおり、また、線形演算部分の誤差の勾配が定数であるため、誤差全体の勾配の低下速度を減速することができ、誤差全体の勾配が消えるまで指数関数的に減少することで、復号モデルの重みが不正確になってしまう問題を改善し、文処理精度を向上させる。
【0199】
本願は、プロセッサ及びメモリを含むサーバを提供し、メモリには少なくとも1つの命令が記憶されており、少なくとも1つの命令は、プロセッサによってロード及び実行されて上記各方法実施例に係る文処理方法または文復号方法を実現する。なお、該サーバは、以下の
図15に係るサーバであってよい。
【0200】
図15を参照すると、本願の1つの例示的な実施例に係るサーバの構成模式図が示されている。具体的には、前記サーバ1500は、中央処理ユニット(CPU)1501と、ランダムアクセスメモリ(RAM)1502及び読み出し専用メモリ(ROM)1503を含むシステムメモリ1504と、システムメモリ1504と中央処理ユニット1501とを接続するシステムバス1505と、を含む。前記サーバ1500は、コンピュータ内の各機器同士で情報を伝送することに寄与する基本入出力システム(I/Oシステム)1506と、オペレーティングシステム1513、アプリケーションプログラム1514及び他のプログラムモジュール1515を記憶するマスストレージデバイス1507と、をさらに含む。
【0201】
前記基本入出力システム1506は、情報を表示するディスプレイ1508と、マウス、キーボードなど、ユーザが情報を入力する入力機器1509と、を含む。前記ディスプレイ1508及び入力機器1509は、いずれもシステムバス1505に接続された入出力コントローラ1510を介して、中央処理ユニット1501に接続されている。前記基本入出力システム1506は、キーボード、マウス、または電子タッチペンなどの複数の他の機器からの入力を受信及び処理する入出力コントローラ1510をさらに含むことができる。同様に、入出力コントローラ1510は、ディスプレイスクリーン、印刷機または他の種類の機器に出力する出力機器をさらに提供する。
【0202】
前記マスストレージデバイス1507は、システムバス1505に接続されたマスストレージコントローラー(図示せず)を介して中央処理ユニット1501に接続されている。前記マスストレージデバイス1507及びそれに関連するコンピュータ読み取り可能な記憶媒体は、サーバ1500に不揮発性記憶機能を提供する。つまり、前記マスストレージデバイス1507は、ハードディスクまたはCD-ROMドライバなどのコンピュータ読み取り可能な記憶媒体(図示せず)を含むことができる。
【0203】
一般性を失うことなく、前記コンピュータ読み取り可能な記憶媒体は、コンピュータ記憶媒体及び通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法や技術で実現される揮発性及び不揮発性、移動可能な媒体及び移動不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリまたは他のソリッドステートストレージ技術、CD-ROM、DVDまたは他の光学ストレージ、カートリッジ、テープ、磁気ディスクストレージまたは他の磁気ストレージデバイスを含む。ただし、当業者であれば、前記コンピュータ記憶媒体が上記の数種に限られないことが分かる。上記システムメモリ1504及びマスストレージデバイス1507は、まとめてメモリと称することができる。
【0204】
メモリには1つまたは複数のプログラムが記憶されており、1つまたは複数のプログラムは、1つまたは複数の中央処理ユニット1501によって実行されるように構成され、1つまたは複数のプログラムは、上記文符号化または文復号方法を実施するための命令を含み、中央処理ユニット1501は、該1つまたは複数のプログラムを実行して上記各方法実施例に係る文処理方法または文復号方法を実施する。
【0205】
本発明の各実施例によれば、前記サーバ1500は、さらに、インターネットなどのネットワークを介してネットワークにおけるリモートコンピュータに接続されて運用され得る。すなわち、サーバ1500は、前記システムバス1505に接続されたネットワークインタフェースユニット1511を介してネットワーク1512に接続されてもよく、または、ネットワークインタフェースユニット1511で他の種類のネットワークまたはリモートコンピュータシステム(図示せず)に接続されてもよい。
【0206】
前記メモリは、1つまたはそれ以上のプログラムをさらに含み、前記1つまたはそれ以上のプログラムは、メモリに記憶され、本発明の実施例に係る文処理方法または文復号方法でサーバによって実行されるステップを含む。
【0207】
本願の実施例は、コンピュータ読み取り可能な記憶媒体をさらに提供し、該記憶媒体には少なくとも1つの命令、少なくとも一部のプログラム、コードセットまたは命令セットが記憶されており、前記少なくとも1つの命令、前記少なくとも一部のプログラム、前記コードセットまたは命令セットは、前記入出力コントローラ1510によってロード及び実行され、上述の文処理方法または文復号方法を実現する。
【0208】
本願は、コンピュータによって実行されると、コンピュータに上記各方法の実施例に係る文処理方法または文復号方法を実行させる、コンピュータプログラム製品をさらに提供する。
【0209】
本願の一部の実施例は、少なくとも1つの命令、少なくとも一部のプログラム、コードセットまたは命令セットが記憶されており、前記少なくとも1つの命令、前記少なくとも一部のプログラム、前記コードセットまたは命令セットがプロセッサによってロード及び実行され、上述の文処理方法または文復号方法を実現する、コンピュータ読み取り可能な記憶媒体を提供する。
【0210】
なお、上記実施例に係る文符号化/復号装置は、文符号化または文復号を行う際、上記各機能モジュールの分割を例として説明するものに過ぎず、実際の適用では、必要に応じて、上記機能を異なる機能モジュールに分割して完了させることができ、すなわち、文符号化/復号装置の内部構造を異なる機能モジュールに分割し、以上に説明された全部または一部の機能を完了させる。なお、上記実施例に係る文符号化/復号装置と文符号化/復号方法の実施例とは、同じ思想に属し、具体的な実現過程については、詳しくは方法実施例を参照し、ここでは説明を省略する。
【0211】
当業者であれば、上記実施例の方法の全部または一部のプロセスが、ハードウェアによって完了されてもよく、コンピュータプログラムによって関連するハードウェアに命令して完了させてもよく、コンピュータプログラムが不揮発性コンピュータ読み取り可能な記憶媒体に記憶されてもよく、該コンピュータプログラムが実行されると、上記各方法の実施例のプロセスを含んでもよいことを理解できる。本願に係る各実施例で使用されるメモリ、ストレージ、データベースまたは他の媒体の任意の参照は、いずれも不揮発性及び/又は揮発性メモリを含むことができる。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)またはフラッシュメモリを含むことができる。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部高速キャッシュを含むことができる。例として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張SDRAM(ESDRAM)、シンクリンク(Synchlink)DRAM(SLDRAM)、メモリバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、及びメモリバスダイナミックRAM(RDRAM)などの複数の種類で実現されることが可能であり、これらに限定されない。
【0212】
以上は、本願の実施例を限定するためのものではなく、本願の実施例の趣旨及び原則内で行われる任意の補正、均等置換や改良などは、いずれも本願の実施例の保護範囲に含まれるべきである。
【国際調査報告】