(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-19
(45)【発行日】2023-06-27
(54)【発明の名称】言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法及び装置
(51)【国際特許分類】
G06F 40/216 20200101AFI20230620BHJP
G06F 40/44 20200101ALI20230620BHJP
【FI】
G06F40/216
G06F40/44
(21)【出願番号】P 2021525643
(86)(22)【出願日】2020-03-25
(86)【国際出願番号】 CN2020081177
(87)【国際公開番号】W WO2020211611
(87)【国際公開日】2020-10-22
【審査請求日】2021-05-11
(31)【優先権主張番号】201910309929.5
(32)【優先日】2019-04-17
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】孟 凡▲東▼
(72)【発明者】
【氏名】▲張▼ 金超
(72)【発明者】
【氏名】周 杰
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2019-046188(JP,A)
【文献】米国特許出願公開第2018/0225553(US,A1)
【文献】Ashish Vaswani他7名,Attention Is All You Need[online],2017年12月06日,(検索日2022年06月27日),URL:https://arxiv.org/pdf/1706.03762v5.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
コンピュータ機器が実行する、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法であって、
最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップであって、
前記領域単語ベクトルは、1つの次元の単語ベクトルに対応する各異なる次元の単語ベクトルを示
し、
少なくとも2つの第1重み行列を取得するステップであって、各前記第1重み行列は、対応する領域単語ベクトルを生成するために使用される、事前にトレーニングされた行列の形の重みパラメータである、ステップと、
最初の瞬間に入力されたターゲット単語ベクトルを決定し、前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態を取得するステップと、
前記第1重み行列及び前記履歴隠れ状態に基づき、前記ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップと、を含み、
前記隠れ状態はベクトルで表現され、前記第1重み行列及び前記履歴隠れ状態に基づき、前記ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップは、
前記ターゲット単語ベクトルと前記履歴隠れ状態を連結して、連結単語ベクトルを取得するステップと、
前記連結単語ベクトルをそれぞれ、各前記第1重み行列と乗算して、領域単語ベクトル行列を取得するステップと、を含み、前記領域単語ベクトル行列は、前記少なくとも2つの次元の領域単語ベクトルを含む、ステップと、
所定の領域ベクトル組み合わせ方式に従って、各前記領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するステップであって、
前記組み合わせ領域単語ベクトルは、各前記領域単語ベクトルに対して組み合わせ計算を実行して取得した単語ベクトルを示
し、
各前記領域単語ベクトルをベクトルノードとし、各前記ベクトルノード間の類似度を、対応する各前記ベクトルノード間のエッジのエッジ重みとして決定するステップと、
決定された各前記エッジ重みを行列要素として、各前記領域単語ベクトルに共に対応する隣接行列を生成するステップであって、前記隣接行列は、ベクトルノード間の隣接関係を示すための行列である、ステップと、
前記隣接行列の各次元の各前記エッジ重みをそれぞれ加算して、次数行列を取得するステップであって、前記次数行列は、前記隣接行列の各行または各列のベクトルノードの次数によって形成された行列を示し、前記隣接行列の各行または各列のベクトルノードの次数は、前記隣接行列内の各行または各列に含まれた行列要素の合計である、ステップと、
前記隣接行列及び前記次数行列に基づき、前記少なくとも2つの次元の組み合わせ領域単語ベクトルを生成するステップであって、
各前記領域単語ベクトルに含まれるベクトル要素を行列要素として、各前記領域単語ベクトルに共同に対応する領域単語ベクトル行列を生成するステップと、
第2重み行列を取得するステップであって、前記第2重み行列は、組み合わせ領域単語ベクトル行列を生成するために使用される、事前にトレーニングされた行列の形の重みパラメータである、ステップと、
第3活性化関数に基づき、前記隣接行列、前記次数行列、前記領域単語ベクトル行列及び前記第2重み行列に従って、前記組み合わせ領域単語ベクトル行列を生成するステップと、を含み、前記組み合わせ領域単語ベクトル行列には、前記少なくとも2つの次元の領域単語ベクトルが含まれる、ステップと、を含む、ステップと、
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルに対して集合変換処理を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップであって
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルを線形変換して、線形変換後の組み合わせ領域単語ベクトルを取得するステップと、
各変換後の組み合わせ領域単語ベクトルを連結して、連結された単語ベクトルを取得するステップと、
連結された単語ベクトルに対して線形変換を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップと、を含む、ステップと、
前記集合単語ベクトル及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に基づき、前記ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するステップであって、
前記ターゲット隠れ状態は、前記最初の瞬間における前記リカレントニューラルネットワークのシステム状態を示し、前記履歴単語ベクトルは、前記最初の瞬間の前の瞬間に入力した単語ベクトルを示し、前記履歴隠れ状態は、前記最初の瞬間の前の瞬間における前記リカレントニューラルネットワークのシステム状態を示
し、
前記隠れ状態はベクトルで表現され、前記集合単語ベクトルは、第1集合単語ベクトルと第2集合単語ベクトルとを含み、前記第1集合単語ベクトルと前記第2集合単語ベクトルは異なり、
前記第1集合単語ベクトル(M
h
)及び対応する第1活性化関数(tanh)に基づき、前記ターゲット単語ベクトルに対応する候補隠れ状態(h
~
t
)を決定するステップであって、前記候補隠れ状態は、h
~
t
=tanh(M
h
)および
【数1】
を満たす、ステップと、
前記第2集合単語ベクトル(M
g
)及び対応する第2活性化関数(σ)に基づき、前記ターゲット単語ベクトルに対応するゲーティングパラメータ(g
t
)を決定するステップであって、前記ゲーティングパラメータは、g
t
=σ(M
g
)および
【数2】
を満たす、ステップと、
プリセット関数に基づき、前記候補隠れ状態、前記ゲーティングパラメータ、及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に従って、前記ターゲット単語ベクトルに対応するターゲット隠れ状態(h
t
)を生成するステップであって、前記ターゲット隠れ状態は、
【数3】
を満たし、
【数4】
は、要素の積のオペレータであり、
【数5】
は、(1-g
t
)及びh
t-1
に対して要素の積を実行する演算を示し、
【数6】
は、g
t
及びh
~
t
に対して要素の積を実行する演算を示す、ステップと、
を含む、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法。
【請求項2】
前記フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルを変換して、変換後の組み合わせ領域単語ベクトルを取得する前記ステップは、
第4重み行列及び第1オフセットベクトルに従って、各前記組み合わせ領域単語ベクトルに対して最初の線形変換を実行して、各組み合わせ領域単語ベクトルに対応する一時的な単語ベクトルを取得するステップであって、前記第4重み行列は、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用される行列の形の重みパラメータであり、前記第1オフセットベクトルは、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用されるベクトルの形のオフセットパラメータである、ステップと、
各前記一時的な単語ベクトルとベクトル閾値のうちの最大ベクトル値をそれぞれ選択するステップと、
第5重み行列及び第2オフセットベクトルに従って、各前記最大ベクトル値に対してそれぞれ2番目の線形変換を実行して、前記変換後の組み合わせ領域単語ベクトルを取得するステップであって、前記第5重み行列は、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用される行列の形の重みパラメータであり、前記第2オフセットベクトルは、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用されるベクトルの形のオフセットパラメータである、ステップと、
を含む、請求項
1に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法。
【請求項3】
言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置であって、
最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するように構成される領域単語ベクトル生成モジュールであって、
前記領域単語ベクトルは、1つの次元の単語ベクトルに対応する各異なる次元の単語ベクトルを示
し、
少なくとも2つの第1重み行列を取得することであって、各前記第1重み行列は、対応する領域単語ベクトルを生成するために使用される、事前にトレーニングされた行列の形の重みパラメータであり、
最初の瞬間に入力されたターゲット単語ベクトルを決定し、前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態を取得することと、
前記第1重み行列及び前記履歴隠れ状態に基づき、前記ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成することと、を行うように構成され、
前記隠れ状態はベクトルで表現され、前記第1重み行列及び前記履歴隠れ状態に基づき、前記ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成することは、
前記ターゲット単語ベクトルと前記履歴隠れ状態を連結して、連結単語ベクトルを取得することと、
前記連結単語ベクトルをそれぞれ、各前記第1重み行列と乗算して、領域単語ベクトル行列を取得することと、を含み、前記領域単語ベクトル行列は、前記少なくとも2つの次元の領域単語ベクトルを含む、領域単語ベクトル生成モジュールと、
所定の領域ベクトル組み合わせ方式に従って、各前記領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するように構成される領域単語ベクトル組み合わせモジュールであって、
前記組み合わせ領域単語ベクトルは、各前記領域単語ベクトルに対して組み合わせ計算を実行して取得した単語ベクトルを示
し、
各前記領域単語ベクトルをベクトルノードとし、各前記ベクトルノード間の類似度を、対応する各前記ベクトルノード間のエッジのエッジ重みとして決定し、
決定された各前記エッジ重みを行列要素として、各前記領域単語ベクトルに共に対応する隣接行列を生成し、前記隣接行列は、ベクトルノード間の隣接関係を示すための行列であり、
前記隣接行列の各次元の各前記エッジ重みをそれぞれ加算して、次数行列を取得し、前記次数行列は、前記隣接行列の各行または各列のベクトルノードの次数によって形成された行列を示し、前記隣接行列の各行または各列のベクトルノードの次数は、前記隣接行列内の各行または各列に含まれた行列要素の合計であり、
前記隣接行列及び前記次数行列に基づき、前記少なくとも2つの次元の組み合わせ領域単語ベクトルを生成し、
各前記領域単語ベクトルに含まれるベクトル要素を行列要素として、各前記領域単語ベクトルに共同に対応する領域単語ベクトル行列を生成し、
第2重み行列を取得し、前記第2重み行列は、組み合わせ領域単語ベクトル行列を生成するために使用される、事前にトレーニングされた行列の形の重みパラメータであり、
第3活性化関数に基づき、前記隣接行列、前記次数行列、前記領域単語ベクトル行列及び前記第2重み行列に従って、前記組み合わせ領域単語ベクトル行列を生成するように構成され、前記組み合わせ領域単語ベクトル行列には、前記少なくとも2つの次元の領域単語ベクトルが含まれる、ように構成される、領域単語ベクトル組み合わせモジュールと、
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルに対して集合変換処理を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するように構成される集合変換処理モジュールであって、
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルを線形変換して、線形変換後の組み合わせ領域単語ベクトルを取得し、
各変換後の組み合わせ領域単語ベクトルを連結して、連結された単語ベクトルを取得し、
連結された単語ベクトルに対して線形変換を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するように構成される、集合変換処理モジュールと、
前記集合単語ベクトル及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に基づき、前記ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するように構成されるターゲット隠れ状態生成モジュールであって、
前記ターゲット隠れ状態は、前記最初の瞬間における前記リカレントニューラルネットワークのシステム状態を示し、前記履歴単語ベクトルは、前記最初の瞬間の前の瞬間に入力した単語ベクトルを示し、前記履歴隠れ状態は、前記最初の瞬間の前の瞬間における前記リカレントニューラルネットワークのシステム状態を示
し、
前記隠れ状態はベクトルで表現され、前記集合単語ベクトルは、第1集合単語ベクトルと第2集合単語ベクトルとを含み、前記第1集合単語ベクトルと前記第2集合単語ベクトルは異なり、
前記第1集合単語ベクトル(M
h
)及び対応する第1活性化関数(tanh)に基づき、前記ターゲット単語ベクトルに対応する候補隠れ状態(h
~
t
)を決定することであって、前記候補隠れ状態は、h
~
t
=tanh(M
h
)および
【数7】
を満たす、ことと、
前記第2集合単語ベクトル(M
g
)及び対応する第2活性化関数(σ)に基づき、前記ターゲット単語ベクトルに対応するゲーティングパラメータ(g
t
)を決定することであって、前記ゲーティングパラメータは、g
t
=σ(M
g
)および
【数8】
を満たす、ことと、
プリセット関数に基づき、前記候補隠れ状態、前記ゲーティングパラメータ、及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に従って、前記ターゲット単語ベクトルに対応するターゲット隠れ状態(h
t
)を生成することであって、前記ターゲット隠れ状態は、
【数9】
を満たし、
【数10】
は、要素の積のオペレータであり、
【数11】
は、(1-g
t
)及びh
t-1
に対して要素の積を実行する演算を示し、
【数12】
は、g
t
及びh
~
t
に対して要素の積を実行する演算を示す、こととを行うように構成される、ターゲット隠れ状態生成モジュールと、
を備える、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置。
【請求項4】
前記集合変換処理モジュールは、さらに、
第4重み行列及び第1オフセットベクトルに従って、各前記組み合わせ領域単語ベクトルに対して最初の線形変換を実行して、各組み合わせ領域単語ベクトルに対応する一時的な単語ベクトルを取得し、前記第4重み行列は、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用される行列の形の重みパラメータであり、前記第1オフセットベクトルは、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用されるベクトルの形のオフセットパラメータであり、
各前記一時的な単語ベクトルとベクトル閾値のうちの最大ベクトル値をそれぞれ選択し、
第5重み行列及び第2オフセットベクトルに従って、各前記最大ベクトル値に対してそれぞれ2番目の線形変換を実行して、前記変換後の組み合わせ領域単語ベクトルを取得するように構成され、前記第5重み行列は、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用される行列の形の重みパラメータであり、前記第2オフセットベクトルは、前記フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用されるベクトルの形のオフセットパラメータである、
請求項
3に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置。
【請求項5】
コンピュータプログラムであって、
コンピュータに、請求項1
または2に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実行させる、コンピュータプログラム。
【請求項6】
メモリとプロセッサとを備える、コンピュータ機器であって、
前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行されるとき、前記プロセッサに請求項1
または2に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップを実行させる、コンピュータ機器。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年04月17日に中国特許局に提出された、出願番号が201910309929.5であり、発明の名称が「言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法及び装置」である中国特許出願の優先権を主張するものであり、その全ての内容が参照により本願に組み込まれている。
【0002】
本願は、コンピュータ技術分野に関し、特に、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法、装置、コンピュータ可読記憶媒体及びコンピュータ機器に関する。
【背景技術】
【0003】
コンピュータ技術の発展に伴い、自然言語処理(NLP:Natural Language Processing)技術が登場した。自然言語処理(NLP)技術は、人々が長年追求してきた「自然言語を使ったコンピュータとのコミュニケーション」のことを実現する。しかし、自然言語処理(NLP)技術に対して、可変長の単語シーケンスの処理は、依然として大きな課題である。
【0004】
その結果、リカレントニューラルネットワーク(RNN:Recurrent Neural Network)が登場した。リカレントニューラルネットワークは、シーケンス(sequence)データを入力とし、シーケンスの進化方向に再帰(recursion)し、且つすべてのノード(リカレントユニット)がチェーンの形で接続された再帰型ニューラルネットワーク(recursive neural network)である。リカレントニューラルネットワークの登場は、可変長の単語シーケンスの処理を解決する。
【0005】
しかしながら、従来のリカレントニューラルネットワークは、すべて単一な空間の組み合わせ計算を使用して各瞬間の隠れ状態を生成する。例えば、単一な空間における最初の瞬間の単語ベクトル及び前の瞬間の隠れ状態の組み合わせのみを使用して最初の瞬間の隠れ状態を生成するため、複雑な言語法則に対するキャプチャ率が低くなる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本願は、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法、装置、コンピュータ可読記憶媒体及びコンピュータ機器を提供し、当該技術的解決策の複雑な言語法則に対するキャプチャ率は高い。
【課題を解決するための手段】
【0007】
一態様において、コンピュータ機器が実行する、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を提供し、当該方法は、
最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップと、
各前記領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するステップと、
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルに対して集合変換処理を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップと、
前記集合単語ベクトルに基づき、前記ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するステップと、を含む。
【0008】
別の態様において、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置を提供し、当該装置は、
最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するように構成される、領域単語ベクトル生成モジュールと、
各前記領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するように構成される、領域単語ベクトル組み合わせモジュールと、
フィードフォワードニューラルネットワークに基づき、各前記組み合わせ領域単語ベクトルに対して集合変換処理を実行して、前記ターゲット単語ベクトルに対応する集合単語ベクトルを取得するように構成される、集合変換処理モジュールと、
前記集合単語ベクトルに基づき、前記ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するように構成される、ターゲット隠れ状態生成モジュールと、を備える。
【0009】
別の態様において、コンピュータプログラムが記憶される、コンピュータ可読記憶媒体を提供し、前記コンピュータプログラムは、プロセッサによって実行されるとき、プロセッサに上記の態様及びその代替実施例のいずれか一項に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実行させる。
【0010】
別の態様において、メモリとプロセッサとを備える、コンピュータ機器を提供し、前記メモリには、コンピュータプログラムが記憶され、前記コンピュータプログラムは、前記プロセッサによって実行されるとき、プロセッサに上記の態様及びその代替実施例のいずれか一項に記載の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実行させる。
【発明の効果】
【0011】
以上の技術的解決策から分かるように、本願実施例は、少なくとも以下の利点を有する。
【0012】
当該方法は、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成することにより、単一な次元のターゲット単語ベクトルに、多次元の領域単語ベクトルが対応され、各領域単語ベクトルに対して領域組み合わせを実行して、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するようにし、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得することにより、各瞬間のターゲット単語ベクトルに、いずれも対応する集合単語ベクトルを持たせる。これにより、集合単語ベクトルに基づいて、ターゲット単語ベクトルに対応するターゲット隠れ状態を生成し、且つ、集合単語ベクトルはターゲット単語ベクトルに対して多次元の変換処理を実行して取得されたものであるため、当該集合単語ベクトルを使用して生成されたターゲット隠れ状態は、複雑な言語法則に対して高いキャプチャ率を持つ。
【0013】
つまり、当該方法は、ターゲット単語ベクトルに対して深層の多領域組み合わせ計算を実行することにより、多次元変換後の集合単語ベクトルを取得し、単語ベクトルにキャプチャされた言語法則、例えば、単語ベクトルの長距離依存を強化して、それにより、集合単語ベクトルを使用して生成されたターゲット隠れ状態は、より大きな確率で複雑な言語法則をキャプチャできる。
【図面の簡単な説明】
【0014】
本願実施例の技術的解決策をより明確に説明するために、以下は、実施例の説明で使用される図面について簡単に紹介する。以下に説明される図面は、本願のいくつかの実施例に過ぎず、当業者にとっては、創造的な作業なしに、これらの図面に従って他の図面を得ることもできることは自明である。
【0015】
【
図1】本願の一例示的な実施例によるコンピュータ機器の構造のブロック図である。
【
図2】本願の一例示的な実施例による言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のフローチャートである。
【
図3】本願の別の例示的な実施例による言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のフローチャートである。
【
図4】本願の一例示的な実施例によるベクトルノードの概略図である。
【
図5】本願の一例示的な実施例による隣接行列の概略図である。
【
図6】本願の一例示的な実施例による次数行列の概略図である。
【
図7】本願の一例示的な実施例による領域単語ベクトル行列の概略図である。
【
図8】本願の別の例示的な実施例による言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のフローチャートである。
【
図9】本願の一例示的な実施例による領域単語ベクトルの計算方法の概略図である。
【
図10】本願の別の例示的な実施例による言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のフローチャートである。
【
図11】本願の一例示的な実施例による集合単語ベクトルの生成方法の概略図である。
【
図12】本願の一例示的な実施例による言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置の構造のブロック図である。
【発明を実施するための形態】
【0016】
本願の目的、技術的解決策及び利点をより明確にするために、以下、図面及び実施例を参照して、本願をより詳しく説明する。ここで説明した具体的な実施例は、本願を説明するためにのみ使用され、本願を限定するために使用されないことを理解されたい。
【0017】
本願に係る言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法は、
図1に示されたコンピュータ機器100で適用できる。当該コンピュータ機器100は、メモリ101とプロセッサ102とを備える。例示的に、メモリ101は、不揮発性記憶媒体と内部メモリとを備えることができる。メモリ101には、コンピュータプログラムが記憶され、コンピュータプログラムは、プロセッサ102によって実行されるとき、本願に係る言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実現できる。例示的に、当該コンピュータ機器100は、さらに、ネットワークインターフェース103を備え、当該ネットワークインターフェース103は、コンピュータ機器100を有線または無線ネットワークにアクセスするように構成される。例示的に、当該コンピュータ機器100は、さらに、システムバス104を備え、ここで、メモリ101は、システムバス104を介して、プロセッサ102、ネットワークインターフェース103間でそれぞれ電気的に接続される。当該コンピュータ機器100は、端末であってもよく、サーバであってもよい。コンピュータ機器100が端末である場合、当該コンピュータ機器100は、さらに、スクリーンと入力装置などを備えることができることを理解されたい。ここで、端末は、様々なパーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ及びポータブルウェアラブル機器であり得るがこれに限定されなく、サーバは、独立したサーバまたは複数のサーバによって構成されたサーバクラスタを使用して実現できる。
【0018】
図2に示されたように、一実施例において、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を提供する。本実施例は、主に、当該方法を前記
図1内のコンピュータ機器に適用することを例として説明する。
図2を参照して、当該言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法は、具体的に、以下のステップを含む。
【0019】
ステップS202において、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成する。
【0020】
ここで、単語ベクトルは、事前に定義されたベクトル空間における対応する単語の実数ベクトルを示す。例えば、事前に定義されたベクトル空間における「犬」の実数ベクトルは、(0.2 0.2 0.4)であると、(0.2 0.2 0.4)が「犬」の単語ベクトルである。ターゲット単語ベクトルは、最初の瞬間に入力された単語ベクトルを示す。領域単語ベクトルは、1つの次元の単語ベクトルに対応する各異なる次元の単語ベクトルを示す。最初の瞬間は、ターゲット単語ベクトルに入力する瞬間にあり、例示的に、最初の瞬間は、現在瞬間、即ち、時計が現在指示している瞬間を含み得る。
【0021】
具体的に、コンピュータ機器が、最初の瞬間にターゲット単語ベクトルが入力されたと検出する場合、コンピュータ機器は、最初の瞬間に入力されたターゲット単語ベクトルを読み取り、当該ターゲット単語ベクトルの領域単語ベクトル生成命令をトリガする。コンピュータ機器は、当該領域単語ベクトル生成命令に従って、低次元のターゲット単語ベクトルを少なくとも2つの次元の領域単語ベクトルに変換する。このようにして、コンピュータ機器が各瞬間に入力するターゲット単語ベクトルは、すべて少なくとも2つの次元の領域単語ベクトルに対応する。
【0022】
一実施例において、コンピュータ機器がT瞬間に入力するターゲット単語ベクトルの全体は、1つのベクトルシーケンスX={X1,X2,……,XT}であり、ここで、X1は、ベクトルシーケンスXの最初のターゲット単語ベクトルであり、X1は、コンピュータ機器が最初の瞬間に入力した単語ベクトルを表示し、X2は、ベクトルシーケンスXの2番目のターゲット単語ベクトルであり、X2は、コンピュータ機器が2番目の瞬間に入力した単語ベクトルを表示し、……、XTは、ベクトルシーケンスXTのT番目のターゲット単語ベクトルであり、XTは、コンピュータ機器がT番目の瞬間に入力した単語ベクトルを表示し、ここで、Tは、正の整数である。ベクトルシーケンスXにおけるコンピュータ機器の瞬間ごとに、すべて、当該瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成する。
【0023】
一実施例において、ベクトルシーケンスX={X1,X2,……,XT}の各1つの単語ベクトルは、すべて、事前にテキストを変換して取得される。例えば、コンピュータ機器が端末である場合、コンピュータ機器には、通信するために使用されるソーシャルアプリケーションプログラムが実装され、人間とコンピュータの対話のためのサブアプリケーションプログラムは、当該通信のためのソーシャルアプリケーションプログラムで実行される。コンピュータ機器が、人間とコンピュータの対話のためのサブアプリケーションプログラムが、可変長の音声情報を受信したと検出した場合、各瞬間に受信された音声情報をテキスト情報に変換し、当該テキスト情報をターゲット単語ベクトルにマッピングし、このようにして、可変長の音声情報は、最終的に1つのベクトルシーケンスを形成し、ベクトルシーケンスには、各瞬間に受信された音声情報のテキスト情報に対応するターゲット単語ベクトルが含まれる。
【0024】
もちろん、コンピュータ機器がサーバである場合、当該サーバは、他の端末によって変換して得た各ターゲット単語ベクトルを受信して、瞬間ごとに入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成することができる。または、コンピュータ機器がサーバである場合、当該サーバは、他の端末が人間とコンピュータの対話のためのサブアプリケーションプログラムを介して受信された可変長の音声情報を直接に受信し、各瞬間に受信された音声情報をテキスト情報に変換し、当該テキスト情報をターゲット単語ベクトルにマッピングすることもでき、このようにして、可変長の音声情報は、最終的に1つのベクトルシーケンスを形成し、ベクトルシーケンスには、各瞬間に受信された音声情報のテキスト情報に対応するターゲット単語ベクトルが含まれ、瞬間ごとに入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成する。
【0025】
一実施例において、領域単語ベクトル生成命令には、第1プリセットの次元が搬送され、コンピュータ機器は、領域単語ベクトル生成命令に従って、低次元のターゲット単語ベクトルを少なくとも2つの次元の領域単語ベクトルに変換するとき、第1プリセットの次元に従って、低次元のターゲット単語ベクトルを第1プリセットの次元の領域単語ベクトルに変換することができる。
【0026】
例えば、最初の瞬間がTであり、第1プリセットの次元がNである場合、コンピュータ機器が、最初の瞬間Tでターゲット単語ベクトルXTが入力されたと検出する。こうして、コンピュータ機器は、単一な次元のターゲット単語ベクトルXTをN個の次元の領域単語ベクトルに変換する必要がある。コンピュータ機器は、ターゲット単語ベクトルXTのN個の領域単語ベクトルZ={Z1,Z2,……,ZN}を生成でき、ここでのZ1~ZNは、すべてターゲット単語ベクトルXTの領域単語ベクトルである。ここで、Nは、1より大きい。
【0027】
ステップS204において、各領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得する。
【0028】
ここで、組み合わせ領域単語ベクトルは、各領域単語ベクトルに対して組み合わせ計算を実行して取得した単語ベクトルを示す。例えば、ターゲット単語ベクトルがN個の次元の領域単語ベクトルを持つと、コンピュータ機器は、N個の次元の領域単語ベクトルに対して組み合わせ計算を実行してJ個の次元の組み合わせ領域単語ベクトルを取得でき、Jは、2より大きいか等しい。
【0029】
具体的に、コンピュータ機器には、領域ベクトル組み合わせ方式が事前に設定されている。コンピュータ機器が、ターゲット単語ベクトルの領域単語ベクトルを生成した後、プリセットの領域ベクトル組み合わせ方式を取得し、領域ベクトル組み合わせ方式には、第2プリセットの次元が含まれる。コンピュータ機器は、プリセットの領域ベクトル組み合わせ方式に従って、ターゲット単語ベクトルの領域単語ベクトルに対して組み合わせ計算を実行して、第2プリセットの次元の組み合わせ領域単語ベクトルを取得する。領域ベクトル組み合わせ方式は、各領域単語ベクトルに対して組み合わせ計算を実行する方式を示す。
【0030】
ステップS206において、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得する。
【0031】
ここで、フィードフォワードニューラルネットワークは、各ニューロンが階層的に配列されたニューラルネットワークである。集合変換処理は、各組み合わせ領域単語ベクトルに対して集合処理及び変換処理を実行するプロセスを示す。集合単語ベクトルは、各組み合わせ領域単語ベクトルに対して集合処理及び変換処理を実行して得た単語ベクトルを示す。
【0032】
具体的に、コンピュータ機器は、フィードフォワードニューラルネットワークに基づき、それぞれ、各組み合わせ領域単語ベクトルに対して一回の変換を実行して、組み合わせ領域単語ベクトルの次元と同じである中間領域単語ベクトルを取得することができる。例えば、ターゲット単語ベクトルがJ個の次元の組み合わせ領域単語ベクトルO={O1,O2,……,OJ}を持つと、コンピュータ機器は、フィードフォワードニューラルネットワークに基づき、まず、各組み合わせ領域単語ベクトルに対して一回の変換を実行するとき、J個の次元の中間領域ベクトルF={F1,F2,……,FJ}を取得することもできる。コンピュータ機器は、取得された各中間領域単語ベクトルに対して集合処理を実行して、1つの中間集合単語ベクトルを取得する。コンピュータ機器は、取得された中間集合単語ベクトルに対して線形変換を一回実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得することができる。
【0033】
ステップS208において、集合単語ベクトルに基づきターゲット単語ベクトルに対応するターゲット隠れ状態を生成する。
【0034】
ここで、隠れ状態は、リカレントニューラルネットワークの隠された層で出力された隠された状態を示し、隠された状態は、リカレントニューラルネットワークのシステム状態(system status)を示す。ターゲット隠れ状態は、リカレントニューラルネットワークが最初の瞬間のシステム状態(system status)を示す。
【0035】
具体的に、コンピュータ機器は、前の瞬間の履歴単語ベクトルの履歴隠れ状態を取得でき、コンピュータ機器は、履歴隠れ状態の基でターゲット単語ベクトルの集合単語ベクトルを追加して、ターゲット単語ベクトルのターゲット隠れ状態を計算して、ターゲット単語ベクトルのターゲット隠れ状態を生成することができる。前の瞬間の履歴単語ベクトルの履歴隠れ状態も、履歴単語ベクトルの集合単語ベクトルに基づき生成され、集合単語ベクトルは、履歴単語ベクトルに対して多次元の変換処理を実行して取得されたものであることを理解されたい。
【0036】
前記言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法は、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成して、単一な次元のターゲット単語ベクトルに、多次元の領域単語ベクトルに対応させ、各領域単語ベクトルに対して領域組み合わせを実行して、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得する。その後、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得する。
【0037】
本願による技術案を採用して、各瞬間のターゲット単語ベクトルに、対応する集合単語ベクトルをすべて有するようにし、これにより、集合単語ベクトルの基でターゲット単語ベクトルに対応するターゲット隠れ状態を生成することができる。集合単語ベクトルは、ターゲット単語ベクトルに対して多次元の変換処理を実行して取得されるものであるため、当該集合単語ベクトルを使用して生成されたターゲット隠れ状態は、複雑な言語法則に対して高いキャプチャ率を持つ。例えば、コンピュータ機器が、手書き認識、シーケンスラベリング、感情分析、言語モデルトレーニング及び機械翻訳などのタスクを処理するとき、長距離依存の言語構造に遭遇した場合でも、タスクを効率的に完了することができる。
【0038】
一実施例において、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップは、少なくとも2つの第1重み行列を取得するステップであって、各第1重み行列は、対応する領域単語ベクトルを生成するために使用されるステップと、最初の瞬間に入力されたターゲット単語ベクトルを決定し、前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態を取得するステップと、第1重み行列及び履歴隠れ状態に基づき、ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップと、を含む。
【0039】
ここで、第1重み行列は、システムに伴ってトレーニングされる行列の形の重みパラメータを示し、対応する領域単語ベクトルを生成するために使用される。即ち、第1重み行列は、サンプル数でシステムをトレーニングして得た行列の形のシステムパラメータである。履歴単語ベクトルは、コンピュータ機器が最初の瞬間の前の瞬間に入力した単語ベクトルを示す。履歴隠れ状態はコンピュータ機器が最初の瞬間の前の瞬間に入力した単語ベクトルに対応する隠れ状態を示す。
【0040】
具体的に、コンピュータ機器が、最初の瞬間にターゲット単語ベクトルが入力されたと検出する場合、コンピュータ機器は、最初の瞬間に入力されたターゲット単語ベクトルを読み取り、当該ターゲット単語ベクトルの領域単語ベクトル生成命令をトリガする。コンピュータ機器は、当該領域単語ベクトル生成命令に従って、領域単語ベクトルを生成するための第1重み行列を取得し、取得された第1重み行列の数と、コンピュータ機器が生成する必要がある領域単語ベクトルの次元の数は、同じである。
【0041】
例えば、コンピュータ機器が生成する必要のある領域単語ベクトルの第1プリセットの次元がNであると、コンピュータ機器が取得した第1重み行列の数はNである。コンピュータ機器が、各1つの次元の領域単語ベクトルを生成するとき、すべて、対応する第1重み行列を持つ。コンピュータ機器が、最初の次元の領域単語ベクトルZ1を生成するとき、対応する第1重み行列W1を持ち、コンピュータ機器が2番目の次元の領域単語ベクトルZ2を生成するとき、対応する第1重み行列W2を持ち、……、コンピュータ機器がN番目の次元の領域単語ベクトルZNを生成するとき、対応する第1重み行列WNを持つ。
【0042】
コンピュータ機器は、最初の瞬間に入力されたターゲット単語ベクトルを決定し、コンピュータ機器が最初の瞬間の前の瞬間に入力した履歴単語ベクトルに対応する履歴隠れ状態を取得する。前の瞬間は、必ずしも最初の瞬間に密接に隣接する瞬間にある必要はなく、前の瞬間は、コンピュータ機器がターゲット単語ベクトルを入力する前に単語ベクトルを入力するときに対応する瞬間にあることを理解されたい。
【0043】
例えば、コンピュータ機器が、T個の瞬間に入力したターゲット単語ベクトルの全体が、1つのベクトルシーケンスX={X1,X2,……,XT}であると、X1は、コンピュータ機器が最初の瞬間に入力した単語ベクトルを表示し、X2は、コンピュータ機器が2番目の瞬間に入力した単語ベクトルを表示する。最初の瞬間と2番目の瞬間の間に長い時間間隔がある可能性があり、短い時間間隔しかない可能性もあるため、最初の瞬間と2番目の瞬間は、必ずしもタイムテーブルで互いに対応する密接に隣接する瞬間にある必要はない。
【0044】
コンピュータ機器は、取得された履歴隠れ状態及び第1プリセットの数の第1重み行列に基づき、第1プリセットの次元の領域単語ベクトルを生成することができる。第1プリセットの数と第1プリセットの次元の数は同じである。第1プリセットの次元の領域単語ベクトルの全体は、1つの領域単語ベクトル行列であり得る。例えば、コンピュータ機器が、ターゲット単語ベクトルX
TをN個の次元の領域単語ベクトルに変換する必要があると、取得されたN個の次元の領域単語ベクトルは、領域単語ベクトル行列
【数1】
に表示でき、領域単語ベクトル行列内のZ
1~Z
Nは、すべてターゲット単語ベクトルX
Tの領域単語ベクトルである。
【0045】
上述した実施例において、コンピュータ機器は、対応する領域単語ベクトルを生成するための第1重み行列を直接に使用して、単一な次元のターゲット単語ベクトルを少なくとも2つの次元の領域単語ベクトルに効率的に変換する。そして、前の瞬間の履歴隠れ状態の基で少なくとも2つの次元の領域単語ベクトルを生成して、取得された領域単語ベクトルがより正しくなる。
【0046】
一実施例において、第1重み行列及び履歴隠れ状態に基づき、ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップは、ターゲット単語ベクトル及び履歴隠れ状態を連結して、連結単語ベクトルを取得するステップと、連結単語ベクトル及び第1重み行列に従って領域単語ベクトル行列を生成するステップと、を含み、領域単語ベクトル行列は、少なくとも2つの次元の領域単語ベクトルを含む。
【0047】
具体的に、コンピュータ機器が生成した各瞬間の隠れ状態の形はすべてベクトルであるため、コンピュータ機器がターゲット単語ベクトルを決定し前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態を取得した後、最初の瞬間のターゲット単語ベクトル及び前の瞬間の履歴隠れ状態を連結して、連結単語ベクトルを取得することができる。例えば、ターゲット単語ベクトルに8つのベクトル要素を含み、履歴隠れ状態に5つのベクトル要素を含み、コンピュータ機器は、ターゲット単語ベクトル及び履歴隠れ状態を直接に連結した後、取得された連結単語ベクトルは、13個のベクトル要素を含む。コンピュータ機器は、取得した連結単語ベクトルをそれぞれ、各第1重み行列と乗算して、領域ベクトル行列を取得することができる。領域ベクトル行列には、多次元の領域単語ベクトルが含まれる。
【0048】
一実施例において、ターゲット単語ベクトル及び履歴隠れ状態を連結して[Xt,ht-1]と表示し、ここで、Xtは、コンピュータ機器が最初の瞬間に入力したターゲット単語ベクトルであり、ht-1は、最初の瞬間の前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態である。こうして、コンピュータ機器は、式Zi=Wi[Xt,ht-1]に従ってターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトル、を生成することができる。
【0049】
ここで、W
iは、第1重み行列を表示する。例えば、コンピュータ機器がN個の領域単語ベクトルを生成する必要があると、iは1~Nであり、Z
iはZ
1~Z
Nであり、W
iはW
1~W
Nである。Z
1を計算するとき、Z
i=W
i[X
t,h
t-1]は、Z
1=W
1[X
t,h
t-1]であり、Z
2を計算するとき、Z
i=W
i[X
t,h
t-1]はZ
2=W
2[X
t,h
t-1]であり、……、Z
Nを計算するとき、Z
i=W
i[X
t,h
t-1]は、Z
N=W
N[X
t,h
t-1]であることを理解されたい。このようにして、コンピュータ機器は、領域単語ベクトル行列
【数2】
を取得でき、1~Nは、それぞれ、対応する領域単語ベクトルZ
1~Z
Nが位置する次元を表示する。ここで、tは、1より大きい整数である。
【0050】
領域単語ベクトル行列内の各1つの領域単語ベクトルは、それぞれ異なる次元に位置し、各1つの領域単語ベクトルは、複数のベクトル要素を含み、各ベクトル要素は、すべて、属する領域単語ベクトルが位置する次元の行列要素であることを理解されたい。例えば、Z
1が0.3、0.8及び0.7の3つのベクトル要素を含むと、0.3は、Z
1が位置する第1次元の行列要素Z
11であり、0.8は、Z
1が位置する第1次元の行列要素Z
12であり、0.7は、Z
1が位置する第1次元の行列要素Z
13である。各領域ベクトルがすべて3つのベクトル要素を含むことを例として、領域単語ベクトル行列は、具体的に
【数3】
に表示する。
【0051】
上述した実施例において、コンピュータ機器は、ターゲット単語ベクトル及び前の瞬間の隠れ状態を直接に連結して、連結単語ベクトルを取得し、連結単語ベクトルと少なくとも2つの第1重み行列をそれぞれ直接に乗算し、それにより、少なくとも2つの次元の領域単語ベクトルをより効率的且つ迅速に取得する。
【0052】
一実施例において、
図3に示されたように、各領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するステップは、以下のステップを含む。
【0053】
ステップS302において、各領域単語ベクトル間のエッジ重みを決定する。
【0054】
ここで、エッジ重みは、各領域単語ベクトルをベクトルノードとするとき、各ベクトルノードのエッジを接続するための重みを示す。
【0055】
具体的に、コンピュータ機器がプリセットした領域ベクトル組み合わせ方式は、グラフ畳み込み(graph convolutional networks)に基づく領域ベクトル組み合わせ方式であり得、コンピュータ機器は、グラフ畳み込みに基づく領域ベクトル組み合わせ方式に従って、各領域単語ベクトルをベクトルノードとして決定し、各ベクトルノード間は接続されたエッジがあり、1つの図、G=(V,E)を構築し、ここで、Vは、ベクトルノードセットを表示し、Eは、エッジセットを表示する。
【0056】
図4に示されたように、コンピュータ機器が、Z
1、Z
2及びZ
3の、ターゲット単語ベクトルの3つの次元の領域単語ベクトルを生成すると、コンピュータ機器は、Z
1、Z
2及Z
3を、それぞれ、ベクトルノード401として決定する。各ベクトルノード間で接続されたエッジ402は、接続された2つのベクトルノード間の関係を表す。コンピュータ機器は、各ベクトルノード間の類似度を計算して、各ベクトルノード間の類似度を、対応する各ベクトルノード間のエッジのエッジ重みとして決定することができる。
一実施例において、コンピュータ機器は、式
【数4】
に従って各領域単語ベクトル間のエッジ重みを計算して決定することができる。ここで、Z
i及びZ
jは、両方ともターゲット単語ベクトルの任意1つの領域単語ベクトルである。Z
i
Tは、領域単語ベクトルZ
iの転置ベクトルを示す。「||Z
i||」は、領域単語ベクトルZ
iのL2ノルムを示し、「||Z
j||」は、領域単語ベクトルZ
jのL2ノルムを示す。このようにして、コンピュータ機器は、上記の式に従って各領域単語ベクトル間の類似度を取得して、各ベクトルノード間の類似度を、対応する各ベクトルノード間のエッジのエッジ重みとして決定することができる。ここで、jは、正の整数である。
【0057】
ステップS304において、決定された各エッジ重みに従って、各領域単語ベクトルに共に対応する隣接行列を生成する。
【0058】
ここで、隣接行列(Adjacency Matrix)は、ベクトルノード間の隣接関係を表示するための行列である。
【0059】
具体的に、コンピュータ機器は、決定された各エッジ重みを行列要素として、1つの隣接行列を形成することができる。例えば、コンピュータ機器がターゲット単語ベクトルのN個の次元の領域単語ベクトルを生成すると、コンピュータ機器は、N個の領域単語ベクトルを、それぞれ、ベクトルノードとして決定して、N個のベクトルノードの各ベクトルノード間のエッジ重みを計算する。このようにして、コンピュータ機器は、決定された各エッジ重みを行列要素として形成された隣接行列Aは
図5に示されたようであってもよい。
【0060】
ステップS306において、隣接行列の各次元の各エッジ重みをそれぞれ加算して、次数行列を取得する。
【0061】
ここで、次数行列は、隣接行列の各行または各列のベクトルノードの次数によって形成された行列を示し、各行または各列のベクトルノードの次数は、隣接行列内の各行または各列に含まれた行列要素の合計である。
【0062】
具体的に、
図5に示されたように、隣接行列A内の各行は、すべて、ある1つのベクトルノードと他のベクトルノード間のエッジのエッジ重みを含む。例えば、
図5内のW
12は、各ベクトルノード内の最初のノードと2番目のノード間のエッジのエッジ重みを表示する。コンピュータ機器が隣接行列を取得した後、隣接行列の各行に含まれたエッジ重みを加算して、各行に対応するベクトルノードの次数を取得することができる。例えば、隣接行列内の最初の行にベクトルノードZ1と他のベクトルノード間のエッジ重みW
11、W
12、W
13、……、W
1Nを含むと、コンピュータ機器は、W
11~W
1Nを加算して、ベクトルノードZ
1の次数D
11を取得することができる。
【0063】
さらに、コンピュータ機器は、式D
ii=Σ
jW
ijに従って各行に対応するベクトルノードの次数を計算することができ、ここで、W
ijは、隣接行列の第i行第j列の行列パラメータ(当該行列パラメータは、ベクトルノード内のi番目のベクトルノードとj番目のベクトルノード間のエッジ重みである)を示す。例えば、
図4内の隣接行列Aの第1行が表示するベクトルノードの次数を計算するとき、D
11=Σ
jW
ij内のjは1~Nであると、D
11=W
11+W
12+W
13+……+W
1Nである。
【0064】
コンピュータ機器が取得した隣接行列内の各行のベクトルノードの次数は、D
11、D
22、D
33、……、D
NNに表示し、コンピュータ機器は、「D
11、D
22、D
33、……、D
NN」に基づき次数行列Dを形成でき、形成された次数行列DのD
11、D
22、D
33、……、D
NN以外の他の行列要素は、すべて0であり、
図6に示されたようである。
【0065】
ステップS308において、隣接行列及び次数行列に基づき、少なくとも2つの次元の組み合わせ領域単語ベクトルを生成する。
【0066】
具体的に、コンピュータ機器は、取得された隣接行列及び次数行列に基づき、第2プリセットの次元の組み合わせ領域単語ベクトルを生成することができ、本実施例における第2プリセットの次元の数と、ターゲット単語ベクトルの領域単語ベクトルの数は同じである。
【0067】
上述した実施例において、コンピュータ機器は、ターゲット単語ベクトルの各領域単語ベクトルを、グラフ畳み込みネットワークのグラフ構造のベクトルノードとして使用して、各ベクトルノード間のエッジ重みを計算することができ、各領域単語ベクトル間のエッジ重みを取得し、取得されたエッジ重みを使用して隣接行列を生成し、隣接行列に基づき次数行列を計算することができる。このようにして、コンピュータ機器は、隣接行列及び次数行列を直接に使用して、組み合わせ領域単語ベクトルを効率的に生成することができる。
【0068】
一実施例において、隣接行列及び次数行列に基づき、少なくとも2つの次元の組み合わせ領域単語ベクトルを生成するステップは、各領域単語ベクトルが共同に対応する領域単語ベクトル行列を決定するステップと、組み合わせ領域単語ベクトル行列を生成するための第2重み行列を取得するステップと、隣接行列、次数行列、領域単語ベクトル行列及び第2重み行列に従って、組み合わせ領域単語ベクトル行列を生成するステップと、を含み、組み合わせ領域単語ベクトル行列には、少なくとも2つの次元の領域単語ベクトルが含まれる。
【0069】
ここで、領域単語ベクトル行列は、各領域単語ベクトルに含まれるベクトル要素を行列要素とする行列を示す。第2重み行列は、グラフ畳み込みネットワークでのシステムに伴ってトレーニングされる行列の形の重みパラメータを示し、組み合わせ領域単語ベクトル行列を生成するために使用される。即ち、第2重み行列は、サンプルデータを介して、システムをトレーニングして得るシステムパラメータである。
【0070】
具体的に、コンピュータ機器は、各領域単語ベクトルに含まれるベクトル要素を行列要素として、1つの領域単語ベクトル行列を形成する。例えば、コンピュータ機器がターゲット単語ベクトルX
TのN個の領域単語ベクトルZ={Z
1,Z
2,……,Z
N}を生成し、各領域ベクトルにM個のベクトル要素が含まれると、コンピュータ機器は、N個の領域単語ベクトルZ内の各領域単語ベクトルに含まれるベクトル要素を行列要素として、領域単語ベクトル行列Zを形成し、領域単語ベクトル行列Zは
図7内の700に示されたようである。ここで、Mは、整数である。
【0071】
コンピュータ機器は、組み合わせ領域単語ベクトル行列を生成するための第2重み行列W
gを取得し、式
【数5】
に従って組み合わせ領域単語ベクトル行列Oを生成する。ここで、Dは、次数行列を示し、Aは、隣接行列を示し、Zは、領域単語ベクトル行列を示し、σは、活性化関数を示す。さらに、活性化関数σは、具体的に、sigmoid関数「sigmoid(x)」であり得る。sigmoid関数は、生物学で一般的なシグモイド関数であり、シグモイド成長曲線とも称し得、本実施例では、sigmoid関数は、リカレントニューラルネットワークの閾値関数として使用される。
【0072】
コンピュータ機器は、活性化関数σを使用して、ターゲット単語ベクトルの領域単語ベクトル次元と同じである組み合わせ領域単語ベクトル行列Oを取得することができ、組み合わせ領域単語ベクトル行列Oの各行は、1つの次元として使用され、各1つの次元は、1つの組み合わせ領域単語ベクトルを有する。例えば、N個の領域単語
ベクトルに対応する組み合わせ領域単語ベクトル行列
【数6】
は、J個の組み合わせ領域単語ベクトルを含み、JとNのサイズは、同じである。こうして、コンピュータ機器は、J個の組み合わせ領域単語ベクトルO={O
1,O
2,……,O
J}を取得できる。
【0073】
上述した実施例において、各領域単語ベクトルの全体を、1つの領域単語ベクトル行列として使用し、組み合わせ領域単語ベクトル行列を生成するための第2重み行列を使用して、隣接行列及び次数行列に基づき領域単語ベクトル行列に対応する組み合わせ領域単語ベクトル行列を生成し、生成された組み合わせ領域単語ベクトル行列は、少なくとも2つの次元の領域単語ベクトルを含み、さらに、組み合わせ領域単語ベクトルを生成する効率を向上させる。
【0074】
一実施例において、
図8に示されたように、各領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するステップは、以下のステップを含む。
【0075】
ステップS802において、組み合わせ領域単語ベクトルを生成するために使用される第3重み行列に従って、各領域単語ベクトルに対応する少なくとも2つの予測ベクトルを決定する。
【0076】
ここで、第3重み行列は、カプセルネットワーク(capsule networks)でのシステムに伴ってトレーニングされる行列の形の重みパラメータを示し、組み合わせ領域単語ベクトル行列を生成するために使用される。即ち、第3重み行列は、サンプルデータを介して、システムをトレーニングして得るシステムパラメータである。予測ベクトルは、組み合わせ領域単語ベクトル行列を生成するプロセスにおけるベクトルの形の中間変数を示す。
【0077】
具体的に、コンピュータ機器がプリセットした領域ベクトル組み合わせ方式は、カプセルネットワークに基づく領域ベクトル組み合わせ方式であり得、コンピュータ機器は、カプセルネットワークに基づく領域ベクトル組み合わせ方式に従って、各領域単語ベクトルをカプセルネットワークのカプセルとして使用し、コンピュータ機器が、ターゲット単語ベクトルのN個の領域単語ベクトルZ={Z1,Z2,……,ZN}を生成した場合、Z1、Z2、……、ZNのN個のカプセルがある。
【0078】
コンピュータ機器は、組み合わせ領域単語ベクトルを生成するための第3重み行列WC内の各行列要素WC
ijを取得し、ここで、iは、1~Nであり、Nは、カプセルの総数であり、jは、1~第2プリセットの次元の数であり、本実施例の第2プリセットの次元の数は、2より大きいか等しいで、且つ、Nより小さいか等しいであり、ijは、第3重み行列WCの第i行第j列を表示する。
【0079】
図9に示されたように、
図9内の901~904は、コンピュータ機器が、カプセルネットワークに基づく領域ベクトル組み合わせ方式に従って、ターゲット単語ベクトルの領域単語ベクトルに対して組み合わせ計算を実行する初期化段階であり、905~910は、コンピュータ機器に従ってに基づきカプセルネットワークのが、カプセルネットワークに基づく領域ベクトル組み合わせ方式に従って、ターゲット単語ベクトルの領域単語ベクトルに対して組み合わせ計算を実行する反復計算段階である。初期化段階では、
図9内の903に示されたように、コンピュータ機器は、カプセルネットワーク内の各カプセルに基づき、取得された第3重み行列内の各行列要素W
C
ijに対応する予測ベクトルZ
j|iを生成することができる。
【0080】
ステップとS804において、各領域単語ベクトルに対応する少なくとも2つの事前確率対数を決定する。
【0081】
ここで、事前確率対数は、組み合わせ領域単語ベクトル行列を生成するプロセスにおけるベクトルの形の一時的な変数を示す。
【0082】
具体的に、コンピュータ機器は、事前確率対数行列Bから各事前確率対数b
ijを取得し、事前確率対数行列Bに含まれる事前確率対数b
ijの数は、カプセルの総数*第2プリセットの次元の数である。
図9内の902に示されたように、現在初期化段階であるため、事前確率対数行列Bのすべての事前確率対数b
ijは、すべて0である。
【0083】
ステップS806において、事前確率対数に従って、各領域単語ベクトルに対応する結合係数を決定する。
【0084】
具体的に、コンピュータ機器は、反復計算段階に入る。反復計算段階では、
図9内の905に示されたように、コンピュータ機器は、取得された各事前確率対数b
ijに対して正規化処理を実行し、式は、
【数7】
であり、各領域単語ベクトルがそれぞれ対応する各生成対象となる組み合わせ領域単語ベクトル間の結合係数C
ijを取得する。ここで、exp()は、eをベースとする指数関数を示す。
【0085】
ステップS808において、結合係数及び予測ベクトルに基づき、少なくとも2つの次元の候補組み合わせ領域単語ベクトルを生成する。
【0086】
具体的に、コンピュータ機器が結合係数C
ijを取得した後、
図9内の906に示されたように、式S
j=Σ
iC
ijZ
j|iに従って加重の和S
jを計算する。ここで、Σは、合計シンボルである。
図9内の907に示されたように、コンピュータ機器は、非線形活性化関数squash(S
j)を介して第2プリセットの次元の組み合わせ領域単語ベクトルO
jを生成する。ここで、
【数8】
である。ここで、「||S
j||」は、S
jを計算するノルムを示す。
【0087】
ステップS810において、以上のステップS804~S808を繰り返して実行して、候補組み合わせ領域単語ベクトルに対して反復計算を実行し、プリセットの反復条件が満たされると、反復を停止し、反復が停止されるときの少なくとも2つの次元の候補組み合わせ領域単語ベクトルを少なくとも2つの次元の組み合わせ領域単語ベクトルとして決定する。
【0088】
つまり、コンピュータ機器は、以上のステップS804ないしステップS808の3つのステップを繰り返して実行して、候補組み合わせ領域単語ベクトルに対して反復計算を実行し、プリセットの反復条件が満たされると、反復を停止し、反復が停止されるときの少なくとも2つの次元の候補組み合わせ領域単語ベクトルを少なくとも2つの次元の組み合わせ領域単語ベクトルとして決定する。
【0089】
候補組み合わせ領域単語ベクトルに対して反復計算を実行するとき、領域単語ベクトルと、組み合わせ領域単語ベクトル間の事前確率対数を再決定する必要があることに留意されたい。具体的に、
図9内のステップ908に示されたように、コンピュータ機器は、組み合わせ領域単語ベクトルO
jを取得した後、ステップ909を実行し、式b
ij=b
ij+Z
j|iO
jに従って各領域単語ベクトルが、それぞれ各組み合わせ領域単語ベクトル間との事前確率対数を再決定する。
【0090】
具体的に、事前確率対数bijを再決定した後、
図9内の905のステップに戻り、プリセットの反復条件
が満
たされると、反復を停止し、最後の一回で生成された各組み合わせ領域単語ベクトルを出力する。例示的に、プリセットの反復条件は、プリセットの反復回数であり得、例えば、プリセットの反復回数が3回であると、コンピュータ機器が現在の反復回数がプリセットの反復回数に達したと検出するとき、反復を停止し、第3回で生成された各組み合わせ領域単語ベクトルを出力する。
【0091】
例えば、プリセットの反復回数が5回であると、前記ステップS804~S808の3つのステップを5回繰り返して実行し、ステップS804~S808を5回実行した後、再実行を停止し、ステップS804~S808を5回実行して取得した候補組み合わせ領域単語ベクトルを、少なくとも2つの次元の組み合わせ領域単語ベクトルとして使用する。
【0092】
上述した実施例において、コンピュータ機器は、ターゲット単語ベクトルの各領域単語ベクトルをカプセルネットワークのカプセルとして使用し、カプセルネットワークの組み合わせ領域単語ベクトルを生成するための第3重み行列を使用して各領域単語ベクトルに対応する少なくとも2つの予測ベクトルを生成し、各領域単語ベクトルに対応する初期化された少なくとも2つの事前確率対数を取得する。事前確率対数に基づき少なくとも2つの次元の組み合わせ領域単語ベクトルを生成するプロセスでは、カプセルネットワークの事前確率対数に対する反復アルゴリズムを使用して、最終的の組み合わせ領域単語ベクトルをより効率的で且つ正しく生成する。
【0093】
即ち、事前確率対数に基づき少なくとも2つの次元の組み合わせ領域単語ベクトルを生成するプロセスでは、カプセルネットワークの事前確率対数に対する反復アルゴリズムを使用して、組み合わせ間隔単語ベクトルに対して複数の反復計算を効率的に実行する同時に、複数の反復を介して複雑な言語法則をよりよくキャプチャする。
【0094】
一実施例において、各前記領域単語ベクトルに対応する少なくとも2つの事前確率対数を決定するステップは、各組み合わせ領域単語ベクトルと、対応する各予測ベクトルとのスカラ積を決定するステップと、各スカラ積及び対応する事前確率対数を加算して、再決定された各領域単語ベクトルに対応する事前確率対数を取得するステップと、をさらに含む。
【0095】
具体的に、
図9内のステップ908に示されたように、「Z
j|i・O
j」は、予測ベクトルZ
j|iと、組み合わせ領域単語ベクトルO
jとのスカラ積を示し、取得されたスカラ積をそれぞれ、現在の各事前確率対数と加算して、複数の事前確率対数を再取得する。
【0096】
例えば、予測ベクトルZ1|1=(a1,a2,……,an)であり、現在取得された組み合わせ領域単語ベクトルO1=(c1,c2,……,cn)であり、対応的に、スカラ積Z1|1・O1=a1c1+a2c2+……+ancnであり、現在のb11とZ1|1・O1を加算して、新しい事前確率対数b11=b11+Z1|1・O1を取得する。
【0097】
上述した実施例において、コンピュータ機器は、各組み合わせ領域単語ベクトルと対応する各予測ベクトルとのスカラ積と、現在の事前確率対数を加算して、複数の再決定された事前確率対数を取得し、複数回の反復の後、事前確率対数の精度が更に高く、これにより、最終的な組み合わせ領域単語ベクトルをより効率的で且つ正しく生成できる。
【0098】
一実施例において、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップは、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルを変換して、変換後の組み合わせ領域単語ベクトルを取得するステップと、各変換後の組み合わせ領域単語ベクトルを連結して、連結された単語ベクトルを取得するステップと、連結された単語ベクトルに対して線形変換を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップと、を含む。
【0099】
具体的に、コンピュータ機器フィードフォワードニューラルネットワークに基づくプリセットの式に従って、各組み合わせ領域単語ベクトルO={O1,O2,……,OJ}に対してより深層の変換を実行して、変換後の組み合わせ領域単語ベクトルF={f1,f2,……,fJ}を取得する。コンピュータ機器は、Fのすべての変換後の組み合わせ領域単語ベクトルを連結して、1つの連結された単語ベクトル(f1f2……fJ)を取得する。その後、連結結された単語ベクトル(f1f2……fJ)に対して線形変換を一回実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得する。
【0100】
上述した実施例において、コンピュータ機器は、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対してより深層の変換を実行して、集合単語ベクトルを取得して、集合単語ベクトルに基づき生成されたターゲット隠れ状態を使用して複雑な言語法則をキャプチャするとき、複雑な言語法則に対して高いキャプチャ率を持たせる。
【0101】
一実施例において、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルを変換して、変換後の組み合わせ領域単語ベクトルを取得するステップは、第4重み行列及び第1オフセットベクトルに従って、各組み合わせ領域単語ベクトルに対して線形変換を実行して、各組み合わせ領域単語ベクトルに対応する一時的な単語ベクトルを取得するステップと、各一時的な単語ベクトルとベクトル閾値のうちの最大ベクトル値をそれぞれ選択するステップと、第5重み行列及び第2オフセットベクトルに従って、各最大ベクトル値に対して、それぞれ、線形変換を実行して、変換後の組み合わせ領域単語ベクトルを取得するステップと、を含む。
【0102】
ここで、第4重み行列は、フィードフォワードニューラルネットワークでのシステムに伴ってトレーニングされる行列の形の重みパラメータを示しフィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用される。第5重み行列は、フィードフォワードニューラルネットワークでのシステムに伴ってトレーニングされる行列の形の重みパラメータを示しフィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用される。第1オフセットベクトルは、フィードフォワードニューラルネットワークでのシステムに伴ってトレーニングされるベクトルの形のオフセットパラメータを示し、フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して最初の線形変換を実行するために使用される。第2オフセットベクトルは、フィードフォワードニューラルネットワークでのシステムに伴ってトレーニングされるベクトルの形のオフセットパラメータを示し、フィードフォワードニューラルネットワークで各組み合わせ領域ベクトルに対して2番目の線形変換を実行するために使用される。ここで、第4重み行列及び第5重み行列は、サンプル数でシステムをトレーニングして得た行列の形のシステムパラメータである。
【0103】
具体的に、コンピュータ機器は、フィードフォワードニューラルネットワーク内の第4重み行列W1及び第1オフセットベクトルb1を取得し、第4重み行列W1及び第1オフセットベクトルb1を使用して、各組み合わせ領域単語ベクトルOjに対して最初の線形変換OjW1+b1を実行して、各組み合わせ領域単語ベクトルに対応する一時的な単語ベクトルを取得する。各一時的な単語変数とベクトル閾値とそれぞれ比較して、各一時的な単語変数とベクトル閾値のうちの最大ベクトル値を選択する。
【0104】
例えば、ベクトル閾値が0であると、コンピュータ機器は、各一時的な単語変数とベクトル閾値0をそれぞれ比較し、Relu関数「max(0,X)」を介して最大ベクトル値max(0,OjW1+b1)を選択し、ベクトル閾値0より大きい一時的な単語変数を当該一時的な単語変数とベクトル閾値0のうちの最大ベクトル値として使用し、一時的な単語変数より大きいベクトル閾値0を当該一時的な単語変数とベクトル閾値0のうちの最大ベクトル値として使用する。
【0105】
コンピュータ機器は、フィードフォワードニューラルネットワークの第5重み行列W2及び第2オフセットベクトルb2を取得し、第5重み行列W2、及び第2オフセットベクトルb2を使用して各組み合わせ領域単語ベクトルOjに対して2番目の線形変換を実行して、二回線形変換後の組み合わせ領域ベクトルfJ:fJ=max(0,OjW1+b1)W2+b2を取得し、さらに、変換後の組み合わせ領域単語ベクトルF={f1,f2,……,fJ}を取得する。
【0106】
上述した実施例において、コンピュータ機器は、フィードフォワードニューラルネットワークの第4重み行列及び第1オフセットベクトルを使用して各組み合わせ領域単語ベクトルに対して最初の線形変換を実行した後、一時的な単語ベクトルを取得し、一時的な単語ベクトルとベクトル閾値のうちの最大ベクトル値を選択し、フィードフォワードニューラルネットワークの第5重み行列及び第2オフセットベクトルを使用して最大ベクトル値に対して2番目の線形変換を実行して、変換後の組み合わせ領域単語ベクトルを取得する。コンピュータ機器は、当該組み合わせ領域単語ベクトルを使用して集合単語ベクトルを生成して、集合単語ベクトルに基づき生成されたターゲット隠れ状態を使用して複雑な言語法則をキャプチャするとき、複雑な言語法則に対して高いキャプチャ率を持たせる。
【0107】
一実施例において、集合単語ベクトルは、第1集合単語ベクトルと第2集合単語ベクトルとを含み、第1集合単語ベクトルと第2集合単語ベクトルは異なり、集合単語ベクトルに基づきターゲット単語ベクトルに対応するターゲット隠れ状態を生成するステップは、第1集合単語ベクトル及び対応する第1活性化関数に基づき、ターゲット単語ベクトルに対応する候補隠れ状態を決定するステップと、第2集合単語ベクトル及び対応する第2活性化関数に基づき、ターゲット単語ベクトルに対応するゲーティングパラメータを決定するステップと、候補隠れ状態、ゲーティングパラメータ及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に従って、ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するステップと、を含む。
【0108】
具体的に、コンピュータ機器は、ターゲット単語ベクトルの領域単語ベクトルを生成するとき、それぞれ、第1集合単語ベクトルに対応する第1重み行列及び第2集合単語ベクトルに対応する第1重み行列に基づき集合単語ベクトルを生成する必要がある。コンピュータ機器が、第1集合単語ベクトルに対応する第1重み行列に基づき領域単語ベクトルを生成するとき、コンピュータ機器が最後に取得したターゲット単語ベクトルに対応する集合単語ベクトルは、第1集合単語ベクトルMhである。コンピュータ機器が、第2集合単語ベクトルに対応する第1重み行列に基づき領域単語ベクトルを生成するとき、コンピュータ機器が最後に取得したターゲット単語ベクトルに対応する集合単語ベクトルは、第2集合単語ベクトルMgである。
【0109】
コンピュータ機器は、第1活性化関数tanh、即ち、h
~
t=tanh(M
h)を介してターゲット単語ベクトルの候補隠れ状態h
~
tを決定する。コンピュータ機器は、第2活性化関数σを介してターゲット単語ベクトルのゲーティングパラメータg
t:g
t=σ(M
g)を決定する。
さらに、
【数9】
【数10】
である。
【0110】
コンピュータ機器がターゲット単語ベクトルに対応する候補隠れ状態h
~
t及びゲーティングパラメータg
tを取得した後、式
【数11】
に従ってターゲット単語ベクトルのターゲット隠れ状態h
tを計算する。ここで、
【数12】
は、要素の積のオペレータであり、
【数13】
は、(1-g
t)及びh
t-1に対して要素の積を実行する演算を示し、
【数14】
は、g
t及びh
~
tに対して要素の積を実行する演算を示す。
【0111】
上述した実施例において、第1集合単語ベクトル及び第2集合単語ベクトルは、両方ともターゲット単語ベクトルに対して多次元の変換処理を実行いて取得され、このようにして、第1集合単語ベクトルに基づき取得された候補隠れ状態及び第2集合単語ベクトルに基づき取得されたゲーティングパラメータはより正確であり、このようにして、より正確な候補隠れ状態及びゲーティングパラメータに基づき取得されたターゲット隠れ状態を使用して複雑な言語法則をキャプチャするとき、複雑な言語法則に対して高いキャプチャ率を持たせる。
【0112】
一実施例において、
図10に示されたように、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法は、以下のステップを含み得る。
【0113】
ステップS1002において、コンピュータ機器が、領域単語ベクトル生成式に従って第1プリセットの次元の領域単語ベクトルを生成する。
【0114】
具体的に、
図11内の1101に示されたように、領域単語ベクトル生成式は、Z
i=W
i[X
t,h
t-1]である。例えば、第1プリセットの次元がNであると、iは1~Nであり、コンピュータ機器によって取得されたN個の次元の領域単語ベクトルは、Z={Z
1,Z
2,……,Z
N}に表示する。
【0115】
ステップS1004において、コンピュータ機器は、プリセットの領域ベクトル組み合わせ方式に従って、第1プリセットの次元の領域単語ベクトルに対して組み合わせ計算を実行して、第2プリセットの次元の組み合わせ領域単語ベクトルを取得する。
【0116】
具体的に、
図11内の1102に示されたように、コンピュータ機器は、取得されたN個の次元の領域単語ベクトルZ={Z
1,Z
2,……,Z
N}に対して組み合わせ計算を実行し、第2プリセットの次元がJであると、コンピュータ機器は、J個の組み合わせ領域単語ベクトルO={O
1,O
2,……,O
J}を取得できる。JはNと等しいであってもよく、Nと異なってもよい。例えば、プリセットの領域ベクトル組み合わせ方式が、グラフ畳み込みに基づく領域ベクトル組み合わせ方式である場合、第2プリセットの次元Jは、第1プリセットの次元Nと等しい。プリセットの領域ベクトル組み合わせ方式が、カプセルネットワークに基づく領域ベクトル組み合わせ方式である場合、第2プリセットの次元Jは、2より大きいか等しいで、且つ、第1プリセットの次元Nより小さいか等しい。
【0117】
ステップS1006において、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルに対して深層変換を実行して、第2プリセットの次元の中間領域単語ベクトルを取得する。
【0118】
具体的に、
図11内の1103に示されたように、コンピュータ機器は、フィードフォワードニューラルネットワーク(FNN:Feedforward Neural Network)を介して、各組み合わせ領域単語ベクトルを処理するとき、具体的に、式f
J=max(0,O
jW
1+b
1)W
2+b
2に従って各中間領域単語ベクトルf
Jを生成することができる。例えば、第2プリセットの次元がJであると、コンピュータ機器は、J個の中間領域単語ベクトルF={f
1,f
2,……,f
J}を生成できる。
【0119】
ステップS1008において、コンピュータ機器は、第2プリセットの次元の中間領域単語ベクトルを連結して、連結単語ベクトルを取得し、連結単語ベクトルに対して線形変換を一回実行して、集合単語ベクトルを取得する。
【0120】
具体的に、
図11内の1103に示されたように、「Concat&Linear」は、コンピュータ機器がJ個の中間領域単語ベクトルF={f
1,f
2,……,f
J}を
連結(Concat)した後、また一回の線形変換(Linear)を実行する
ことを示す。
【0121】
ステップS1010において、コンピュータ機器は、集合単語ベクトルに基づき、ターゲット単語ベクトルに対応するターゲット隠れ状態を生成する。
具体的に、集合単語ベクトルは、第1集合単語ベクトルM
hと第2集合単語ベクトルM
gに分ける。コンピュータ機器は、第1集合単語ベクトルM
h及び第2集合単語ベクトルM
gに基づき、候補隠れ状態h
~
t及びゲーティングパラメータg
tを計算することができる。即ち、候補隠れ状態h
~
t=tanh(M
h)、ゲーティングパラメータg
t=σ(M
g)である。このようにして、コンピュータ機器は、候補隠れ状態h
~
t及びゲーティングパラメータg
tに基づき、ターゲット単語ベクトルのターゲット隠れ状態htを計算することができる。ターゲット隠れ状態は、
【数15】
である。
【0122】
一実施例において、人間とコンピュータの対話の適用シナリオでは、コンピュータ機器が可変長の音声情報を受信すると、コンピュータ機器は、各瞬間に受信された音声情報をテキスト情報に変換し、当該テキスト情報をターゲット単語ベクトルにマッピングし、前記任意の実施例における言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップを介して、各ターゲット単語ベクトルのターゲット隠れ状態を生成する。
【0123】
コンピュータ機器は、生成された複数のターゲット隠れ状態の平均隠れ状態を計算し、当該平均隠れ状態をh
t-1として使用することができ、X
tは0ベクトルである。h
t-1及びX
tに基づき第1集合単語ベクトルM
h及び第2集合単語ベクトルM
gを計算する。コンピュータ機器は、第1集合単語ベクトルM
h及び第2集合単語ベクトルM
gに基づき、候補隠れ状態h
~
t及びゲーティングパラメータg
tを計算する。候補隠れ状態h
~
t=tanh(M
h)、ゲーティングパラメータg
t=σ(M
g)であり、式
【数16】
に従って、中間隠れ状態h
tを取得する。例えば、中間隠れ状態h
tが100個のベクトル要素を含むベクトルであると、中間隠れ状態h
tと100*Yを含む重み行列W
vを乗算して、Y個のベクトル要素を含む中間ベクトルを取得する。softmax(中間ベクトル)を介して、Y個の確率値を取得でき、各1つの確率値は、単語リスト内の1つの単語に対応する確率を表す。例えばYが10000であると、コンピュータ機器は、10000個の確率値を取得できる。
【0124】
コンピュータ機器は、Y個の確率値のうちの最大確率値に対応する単語を、現在の人間とコンピュータの対話コンピュータ機器が応答する必要がある最初の単語として使用する。コンピュータ機器は、コンピュータ機器が応答する必要がある最初の単語の単語ベクトルをXtとし、中間隠れ状態htをht-1として、ht-1及びXtに基づき第1集合単語ベクトルMh及び第2集合単語ベクトルMgを計算するステップを実行し続け、同じ計算ステップに従って、コンピュータ機器は、応答する必要がある2番目の単語、3番目の単語、4番目の単語……を取得できる。取得された最大確率値が終了条件を満たされると、反復を終了する。さらに、終了条件は、最大確率値に対応する単語が指定された終了シンボルであることであり得る。
【0125】
図2、3、8及び10は、一実施例の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法の例示的なフローチャートである。
図2、3、8及び10のフローチャートにおける各ステップは、矢印の指示に従って順次に表示されたが、これらのステップは、必ずしも矢印指示の順序に従って順次に実行することではないことを理解されたい。本明細書で明確に説明していない限り、これらのステップの実行には、厳密な順序制限はなく、これらのステップは、他の順序で実行できる。さらに、
図2、3、8及び10における少なくとも一部のステップは、複数のサブステップまたは複数の段階を含み、これらのサブステップまたは段階は、必ずしも同じ時間で実行して完成することではなく、異なる時間で実行でき、これらのサブステップまたは段階の実行順序も、順次に実行することではなく、他のステップまたは他のステップのサブステップまたは段階の少なくとも一部と順番にまたは交互に実行することができる。
【0126】
一実施例において、
図12に示されたように、言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置1200を提供し、当該装置は、ソフトウェア、ハードウェア、または両者の組み合わせを介して、コンピュータ機器の一部またはすべてに実現でき、当該装置は、領域単語ベクトル生成モジュール1201と、領域単語ベクトル組み合わせモジュール1202と、集合変換処理モジュール1203と、ターゲット隠れ状態生成モジュール1204と、を備える。
【0127】
領域単語ベクトル生成モジュール1201は、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するように構成される。
【0128】
領域単語ベクトル組み合わせモジュール1202は、各領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するように構成される。
【0129】
集合変換処理モジュール1203は、フィードフォワードニューラルネットワークに基づき各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得するように構成される。
【0130】
ターゲット隠れ状態生成モジュール1204は、集合単語ベクトルに基づきターゲット単語ベクトルに対応するターゲット隠れ状態を生成するように構成される。
【0131】
一実施例において、領域単語ベクトル生成モジュールは、さらに、少なくとも2つの第1重み行列を取得し、最初の瞬間に入力されたターゲット単語ベクトルを決定し、前の瞬間の履歴単語ベクトルに対応する履歴隠れ状態を取得し、第1重み行列及び履歴隠れ状態に基づき、ターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するように構成され、各第1重み行列は、対応する領域単語ベクトルを生成するために使用される。
【0132】
一実施例において、領域単語ベクトル生成モジュールは、さらに、ターゲット単語ベクトル及び履歴隠れ状態を連結して、連結単語ベクトルを取得し、連結単語ベクトル及び第1重み行列に従って領域単語ベクトル行列を生成するように構成され、領域単語ベクトル行列は、少なくとも2つの次元の領域単語ベクトルを含む。
【0133】
一実施例において、領域単語ベクトル組み合わせモジュールは、さらに、各領域単語ベクトル間のエッジ重みを決定し、決定された各エッジ重みに従って、各領域単語ベクトルに共に対応する隣接行列を生成し、それぞれ隣接行列の各次元の各エッジ重みをそれぞれ加算して、次数行列を取得し、隣接行列及び次数行列に基づき、少なくとも2つの次元の組み合わせ領域単語ベクトルを生成するように構成される。
【0134】
一実施例において、領域単語ベクトル組み合わせモジュールは、さらに、各領域単語ベクトルが共同に対応する領域単語ベクトル行列を決定し、組み合わせ領域単語ベクトル行列を生成するための第2重み行列を取得し、隣接行列、次数行列、領域単語ベクトル行列及び第2重み行列に従って、組み合わせ領域単語ベクトル行列を生成するように構成され、組み合わせ領域単語ベクトル行列には、少なくとも2つの次元の領域単語ベクトルが含まれる。
【0135】
一実施例において、領域単語ベクトル組み合わせモジュールは、さらに、
組み合わせ領域単語ベクトルを生成するために使用される第3重み行列に従って、各領域単語ベクトルに対応する少なくとも2つの予測ベクトルを決定し、
各領域単語ベクトルに対応する少なくとも2つの事前確率対数を決定し、事前確率対数に従って各領域単語ベクトルに対応する結合係数を決定し、結合係数及び予測ベクトルに基づき、少なくとも2つの次元の候補組み合わせ領域単語ベクトルを生成し、
再び前記各領域単語ベクトルに対応する少なくとも2つの事前確率対数を決定するステップから実行し始め、候補組み合わせ領域単語ベクトルを反復計算し、プリセットの反復条件が満たされると、反復を停止し、反復が停止されるときの少なくとも2つの次元の候補組み合わせ領域単語ベクトルを少なくとも2つの次元の組み合わせ領域単語ベクトルとして決定するように構成される。
【0136】
一実施例において、領域単語ベクトル組み合わせモジュールは、さらに、各組み合わせ領域単語ベクトルと、対応する各予測ベクトルとのスカラ積を決定し、各スカラ積及び対応する事前確率対数を加算して、再決定された各領域単語ベクトルに対応する事前確率対数を取得するように構成される。
【0137】
一実施例において、集合変換処理モジュールは、さらに、フィードフォワードニューラルネットワークに基づき、各組み合わせ領域単語ベクトルを変換して、変換後の組み合わせ領域単語ベクトルを取得し、各変換後の組み合わせ領域単語ベクトルを連結して、連結された単語ベクトルを取得し、連結された単語ベクトルに対して線形変換を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得するように構成される。
【0138】
一実施例において、集合変換処理モジュールは、さらに、第4重み行列及び第1オフセットベクトルに従って、各組み合わせ領域単語ベクトルに対して線形変換を実行して、各組み合わせ領域単語ベクトルに対応する一時的な単語ベクトルを取得し、各一時的な単語ベクトルとベクトル閾値のうちの最大ベクトル値をそれぞれ選択し、第5重み行列及び第2オフセットベクトルに従って、各最大ベクトル値に対して、それぞれ、線形変換を実行して、変換後の組み合わせ領域単語ベクトルを取得するように構成される。
【0139】
一実施例において、集合単語ベクトルは、第1集合単語ベクトルと第2集合単語ベクトルとを含み、第1集合単語ベクトルと第2集合単語ベクトルは異なり、
ターゲット隠れ状態生成モジュールは、さらに、第1集合単語ベクトル及び対応する第1活性化関数に基づき、ターゲット単語ベクトルに対応する候補隠れ状態を決定し、第2集合単語ベクトル及び対応する第2活性化関数に基づき、ターゲット単語ベクトルに対応するゲーティングパラメータを決定し、候補隠れ状態、ゲーティングパラメータ及び前の瞬間の履歴単語ベクトルの履歴隠れ状態に従って、ターゲット単語ベクトルに対応するターゲット隠れ状態を生成するように構成される。
【0140】
図1は、一実施例によるコンピュータ機器の内部構造図を示す。当該コンピュータ機器は、具体的に、端末またはサーバであり得る。
図1に示されたように、当該コンピュータ機器は、システムバスを介して接続されたプロセッサ、メモリ及びネットワークインターフェースを備える。コンピュータ機器が端末である場合、当該コンピュータ機器は、さらに、スクリーンと入力装置などを備えることができることを理解されたい。ここで、メモリは、不揮発性記憶媒体と内部メモリとを含む。当該コンピュータ機器の不揮発性記憶媒体には操作システムが記憶され、コンピュータプログラムも記憶でき、当該コンピュータプログラムがプロセッサによって実行されるとき、プロセッサに言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実現させることができる。
【0141】
当該内部メモリにもコンピュータプログラムが九九されることができ、当該コンピュータプログラムがプロセッサによって実行されるとき、プロセッサに言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法を実行させることができる。コンピュータ機器が端末である場合、コンピュータ機器のスクリーンは、液晶スクリーンまたは電子インクスクリーンであり得、コンピュータ機器の入力装置は、スクリーン上でカバーされたタッチレイヤであってもよいし、コンピュータ機器のハウジングで設置されたボタン、トラックボールまたはタッチパッドであってもよいし、外部キーボード、トラックパッドまたはマウスなどであってもよい。
【0142】
当業者は、
図1に示された構造は、本願技術案と関連する構造の一部のブロック図に過ぎず、本願技術案がそれに適用されるコンピュータ機器に対して制限を構成するものではない。具体的なコンピュータ機器は、図面で示されたものより多くまたは少ない部品を備えるか、またはある部品を組み合わせるか、または異なる部品配置を有する場合がある。
【0143】
一実施例において、本願に係る言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置は、コンピュータプログラムの形で実現でき、コンピュータプログラムは、
図1に示されたコンピュータ機器で実行されることができる。コンピュータ機器のメモリには、例えば、
図12に示された領域単語ベクトル生成モジュール1201、領域単語ベクトル組み合わせモジュール1202、集合変換処理モジュール1203及びターゲット隠れ状態生成モジュール1204などの、当該言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置を構成する各プログラムモジュールを記憶できる。各プログラムモジュールによって構成されたコンピュータプログラムは、プロセッサに本明細書に説明された本願各実施例の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップを実行させる。
【0144】
例えば、
図1に示されたコンピュータ機器は、
図12に示された言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置1200内の領域単語ベクトル生成モジュール1201を介して、最初の瞬間に入力されたターゲット単語ベクトルの少なくとも2つの次元の領域単語ベクトルを生成するステップを実行することができる。コンピュータ機器は、領域単語ベクトル組み合わせモジュール1202を介して、領域単語ベクトル組み合わせモジュール1202は、各領域単語ベクトルを組み合わせて、少なくとも2つの次元の組み合わせ領域単語ベクトルを取得するステップを実行することができる。コンピュータ機器は、集合変換処理モジュール1203を介して、フィードフォワードニューラルネットワークに基づき各組み合わせ領域単語ベクトルに対して集合変換処理を実行して、ターゲット単語ベクトルに対応する集合単語ベクトルを取得するステップを実行することができる。コンピュータ機器は、ターゲット隠れ状態生成モジュール1204を介して集合単語ベクトルに基づきターゲット単語ベクトルに対応するターゲット隠れ状態を生成するステップを実行することができる。
【0145】
一実施例において、メモリとプロセッサとを備える、コンピュータ機器を提供し、メモリには、コンピュータプログラムが記憶され、コンピュータプログラムがプロセッサによって実行されるとき、プロセッサに上記の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップを実行させる。ここでの言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップは、上述した各実施例の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップであり得る。
【0146】
一実施例において、コンピュータプログラムが記憶される、コンピュータ可読記憶媒体を提供し、コンピュータプログラムがプロセッサによって実行されるとき、プロセッサに上記の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップを実行させる。ここでの言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップは、上述した各実施例の言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成方法のステップであり得る。
【0147】
当業者なら自明であるが、前記実施例の方法のプロセスの全部または一部を実現することは、コンピュータプログラムによって関連するハードウェアを命令することを介して完了でき、上述したプログラムは、不揮発性コンピュータ可読取記憶媒体に記憶でき、当該プログラムが実行されるとき、上記の各方法の実施例のプロセスを含み得る。ここで、本願による各実施例に使用されるメモリ、記憶、データベースまたは他の媒体に対する任意の参照は、すべて不揮発性及び/または揮発性メモリに含まれることができる。不揮発性メモリは、読み取り専用メモリ(ROM:Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable ROM)、電気的プログラマブル読み取り専用メモリ(EPROM:Electrically Programmable Read-Only Memory)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)またはフラッシュメモリを含み得る。揮発性メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)または外部キャッシュメモリ。を含み得る制限ではなく説明として、RAMは、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)、同期ダイナミックランダムアクセスメモリ(SDRAM:Synchronous Dynamic Random Access Memory)、ダブルデータレートSDRAM(DDR SDRAM:Double Data Rate SDRAM)、強化されたSDRAM(ESDRAM:Enhanced SDRAM)、同期リンクDRAM(SLDRAM:SynchLink DRAM)、ラムバスDRAM(RDRAM:Rambus DRAM)、及びインターフェースダイナミックランダムメモリ(DRDRAM:Direct Rambus DRAM)などの複数の形で取得できる。
【0148】
以上の実施例における様々な技術特徴は、任意に組み合わせることができ、説明の簡潔にために、上述した実施例における各技術特徴のすべての可能な組み合わせを説明していないが、特徴の間の組み合わせに矛盾がない限り、全て本明細書に記載の範囲と見なすべきである。
【0149】
以上に記載の実施例は、本願のいくつかのプリセットによって実施されることのみを表し、その説明は、具体的で詳細であるが、本願の特許の範囲に対する制限として理解されるべきではない。当業者にとって、本願の概念から逸脱することなく、いくつかの変形及び改善を加えることもでき、これらは全て本願の保護範囲に含まれると見なされるべきであることに留意されたい。したがって、本願の保護範囲は、添付の特許請求を基準とするべきである。
【符号の説明】
【0150】
100 コンピュータ機器
101 メモリ
102 プロセッサ
103 ネットワークインターフェース
104 システムバス
1200 言語処理のためのリカレントニューラルネットワークにおける隠れ状態の生成装置
1201 領域単語ベクトル生成モジュール
1202 領域単語ベクトル組み合わせモジュール
1203 集合変換処理モジュール
1204 ターゲット隠れ状態生成モジュール